999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TI 28335平臺上的TCP/IP協(xié)議

2012-03-15 07:45:58
電子世界 2012年11期

北汽福田股份有限公司諸城奧鈴汽車廠 張育紅

一、引言

在許多工業(yè)設(shè)備中,由于考慮的數(shù)據(jù)傳輸速度的問題及其現(xiàn)在以太網(wǎng)的網(wǎng)速越來越高,技術(shù)越來越成熟,很多工業(yè)設(shè)備已經(jīng)考慮用以太網(wǎng)通信協(xié)議,從而代替串口通信。在以太網(wǎng)通信中,由于TCP/IP協(xié)議具有可重傳和應(yīng)答機制,UDP協(xié)議不需要應(yīng)答。所以TCP/IP協(xié)議的應(yīng)用更加受人們的青睞。

二、TCP/IP通信協(xié)議的結(jié)構(gòu)

1、表1是TCP/IP在網(wǎng)絡(luò)7層結(jié)構(gòu)中的位置。

表1 TCP/IP在網(wǎng)絡(luò)7層結(jié)構(gòu)中的位置

TCP/IP協(xié)議在上面的7層中用到了其中的五層。

1)應(yīng)用層,可以根據(jù)自己的需要進行設(shè)計,不一定是Telnet,F(xiàn)TP,email。在工業(yè)應(yīng)用中可以是MODBUS協(xié)議或者其他的協(xié)議,根據(jù)需要來決定。應(yīng)用數(shù)據(jù)在TCP/IP數(shù)據(jù)包中在鏈路上傳輸,通信雙方需要進行數(shù)據(jù)解析和數(shù)據(jù)打包的工作。

2)運輸層,主要為兩臺主機上的應(yīng)用程序提供端到端的通信。在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。

TCP為兩臺主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認接收到的分組,設(shè)置發(fā)送最后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細節(jié)。TCP是一個面向連接的協(xié)議。無論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接。其他層是保證數(shù)據(jù)傳輸正確的一個通道傳輸。

而另一方面,UDP則為應(yīng)用層提供一種非常簡單的服務(wù)。它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。任何必需的可靠性必須由應(yīng)用層來提供。這兩種運輸層協(xié)議分別在不同的應(yīng)用程序中有不同的用途。

3)網(wǎng)絡(luò)層,有時也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中的活動,例如分組的選路。在TCP/IP協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議),ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議),以及IGMP協(xié)議(Internet組管理協(xié)議)。

ICMP是IP協(xié)議的附屬協(xié)議。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。盡管ICMP主要被IP使用,但應(yīng)用程序也有可能訪問它。我們在通信建立連接后通常會用到ping指令來訪問另一臺主機是否建立連接,ping就是用了ICMP協(xié)議。

ARP(地址解析協(xié)議)和RARP(逆地址解析協(xié)議)是某些網(wǎng)絡(luò)接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,用來轉(zhuǎn)換IP層和網(wǎng)絡(luò)接口層使用的地址。通信雙方,客戶端知道服務(wù)器端的IP地址,但是不知道對應(yīng)的物理地址(MAC地址),就發(fā)送一條ARP請求協(xié)議,服務(wù)器端看到是自己的IP地址,就發(fā)ARP應(yīng)答數(shù)據(jù)給客戶端,至此,雙方的IP地址和MAC地址都是互知的。

2、具體到實際應(yīng)用中TCP/IP協(xié)議在嵌入式系統(tǒng)中如何封裝和分用。

A、數(shù)據(jù)封裝。

圖1的1-5數(shù)據(jù)進行層層封裝最后通過鏈路發(fā)送。下面具體解釋。

圖1

圖2 硬件框圖

1)在一個嵌入式產(chǎn)品中,比如儀表型產(chǎn)品,需要把儀表的測量信息通過TCP/IP協(xié)議送到后臺的控制軟件那里進行匯總,儀表本身測量到一些基本信息,比如電流,電壓等這些就是屬于用戶數(shù)據(jù)。

2)用戶數(shù)據(jù)直接發(fā)送到服務(wù)器端,服務(wù)器是不知道什么意思的,一堆數(shù)字無法解析。在儀表通信中常用的MODBUS協(xié)議將數(shù)據(jù)進行一次封裝。這樣數(shù)據(jù)發(fā)送到服務(wù)器端,服務(wù)器根據(jù)MODBUS協(xié)議可以知道是那些具體信息。這就是應(yīng)用層數(shù)據(jù)的首部信息。

3)應(yīng)用數(shù)據(jù)準(zhǔn)備OK后,當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù),數(shù)據(jù)被送入?yún)f(xié)議棧中,首先到得是傳輸層,TCP協(xié)議會給應(yīng)用數(shù)據(jù)增加自己的TCP首部。形成TCP段。TCP首部有20個字節(jié)。

4)形成TCP段傳輸?shù)骄W(wǎng)絡(luò)層,IP協(xié)議會給數(shù)據(jù)增加IP首部,IP首部也是20個字節(jié)。形成IP段。

5)IP段數(shù)據(jù)傳輸?shù)綌?shù)據(jù)鏈路層,數(shù)據(jù)鏈路層將自己的以太網(wǎng)首尾部信息增加到數(shù)據(jù)上,就完成了數(shù)據(jù)的全部封裝。數(shù)據(jù)發(fā)送到鏈路上進行傳輸。

B、數(shù)據(jù)分用。

當(dāng)目的主機收到一個以太網(wǎng)數(shù)據(jù)幀時,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議都要去檢查報文首部中的協(xié)議標(biāo)識,以確定接收數(shù)據(jù)的上層協(xié)議。這個過程稱作分用。直到應(yīng)用層數(shù)提取出來。

圖3

三、硬件環(huán)境

我們現(xiàn)在用TI公司的TMS28335與亞信公司的AX88796B來設(shè)計。由于TI的DSP技術(shù)比較成熟,運算速度快可以達到150MHz,支持浮點運算,外設(shè)比較豐富幾乎包括所有的外設(shè)接口。目前很多工控產(chǎn)品用這款芯片。同時由于現(xiàn)在很多工控產(chǎn)品已經(jīng)傾向于用以太網(wǎng)進行數(shù)據(jù)的快速交換。AX88796B性價比高,支持全雙工,100M流量,完全滿足我們的設(shè)計需求。

如硬件框圖圖2。對XZCS0和PWMA6信號線進行分析。

XZCS0作為片選信號。由于AX88796B是映射到TMS28335的某個外設(shè)地址(External Memory)的,可以在XZCS0,XZCS6,XZCS7之間任意選擇一個位置來映射。

PWMA6是TMS28335做外部中斷的一個腳。與AX88796B的外部中斷輸出腳相連。網(wǎng)卡芯片接收到外部數(shù)據(jù)后存放在網(wǎng)卡芯片緩沖環(huán)中,會產(chǎn)生一個外部中斷信號。TMS28335接收到這個中斷信號以后就接收數(shù)據(jù),從網(wǎng)卡芯片緩沖環(huán)中將數(shù)據(jù)讀取到TMS28335中,進行TCP/IP協(xié)議處理。AX88796B就是七層結(jié)構(gòu)中的物理層。

四、以太網(wǎng)移植UIP協(xié)議的過程

uip是專為8位和16位的嵌入式微控制器設(shè)計的微型TCP/IP協(xié)議棧,uIP提供了網(wǎng)絡(luò)通信所必須的協(xié)議,本身代碼和占用的內(nèi)存數(shù)都非常少-uIP的源代碼只有幾KB,RAM占用僅幾百字節(jié)。總的內(nèi)存占用將依賴:分配了多少個TCP鏈接數(shù),分配了多少個ARP表項,分配了多大的包緩沖。這些在編譯時候可以設(shè)置。每一個正在監(jiān)聽的TCP端口增加額外的2個字節(jié)內(nèi)存。

1、下面是我們項目的配置

#define UIP_ARPTAB_SIZE 10

(分配了10個ARP表項)

#define UIP_BUFSIZE 297

(一個297字節(jié)大小的包緩沖)

#define UIP_CONNS 10

(10個TCP連接數(shù))

#define UIP_TIME_WAIT_TIMEOUT 60

(定義超時時間為60個時鐘節(jié)拍)

2、軟件處理流程

在硬件設(shè)計的時候配置了一個外部中斷IO口,所在如果網(wǎng)卡收到數(shù)據(jù)會觸發(fā)一個中斷,TMS28335通過執(zhí)行interrupt void XINT1_ISR(void)這樣的外部中斷來處理數(shù)據(jù)包。代碼示例。考慮到中斷不可能處理太多東西,要不占用資源太多,影響CPU的正常工作,所以在中斷里面只進行讀網(wǎng)卡芯片數(shù)據(jù)的過程。在這個中斷里面再使能另一個中斷,當(dāng)讀網(wǎng)卡芯片的中斷退出來后通過中斷優(yōu)先級的分配,進入到PieCtrlRegs.PIEIFR10.bit.INTx1=1所使能的中斷中執(zhí)行TCP/IP的數(shù)據(jù)處理,這個中斷的優(yōu)先級比較低。

在新開的這個低優(yōu)先級的中斷里面進行協(xié)議處理,代碼如下:

另外還有一個定時中斷處理,每隔500毫秒秒調(diào)用一次。這個中斷中主要做2件事情。第一是輪訓(xùn)UIP_CONNS定義的連接,判斷是否有連接超時時間到,如果到就關(guān)閉連接,該連接的資源空出來。第二件事情就是每隔10秒鐘將UIP_ARPTAB_SIZE個長度的ARP緩沖表的數(shù)據(jù)清空。然后在正常收到TCP/IP協(xié)議數(shù)據(jù)的時候再進行數(shù)據(jù)更新。

3、UIP下載包各個文件功能描述

Uip.c——是主要的處理TCP/IP協(xié)議的文件。

其中函數(shù)Void uip_process(Uint16 flag)是協(xié)議處理程序的入口處。

Uip_arch.c是IP數(shù)據(jù)包進行校驗和計算

Uip_arp.c是ARP請求處理的函數(shù)

Uipopt.h是TCP/IP協(xié)議配置的宏定義

由于協(xié)議包里面的內(nèi)容基本不用怎么改變,只要把外部的配置調(diào)整好,寫好網(wǎng)卡驅(qū)動程序,編譯就可以調(diào)試了。通過PING指令可以PING到局域網(wǎng)內(nèi)的其他主機。或者是與應(yīng)用程序配套的TCP/IP協(xié)議都是可以通信正常的。

五、結(jié)束語

UIP協(xié)議棧的成功移植,再配合MODBUS TCP/IP協(xié)議的應(yīng)用,我們的工控產(chǎn)品可以快速的和其他設(shè)備進行快速的通信。比之485通信速度高了很多,優(yōu)勢明顯。

主站蜘蛛池模板: 91啦中文字幕| 亚洲精品无码AV电影在线播放| 人妻一本久道久久综合久久鬼色| 婷婷亚洲天堂| 日韩一二三区视频精品| 欧美国产在线一区| 久久黄色视频影| 97精品久久久大香线焦| 国产成人a在线观看视频| 综合色天天| 99re热精品视频国产免费| 国产在线视频福利资源站| 免费啪啪网址| 丁香婷婷激情网| 日韩国产 在线| 91青青草视频在线观看的| 91亚洲视频下载| AV在线天堂进入| 一边摸一边做爽的视频17国产| 亚洲欧美另类中文字幕| 亚洲成a∧人片在线观看无码| 69综合网| 青草视频网站在线观看| 91在线国内在线播放老师| 国产精品免费露脸视频| 综合网久久| 欧美人人干| 欧美综合成人| 亚洲色图欧美一区| 国产美女精品一区二区| 国产网友愉拍精品| 亚洲精品日产精品乱码不卡| 久草网视频在线| 精品亚洲国产成人AV| 亚洲国产成人在线| 97青草最新免费精品视频| 国产99视频在线| 国产欧美日韩在线在线不卡视频| 亚洲欧美自拍一区| 亚洲国产清纯| 久久香蕉国产线看观看亚洲片| 孕妇高潮太爽了在线观看免费| 一级成人a毛片免费播放| 亚洲人成网址| 欧美三级自拍| 国产女人水多毛片18| 亚洲免费成人网| 国产成人高清精品免费| 91精品在线视频观看| 欧美a在线看| 香蕉久久国产超碰青草| 国产制服丝袜91在线| 91免费观看视频| 国产一级在线播放| 国产成人亚洲日韩欧美电影| 久久这里只有精品2| 欧美性天天| 成人午夜久久| 高潮毛片免费观看| 毛片网站在线看| 久久婷婷国产综合尤物精品| 97一区二区在线播放| 幺女国产一级毛片| 国产成人一级| 免费无码又爽又刺激高| 欧美色综合网站| 91麻豆精品视频| 国产青榴视频在线观看网站| 日韩成人在线视频| 国产va欧美va在线观看| 亚洲国产中文精品va在线播放| 日韩在线播放中文字幕| hezyo加勒比一区二区三区| 欧美日本激情| 久久久久无码国产精品不卡| 四虎在线高清无码| 日韩免费毛片| 狠狠色丁婷婷综合久久| 久久窝窝国产精品午夜看片| 黄色网站在线观看无码| 国产第四页| 国产v欧美v日韩v综合精品|