您現(xiàn)在的位置:
中國傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
在現(xiàn)場(chǎng)總線控制器中實(shí)現(xiàn)網(wǎng)絡(luò)通信的研究
時(shí)間:2008-07-07 10:36:00來源:ronggang
圖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ù)幀;對(duì)于ARP請(qǐng)求或應(yīng)答來說,幀類型字段的值為0x0806;硬件類型字段表示硬件地址的類型,它的值為1即表示以太網(wǎng)地址;協(xié)議類型字段表示要映射的協(xié)議地址類型,它的值為Ox0800即表示PI地址;硬件地址長(zhǎng)度和協(xié)議地址長(zhǎng)度分別指出硬件地址和協(xié)議地址的長(zhǎng)度,以字節(jié)為單位。對(duì)于以太網(wǎng)上IP地址的ARP請(qǐng)求或應(yīng)答來說,它們的值分別為6和4;操作字段指出四種操作類型,它們是ARP請(qǐng)求(值為1)、ARP應(yīng)答(值為2)、RARP請(qǐng)求(值為3)、RARP應(yīng)答(值為4)。
其中,協(xié)議版本號(hào)是4;首部長(zhǎng)度指的是首部占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ù);總長(zhǎng)度字段是指整個(gè)IP數(shù)據(jù)報(bào)的長(zhǎng)度,以字節(jié)為單位;標(biāo)識(shí)字段用于唯一地標(biāo)識(shí)主機(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è)可變長(zhǎng)的可選信息。
TCP提供一種面向連接的、可靠的字節(jié)流傳送服務(wù)。TCP數(shù)據(jù)包的結(jié)構(gòu)如圖5所示。
[align=center]
圖5 TCP數(shù)據(jù)包的結(jié)構(gòu)[/align]
每個(gè)TCP段都包含源端和目的端的端口號(hào),用于尋找發(fā)端和收端應(yīng)用進(jìn)程。這兩個(gè)值加上IP首部中的源端IP地址和目的端IP地址唯一確定一個(gè)TCP連接。序號(hào)用來標(biāo)識(shí)從TCP發(fā)端向TCP收端發(fā)送的數(shù)據(jù)字節(jié)流。它表示在這個(gè)報(bào)文段中的第一個(gè)數(shù)據(jù)字節(jié)。確認(rèn)序號(hào)包含發(fā)送確認(rèn)的一端所期望收到的下一個(gè)序號(hào)。首部長(zhǎng)度給出首部中32bit字的數(shù)目。緊急指針是一個(gè)正的偏移量,與序號(hào)字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號(hào)。
本文作者創(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)場(chǎng)總線技術(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)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與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)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23