時間:2008-07-07 10:36:00來源:ronggang
圖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- ), 女(漢), 河南淮陽人, 講師, 主要從事, 計算機教學與研究
標簽:
                                
                            
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-10-31
2025-10-22
2025-10-17
2025-10-11
2025-10-09
2025-09-23