嵌入式系統(tǒng)中IP協(xié)議用ASIC器件電路設(shè)計(jì)
摘 要: 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能完成IP協(xié)議功能的ASIC器件;討論器件的穩(wěn)定工作條件。任何數(shù)字化的工業(yè)設(shè)備都可以使用個(gè)IP協(xié)議器件直接連接到基于IP的網(wǎng)絡(luò)中。
本文引用地址:http://butianyuan.cn/article/83141.htm關(guān)鍵詞: IP ASIC
引 言
為了實(shí)現(xiàn)網(wǎng)絡(luò)信息處理,嵌入式系統(tǒng)中必須具有強(qiáng)大的網(wǎng)絡(luò)連接功能。嵌入式系統(tǒng)的網(wǎng)絡(luò)連接功能不僅需要傳輸信息,同時(shí)還必須具有相應(yīng)的信息識(shí)別能力,以提高系統(tǒng)的網(wǎng)絡(luò)安全性。
近年來在嵌入式系統(tǒng)和SOC(片上系統(tǒng))技術(shù)發(fā)展的推動(dòng)下,嵌入IP協(xié)議的微處理器或單片機(jī)系統(tǒng)已經(jīng)出現(xiàn)[3],為嵌入式網(wǎng)絡(luò)技術(shù)的應(yīng)用奠定了基礎(chǔ)。但對(duì)于工業(yè)設(shè)備來說,特別對(duì)于工業(yè)生產(chǎn)中使用的儀器儀表,采用軟件嵌入IP協(xié)議存在無法并行處理和成本過高的缺點(diǎn)。因此,采用硬件實(shí)現(xiàn)IP協(xié)議具有重要的意義。
IP硬件電路設(shè)計(jì)有嵌入處理器和ASIC兩種方法。使用嵌入處理器的方法設(shè)計(jì)IP協(xié)議時(shí),需要選擇相應(yīng)的處理器和附加電路,并根據(jù)所嵌入的處理器編制相應(yīng)軟件實(shí)現(xiàn)IP協(xié)議。這種方法可以采用已有的IP協(xié)議軟件,軟件實(shí)現(xiàn)比較方便。使用ASIC技術(shù)設(shè)計(jì)IP協(xié)議屬于硬件實(shí)現(xiàn)IP方法,IP協(xié)議的執(zhí)行全部為硬件執(zhí)行。這種實(shí)
現(xiàn)方法具有的優(yōu)點(diǎn)就是IP協(xié)議的執(zhí)行不受軟件干擾,具有一定的IP協(xié)議層抗干擾能力。ASIC實(shí)現(xiàn)IP協(xié)議實(shí)現(xiàn)的是一個(gè)專用數(shù)字硬件電路,只需要通過相應(yīng)的控制信號(hào)就可以實(shí)現(xiàn)IP協(xié)議的功能,具有比較高的性能價(jià)格比。
針對(duì)工業(yè)設(shè)備對(duì)IP協(xié)議的需要,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)能完成IP協(xié)議功能的ASIC器件。對(duì)于工業(yè)控制設(shè)備來說,這種器件就是一個(gè)實(shí)現(xiàn)IP功能的專用器件,只要把要發(fā)送的數(shù)據(jù)傳送給該器件,就可以實(shí)現(xiàn)通信過程與控制系統(tǒng)并行操作。任何數(shù)字化的工業(yè)設(shè)備,都可以使用這個(gè)IP協(xié)議器件直接連接到基于IP的網(wǎng)絡(luò)。
一、 協(xié)議分析與IP電路結(jié)構(gòu)設(shè)計(jì)
IP協(xié)議的功能,是對(duì)來自上層協(xié)議的數(shù)據(jù)進(jìn)行打包和解包處理,通過數(shù)據(jù)報(bào)在一個(gè)個(gè)IP協(xié)議模塊間傳送,直到數(shù)據(jù)報(bào)到達(dá)目的模塊[2]?;ヂ?lián)網(wǎng)網(wǎng)絡(luò)中每個(gè)主機(jī)和網(wǎng)關(guān)設(shè)備上都有IP模塊,數(shù)據(jù)報(bào)在一個(gè)個(gè)模塊間通過路由處理網(wǎng)絡(luò)地址傳送到目的地址。IPv4的數(shù)據(jù)報(bào)報(bào)頭格式如圖1所示。IP在提供網(wǎng)絡(luò)層服務(wù)時(shí),采用了統(tǒng)一的報(bào)頭,以使處于各子網(wǎng)中的IP都能根據(jù)報(bào)頭對(duì)數(shù)據(jù)作出相應(yīng)的處理。
IP中使用以下4個(gè)關(guān)鍵技術(shù)實(shí)現(xiàn)數(shù)據(jù)報(bào)傳輸:
(1)服務(wù)類型(ToS)。ToS是一個(gè)數(shù)集,代表Internet能夠提供的服務(wù),用于指定用戶所希望得到的服務(wù)質(zhì)量。服務(wù)類型由網(wǎng)關(guān)使用,可用于特定的網(wǎng)絡(luò)或是用于下一個(gè)要經(jīng)過的網(wǎng)絡(luò),也可用于下一個(gè)要對(duì)數(shù)據(jù)報(bào)進(jìn)行路由選擇的網(wǎng)關(guān)上選擇實(shí)際傳送的參數(shù)。
(2)生存時(shí)間(TTL)。生存時(shí)間是用戶設(shè)置的數(shù)據(jù)報(bào)在網(wǎng)絡(luò)傳輸過程中的保存時(shí)間。生存時(shí)間由發(fā)送者設(shè)置,由所經(jīng)過的路由處理。如果在到達(dá)目的節(jié)點(diǎn)之前生存時(shí)間已經(jīng)為零,則IP就會(huì)自動(dòng)拋棄此數(shù)據(jù)報(bào)。
(3)選項(xiàng)(options)。選項(xiàng)包括時(shí)間戳、安全和特殊路由要求等。對(duì)于控制函數(shù)來說選項(xiàng)是重要的,但對(duì)于通常的通信來說一般沒有必要。
(4)報(bào)頭校驗(yàn)碼(checksum)。設(shè)置報(bào)頭校驗(yàn)碼的目的,是保證數(shù)據(jù)的正確傳輸。如果校驗(yàn)出錯(cuò),IP將拋棄整個(gè)數(shù)據(jù)報(bào)。必須注意,與一般工業(yè)控制系統(tǒng)使用的簡(jiǎn)單通信協(xié)議不同,IP協(xié)議發(fā)現(xiàn)校驗(yàn)碼出錯(cuò)后,并不立即通知發(fā)送端,而是放棄剛剛接收到的一段報(bào)文,把糾正報(bào)文出錯(cuò)的任務(wù)留給TCP協(xié)議完成。這種方式不僅提高了通信效率,還可以簡(jiǎn)化傳輸質(zhì)量,保證程序。
在設(shè)計(jì)IP協(xié)議ASIC硬件電路中,有幾個(gè)問題需要考慮:
?。?)應(yīng)用系統(tǒng)的核心處理器,通過控制信號(hào)實(shí)現(xiàn)對(duì)IP協(xié)議器件的使用操作,因此,必須考慮如何通過硬件電路實(shí)現(xiàn)核心處理器與IP硬件電路之間的數(shù)據(jù)交換。
?。?)如果IP硬件應(yīng)用于終端設(shè)備(例如工業(yè)控制系統(tǒng)的控制設(shè)備)而不是作為交換節(jié)點(diǎn),IP協(xié)議中有關(guān)路由選擇處理的部分可以省略。
?。?)為保證IP協(xié)議的健壯性,電路設(shè)計(jì)中必須十分注意電路并行協(xié)議操作中不同電路部分的延時(shí)不均勻問題。所有功能電路的延時(shí)不超過允許范圍,必要時(shí)要犧牲速度,保證協(xié)議操作的正確性。
(4)如果每次傳輸?shù)臄?shù)據(jù)量不大(例如作為工業(yè)設(shè)備組成的工業(yè)網(wǎng)絡(luò)控制系統(tǒng)),可以不考慮IP協(xié)議中的報(bào)文分片處理。應(yīng)用系統(tǒng)只要使每次發(fā)送的數(shù)據(jù)長(zhǎng)度符合一個(gè)IP數(shù)據(jù)報(bào)的長(zhǎng)度要求,就能正確無誤地利用IP網(wǎng)絡(luò)傳輸數(shù)據(jù)。這樣不僅可以簡(jiǎn)化硬件電路,還能節(jié)省緩沖存儲(chǔ)器的容量。
根據(jù)以上討論,IP專用電路的設(shè)計(jì),實(shí)際上就是通過計(jì)數(shù)器、寄存器、RAM來實(shí)現(xiàn)外部握手和內(nèi)部流水線處理電路。由于接收與發(fā)送互相獨(dú)立,電路設(shè)計(jì)中可以把接收和發(fā)送分為兩個(gè)各自獨(dú)立的部分。由此,IP協(xié)議ASIC專用電路結(jié)構(gòu)框圖如圖2所示。
圖 2 ASIC實(shí)現(xiàn)IP協(xié)議的電路模塊結(jié)構(gòu)
二、 IP協(xié)議ASIC電路握手操作
IP協(xié)議器件中,發(fā)送電路的任務(wù)是對(duì)要發(fā)送的數(shù)據(jù)進(jìn)行加IP報(bào)頭的處理,再把打好包的IP數(shù)據(jù)報(bào)發(fā)送給MAC層。接收電路的任務(wù)是對(duì)接收到的IP報(bào)進(jìn)行報(bào)頭校驗(yàn)和拆報(bào)處理,最后把數(shù)據(jù)傳輸給微處理器系統(tǒng)。
設(shè)計(jì)IP協(xié)議硬件電路,一個(gè)重要的問題就是數(shù)據(jù)報(bào)的接收和發(fā)送機(jī)制。使用硬件實(shí)現(xiàn)IP協(xié)議的關(guān)鍵有兩個(gè):一個(gè)是流水線操作,另一個(gè)是數(shù)據(jù)存儲(chǔ)方式。
流水線操作是指IP協(xié)議的實(shí)現(xiàn)操作采用流水線方式,各操作步驟實(shí)行并行處理。作為網(wǎng)絡(luò)層協(xié)議,IP協(xié)議操作的速度取決于兩個(gè)因素:一個(gè)因素是數(shù)據(jù)報(bào)存儲(chǔ)方式,另一個(gè)因素是MAC層的收發(fā)速度。從IP層所處的位置看,由于IP網(wǎng)絡(luò)的接入網(wǎng)以全雙工方式工作,作為硬件器件的工作時(shí)鐘必須以發(fā)送和接收時(shí)鐘為準(zhǔn)。本設(shè)計(jì)中,以應(yīng)用系統(tǒng)調(diào)用IP協(xié)議信號(hào)作為發(fā)送電路操作允許信號(hào),MAC層調(diào)用IP協(xié)議信號(hào)作為發(fā)送和接收觸發(fā)同步信號(hào),采用同步觸發(fā)時(shí)鐘并行控制的技術(shù),實(shí)現(xiàn)了IP協(xié)議操作步驟的流水線并行處理。
數(shù)據(jù)報(bào)中數(shù)據(jù)的存儲(chǔ)可以有兩種方式:
?。?) IP
?。?) 系統(tǒng)RAM方式。這種方式不需要有IP協(xié)議專用RAM,IP協(xié)議硬件通過握手線使用應(yīng)用系統(tǒng)或MAC層中的RAM。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論