技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 在現(xiàn)場總線控制器中實(shí)現(xiàn)網(wǎng)絡(luò)通信的研究

在現(xiàn)場總線控制器中實(shí)現(xiàn)網(wǎng)絡(luò)通信的研究

時(shí)間:2008-07-07 10:36:00來源:ronggang

導(dǎo)語:?本文是在MCU上實(shí)現(xiàn)TCP/IP協(xié)議,形成一個(gè)結(jié)合嵌入式系統(tǒng)的現(xiàn)場控制器。從而實(shí)現(xiàn)了嵌入式設(shè)備方便的接入Internet,降低了構(gòu)成系統(tǒng)成本,是嵌入式設(shè)備接入Internet的一種嘗試
摘 要: 現(xiàn)場總線控制系統(tǒng),正以迅猛的勢頭快速發(fā)展,己成為目前世界上最新型的控制系統(tǒng)。本文是在MCU上實(shí)現(xiàn)TCP/IP協(xié)議,形成一個(gè)結(jié)合嵌入式系統(tǒng)的現(xiàn)場控制器。從而實(shí)現(xiàn)了嵌入式設(shè)備方便的接入Internet,降低了構(gòu)成系統(tǒng)成本,是嵌入式設(shè)備接入Internet的一種嘗試。本文詳細(xì)描述了在現(xiàn)場總線控制系統(tǒng)中實(shí)現(xiàn)TCP/IP協(xié)議的過程。 關(guān)鍵字: 嵌入式系統(tǒng), TCP/IP, 現(xiàn)場總線 1 引言   現(xiàn)場總線控制系統(tǒng)是目前自動(dòng)化技術(shù)中的一個(gè)熱點(diǎn),正受到國內(nèi)外自動(dòng)化設(shè)備制造商與用戶越來越強(qiáng)烈的關(guān)注?,F(xiàn)場總線控制系統(tǒng)用現(xiàn)場總線這一開放的,具有可互操作的網(wǎng)絡(luò)將現(xiàn)場各控制器及儀表設(shè)備互連,構(gòu)成現(xiàn)場總線控制系統(tǒng),同時(shí)控制功能徹底下放到現(xiàn)場,降低了安裝成本和維護(hù)費(fèi)用。因此,FCS實(shí)質(zhì)是一種開放的、具有可互操作性的、徹底分散的分布式控制系統(tǒng),有望成為21世紀(jì)控制系統(tǒng)的主流產(chǎn)品。   當(dāng)IP地址的分配不再成為將嵌入式系統(tǒng)接入到Internet上的主要限制后,可能每個(gè)現(xiàn)場控制器都要將不同種類的設(shè)備接入到Internet上以便于遠(yuǎn)程控制或遠(yuǎn)程監(jiān)測。 2 系統(tǒng)整體設(shè)計(jì)框架   本文圍繞著如何使現(xiàn)場控制器能在Internet上進(jìn)行通信,采用的方法是利用微處理器所提供的系統(tǒng)資源和處理能力,加上ISA網(wǎng)卡芯片RTL8019AS,通過編寫運(yùn)行在單片機(jī)上的一套精簡的TCP/IP協(xié)議棧, 實(shí)現(xiàn)了一個(gè)低成本、可靠連接Internet的控制器。在詳細(xì)地分析了將嵌入式系統(tǒng)接入到Internet所面臨的問題后,提出了嵌入式設(shè)備接入Internet的一種實(shí)際解決方案。系統(tǒng)整體設(shè)計(jì)如圖1所示。 [align=center] 圖1 現(xiàn)場處理的具體設(shè)計(jì)圖[/align]   把具有遵循TCP/IP協(xié)議通信功能的控制器的放到現(xiàn)場,那么這個(gè)控制器乃至于整個(gè)系統(tǒng)都掛在網(wǎng)絡(luò)上,可以通過Http的方式進(jìn)行控制整個(gè)的現(xiàn)場控制系統(tǒng)。   2.1 嵌入式系統(tǒng)的網(wǎng)絡(luò)接口層設(shè)計(jì)   網(wǎng)絡(luò)接口層設(shè)計(jì)涉及到的硬件設(shè)計(jì)問題和軟件問題,這里對應(yīng)到網(wǎng)絡(luò)協(xié)議中的物理層和邏輯鏈路層。   2.1.1 網(wǎng)絡(luò)接口的物理層的設(shè)計(jì)   在物理層的設(shè)計(jì)方面直接和網(wǎng)絡(luò)介質(zhì)很有關(guān),這里主要探討在辦公室和樓宇應(yīng)用比較廣泛的雙絞線IEEE10-BASET。在網(wǎng)絡(luò)接口的物理層設(shè)計(jì)中,這里主要是設(shè)計(jì)符合前面介紹的IEEE80.23標(biāo)準(zhǔn)局域網(wǎng)絡(luò)使用的網(wǎng)絡(luò)接口。   物理接口是和雙絞線相連的接口,一般使用的是RJ-45接口,一共可以用8根線,在IEEE的10BASE-T里面用了1、2線作發(fā)送TD+和TD-, 3、6線作接收RD+和RD-,還有四根沒有用。需要注意的是用于網(wǎng)絡(luò)的物理介質(zhì)有很多種,這里僅考慮了最常用的雙絞線方案。   在這里,一般還要考慮驅(qū)動(dòng)電路的設(shè)計(jì)和電路的電氣隔離等問題,例如采用YCL的20F001N作電氣隔離。   對于物理層和數(shù)據(jù)鏈路層的其它設(shè)計(jì)問題由于是網(wǎng)卡芯片自動(dòng)支持,所以在設(shè)計(jì)采取使用網(wǎng)卡芯片的方案中,只需考慮怎樣控制網(wǎng)卡芯片。主要包括網(wǎng)卡與網(wǎng)絡(luò)電纜的物理連接、介質(zhì)訪問控制(如CSMA/CD)、數(shù)據(jù)幀的拆裝、幀的發(fā)送與接收、錯(cuò)誤校驗(yàn)、數(shù)據(jù)信號的編/解碼(如曼徹斯特碼和NRZ碼的轉(zhuǎn)換等)、數(shù)據(jù)的串、并行轉(zhuǎn)換等功能。而要實(shí)現(xiàn)這些功能,必須要對網(wǎng)絡(luò)接口芯片進(jìn)行正確的配置。   2.1.2 網(wǎng)絡(luò)接口層的實(shí)現(xiàn)   以太網(wǎng)協(xié)議由芯片硬件自動(dòng)完成,對程序員透明,網(wǎng)卡驅(qū)動(dòng)程序?qū)崿F(xiàn)三種功能:芯片初始化,收包和發(fā)包。   按數(shù)據(jù)鏈路的不同,可以將RTL8019AS內(nèi)部劃分為遠(yuǎn)程DMA (remote DMA)通道和本地DMA(local DMA)通道兩個(gè)部分。本地DMA完成控制器與網(wǎng)線的數(shù)據(jù)交換,主處理器收發(fā)數(shù)據(jù)只需對遠(yuǎn)程DMA操作。當(dāng)主處理器要向網(wǎng)上發(fā)送數(shù)據(jù)時(shí),先將一幀數(shù)據(jù)通過遠(yuǎn)程DMA通道送到RTL名019戶名中的發(fā)送緩存區(qū),然后發(fā)出傳送命令。RTL8019AS在完成了上一幀的發(fā)送后,再完成此幀的發(fā)送。RTI另019AS接收到的數(shù)據(jù)通過MAC比較、CRC校驗(yàn)后,由RFO存到接收緩沖區(qū),收滿一幀后,以中斷或寄存器標(biāo)志的方式通知主處理器。原理框圖如圖2所示。 [align=center] 圖2 RTL8019AS中斷方式工作原理圖[/align]   2.2 驅(qū)動(dòng)程序設(shè)計(jì)   先介紹RTL8019AS的基本情況:輸入輸出地址共32個(gè),地址偏移量為00H0-1FH。其中00H-0FH共16個(gè)地址,為寄存器地址。10H-17H共8個(gè)地址,為DMA地址。18H-1FH共8個(gè)地址,為復(fù)位端口。執(zhí)行網(wǎng)卡初始化的子程序是:網(wǎng)卡芯片復(fù)位,它先對網(wǎng)卡的RSTDRV管腿置1,保持100ms以上,然后變低,這就完成RTL8019AS的復(fù)位。完成復(fù)位之后,要對網(wǎng)卡的工作參數(shù)進(jìn)行設(shè)置,即設(shè)置網(wǎng)卡芯片功能寄存器,設(shè)置完成后,網(wǎng)卡芯片才能收發(fā)數(shù)據(jù)。   對RTL8019AS的軟件操作,有查詢和中斷兩種方式。由于單片機(jī)的運(yùn)算速度較慢,在響應(yīng)中斷時(shí)的處理消耗時(shí)間較多,如果頻繁產(chǎn)生中斷,單片機(jī)將無法正常工作。因此,采用了查詢方式對8019中的數(shù)據(jù)進(jìn)行讀取。   在查詢方式下,主程序通過CURR和Boundary兩個(gè)寄存器的值來判斷是否收到一幀數(shù)據(jù)。當(dāng)Boundary與CURR不等時(shí),說明接收緩沖區(qū)接收到了新的幀,主程序讀取數(shù)據(jù)后,以讀取幀的第二個(gè)字節(jié)(下一幀的頁地址)更新Boundary,主程序循環(huán)跟蹤UCRR和Boundary達(dá)到數(shù)據(jù)的接收目的。主程序在發(fā)送一幀數(shù)據(jù)時(shí),先要查TSR寄存器判斷上一幀是否發(fā)送完畢。程序流程圖如圖3所示。 [align=center] 圖3 RTL8019收發(fā)數(shù)據(jù)流程圖[/align] 3 嵌入式TCP/IP協(xié)議的實(shí)現(xiàn)   完整的TCP/IP協(xié)議棧及其應(yīng)用層的關(guān)系,如下圖4所示。 [align=center] 圖4 TCP/IP各層協(xié)議[/align]   網(wǎng)絡(luò)接口層的函數(shù)設(shè)計(jì),與網(wǎng)絡(luò)接口層相關(guān)的是發(fā)送函數(shù)和接收函數(shù),在這里介紹控制器上用TCP/IP協(xié)議實(shí)現(xiàn)數(shù)據(jù)傳輸。主要介紹的幾個(gè)協(xié)議包括:IP協(xié)議、ICMP協(xié)議、ARP協(xié)議、TCP協(xié)議。   以太網(wǎng)報(bào)頭中的前兩個(gè)字段是以太網(wǎng)的源地址和目的地址。目的地址為全1的特殊地址是廣播地址,電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀;對于ARP請求或應(yīng)答來說,幀類型字段的值為0x0806;硬件類型字段表示硬件地址的類型,它的值為1即表示以太網(wǎng)地址;協(xié)議類型字段表示要映射的協(xié)議地址類型,它的值為Ox0800即表示PI地址;硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度,以字節(jié)為單位。對于以太網(wǎng)上IP地址的ARP請求或應(yīng)答來說,它們的值分別為6和4;操作字段指出四種操作類型,它們是ARP請求(值為1)、ARP應(yīng)答(值為2)、RARP請求(值為3)、RARP應(yīng)答(值為4)。   其中,協(xié)議版本號是4;首部長度指的是首部占32bit字的數(shù)目,普通的IP數(shù)據(jù)報(bào)(沒有任何選擇項(xiàng))字段的值是5。服務(wù)類型(TOS)字段包括一個(gè)3bit的優(yōu)先權(quán)子字段(現(xiàn)在己被忽略),4 bit的TOS子字段和l bit未用位(必須置0),其中4bit的TOS分別代表:最小時(shí)延、最大吞吐量、最高可靠性和最小費(fèi)用。4bit中只能置其中l(wèi) bit。   如果所有4bit均為0,那么就意味著是一般服務(wù);總長度字段是指整個(gè)IP數(shù)據(jù)報(bào)的長度,以字節(jié)為單位;標(biāo)識字段用于唯一地標(biāo)識主機(jī)發(fā)送的每一份IP數(shù)據(jù)報(bào);3位標(biāo)志中,首位保留位(必須置0),接著第二位用于標(biāo)示本IP數(shù)據(jù)報(bào)不進(jìn)行分片,第三位用于表示還有進(jìn)一步的分組;接著的13位片偏移是指分組在當(dāng)前數(shù)據(jù)報(bào)的位置;TTL(time-to-live)生存時(shí)間字段設(shè)置了數(shù)據(jù)報(bào)可以經(jīng)過的最多路由器數(shù),通常為32或64;首部檢驗(yàn)和字段是根據(jù)IP首部計(jì)算的檢驗(yàn)和碼,采用的算法是行二進(jìn)制反碼求和;最后一個(gè)字段是任選項(xiàng),是數(shù)據(jù)報(bào)中的一個(gè)可變長的可選信息。   TCP提供一種面向連接的、可靠的字節(jié)流傳送服務(wù)。TCP數(shù)據(jù)包的結(jié)構(gòu)如圖5所示。 [align=center] 圖5 TCP數(shù)據(jù)包的結(jié)構(gòu)[/align]   每個(gè)TCP段都包含源端和目的端的端口號,用于尋找發(fā)端和收端應(yīng)用進(jìn)程。這兩個(gè)值加上IP首部中的源端IP地址和目的端IP地址唯一確定一個(gè)TCP連接。序號用來標(biāo)識從TCP發(fā)端向TCP收端發(fā)送的數(shù)據(jù)字節(jié)流。它表示在這個(gè)報(bào)文段中的第一個(gè)數(shù)據(jù)字節(jié)。確認(rèn)序號包含發(fā)送確認(rèn)的一端所期望收到的下一個(gè)序號。首部長度給出首部中32bit字的數(shù)目。緊急指針是一個(gè)正的偏移量,與序號字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號。 本文作者創(chuàng)新點(diǎn)   實(shí)現(xiàn)TCP/IP協(xié)議的通信是控制器能進(jìn)行網(wǎng)絡(luò)通信的關(guān)鍵。本文詳細(xì)描述了實(shí)現(xiàn)這個(gè)協(xié)議的過程。首先介紹了數(shù)據(jù)通信的格式和嵌入式系統(tǒng)的網(wǎng)絡(luò)接口層設(shè)計(jì)。然后進(jìn)行了RTL8019AS的初始化程序設(shè)計(jì)。最后介紹在嵌入式系統(tǒng)怎樣在基于TCP/IP協(xié)議下進(jìn)行通信。 參考文獻(xiàn):   [1] 鄔寬明.現(xiàn)場總線技術(shù)應(yīng)用選編[M].北京:北京航空航天出版社,2003.   [2] Douglas E Comer-David L Stevens.用TCP/ IP進(jìn)行網(wǎng)際互連(第一卷)[M].北京:電子工業(yè)出版社,1998.   [3] 林偉, 黃康. 基于S3C44B0X的嵌入式網(wǎng)絡(luò)通信研究[J]. 微計(jì)算機(jī)信息, 2007, 8-2: 35-36   [4] 姜沫歧,林偉. Protel2004原理圖與PCB設(shè)計(jì)實(shí)例[M]. 機(jī)械工業(yè)出版社,2005. 作者資料:   牛榮 (1974.04- ), 女(漢), 河南淮陽人, 講師, 主要從事, 計(jì)算機(jī)教學(xué)與研究

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于CAN總線的數(shù)控系統(tǒng)測控模...

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

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

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

網(wǎng)站簡介|會(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ù)咨詢采購咨詢媒體合作

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