版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯基于S3C44B0的串口服務(wù)器系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用摘要:為使現(xiàn)有的基于RS232、RS485或CAN總線的串口設(shè)備以以太網(wǎng)的方式組網(wǎng)運(yùn)行,文章介紹了一種基于S3C44B0的串口服務(wù)器系統(tǒng)的設(shè)計(jì),詳細(xì)闡述了系統(tǒng)硬件、軟件結(jié)構(gòu)及其工作原理。實(shí)際應(yīng)用表明,該系統(tǒng)實(shí)現(xiàn)了以太網(wǎng)與串口的數(shù)據(jù)交互,使現(xiàn)有的串口設(shè)備能快速接入以太網(wǎng)。
0引言
目前,煤礦瓦斯、負(fù)壓及電動(dòng)機(jī)、供電等自動(dòng)化監(jiān)控裝置已在各大礦井廣泛采用,甚至在個(gè)別礦井已組網(wǎng)運(yùn)行。但是,各自動(dòng)化監(jiān)控裝置絕大部分仍然采用RS232、RS485或CAN總線組網(wǎng)方式,嚴(yán)重影響了礦井安全監(jiān)控系統(tǒng)運(yùn)行的實(shí)時(shí)性、可靠性、交互性。而工業(yè)以太網(wǎng)從10M、100M帶寬發(fā)展到現(xiàn)在的千兆網(wǎng),已成為礦井監(jiān)控系統(tǒng)的主要組網(wǎng)方式。
因此,如何使現(xiàn)有的基于RS232、RS485或CAN總線的串口設(shè)備以以太網(wǎng)的方式組網(wǎng)運(yùn)行,是目前需要解決的一個(gè)問(wèn)題。本文介紹一種基于S3C44B0的串口服務(wù)器系統(tǒng),該服務(wù)器系統(tǒng)可將串口數(shù)據(jù)轉(zhuǎn)換成TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸,具有廣泛的應(yīng)用前景。
1系統(tǒng)硬件結(jié)構(gòu)
基于S3C44B0的串口服務(wù)器系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1基于S3C44B0的串口服務(wù)器系統(tǒng)硬件結(jié)構(gòu)圖
該系統(tǒng)主要功能:從串口設(shè)備讀取數(shù)據(jù),將所得到的數(shù)據(jù)進(jìn)行TCP/IP協(xié)議封裝,通過(guò)RJ45的接口發(fā)送到上位機(jī),與上位機(jī)的服務(wù)器程序進(jìn)行交互;同時(shí),將上位機(jī)發(fā)送給串口服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)到串口,進(jìn)而通過(guò)網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控現(xiàn)場(chǎng)的串口設(shè)備。
RS232接口電路如圖2所示。在本系統(tǒng)中,擴(kuò)展出2個(gè)獨(dú)立的串行口,該串行口可以三線通信或者與Modem通信。該接口采用2片MAX3232C芯片,其中MAX3232C(1)負(fù)責(zé)串行口發(fā)送接收信號(hào)的電平轉(zhuǎn)換,MAX3232C(2)完成握手信號(hào)的電平轉(zhuǎn)換。處理器S3C44B0的C10~C15分別作為nRTS1、nCTS1、TXD1、RXD1、nRTS0、nCTS0信號(hào),PE1和PE2作為TXD0和RXD0信號(hào)。
圖2RS232接口電路圖
以太網(wǎng)控制器采用在嵌入式領(lǐng)域應(yīng)用廣泛且性價(jià)比較高的網(wǎng)絡(luò)控制芯片RTL8019AS,其接口電路如圖3所示。
圖3以太網(wǎng)控制器接口電路圖
圖3中,RTL8019AS采用INT0中斷方式,連到S3C44B0的外部中斷引腳INT1。數(shù)據(jù)總線寬度為16位,因此,RTL8019AS的引腳IOCS16B上拉。
RTL8019AS有3種工作方式:跳線方式,該方式I/O和中斷由跳線決定;即插即用方式(PnP),該方式由軟件進(jìn)行自動(dòng)配置;免跳線方式,該方式I/O和中斷由外接的EEPROM93C46中的內(nèi)容決定。
使用何種工作方式由RTL8019AS的引腳JP決定,圖3中引腳JP上拉,即選擇跳線方式。
RTL8019AS的引腳IOS2上拉,引腳IOS0、IOS1、IOS3懸空(引腳IOS0~I(xiàn)OS4在圖3中未畫出),當(dāng)引腳IOS0、IOS1、IOS3懸空時(shí),每個(gè)引腳里有1個(gè)100kΩ的下拉電阻,因此,引腳IOS0、IOS1、IOS3為低電平,RTL8019AS的I/O基址為200H。
RTL8019AS片選端AEN接S3C44B0的nGCS5也就是Bank6,由于數(shù)據(jù)總線寬度為16位,S3C44B0的引腳A1連接RTL8019AS的引腳SA0,因此,對(duì)于S3C44B0來(lái)說(shuō),RTL8019AS的I/O基址為0X0A000400H。20F001N為網(wǎng)卡濾波器,其內(nèi)部包含1對(duì)低通濾波器和1對(duì)隔離變壓器,直接與RJ45相連。
2系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)軟件建立在Linux2.4內(nèi)核的uClinux操作系統(tǒng)基礎(chǔ)上,采用模塊化設(shè)計(jì),其結(jié)構(gòu)組成模塊如圖4所示。系統(tǒng)軟件的為串口和以太網(wǎng)處理模塊,串口服務(wù)器通過(guò)這2個(gè)模塊即可實(shí)現(xiàn)串口設(shè)備的聯(lián)網(wǎng)。
圖4系統(tǒng)軟件結(jié)構(gòu)組成模塊圖
由于uClinux內(nèi)核中含有串口、網(wǎng)口的通用驅(qū)動(dòng)程序,因此,不必再寫關(guān)于串口及網(wǎng)絡(luò)驅(qū)動(dòng)程序,只需在內(nèi)核移植時(shí),根據(jù)硬件電路對(duì)uClinux進(jìn)行裁減移植后,便可實(shí)現(xiàn)對(duì)串口及網(wǎng)絡(luò)的應(yīng)用編程功能。
uClinux的設(shè)備管理和文件系統(tǒng)緊密結(jié)合,各種設(shè)備都以文件的形式存放在/dev目錄下,稱為設(shè)備文件。應(yīng)用程序可以打開(kāi)、關(guān)閉和讀寫這些設(shè)備文件,完成對(duì)設(shè)備的操作,就像操作普通的數(shù)據(jù)文件一樣。所以訪問(wèn)串口,只需要打開(kāi)相應(yīng)的設(shè)備文件即可。在uClinux下,串行口COM1和COM2對(duì)應(yīng)的設(shè)備分別為/dev/ttyS0和dev/ttyS1。串口的編程步驟如下:
(1)打開(kāi)串口,采用open()函數(shù)fd=open("/dev/ttyS0",O_RDWR|O_NOCTTY);(2)若打開(kāi)成功,則對(duì)串口進(jìn)行參數(shù)設(shè)置:
tcgetattr(fd,oldtio);(3)清除串口緩沖區(qū),因?yàn)榇诮邮蘸桶l(fā)送數(shù)據(jù)是從上一組數(shù)據(jù)之后的緩沖區(qū)開(kāi)始存放的,為了使先前的數(shù)據(jù)不會(huì)重復(fù)出現(xiàn),故清除緩沖區(qū)tcflush(fd,TCIFLUSH);(4)讀寫串口,讀串口采用read(fd,sbuf,BUF_LEN)函數(shù),寫串口采用write(fd,sbuf,BUF_LEN),其中fd為設(shè)備打開(kāi)返回的值,sbuf為存放發(fā)送或接收數(shù)據(jù)的數(shù)據(jù)組,BUF_LEN為數(shù)據(jù)的個(gè)數(shù);(5)讀寫完成后關(guān)閉串口,close(fd)。
網(wǎng)絡(luò)通信本質(zhì)就是進(jìn)程間的通信,網(wǎng)絡(luò)地址和端口號(hào)結(jié)合在一起,才可以共同確定整個(gè)Internet中的1個(gè)網(wǎng)絡(luò)進(jìn)程,網(wǎng)絡(luò)進(jìn)程由套接字確定,程序采用Socket表示。套接字常用的有2種:流式套接字(StreamSocket)和數(shù)據(jù)報(bào)套接字(DatagramSocket)。這2種套接字的區(qū)別在于它們使用不同的協(xié)議。流式套接字使用TCP協(xié)議,數(shù)據(jù)報(bào)套接字使用UDP協(xié)議。本系統(tǒng)中采用的協(xié)議為TCP協(xié)議。具體通信步驟如下:
(1)由socket()函數(shù)創(chuàng)建偵聽(tīng)套接字;
(2)通過(guò)bind()函數(shù)為該套接字分配1個(gè)地址;
(3)使用listen()函數(shù)建立和客戶機(jī)的連接,告訴套接字開(kāi)始偵聽(tīng)客戶機(jī)的連接請(qǐng)求;
(4)由accept()函數(shù)完成實(shí)際的連接,創(chuàng)建連接套接字,原來(lái)的偵聽(tīng)套接字將會(huì)繼續(xù)偵聽(tīng)新的連接請(qǐng)求,而新的連接請(qǐng)求可能會(huì)通過(guò)accept()函數(shù)的再調(diào)用而獲得接受;
(5)創(chuàng)建連接套接字成功后,便可完成數(shù)據(jù)的發(fā)送與接收任務(wù),數(shù)據(jù)接收由recv()函數(shù)完成,發(fā)送由send()函數(shù)完成。
本系統(tǒng)在主程序中創(chuàng)建2個(gè)關(guān)鍵的線程完成數(shù)據(jù)的傳送任務(wù),分別為Serialthread線程和Ethernetthread線程。Serialthread線程的功能是將串口接收到的數(shù)據(jù)流通過(guò)網(wǎng)口發(fā)送出去,而Ethernetthread線程的功能是將網(wǎng)口發(fā)送過(guò)來(lái)的數(shù)據(jù)流通過(guò)串口發(fā)送出去?;赟3C44B0的串口服務(wù)器系統(tǒng)主程序流程如圖5所示。
圖5基于S3C44B0的串口服務(wù)器系統(tǒng)主程序流程圖
3結(jié)語(yǔ)
基于S3C44B0的串口服務(wù)器系統(tǒng)可以將零散的串口設(shè)備連入以太網(wǎng),實(shí)現(xiàn)資源的共享以及遠(yuǎn)程控制功能,基本上滿足現(xiàn)代礦井各監(jiān)控單元的組網(wǎng)需求。該系統(tǒng)控制靈活、成本低、具有較大的擴(kuò)展性,便于實(shí)現(xiàn)各種復(fù)雜的控制功能。目前該系統(tǒng)已應(yīng)用到煤礦供電系統(tǒng)饋電開(kāi)關(guān)的以太網(wǎng)監(jiān)控系統(tǒng)中,大大促進(jìn)了煤礦的生產(chǎn)和網(wǎng)絡(luò)化。
參考文獻(xiàn):
[1].RS232datasheet/datasheet/RS232+_585128.html.[2].RS485datasheet/datasheet/RS485+_585289.html.[3].C10datasheet/datasheet/C10_1842564.html.[4].TXD1datasheet/datasheet/TXD1+_666125.html.[5].PE1datasheet/datasheet/PE1+_1202205.html.[6].PE2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024家裝裝修合同模板
- 誠(chéng)信苗木購(gòu)銷協(xié)議
- 浙江省七年級(jí)上學(xué)期語(yǔ)文期中測(cè)試仿真模擬試卷5套【附答案】
- 2024工廠承包合同協(xié)議書
- 簡(jiǎn)易買賣合同模板2024年
- 廣東省房產(chǎn)交易合同中介版
- 600字標(biāo)準(zhǔn)委托加工協(xié)議書
- 雙邊工程合作合同范本
- 建筑工程拆除協(xié)議
- 跨國(guó)合資銷售代理協(xié)議
- 小學(xué)英語(yǔ)就業(yè)能力展示
- 心肌病和心肌炎課件
- 《艾滋病毒》課件
- 平陽(yáng)港區(qū)西灣作業(yè)區(qū)防浪導(dǎo)流堤工程海域使用論證報(bào)告書
- 管道保溫計(jì)算公式
- 錄音行業(yè)的就業(yè)生涯發(fā)展報(bào)告
- 報(bào)廢汽車拆解工藝流程
- 生化報(bào)告解讀
- 胃癌科普講座課件
- 熔煉車間工安全培訓(xùn)
- 《多彩的職業(yè)》參考課件
評(píng)論
0/150
提交評(píng)論