當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]TCP/IP協(xié)議棧在嵌入式異構(gòu)網(wǎng)絡(luò)互聯(lián)中的應(yīng)用

  摘要:隨著測(cè)控技術(shù)與網(wǎng)絡(luò)技術(shù)日益緊密的結(jié)合,測(cè)控系統(tǒng)接入互聯(lián)網(wǎng)已經(jīng)成為大勢(shì)所趨。本文闡述在一種異構(gòu)網(wǎng)絡(luò)互聯(lián)——CAN總線與以太網(wǎng)互聯(lián)系統(tǒng)設(shè)計(jì)方案中嵌入式TCP/IP協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)。從而實(shí)現(xiàn)了將基于TCP/IP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備與基于CAN總線協(xié)議的底層現(xiàn)場(chǎng)網(wǎng)絡(luò)連通。

    關(guān)鍵詞:TCP/IP協(xié)議棧 CAN總線 以太網(wǎng) 互聯(lián)網(wǎng) 異構(gòu)結(jié)構(gòu)

引言

Internet現(xiàn)已成為社會(huì)重要的信息流通渠道。如果嵌入式系統(tǒng)能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個(gè)地方。可以預(yù)言,嵌入式設(shè)備與Internet的結(jié)合代表著嵌入式系統(tǒng)和網(wǎng)絡(luò)技術(shù)的真正未來(lái)。隨著IPv6的應(yīng)用,設(shè)備都可能獲得一個(gè)全球唯一的IP地址,通過(guò)IP地址和互聯(lián)網(wǎng)相連成為一個(gè)網(wǎng)絡(luò)設(shè)備。但是傳統(tǒng)的TCP/IP協(xié)議在實(shí)現(xiàn)實(shí)時(shí)性方面做得不夠好,它把大量的精力花在保證數(shù)據(jù)傳送的可靠性以及數(shù)據(jù)流量的控制上。而在實(shí)時(shí)性要求比較高的嵌入式領(lǐng)域中,傳統(tǒng)的TCP/IP不能滿足其實(shí)時(shí)要求。另外,傳統(tǒng)TCP/IP的實(shí)現(xiàn)過(guò)于復(fù)雜,需占用大量系統(tǒng)資源,而嵌入式應(yīng)用的系統(tǒng)資源往往都很有限。因此,需要把傳統(tǒng)TCP/IP在不違背協(xié)議標(biāo)準(zhǔn)的前提下加以改進(jìn)實(shí)現(xiàn),使其實(shí)現(xiàn)性得到提高,占用的存儲(chǔ)空間盡可能少,以滿足嵌入式應(yīng)用的要求。

在大型企業(yè)自動(dòng)化系統(tǒng)中,上層企業(yè)管理層和生產(chǎn)監(jiān)控層一般采用的都是以太網(wǎng)和PC機(jī),而在下層車間現(xiàn)場(chǎng)都是采用現(xiàn)場(chǎng)總線和單片機(jī)測(cè)控設(shè)備。上下兩層的溝通,通常采用工業(yè)控制機(jī)加以太網(wǎng)卡,再加上PC機(jī)插槽上的接口卡和并行打印口EPP接口卡來(lái)實(shí)現(xiàn)。這種連接方式成本高,開(kāi)發(fā)周期長(zhǎng)。針對(duì)這些情況,本文提出了一種單獨(dú)的嵌入式CAN-以太網(wǎng)網(wǎng)關(guān)互連系統(tǒng)的設(shè)計(jì)方案,成功地實(shí)現(xiàn)以太網(wǎng)和現(xiàn)有的CAN總線網(wǎng)的直接數(shù)據(jù)傳輸。

1 異構(gòu)網(wǎng)絡(luò)互聯(lián)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

CAN總線是一個(gè)設(shè)備互連總線型控制網(wǎng)絡(luò)。在CAN總線上可以掛接多達(dá)110個(gè)設(shè)備節(jié)點(diǎn),各設(shè)備間可以自主相互通信,實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)控制系統(tǒng)。但設(shè)備信息層無(wú)法直接到達(dá)信息管理層,要想設(shè)備信息進(jìn)入信息管理層就要通過(guò)一種數(shù)據(jù)網(wǎng)關(guān)。

這里設(shè)計(jì)了一個(gè)SX52網(wǎng)關(guān),用于CAN總線與以太網(wǎng)的互連。圖1所示的系統(tǒng)總體結(jié)構(gòu)分為三部分:現(xiàn)場(chǎng)測(cè)控網(wǎng)絡(luò)(CAN網(wǎng)絡(luò))、嵌入式透明SX52網(wǎng)關(guān)和以太網(wǎng)信息管理終端(如監(jiān)控平臺(tái)和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)等)。以太網(wǎng)信息管理終端與CAN總線上的CAN節(jié)點(diǎn)通過(guò)Ethernet、SX52網(wǎng)關(guān)、CAN總線相互通信,其中SX52網(wǎng)關(guān)起核心異構(gòu)網(wǎng)絡(luò)的互連作用。

協(xié)議轉(zhuǎn)換是異構(gòu)網(wǎng)絡(luò)互連的技術(shù)關(guān)鍵和難點(diǎn)。協(xié)議轉(zhuǎn)換一般遙相呼應(yīng)采用分層轉(zhuǎn)換的方法,自低向上逐層進(jìn)行。目前互連大都是在網(wǎng)絡(luò)層或網(wǎng)絡(luò)層展開(kāi)的,因而必須對(duì)互連層以下各層協(xié)議逐層向上轉(zhuǎn)換。這種轉(zhuǎn)換方法的依據(jù)是協(xié)議分層的基本原理,即低層支持高層,高層調(diào)用低層,低層斷開(kāi)連接后,高層連接也隨之?dāng)嚅_(kāi),但高層斷開(kāi)連接卻不會(huì)影響低層。從網(wǎng)絡(luò)的分層結(jié)構(gòu)上來(lái)看我們?cè)O(shè)計(jì)的互連系統(tǒng)具有如圖2所示的分層結(jié)構(gòu)。以太網(wǎng)上運(yùn)行TCP/IP協(xié)議,它具有應(yīng)用層、傳輸層、網(wǎng)絡(luò)層以太網(wǎng)數(shù)據(jù)鏈路層和物理層;CAN總線具有應(yīng)用層、數(shù)據(jù)鏈路層和物理層,其中應(yīng)用層由用戶自己定義,數(shù)據(jù)鏈路層和物理層由CAN協(xié)議所定義;SX52數(shù)據(jù)網(wǎng)關(guān)具有物理層、數(shù)據(jù)鏈路層和應(yīng)用層,其應(yīng)用層也就是Ethernet與CAN的信息數(shù)據(jù)交換層,SX52微控制器在此層相互解釋并轉(zhuǎn)發(fā)這兩種不同協(xié)議的數(shù)據(jù)。

在本設(shè)計(jì)中,SX52網(wǎng)關(guān)被設(shè)計(jì)成了一個(gè)透明數(shù)據(jù)網(wǎng)關(guān)。也就是在以太網(wǎng)應(yīng)用層構(gòu)建和解析完整的CAN協(xié)議數(shù)據(jù)包。CAN協(xié)議數(shù)據(jù)包作為TCP/IP網(wǎng)絡(luò)的應(yīng)用層的數(shù)據(jù)進(jìn)行傳輸。對(duì)通信數(shù)據(jù)的具體實(shí)際意義不做任何解釋。

透明式網(wǎng)關(guān)由通信處理器、CAN總線控制器和以太網(wǎng)控制器三個(gè)部分組成。其中SX52單片機(jī)為核心處理器,實(shí)現(xiàn)CAN控制網(wǎng)絡(luò)與以太網(wǎng)之間的協(xié)議轉(zhuǎn)換。以太網(wǎng)信息管理 層的控制指令發(fā)送到嵌入式透明SX52網(wǎng)關(guān),經(jīng)過(guò)它將TCP/IP協(xié)議包數(shù)據(jù)轉(zhuǎn)換為CAN協(xié)議形式發(fā)送至CAN控制網(wǎng)絡(luò)中的指定設(shè)備節(jié)點(diǎn),完成信息管理層對(duì)現(xiàn)場(chǎng)設(shè)備層的控制。同樣地,當(dāng)CAN網(wǎng)絡(luò)上的設(shè)備數(shù)據(jù)(如定時(shí)采樣數(shù)據(jù)或報(bào)警信息)要傳輸?shù)叫畔⒐芾韺訒r(shí),可將數(shù)據(jù)發(fā)送到嵌入式透明SX52網(wǎng)關(guān),再通過(guò)網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序?qū)AN協(xié)議數(shù)據(jù)封裝成TCP/IP協(xié)議的以太網(wǎng)數(shù)據(jù)幀發(fā)送至以太網(wǎng)上的監(jiān)控計(jì)算機(jī)。

2 SX52中TCP/IP協(xié)議棧的設(shè)計(jì)

按照層次結(jié)構(gòu)思想,對(duì)計(jì)算機(jī)網(wǎng)絡(luò)模塊化的研究結(jié)果是,形成了一組從上到下單向依賴關(guān)系的協(xié)議棧(protocol stack),也叫協(xié)議族。在標(biāo)準(zhǔn)的TCP/IP協(xié)議族中有很多協(xié)議。這里SX52中TCP/IP協(xié)議棧層次結(jié)構(gòu)如圖3所示。

2.1 SX52 ARP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

地址解析協(xié)議ARP(Address Resolution Protocol)可以實(shí)現(xiàn)邏輯地址到物理地址的動(dòng)態(tài)映射。它提供了一種使以太網(wǎng)絡(luò)節(jié)點(diǎn)可以傳輸一個(gè)IP數(shù)據(jù)包到目的地址的映射機(jī)制。

在SX52中,ARP協(xié)議是通過(guò)一個(gè)“IP地址對(duì)應(yīng)以太網(wǎng)地址”的單登記實(shí)現(xiàn)的。當(dāng)遠(yuǎn)程主機(jī)需要知道它的物理地址時(shí),遠(yuǎn)程主機(jī)會(huì)向它發(fā)送ARP請(qǐng)求。這時(shí)它就會(huì)響應(yīng)這個(gè)遠(yuǎn)程主機(jī)的請(qǐng)求,告訴對(duì)方自己的物理地址。當(dāng)然,當(dāng)應(yīng)用層需要傳輸IP數(shù)據(jù)包時(shí),SX52 ARP協(xié)議也可以請(qǐng)求遠(yuǎn)程目的物理地址。

    要傳輸?shù)腎nternet數(shù)據(jù)包在以太網(wǎng)控制器的發(fā)送緩沖區(qū)中被構(gòu)建,它使用最近接收到的數(shù)據(jù)包的目的以太網(wǎng)地址作為發(fā)送數(shù)據(jù)包的目的地址。當(dāng)然,這可能不是正確的以太網(wǎng)地址,因此,在實(shí)際發(fā)送數(shù)據(jù)包之前,ARP協(xié)議將檢查發(fā)送數(shù)據(jù)包中的IP地址是否存在于ARP核中。如果發(fā)送數(shù)據(jù)中包中的IP地址在這個(gè)核中,在以太網(wǎng)發(fā)送緩沖區(qū)中的數(shù)據(jù)包將使用ARP核中的以太網(wǎng)地址更新;如果不在,ARP協(xié)議將發(fā)送一個(gè)ARP請(qǐng)求包,然后等待一個(gè)應(yīng)答。一旦這個(gè)ARP應(yīng)答接收到,這個(gè)ARP核將使用剛接收到的目標(biāo)以太網(wǎng)地址更新,接著,等待發(fā)送的數(shù)據(jù)包也將使用這個(gè)以太網(wǎng)地址更新,然后被發(fā)送出去。如果發(fā)送的ARP請(qǐng)求包沒(méi)有應(yīng)答,導(dǎo)致ARP定時(shí)器超時(shí),這時(shí)等待發(fā)送的數(shù)據(jù)包將被廢棄,正常的協(xié)議棧繼續(xù)運(yùn)行。使用的變量有:ARP核中的IP地址{hostlIP3,hostlIP2,hostlIP1,host1IP0};ARP核中的以太網(wǎng)物理地址{host1Eth0,host1Eth1,host1Eth2,host1Eth3,host1Eth4,host1Eth5};ARP協(xié)議的定時(shí)器{arpTimerMSB,arpTimerLSB}等。使用涉及的函數(shù)有:ARPInit(),ARPCheckCache(),ARPSendResponse(),ARPUpdateEthAddr(),ARPCheckIfIs(),ARPCompare4(),ARPSendStPacket(),ARPSendCommon(),ARPSendRequest()。

2.2 SX52 IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳輸。IP提供不可靠、無(wú)連接的數(shù)據(jù)報(bào)傳送服務(wù)。本設(shè)計(jì)中的IP協(xié)議是針對(duì)特殊的應(yīng)用環(huán)境下的合理簡(jiǎn)化。CAN總線的控制網(wǎng)絡(luò)是一種短幀(每個(gè)數(shù)據(jù)幀為8字節(jié))的實(shí)時(shí)網(wǎng)絡(luò),所以,IP數(shù)據(jù)包無(wú)須分片(MF=DF=0),同時(shí),設(shè)置IP為服務(wù)類型為一般類型,其頭長(zhǎng)為20字節(jié),壽命TTL設(shè)置為64。使用的變量有:目的IP地址{remoteIP3,remoteIP2,remoteIP1,remoteIP0};源IP地址{myIP3,myIP2,myIP1,myIP0};IP校驗(yàn)和{ipCheckSumMSB,ipCheckSumLSB};IP數(shù)據(jù)包長(zhǎng)度{ipLengthMSB,}ipLengthLSB};上層使用的協(xié)議ipProtocol,IP標(biāo)識(shí){ipIdentMSB,ipIdentLSB}。使用涉及的函數(shù)有:TCPIPInit(),CheckIPDatagram(),CheckIPDestAddr(),IPStartPktOut()等。

2.3 SX52 ICMP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

為了讓互聯(lián)網(wǎng)中的路由器報(bào)告或提供有關(guān)意外情況的信息,在TCP/IP協(xié)議系列中加入了一個(gè)專門用于發(fā)送差錯(cuò)報(bào)文的協(xié)議——互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)。ICMP是IP的一部分在每個(gè)IP實(shí)現(xiàn)中都必須用到它。像其它所有的通信業(yè)務(wù)一樣,ICMP報(bào)文是放在一個(gè)IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分中傳送的。ICMP報(bào)文的最終目的不是應(yīng)用程序或目的機(jī)器上的用戶,而是該機(jī)上處理它的Internet協(xié)議軟件模塊。也就是說(shuō):Internet控制報(bào)文協(xié)議允許路由器向其它路由器或主機(jī)發(fā)送差錯(cuò)或控制報(bào)文;ICMP在兩臺(tái)主機(jī)的Internet協(xié)議軟件之間提供通信。

每個(gè)ICMP報(bào)文都以相同的3個(gè)字節(jié)開(kāi)始:1個(gè)8位整數(shù)的報(bào)文類型(TYPE)字段用來(lái)識(shí)別報(bào)文,1個(gè)8位代碼(CODE)字段提供有關(guān)報(bào)文類型的進(jìn)一步信息,1個(gè)16位校驗(yàn)和字段。此外,ICMP報(bào)文還總是包括產(chǎn)生問(wèn)題的數(shù)據(jù)報(bào)首部及其開(kāi)頭的64位數(shù)據(jù)。

ICMP使用IP來(lái)傳送每一個(gè)差錯(cuò)報(bào)文。當(dāng)路由器有一個(gè)ICMP報(bào)文要傳遞時(shí),它會(huì)創(chuàng)建一個(gè)IP數(shù)據(jù)報(bào)并將ICMP報(bào)文封裝其中,也就是說(shuō),ICMP報(bào)文被置于IP數(shù)據(jù)報(bào)的數(shù)據(jù)區(qū)中,然后這一數(shù)據(jù)報(bào)像通常一樣被轉(zhuǎn)發(fā)。即整個(gè)數(shù)據(jù)報(bào)被封裝進(jìn)幀中進(jìn)行傳遞。

每一個(gè)ICMP報(bào)文的產(chǎn)生總是對(duì)應(yīng)于一個(gè)數(shù)據(jù)報(bào)。路由器將一個(gè)ICMP報(bào)文將回給產(chǎn)生數(shù)據(jù)報(bào)的主機(jī)。在這里,只實(shí)現(xiàn)了ICMP的回應(yīng)請(qǐng)求/應(yīng)答服務(wù),主要用于PING程序測(cè)試通信鏈路的暢通性,即只處理接收的報(bào)文類型為0x08的ICMP幀,發(fā)送的ICMP報(bào)文類型為0x00。它沒(méi)有自己專有的變量,涉及的函數(shù)也只有ICMPGenCheckSum()和ICMPProcPktIn()。

2.4 SX52 UDP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

UDP是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議:進(jìn)程的每個(gè)輸出操作都正好產(chǎn)生一個(gè)UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào)。UDP不提供可靠性,它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達(dá)目的地。由于缺乏可靠性,我們似乎覺(jué)得要避免使用UDP,而使用一種可靠的協(xié)議,如TCP。但分析發(fā)現(xiàn),UDP在我們的互連設(shè)計(jì)中有很多的優(yōu)點(diǎn):其一,UDP協(xié)議傳輸效率高,無(wú)須TCP通信前的連接開(kāi)銷;第二,UDP協(xié)議簡(jiǎn)單,無(wú)須復(fù)雜的狀態(tài)機(jī)傳輸機(jī)制,可以很好地避免SX52網(wǎng)關(guān)死機(jī)復(fù)位后由于狀態(tài)不一致而無(wú)法正常通信,且上層協(xié)議又很難發(fā)現(xiàn)的危險(xiǎn)。因此,可以使用UDP來(lái)實(shí)現(xiàn)通信(避免TCP連接的開(kāi)銷),而讓許多需要的特征(如動(dòng)態(tài)超和重傳、擁塞避免、查錯(cuò)等)放置在應(yīng)用層設(shè)計(jì)和實(shí)現(xiàn)。使用的變量有:

UDP接收數(shù)據(jù)報(bào)的源端口{udpRxSrcPortMSB,udpRxSrcPortLSB};

UDP接收數(shù)據(jù)報(bào)的目的端口{udpRxDestPortMSB,udpRxDestPortLSB};

UDP接收數(shù)據(jù)報(bào)的長(zhǎng)度{udpRxDataLenMSB,udpRxDataLenLSB};

UDP發(fā)送數(shù)據(jù)報(bào)的源端口{udpTxSrcPortMSB,udpTxSrcPortLSB};

UDP發(fā)送數(shù)據(jù)報(bào)的目的端口{udpTxDestPortMSB,udpTxDestPortLSB};

UDP發(fā)送數(shù)據(jù)報(bào)的長(zhǎng)度{udpTxDataLenMSB,udpTxDataLenLSB}。

設(shè)計(jì)的相關(guān)函數(shù)有:UDPAppInit(),DPGenCheckSum(),UDPStartPktOut(),UDPProcPktIn(),UDPEndPktOut(),UDPAppProcPktIn(),UDPAppProcPktOut()等。

2.5 SX52 TCP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

傳輸控制協(xié)議TCP(Transmission Control Protocol)是傳輸層的重要協(xié)議。它提供一個(gè)完全可靠的(沒(méi)有數(shù)據(jù)重復(fù)或丟失)、面向連接的、全雙工的流傳輸服務(wù)。本設(shè)計(jì)中,對(duì)復(fù)雜的TCP協(xié)議做了合理的簡(jiǎn)化:①因?yàn)镃AN網(wǎng)絡(luò)傳輸速度較快,數(shù)據(jù)量小且10Mbps的以太網(wǎng)傳輸一般不會(huì)發(fā)生阻塞,以太網(wǎng)上的主機(jī)也會(huì)有足夠的能力及時(shí)處理通信數(shù)據(jù),所以可以固定超時(shí)與重傳的時(shí)間為5s。②RTL8019AS上有兩個(gè)1500字節(jié)的接收緩沖區(qū),且CAN網(wǎng)絡(luò)為控制網(wǎng),信息量小,所以可以固定接收窗口為1400字節(jié)。③因?yàn)槲覀儾捎靡话愕腡CP服務(wù)就可以滿足應(yīng)用,所以可以忽略緊急指針和選項(xiàng)及填充字段的值。通過(guò)上述三點(diǎn)簡(jiǎn)化,實(shí)際上大大簡(jiǎn)化了TCP協(xié)議的實(shí)現(xiàn)。因?yàn)門CP的超時(shí)與重傳時(shí)間的確定和窗口大小的控制有著較復(fù)雜的算法和實(shí)現(xiàn)機(jī)制。

它的實(shí)現(xiàn)變量有:tcpState,{tcpTmpSeq4,tcpTmpSeq3,tcpTmpSeq2,tcpTmpSeq1},{tcpTmpAck4,tcpTmpAck3,tcpTmpAck2,tcpTmpAck1},{tcpUnAckMSB,tcpUnAckLSB},tcpRxFlags,{tcpCheckSumMSB,tcpCheckSumLSB},{tcpLengthMSB,tcpLengthLSB},{tcpTmpMSB,TcpTmpLSB},{tcbLocalPortMSB,tcbLocalPortLSB},{tcbRemotePortMSB,tcbRemotePortLSB},{tcbSndUna4,tcbSndUna3,tcbSndUna2,tcbSndUnal},{tcbRcvNxt4,tcbRcvNxt3,tcbRcvNxt2,tcbRcvNxt1},tcbOffset,tcbFlags,{tcbSendWinMSB,tcbSendWinLSB},{tcpTimerMSB,tcpTimerLSB}等。

相關(guān)函數(shù)有:TCPIPInit(),TCPRxHeader(),TCPProcPktIn(),TCPTransmit(),TCPReTransmit(),TCPAppPassiveOpen(),TCPAppActiveOpen(),CPAppClose(),TCPAddRcvNxt(),TCPIncRcvNxt(),TCPIncSndUna(),TCPCopySeqToNxt(),TCPAckUpdate(),TCPUpdateSeq(),TCPChkSeq(),TCPRestorePrev(),TCPCmpNxtSeq(),TCPSendEmptyPkt(),TCPSendReset(),TCPSendSyn(),TCPSendISN(),TCPSendSynAck()TCPSendAck(),TCPSendFin(),TCPCheckSuminit(),CPCheckSumAcc(),TCPCheckSumAddHdr(),CPTxByte(),TCPStartPktOut(),TCPAppInit(),TCPAppTxBytes(),TCPAppTxData(),TCPAppTxDone(),TCPAppRxBytes(),TCPAppRxData(),等。

2.6 TCP和IP傳輸層協(xié)議的選擇

把TCP/IP協(xié)議應(yīng)用到控制網(wǎng)絡(luò)中如何選擇傳輸層協(xié)議類型很關(guān)鍵。如果要與現(xiàn)有的應(yīng)用程序通信,必須使用與其相同的協(xié)議類型。在實(shí)際應(yīng)用時(shí),從可靠性來(lái)說(shuō),TCP提供了可靠的數(shù)據(jù)連接,UDP和直接訪問(wèn)IP的一些協(xié)議是不可靠的,數(shù)據(jù)報(bào)可能會(huì)丟失、損壞或重復(fù);從性能上講,UDP的性能最快,可靠性、流量控制重組包和連接維護(hù)等附加開(kāi)銷降低了TCP的性能。對(duì)于速度比較慢的系統(tǒng)來(lái)說(shuō),如溫度、濕度傳感器,選擇TCP或UDP都無(wú)所謂,對(duì)于不太重要的傳感器選用UDP就可以了;對(duì)于可靠性要求較高的傳感器,應(yīng)該選用TCP協(xié)議;對(duì)于實(shí)時(shí)性要求高的網(wǎng)絡(luò)設(shè)備,如網(wǎng)絡(luò)會(huì)議系統(tǒng)、IP音響、實(shí)時(shí)播放的電視等設(shè)備,數(shù)據(jù)傳輸率較高,應(yīng)該選用UDP協(xié)議;有些有嚴(yán)格要求的同步系統(tǒng)應(yīng)采用UDP;數(shù)據(jù)監(jiān)控系統(tǒng)傳輸?shù)目煽啃砸筝^高,應(yīng)采用TCP;Web和Email也應(yīng)采用了TCP??傊鶕?jù)實(shí)際情況來(lái)確定選用何種協(xié)議。

結(jié)語(yǔ)

針對(duì)本嵌入式異構(gòu)網(wǎng)絡(luò)互連方案,對(duì)TCP/IP協(xié)議棧簡(jiǎn)化設(shè)計(jì)為SX52型CAN總線與以太網(wǎng)互連方案,達(dá)到了測(cè)控通信系統(tǒng)高實(shí)時(shí)性、可靠性和嵌入式設(shè)計(jì)的要求。該互連方案很好地保證及管理監(jiān)控層和生產(chǎn)測(cè)控層之間的連接,方便了上下層信息交換,能滿足工廠、變電站等工業(yè)場(chǎng)合的應(yīng)用要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉