那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

串口服務器系統中S3C44B0的應用設計

電子設計 ? 作者:工程師之余 ? 2018-11-12 11:19 ? 次閱讀

引言

目前,煤礦瓦斯、負壓及電動機、供電等自動化監控裝置已在各大礦井廣泛采用,甚至在個別礦井已組網運行。但是,各自動化監控裝置絕大部分仍然采用RS232RS485CAN總線組網方式,嚴重影響了礦井安全監控系統運行的實時性、可靠性、交互性。而工業以太網從10 M、100 M帶寬發展到現在的千兆網,已成為礦井監控系統的主要組網方式。

因此,如何使現有的基于RS232 、RS485 或CAN 總線的串口設備以以太網的方式組網運行,是目前需要解決的一個問題。本文介紹一種基于S3C44B0的串口服務器系統,該服務器系統可將串口數據轉換成TCP/ IP 協議進行數據傳輸,具有廣泛的應用前景。

1、系統硬件結構

基于S3C44B0 的串口服務器系統硬件結構如圖1 所示。


圖1 基于S3C44B0 的串口服務器系統硬件結構圖

該系統主要功能: 從串口設備讀取數據,將所得到的數據進行TCP/ IP 協議封裝,通過RJ 45 的接口發送到上位機,與上位機的服務器程序進行交互;同時,將上位機發送給串口服務器的數據轉發到串口,進而通過網絡遠程監控現場的串口設備。

RS232 接口電路如圖2 所示。在本系統中,擴展出2 個獨立的串行口,該串行口可以三線通信或者與Modem 通信。該接口采用2 片MAX3232C芯片,其中MAX3232C(1) 負責串行口發送接收信號的電平轉換,MAX3232C (2) 完成握手信號的電平轉換。處理器S3C44B0 的C10~C15 分別作為nRTS1 、nCTS1 、TXD1 、RXD1 、nRTS0 、nCTS0 信號,PE1 和PE2 作為TXD0 和RXD0 信號。

串口服務器系統中S3C44B0的應用設計
圖2 RS232 接口電路圖

以太網控制器采用在嵌入式領域應用廣泛且性價比較高的網絡控制芯片RTL8019AS ,其接口電路如圖3 所示。

串口服務器系統中S3C44B0的應用設計
圖3 以太網控制器接口電路圖

圖3 中,RTL8019AS 采用IN T0 中斷方式, 連到S3C44B0 的外部中斷引腳IN T1 。數據總線寬度為16 位,因此,RTL8019AS 的引腳IOCS16B 上拉。

RTL8019AS 有3 種工作方式: 跳線方式, 該方式I/ O和中斷由跳線決定;即插即用方式( PnP) , 該方式由軟件進行自動配置; 免跳線方式,該方式I/ O和中斷由外接的EEPROM93C46 中的內容決定。

使用何種工作方式由RTL8019AS 的引腳J P 決定,圖3 中引腳J P 上拉, 即選擇跳線方式。

RTL8019AS 的引腳IOS2 上拉,引腳IOS0 、IOS1 、IOS3 懸空(引腳IOS0~IOS4 在圖3 中未畫出) ,當引腳IOS0 、IOS1 、IOS3 懸空時,每個引腳里有1 個100 kΩ 的下拉電阻,因此,引腳IOS0 、IOS1 、IOS3為低電平, RTL8019AS 的I/ O 基址為200H。

RTL8019AS 片選端AEN 接S3C44B0 的nGCS5 也就是Bank6 ,由于數據總線寬度為16 位, S3C44B0的引腳A1 連接RTL8019AS 的引腳SA0 ,因此,對于S3C44B0 來說, RTL8019AS 的I/ O 基址為0X0A000400H。20F001N 為網卡濾波器,其內部包含1 對低通濾波器和1 對隔離變壓器,直接與RJ 45相連。

2、系統軟件結構

系統軟件建立在Linux 2. 4 內核的uClinux 操作系統基礎上,采用模塊化設計,其結構組成模塊如圖4 所示。系統軟件的核心為串口和以太網處理模塊,串口服務器通過這2 個模塊即可實現串口設備的聯網。

串口服務器系統中S3C44B0的應用設計
圖4 系統軟件結構組成模塊圖

由于uClinux 內核中含有串口、網口的通用驅動程序,因此,不必再寫關于串口及網絡驅動程序,只需在內核移植時,根據硬件電路對uClinux 進行裁減移植后,便可實現對串口及網絡的應用編程功能。

uClinux 的設備管理和文件系統緊密結合,各種設備都以文件的形式存放在/ dev 目錄下,稱為設備文件。應用程序可以打開、關閉和讀寫這些設備文件,完成對設備的操作,就像操作普通的數據文件一樣。所以訪問串口,只需要打開相應的設備文件即可。在uClinux 下,串行口COM1 和COM2 對應的設備分別為/ dev/ t tyS0 和dev/ t tyS1 。串口的編程步驟如下:

(1) 打開串口, 采用open ( ) 函數f d = open(“ / dev/ t tyS0” ,O_RDWR| O_NOCTTY) ;(2) 若打開成功, 則對串口進行參數設置:

tcgetat t r ( f d , &oldtio) ;(3) 清除串口緩沖區,因為串口接收和發送數據是從上一組數據之后的緩沖區開始存放的,為了使先前的數據不會重復出現,故清除緩沖區tcflush( f d , TCIFLUSH) ;(4) 讀寫串口,讀串口采用read ( f d ,sbuf ,B U F_L EN) 函數,寫串口采用write ( f d , sbuf , B U F_L EN) ,其中f d 為設備打開返回的值, sbuf 為存放發送或接收數據的數據組, B U F_ L EN 為數據的個數;(5) 讀寫完成后關閉串口,close ( f d) 。

網絡通信本質就是進程間的通信,網絡地址和端口號結合在一起,才可以共同確定整個Internet中的1 個網絡進程,網絡進程由套接字確定,程序采用Socket 表示。套接字最常用的有2 種:流式套接字( St ream Socket ) 和數據報套接字(DatagramSocket) 。這2 種套接字的區別在于它們使用不同的協議。流式套接字使用TCP 協議,數據報套接字使用UDP 協議。本系統中采用的協議為TCP 協議。具體通信步驟如下:

(1) 由socket () 函數創建偵聽套接字;

(2) 通過bind ( ) 函數為該套接字分配1 個地址;

(3) 使用listen () 函數建立和客戶機的連接,告訴套接字開始偵聽客戶機的連接請求;

(4) 由accept ( ) 函數完成實際的連接,創建連接套接字,原來的偵聽套接字將會繼續偵聽新的連接請求,而新的連接請求可能會通過accept ( ) 函數的再一次調用而獲得接受;

(5) 創建連接套接字成功后,便可完成數據的發送與接收任務,數據接收由recv () 函數完成,發送由send () 函數完成。

本系統在主程序中創建2 個關鍵的線程完成數據的傳送任務, 分別為Serialt hread 線程和Ethernet t hread 線程。Serialt hread 線程的功能是將串口接收到的數據流通過網口發送出去, 而Ethernet t hread 線程的功能是將網口發送過來的數據流通過串口發送出去。基于S3C44B0 的串口服務器系統主程序流程如圖5 所示。

串口服務器系統中S3C44B0的應用設計
圖5 基于S3C44B0 的串口服務器系統主程序流程圖

結語

基于S3C44B0 的串口服務器系統可以將零散的串口設備連入以太網,實現資源的共享以及遠程控制功能,基本上滿足現代礦井各監控單元的組網需求。該系統控制靈活、成本低、具有較大的擴展性,便于實現各種復雜的控制功能。目前該系統已應用到煤礦供電系統饋電開關的以太網監控系統中,大大促進了煤礦的生產和網絡化。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電動機
    +關注

    關注

    75

    文章

    4128

    瀏覽量

    97027
  • RS485
    +關注

    關注

    39

    文章

    1165

    瀏覽量

    82594
  • RS232
    +關注

    關注

    13

    文章

    749

    瀏覽量

    94575
收藏 人收藏

    評論

    相關推薦

    基于S3C4510B串口網絡服務器最小系統

    筆者為了通過Internet讀取只有RS-232串口的傳感數據,基于S3C4510B設計了一個串口網絡
    發表于 10-06 13:53 ?1853次閱讀
    基于<b class='flag-5'>S3C4510B</b>的<b class='flag-5'>串口</b>網絡<b class='flag-5'>服務器</b>最小<b class='flag-5'>系統</b>

    S3c44b0 控制步進電機

    使用S3c44b0控制步進電機,需要有正轉,反轉,加速減速,勻速功能,哪位大蝦幫幫我,給我個例程,十分感謝了
    發表于 03-29 23:58

    跪求S3c44b0 u***驅動

    `各位大蝦,我買了一塊S3c44b0的板子,準備用DNW燒寫程序時,但是DNW顯示USB:x,在網上找了很久都沒有找到,我用的是win7,所以跪求這個驅動,如果有的話,請發到郵箱1159438455@qq.com,萬分感謝!`
    發表于 07-06 22:16

    求基于S3C44B0的語音錄放系統設計代碼的mcp工程包

    求大神相助!基于S3C44B0的語音錄放系統設計,最好有mcp工程包哈
    發表于 05-10 21:20

    uCOS在S3C44B0上的移植代碼 1.0(源程

    uCOS在S3C44B0上的移植代碼 1.0(源程序)
    發表于 03-28 09:47 ?39次下載

    基于S3C44B0和μCOS-II 的CAN節點的設計

    本文在將嵌入式實時操作系統μCOS-II 移植到S3C44B0 的基礎上,將CAN 總線通訊程序作為一個模塊植入μCOS-II 之中,形成一個CAN 總線智能節點。闡述了CAN 總線智能節點的設計思想,硬件
    發表于 08-06 10:35 ?14次下載

    S3C44B0文手冊,S3C44B0文資料

    S3C44B0文手冊:S3C44B0X 的UART(通用異步收發)單元提供兩個獨立的異步串行I/O 端口,每個都可以在中斷和DMA 兩種模式下工作。它們支持的最高波特率為115.2
    發表于 09-10 18:53 ?572次下載

    為何選用SAMSUNG S3C44B0進行開發

    為何選用SAMSUNG S3C44B0進行開發   目前,ARM7芯片在國內開發的潮流是三星公司的S3C44B0S3C4510。這兩款芯片各有側重:前者著力于PDA 應用,芯片內部集成了LCD控
    發表于 02-09 17:57 ?45次下載

    S3C44B0文數據手冊

    S3C44B0文數據手冊 很多數字音頻系統進入了音頻消費市場,包括音頻壓縮唱片,數字音頻磁帶,數字聲音處理,和數字聲音TV。
    發表于 02-10 12:01 ?128次下載

    S3C44B0在高精度直流開關電源的應用

    S3C44B0在高精度直流開關電源的應用 0 引言   近年來,嵌入式技術發展極為迅速,出現了以單片機、專用嵌入式ARM為核心的高集成度處理
    發表于 02-25 10:26 ?1110次閱讀
    <b class='flag-5'>S3C44B0</b>在高精度直流開關電源<b class='flag-5'>中</b>的應用

    基于S3C44B0串口服務器系統的設計

    為使現有的基于RS232 、RS485 或CAN 總線的串口設備以以太網的方式組網運行,文章介紹了一種基于S3C44B0串口服務器 系統的設計,詳細闡述了
    發表于 09-01 15:16 ?1769次閱讀
    基于<b class='flag-5'>S3C44B0</b>的<b class='flag-5'>串口服務器</b><b class='flag-5'>系統</b>的設計

    S3C44B0的初始化程序的理解

    S3C44B0的初始化程序就是初始化各個關鍵的寄存,建立中斷向量,然后轉移到主函數去執行程序。不過S3C44B0不支持地址映射,所以程序不COPY到RAM種執行。S3C44B0初始化
    發表于 09-28 11:32 ?1715次閱讀

    基于S3C44B0開發板的圖像采集方法研究

    本文簡要介紹嵌入式系統,并詳細闡述了基于三星公司ARM7嵌入式處理芯片S3C44B0為核心構成的開發板,通過uCLinux開發環境,運用Omni Vision511芯片攝像頭采集圖片的硬件平臺設計和軟件實現
    發表于 05-29 10:32 ?2088次閱讀
    基于<b class='flag-5'>S3C44B0</b>開發板的圖像采集方法研究

    基于S3C44B0開發板進行Blob的移植操作和步驟

    Bootloader是嵌入式系統軟件開發的第一個環節,它緊密地將軟硬件銜接在一起,對于一個嵌入式設備后續的軟件開發至關重要。Blob是一款功能強大的Bootloader,S3C44B0是三星公司一款基于ARM7TDMI的嵌入式通用處理
    的頭像 發表于 10-04 17:08 ?1958次閱讀
    基于<b class='flag-5'>S3C44B0</b>開發板進行Blob的移植操作和步驟

    基于S3C44B0的LCD控制及觸摸屏接口設計

    電子發燒友網站提供《基于S3C44B0的LCD控制及觸摸屏接口設計.pdf》資料免費下載
    發表于 10-11 09:45 ?0次下載
    基于<b class='flag-5'>S3C44B0</b>的LCD控制及觸摸屏接口設計
    百家乐官网网络赌城| 大发888 有斗地主吗| 百家乐官网路单破解方法| 赌博中百家乐什么意思| 辰溪县| 澳门百家乐技巧| 海安县| 百家乐娱乐平台真人娱乐平台| 百家乐官网游戏策略| 博彩网百家乐官网的玩法技巧和规则 | 百家乐永利娱乐场开户注册| 百家乐官网视频双扣下载| 多台百家乐的玩法技巧和规则| 百家乐官网赌博讨论群| 新大发888娱乐城| 大家旺百家乐官网的玩法技巧和规则 | 百家乐官网送1000| 大发888攻略| 百家乐网络公式| 赌球赔率| 百家乐官网几点不用补牌| 太阳城在线娱乐网| 百家乐解析| K7百家乐官网的玩法技巧和规则 | 百家乐现金网平台排行榜| 百家乐官网庄比闲多多少| 威尼斯人娱乐城博彩网站| 传奇百家乐官网的玩法技巧和规则 | 时时博百家乐的玩法技巧和规则| 钱隆百家乐官网智能| 顶旺娱乐| 百家乐赌博娱乐| 百家乐官网科学打法| 博白县| 嘉兴太阳城大酒店| 网上百家乐哪家最好| 百家乐官网最好的平台是哪个| 顶级赌场手机版| 百家乐香港六合彩| 百家乐官网五湖四海娱乐平台| 延长县|