技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 實(shí)現(xiàn)基于TCP/IP的多串口轉(zhuǎn)換網(wǎng)關(guān)

實(shí)現(xiàn)基于TCP/IP的多串口轉(zhuǎn)換網(wǎng)關(guān)

時(shí)間:2008-05-20 11:12:00來(lái)源:ronggang

導(dǎo)語(yǔ):?本文介紹基于TCP/IP的多串口轉(zhuǎn)換網(wǎng)關(guān),采用GM8123芯片增加了串行口數(shù)目,適合要求入網(wǎng)串口設(shè)備多的場(chǎng)合。借助于該多串口網(wǎng)關(guān),可方便的實(shí)現(xiàn)串口設(shè)備和監(jiān)控層的透明數(shù)據(jù)通信
  隨著企業(yè)規(guī)模的擴(kuò)大和Internet技術(shù)的廣泛普及,全球各個(gè)領(lǐng)域的不同企業(yè)已經(jīng)對(duì)“讓設(shè)備聯(lián)網(wǎng)”達(dá)成共識(shí),而在工業(yè)控制和通信設(shè)備中,更多的卻是符合RS232標(biāo)準(zhǔn)的串行口設(shè)備。如何將多個(gè)串行口的數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上,實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制、數(shù)據(jù)的遠(yuǎn)程傳輸便成了一個(gè)亟待解決的問(wèn)題。同時(shí),考慮到成本問(wèn)題,以往設(shè)備又不可能全部淘汰,因此,本文提出一種基于TCP/IP的多串口轉(zhuǎn)換網(wǎng)關(guān),可從根本上解決這一難題。   多串口轉(zhuǎn)換網(wǎng)關(guān)使得串口數(shù)據(jù)流到以太網(wǎng)數(shù)據(jù)流的傳輸成為可能。它能連接多個(gè)RS232串口設(shè)備,并將串口數(shù)據(jù)進(jìn)行選擇和處理,把RS232接口的數(shù)據(jù)流轉(zhuǎn)化成以太網(wǎng)數(shù)據(jù)流,這樣就可以進(jìn)行網(wǎng)絡(luò)化的數(shù)據(jù)處理,實(shí)現(xiàn)串行數(shù)據(jù)的網(wǎng)絡(luò)化。采用此種方案,無(wú)需淘汰原有串口設(shè)備,多臺(tái)設(shè)備可同時(shí)入網(wǎng),既可以提高設(shè)備利用率,又節(jié)約組網(wǎng)費(fèi)用,還可在已有的網(wǎng)絡(luò)基礎(chǔ)上簡(jiǎn)化布線復(fù)雜度。采用串口擴(kuò)展芯片GM8123可實(shí)現(xiàn)低成本、較高速度、控制簡(jiǎn)單的多串口方案。 1 系統(tǒng)應(yīng)用方案   在企業(yè)自動(dòng)化系統(tǒng)中,上層企業(yè)管理層和生產(chǎn)監(jiān)控層一般都采用以太網(wǎng)和PC機(jī),而下層車間現(xiàn)場(chǎng)多是RS232串口的測(cè)控設(shè)備。本文提出的多串口轉(zhuǎn)換網(wǎng)關(guān),能夠方便實(shí)現(xiàn)上下兩層的溝通。 可連接多臺(tái)串口設(shè)備是本系統(tǒng)最大的特點(diǎn),避免了為每臺(tái)設(shè)備配置一個(gè)網(wǎng)關(guān)帶來(lái)的成本較高、組網(wǎng)復(fù)雜的弊端。 2 系統(tǒng)結(jié)構(gòu)   TCP/IP協(xié)議由應(yīng)用層、UDP層、IP層和數(shù)據(jù)鏈路層組成。為了實(shí)現(xiàn)透明傳輸,增加應(yīng)用進(jìn)程協(xié)議層——串口層。串口層由串口鏈路層和串口網(wǎng)絡(luò)層構(gòu)成。網(wǎng)關(guān)在串口層構(gòu)建,同時(shí)解析RS232數(shù)據(jù)包,并作為TCP/IP網(wǎng)絡(luò)應(yīng)用層的數(shù)據(jù)傳輸。多串口網(wǎng)關(guān)由TCP/IP協(xié)議轉(zhuǎn)換模塊和多串口收發(fā)控制模塊組成,結(jié)構(gòu)如圖1所示。
 ?。?)TCP/lP協(xié)議轉(zhuǎn)換模塊   它是一個(gè)微型的以太網(wǎng)接入模塊,由微控制器(MCU)、網(wǎng)卡接口芯片、EEPROM 93C46、片外512 KBSRAM芯片IS6lLV5128以及輔助元件構(gòu)成。微控制器控制網(wǎng)卡接口芯片進(jìn)行網(wǎng)絡(luò)通信,實(shí)現(xiàn)地址解析協(xié)議(ARP)、Internet控制報(bào)文協(xié)議(ICMP)、IP協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等協(xié)議的解析和封包。將以太網(wǎng)發(fā)送緩沖區(qū)的串口幀封裝在UDP包中,并傳給IP層;同時(shí),接收以太網(wǎng)數(shù)據(jù)幀并向上層層解包,分離應(yīng)用層數(shù)據(jù),然后數(shù)據(jù)的解析處理交由多串口發(fā)送模塊完成,實(shí)現(xiàn)RS232串口流與以太網(wǎng)端口流的透明轉(zhuǎn)換。   (2)多串口收發(fā)控制模塊   實(shí)現(xiàn)多個(gè)RS232串口數(shù)據(jù)流的收/發(fā)控制,包括微控制器、串口擴(kuò)展芯片(GM8123)、MAX232等元件。微控制器控制GM8123完成多串口數(shù)據(jù)收發(fā),接收多個(gè)串口源數(shù)據(jù),封裝后寫入以太網(wǎng)發(fā)送緩沖區(qū)打包傳輸;同時(shí),接收以太網(wǎng)應(yīng)用層的數(shù)據(jù),解析并發(fā)送給測(cè)控設(shè)備。它不關(guān)心通信數(shù)據(jù)的具體意義,只負(fù)責(zé)接收/發(fā)送,封裝/拆封串口幀,提供通用接口。 3 多串口實(shí)現(xiàn)   3.1 實(shí)現(xiàn)方案——采用串口擴(kuò)展芯片   在微控制器中有2個(gè)UART的基礎(chǔ)上,采用GM8123,系統(tǒng)能提供2組(UARTO、UARTl)共4個(gè)串行口(COM1、COM2、C0M3、COM4),利用兩級(jí)優(yōu)先級(jí)控制UARTO和UARTl的中斷請(qǐng)求且允許嵌套。在UARTO的中斷例程內(nèi)部,通過(guò)查詢方式確定數(shù)據(jù)源是哪個(gè)子串口。   當(dāng)兩組串口同時(shí)有數(shù)據(jù)請(qǐng)求時(shí),首先,MCU的中斷機(jī)制判斷中斷請(qǐng)求的優(yōu)先級(jí),對(duì)優(yōu)先級(jí)高的中斷請(qǐng)求優(yōu)先響應(yīng)。系統(tǒng)對(duì)優(yōu)先級(jí)分配:UART0為2,UARTl為1,即MCU優(yōu)先響應(yīng)UART0的中斷請(qǐng)求。當(dāng)UARTO的3個(gè)子口同時(shí)有數(shù)據(jù)請(qǐng)求時(shí),通過(guò)輪詢方式,對(duì)各個(gè)子口予以響應(yīng),即按照子口號(hào)的地址由小到大進(jìn)行響應(yīng)。這樣,就形成了2級(jí)中斷和4個(gè)串口的多串口實(shí)現(xiàn)方案。   3.2 多串口擴(kuò)展芯片——GM8123   GM8123可將一個(gè)全雙工的標(biāo)準(zhǔn)串口擴(kuò)展成3個(gè)標(biāo)準(zhǔn)串口,并能通過(guò)外部引腳控制。選用該芯片是基于它的自身特點(diǎn):  ?、俨捎脤懣刂谱值姆绞綄?duì)芯片進(jìn)行控制,控制簡(jiǎn)單;  ?、跀?shù)據(jù)格式10位或11位可選;   ③擁有3個(gè)子串口.且各子串口波特率可調(diào)(統(tǒng)一調(diào)節(jié));  ?、軆煞N模式(單道模式和多道模式)可通過(guò)1根引腳控制;  ?、菰诙嗤ǖ拦ぷ髂J较拢髯哟诘牟ㄌ芈实扔谀复诓ㄌ芈实?分頻;  ?、拊诙嗤ǖ拦ぷ髂J较?,接收時(shí)地址線SRADD1~0向MCU返回接收子通道的地址,MCU接收到母串口送來(lái)的數(shù)據(jù)后,就可根據(jù)SRADDl~0狀態(tài)判斷數(shù)據(jù)是從哪一個(gè)子串口送來(lái)的,發(fā)送時(shí)先由MCU選擇子串口再向母串口發(fā)送數(shù)據(jù);  ?、吲c標(biāo)準(zhǔn)串口通信格式兼容,TTL電平輸出;  ?、嗝课徊蓸?6次,提高數(shù)據(jù)正確性;  ?、釋捁ぷ麟妷簽?.3~6.7 V。  ?、廨斎氲刂芬_有50~80 kΩ下拉電阻,其他輸入引腳有50~80 kΩ上拉電阻(OSCI除外)。   3.3各串口的特點(diǎn)及應(yīng)用分析   系統(tǒng)中兩組串口利用的資源不同,在速率上它們之間存在差異。串口COMl、COM2和COM3通過(guò)GM8123擴(kuò)展微控制器的UARTO得到,適合傳輸速率較慢、數(shù)據(jù)量小的設(shè)備;COM4是微控制器的UARTl,相對(duì)于第一組串 口能很好的適應(yīng)傳輸速率較快的設(shè)備。   GM8123工作在多道模式,各子串口必須設(shè)置統(tǒng)一波特率,不適用于各串口設(shè)備工作波特率不一致、又要求同時(shí)工作的場(chǎng)合,這也是該芯片的不足之處。實(shí)際應(yīng)用中,COM1、COM2和COM3應(yīng)該連接類型、速率相同的設(shè)備。COM4的波特率可以根據(jù)需求具體配置,這樣,系統(tǒng)的4個(gè)串口從速率上可以形成兩種應(yīng)用方案:一是4個(gè)串口配置相同波特率;二是每l組配置1個(gè)波特率值。   綜上所述,系統(tǒng)提供了由2組4個(gè)串口、兩級(jí)優(yōu)先級(jí)控制、2種波特率配置方案構(gòu)成的多串口實(shí)現(xiàn)方法。 4 工作原理   4.1 幀的統(tǒng)一化   系統(tǒng)4個(gè)串口源的數(shù)據(jù)要作為以太網(wǎng)幀的一部分,為了向設(shè)備提供透明的接口和區(qū)分?jǐn)?shù)據(jù)源,需要制定統(tǒng)一的幀格式。幀格式如圖2所示,其中串口號(hào)字段用來(lái)區(qū)分?jǐn)?shù)據(jù)源;幀頭、幀尾作為一個(gè)串口幀的起始分界(可自定義);數(shù)據(jù)部分是來(lái)自串口的原始數(shù)據(jù)流。同樣,網(wǎng)口發(fā)送數(shù)據(jù)也要有一致的幀格式,如圖3所示。顯然,串口幀是作為UDP層的協(xié)議數(shù)據(jù)進(jìn)行傳輸?shù)摹?
  4.2系統(tǒng)數(shù)據(jù)流向分析   多串口轉(zhuǎn)換網(wǎng)關(guān),實(shí)現(xiàn)多個(gè)串口和一個(gè)網(wǎng)口間的數(shù)據(jù)轉(zhuǎn)換,關(guān)鍵是多個(gè)串口數(shù)據(jù)如何送到網(wǎng)絡(luò)上、網(wǎng)絡(luò)數(shù)據(jù)又怎樣轉(zhuǎn)到多個(gè)串口。其中,串口鏈路層完成串口數(shù)據(jù)收發(fā)功能,串口網(wǎng)絡(luò)層作為TCP/IP應(yīng)用層的一部分,實(shí)現(xiàn)串口幀的封裝。發(fā)送是入?yún)f(xié)議棧的過(guò)程,如圖4所示,接收是出協(xié)議棧的過(guò)程(圖略),不同之處在于對(duì)數(shù)據(jù)的收/發(fā)處理。
  多串口到網(wǎng)口的數(shù)據(jù)轉(zhuǎn)換傳輸:串口鏈路層,接收來(lái)自測(cè)控設(shè)備的數(shù)據(jù),交給串口網(wǎng)絡(luò)層,該層完成串口數(shù)據(jù)幀的封裝并放入以太網(wǎng)的發(fā)送緩沖區(qū)。當(dāng)系統(tǒng)規(guī)定的UDP打包時(shí)間到或已經(jīng)有4個(gè)串口數(shù)據(jù)幀時(shí),打UDP包,并逐層下送,直到把數(shù)據(jù)送上物理介質(zhì),完成比特流的傳輸。   為了能一次傳輸盡量多的數(shù)據(jù),系統(tǒng)對(duì)數(shù)據(jù)長(zhǎng)度作了嚴(yán)格定義:串口數(shù)據(jù)幀的數(shù)據(jù)段最大長(zhǎng)度為300個(gè)字節(jié);網(wǎng)口發(fā)送幀的數(shù)據(jù)段最多允許4個(gè)串口數(shù)據(jù)幀。同時(shí),還要滿足具體應(yīng)用對(duì)實(shí)時(shí)性的要求:對(duì)每一個(gè)串口規(guī)定一個(gè)最長(zhǎng)響應(yīng)時(shí)間。時(shí)間到時(shí),不管是否已接收:300個(gè)字節(jié)都要對(duì)串口數(shù)據(jù)進(jìn)行封裝,并放人以太網(wǎng)發(fā)送緩沖區(qū);同時(shí),為了避免系統(tǒng)由于等待以太網(wǎng)發(fā)送緩沖區(qū)串口幀數(shù)達(dá)到4,而造成串口數(shù)據(jù)不能實(shí)時(shí)發(fā)送,要求在一定的時(shí)間內(nèi)進(jìn)行一次以太網(wǎng)通信,而不必等待4個(gè)串口幀到齊才打包傳輸。   這樣,系統(tǒng)對(duì)數(shù)據(jù)容量和時(shí)間的雙重規(guī)定,能保證具體應(yīng)用對(duì)實(shí)時(shí)性的要求,并能一次傳輸盡量多的數(shù)據(jù),降低了由于時(shí)間上的“空等”造成系統(tǒng)實(shí)時(shí)性差的可能性。4個(gè)串口在串口層完成的功能是相同的,僅以COMl為例,給出串口層上數(shù)據(jù)流,如圖5所示。
  圖6說(shuō)明了多串口數(shù)據(jù)幀等待打包傳輸?shù)倪^(guò)程。
  網(wǎng)口數(shù)據(jù)到多串口的數(shù)據(jù)流向,是對(duì)以太網(wǎng)鏈路層的數(shù)據(jù)幀向上逐層解包的過(guò)程。如圖7所示,將收到的以太網(wǎng)幀,依次去掉每層的協(xié)議頭分解出應(yīng)用層數(shù)據(jù),再以0x24和OxOa為分界分離,根據(jù)串口號(hào)字段的值,將信息發(fā)送到相應(yīng)的設(shè)備,完成預(yù)定的控制。 結(jié)語(yǔ)   本文介紹基于TCP/IP的多串口轉(zhuǎn)換網(wǎng)關(guān),采用GM8123芯片增加了串行口數(shù)目,適合要求入網(wǎng)串口設(shè)備多的場(chǎng)合。借助于該多串口網(wǎng)關(guān),可方便的實(shí)現(xiàn)串口設(shè)備和監(jiān)控層的透明數(shù)據(jù)通信,實(shí)現(xiàn)設(shè)備的網(wǎng)絡(luò)化控制與信息的分布式管理,必能廣泛的應(yīng)用在基于以太網(wǎng)的分布式測(cè)控網(wǎng)絡(luò)中。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:虛擬仿真技術(shù)在電子行業(yè)中的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)