引言
目前,煤礦瓦斯、負壓及電動機、供電等自動化監控裝置已在各大礦井廣泛采用,甚至在個別礦井已組網運行。但是,各自動化監控裝置絕大部分仍然采用RS232、RS485或CAN總線組網方式,嚴重影響了礦井安全監控系統運行的實時性、可靠性、交互性。而工業以太網從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 信號。
圖2 RS232 接口電路圖
以太網控制器采用在嵌入式領域應用廣泛且性價比較高的網絡控制芯片RTL8019AS ,其接口電路如圖3 所示。
圖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 個模塊即可實現串口設備的聯網。
圖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 所示。
圖5 基于S3C44B0 的串口服務器系統主程序流程圖
結語
基于S3C44B0 的串口服務器系統可以將零散的串口設備連入以太網,實現資源的共享以及遠程控制功能,基本上滿足現代礦井各監控單元的組網需求。該系統控制靈活、成本低、具有較大的擴展性,便于實現各種復雜的控制功能。目前該系統已應用到煤礦供電系統饋電開關的以太網監控系統中,大大促進了煤礦的生產和網絡化。
-
電動機
+關注
關注
75文章
4128瀏覽量
97027 -
RS485
+關注
關注
39文章
1165瀏覽量
82594 -
RS232
+關注
關注
13文章
749瀏覽量
94575
發布評論請先 登錄
相關推薦
基于S3C4510B的串口網絡服務器最小系統
![基于<b class='flag-5'>S3C4510B</b>的<b class='flag-5'>串口</b>網絡<b class='flag-5'>服務器</b>最小<b class='flag-5'>系統</b>](https://file1.elecfans.com//web2/M00/A6/07/wKgZomUMO2CAL0DwAAAJADbUWTg781.gif)
跪求S3c44b0 u***驅動
基于S3C44B0和μCOS-II 的CAN節點的設計
S3C44B0中文手冊,S3C44B0中文資料
為何選用SAMSUNG S3C44B0進行開發
S3C44B0中文數據手冊
S3C44B0在高精度直流開關電源中的應用
![<b class='flag-5'>S3C44B0</b>在高精度直流開關電源<b class='flag-5'>中</b>的應用](https://file1.elecfans.com//web2/M00/A5/79/wKgZomUMOJaAbXK0AAB0rtVQHKw580.gif)
基于S3C44B0的串口服務器系統的設計
![基于<b class='flag-5'>S3C44B0</b>的<b class='flag-5'>串口服務器</b><b class='flag-5'>系統</b>的設計](https://file1.elecfans.com//web2/M00/A5/FB/wKgZomUMOyGAFsUHAAAJJQQExtI689.jpg)
S3C44B0的初始化程序的理解
基于S3C44B0開發板的圖像采集方法研究
![基于<b class='flag-5'>S3C44B0</b>開發板的圖像采集方法研究](https://file1.elecfans.com//web2/M00/A6/3B/wKgZomUMPGyANhwtAAAQKQr5cc4695.jpg)
基于S3C44B0開發板進行Blob的移植操作和步驟
![基于<b class='flag-5'>S3C44B0</b>開發板進行Blob的移植操作和步驟](https://file.elecfans.com/web1/M00/C9/29/pIYBAF9xpvyAOK1nAAAx36w80ks943.png)
評論