單片機與遠(yuǎn)程PC機間建立通信的方法
【摘要】介紹一種通過串口服務(wù)器在單片機與遠(yuǎn)程PC機間建立通信的方法,實現(xiàn)的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)是應(yīng)用一款低電壓,高性能的CMOS的8位單片機AT89C52構(gòu)成數(shù)據(jù)采集系統(tǒng),利用嵌入式串口服務(wù)器DNE-18將數(shù)據(jù)封裝并聯(lián)入Interhet。文中介紹系統(tǒng)總體設(shè)計方案及軟、硬件的設(shè)計框架。該系統(tǒng)結(jié)構(gòu)簡單,性能穩(wěn)定,適用范圍廣,可擴展性強,市場前景廣闊。
本文引用地址:http://butianyuan.cn/article/172520.htm引言
串口服務(wù)器是一種協(xié)議轉(zhuǎn)換模塊,它通過提供1、2、4、8 或16 口的RS-232 或RS-422/485 串口界面,以及1 個10/100M 的以太網(wǎng)接口,可以將RS-232 或RS-422/485 串行設(shè)備接入TCP/IP 網(wǎng)絡(luò)中而不需要更改控制程序,主計算機使用TCP/IP 協(xié)議通過以太網(wǎng)訪問被接入的終端設(shè)備。上位機采用Socket 編程。
1 系統(tǒng)總體設(shè)計
1.1 設(shè)計思路
將經(jīng)過傳感器或變壓器轉(zhuǎn)變的標(biāo)準(zhǔn)電壓或電流信號,進(jìn)行A/D 轉(zhuǎn)換,變成數(shù)字化的數(shù)據(jù),把這些數(shù)據(jù)通過單片機串口傳送到串口服務(wù)器上, 串口服務(wù)器將單片機發(fā)出來的數(shù)據(jù)包轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)報文格式,轉(zhuǎn)發(fā)到Internet 上,從而實現(xiàn)數(shù)據(jù)網(wǎng)上傳輸,可以方便地通過網(wǎng)絡(luò)從上層PC 機進(jìn)行實時監(jiān)控。
1.2 系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)硬件采用模塊化結(jié)構(gòu), 其系統(tǒng)總體結(jié)構(gòu)如圖1 所示。該存儲轉(zhuǎn)發(fā)上網(wǎng)系統(tǒng)采集終端主要是由傳感器,放大電路,光電隔離電路,采集電路,近端LED顯示電路,串口服務(wù)器等模塊組成。
其中,該系統(tǒng)數(shù)據(jù)采集終端為一單片機控制系統(tǒng),通信口為RS232/485 可選接口。
本系統(tǒng)中采用的串口服務(wù)器是嵌入式串口服務(wù)器DNE-18。DNE-18 用TCP server 方式來實現(xiàn)串口數(shù)據(jù)到網(wǎng)絡(luò)口的轉(zhuǎn)換。給DNE-18 配置了唯一的IP 地址和相應(yīng)的端口號后,DNE-18 開始偵聽,若網(wǎng)絡(luò)中有主機發(fā)起聯(lián)接DNE-18 會接受聯(lián)接請求, 并將網(wǎng)絡(luò)口收到的從串口發(fā)出并將串口收到的數(shù)據(jù)從網(wǎng)絡(luò)口以TCP/IP 協(xié)議包送出。DNE-18 不對用戶數(shù)據(jù)包做任何解析或更改,提供完全透明的數(shù)據(jù)通道。
2 系統(tǒng)的軟硬件構(gòu)成
2.1 系統(tǒng)硬件框圖
本系統(tǒng)的硬件設(shè)計核心部分是遠(yuǎn)程數(shù)據(jù)采集、存儲轉(zhuǎn)發(fā)的終端。其硬件框圖如圖2 所示。其工作原理是:對溫度傳感器得到的信號進(jìn)行處理,即信號放大、濾波、量化等處理過程。在此過程中需要考慮干擾信號的抑制、轉(zhuǎn)換精度及線性等諸多因素。為了對模擬量輸入通道消除干擾, 加入隔離放大器ISO100。單片機AT89C52 控制ADC0809 進(jìn)行數(shù)據(jù)采集。將采集到的信號分為兩路進(jìn)行處理。一路進(jìn)行LED 顯示:即當(dāng)A/D 轉(zhuǎn)換完畢后,單片機內(nèi)存中保存有A/D 轉(zhuǎn)換的通道數(shù),以及A/D 轉(zhuǎn)換后的數(shù)據(jù)。當(dāng)一路轉(zhuǎn)換完畢后,單片機讀到模數(shù)轉(zhuǎn)換數(shù)據(jù)后, 從8255A 中讀通道路數(shù),完成通道路數(shù)的顯示過程。同理, 當(dāng)顯示通道路數(shù)完畢后,然后顯示A/D 轉(zhuǎn)換數(shù)據(jù)。另一路用MAX232 芯片實現(xiàn)TTL 與RS232 電平之間的轉(zhuǎn)換,將轉(zhuǎn)換的數(shù)據(jù)送給串口服務(wù)器DNE-18。串口服務(wù)器就是把單片機發(fā)出來的數(shù)據(jù)包轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)報文格式, 然后轉(zhuǎn)發(fā)到Internet 上,實現(xiàn)數(shù)據(jù)網(wǎng)上傳輸。本文,重點介紹光電隔離模塊以及串口服務(wù)器的應(yīng)用模塊。
1) 光電隔離模塊。由于模擬量輸入信號一般都要經(jīng)過放大后才能進(jìn)行A/D 轉(zhuǎn)換,因此采用兼有放大和隔離功能的隔離放大器。隔離放大器的輸入與輸出端在電氣上完全隔離。所用的隔離方法有變壓器隔離和光電隔離兩種。在本系統(tǒng)中采用的是線性光電隔離放大器ISO100,ISO100 是美國B-B 公司生產(chǎn)的一種小型廉價光電隔離放大器。它利用發(fā)光二極管LED與兩個光電二極管進(jìn)行耦合,一路耦合到輸出端,一路反饋到輸入端,構(gòu)成負(fù)反饋,以提高放大器的精度、線性度和溫度穩(wěn)定性。
ISO100 的工作電源為+18V, 隔離電壓為2500V,輸入電流為1A,輸出電壓Vout=RifnI ,改變Rf即能改變增益。當(dāng)輸入為電壓量,應(yīng)串聯(lián)電阻Rin,使輸入電流在要求范圍內(nèi)。
ISO100 構(gòu)成的熱電偶放大器的連接圖如圖3 所示:
圖3 光電隔離抗干擾電路圖
2) 串口服務(wù)器的應(yīng)用模塊。串口服務(wù)器是把單片機發(fā)出來的數(shù)據(jù)包轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)報文格式, 然后轉(zhuǎn)發(fā)到Internet 上,實現(xiàn)數(shù)據(jù)網(wǎng)上傳輸。串口服務(wù)器的輸入口是單片機經(jīng)過MAX232 轉(zhuǎn)換后的信號,輸出口是RJ45 接口。當(dāng)串口服務(wù)器加電時候,PLED 就會發(fā)光; 當(dāng)輸出口RJ45 與交換機或是PC 正確連接時,LLED 就會發(fā)光, 當(dāng)串口服務(wù)器準(zhǔn)備就緒時,RLED 就會發(fā)光。當(dāng)對串口服務(wù)器進(jìn)行IP 地址和端口號,串行口工作方式正確設(shè)置后,串口服務(wù)器方能正常工作,才能進(jìn)行串行數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)包進(jìn)行轉(zhuǎn)換, 才能把數(shù)據(jù)發(fā)送到Internet 上的某個主機上。
需要說明的是, 如果串口服務(wù)器的RJ45 與計算機直接相連, 需要使用交叉雙絞線, 即網(wǎng)線一端用568A 標(biāo)準(zhǔn), 另一端用568B 標(biāo)準(zhǔn)。如果串口服務(wù)器RJ45 連接的是以太網(wǎng)交換機或是集線器,則使用直通線,即網(wǎng)線兩端都用568A 標(biāo)準(zhǔn)。
評論