亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 在現場總線控制器中實現網絡通信的研究

在現場總線控制器中實現網絡通信的研究

時間:2008-07-07 10:36:00來源:ronggang

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

標簽:

點贊

分享到:

上一篇:基于CAN總線的數控系統測控模...

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

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 敖汉旗| 奉节县| 东辽县| 武平县| 达孜县| 新化县| 双辽市| 宝应县| 威海市| 英超| 台州市| 青龙| 阿拉善右旗| 合作市| 凌源市| 庐江县| 义马市| 富民县| 二手房| 敦煌市| 天门市| 泽库县| 万山特区| 皮山县| 五指山市| 阿拉善左旗| 怀远县| 凌云县| 芮城县| 宝山区| 斗六市| 永和县| 永新县| 老河口市| 大同县| 青铜峡市| 论坛| 民勤县| 农安县| 双辽市| 绥江县|