亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2012-03-15 07:45:58
        電子世界 2012年11期
        關鍵詞:應用層服務器端網(wǎng)卡

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

        一、引言

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

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

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

        表1 TCP/IP在網(wǎng)絡7層結構中的位置

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

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

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

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

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

        3)網(wǎng)絡層,有時也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡中的活動,例如分組的選路。在TCP/IP協(xié)議族中,網(wǎng)絡層協(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使用,但應用程序也有可能訪問它。我們在通信建立連接后通常會用到ping指令來訪問另一臺主機是否建立連接,ping就是用了ICMP協(xié)議。

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

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

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

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

        圖1

        圖2 硬件框圖

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

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

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

        4)形成TCP段傳輸?shù)骄W(wǎng)絡層,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ù)分用。

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

        圖3

        三、硬件環(huán)境

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

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

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

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

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

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

        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、軟件處理流程

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

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

        另外還有一個定時中斷處理,每隔500毫秒秒調用一次。這個中斷中主要做2件事情。第一是輪訓UIP_CONNS定義的連接,判斷是否有連接超時時間到,如果到就關閉連接,該連接的資源空出來。第二件事情就是每隔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é)議包里面的內容基本不用怎么改變,只要把外部的配置調整好,寫好網(wǎng)卡驅動程序,編譯就可以調試了。通過PING指令可以PING到局域網(wǎng)內的其他主機?;蛘呤桥c應用程序配套的TCP/IP協(xié)議都是可以通信正常的。

        五、結束語

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

        猜你喜歡
        應用層服務器端網(wǎng)卡
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        Server 2016網(wǎng)卡組合模式
        淺析異步通信層的架構在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        基于分級保護的OA系統(tǒng)應用層訪問控制研究
        新一代雙向互動電力線通信技術的應用層協(xié)議研究
        在Windows中安裝OpenVPN
        物聯(lián)網(wǎng)技術在信息機房制冷系統(tǒng)中的應用
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        一区二区三区在线观看日本视频| 免费a级毛片无码a∨男男| 亚洲av无码一区二区乱子伦as| 免费二级毛片在线播放| 国产精品黑丝美女av| 西川结衣中文字幕在线| 蜜桃视频无码区在线观看| 国产亚洲一本大道中文在线| 一区二区三区四区在线观看视频| 亚洲无精品一区二区在线观看| 久久久久无码国产精品一区| 无码国产激情在线观看| 最新国产美女一区二区三区| 亚洲中文字幕一区二区在线| 成人在线免费电影| 国产丰满老熟女重口对白| 超级少妇一区二区三区| 亚洲女人的天堂网av| 久久久久国产综合av天堂| 日韩精品中文字幕无码专区| 精品国产一区二区三区久久狼| 日本一区二区三区人妻| 亚洲av无码国产精品色软件下戴| 亚洲综合AV在线在线播放| 国产精品日本一区二区三区| 音影先锋中文字幕在线| 尤物视频在线观看| 欧美乱人伦中文字幕在线不卡| 日本在线一区二区三区视频| 中文人妻熟女乱又乱精品| 国产suv精品一区二区| 亚洲无码vr| 国产一区二区三区视频在线观看 | 中文字幕人妻一区二区二区| 无码专区亚洲综合另类| 成 人 色综合 综合网站| 亚洲最新中文字幕一区| 免费一区二区高清不卡av| 麻豆果冻传媒在线观看| 国产va精品免费观看| 毛片精品一区二区二区三区|