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