嵌入式系統(tǒng)中IP協(xié)議用ASIC器件電路設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能完成IP協(xié)議功能的ASIC器件;討論器件的穩(wěn)定工作條件。任何數(shù)字化的工業(yè)設(shè)備都可以使用這個(gè)IP協(xié)議器件直接連接到基于IP的網(wǎng)絡(luò)中。
關(guān)鍵詞:嵌入式系統(tǒng) 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ò)安全性。
近年來(lái)在嵌入式系統(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è)備來(lái)說(shuō),特別是對(duì)于工業(yè)生產(chǎn)中使用的儀器儀表,采用軟件嵌入IP協(xié)議存在無(wú)法并行處理和成本過(guò)高的缺點(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ù)字硬件電路,只需要通過(guò)相應(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è)備來(lái)說(shuō),這種器件就是一個(gè)實(shí)現(xiàn)IP功能的專用器件,只要把要發(fā)送的數(shù)據(jù)傳送給該器件,就可以實(shí)現(xiàn)通信過(guò)程與控制系統(tǒng)并行操作。任何數(shù)字化的工業(yè)設(shè)備,都可以使用這個(gè)IP協(xié)議器件直接連接到基于IP的網(wǎng)絡(luò)。
一、 協(xié)議分析與IP電路結(jié)構(gòu)設(shè)計(jì)
IP協(xié)議的功能,是對(duì)來(lái)自上層協(xié)議的數(shù)據(jù)進(jìn)行打包和解包處理,通過(guò)數(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è)模塊間通過(guò)路由處理網(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)的處理。
版本號(hào) |
報(bào)頭長(zhǎng)度 |
服務(wù)類型 |
總長(zhǎng) | |||
標(biāo)識(shí) |
DF |
MF |
||||
生命權(quán) |
協(xié)議 |
報(bào)頭校驗(yàn)和 | ||||
源地址 | ||||||
目的地址 | ||||||
選項(xiàng)(不定) |
圖 1 IP協(xié)議報(bào)頭格式
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)過(guò)的網(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ò)傳輸過(guò)程中的保存時(shí)間。生存時(shí)間由發(fā)送者設(shè)置,由所經(jīng)過(guò)的路由處理。如果在到達(dá)目的節(jié)點(diǎn)之前生存時(shí)間已經(jīng)為零,則IP就會(huì)自動(dòng)拋棄此數(shù)據(jù)報(bào)。
(3)選項(xiàng)(options)。選項(xiàng)包括時(shí)間戳、安全和特殊路由要求等。對(duì)于控制函數(shù)來(lái)說(shuō)選項(xiàng)是重要的,但對(duì)于通常的通信來(lái)說(shuō)一般沒有必要。
(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)的核心處理器,通過(guò)控制信號(hào)實(shí)現(xiàn)對(duì)IP協(xié)議器件的使用操作,因此,必須考慮如何通過(guò)硬件電路實(shí)現(xiàn)核心處理器與IP硬件電路之間的數(shù)據(jù)交換。
?。?)如果IP硬件應(yīng)用于終端設(shè)備(例如工業(yè)控制系統(tǒng)的控制設(shè)備)而不是作為交換節(jié)點(diǎn),IP協(xié)議中有關(guān)路由選擇處理的部分可以省略。
(3)為保證IP協(xié)議的健壯性,電路設(shè)計(jì)中必須十分注意電路并行協(xié)議操作中不同電路部分的延時(shí)不均勻問題。所有功能電路的延時(shí)不超過(guò)允許范圍,必要時(shí)要犧牲速度,保證協(xié)議操作的正確性。
?。?)如果每次傳輸?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)度要求,就能正確無(wú)誤地利用IP網(wǎng)絡(luò)傳輸數(shù)據(jù)。這樣不僅可以簡(jiǎn)化硬件電路,還能節(jié)省緩沖存儲(chǔ)器的容量。
根據(jù)以上討論,IP專用電路的設(shè)計(jì),實(shí)際上就是通過(guò)計(jì)數(shù)器、寄存器、RAM來(lái)實(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協(xié)議專用RAM方式。采用這種方式時(shí),IP協(xié)議需要有專用的接收和發(fā)送RAM。在發(fā)送操作時(shí),應(yīng)用系統(tǒng)先將要發(fā)送的數(shù)據(jù)寫入IP專用RAM中,再調(diào)用 IP協(xié)議進(jìn)行發(fā)送處理。在接收操作時(shí),MAC層將接收到的IP協(xié)議數(shù)據(jù)報(bào)寫入IP專用RAM中,再由IP協(xié)議進(jìn)行處理。
?。?) 系統(tǒng)RAM方式。這種方式不需要有IP協(xié)議專用RAM,IP協(xié)議硬件通過(guò)握手線使用應(yīng)用系統(tǒng)或MAC層中的RAM。
對(duì)比兩種方式:第一種方式可以把RAM設(shè)計(jì)在IP協(xié)議電路內(nèi)部,不需要占用應(yīng)用系統(tǒng)和MAC層資源,但需要提供系統(tǒng)對(duì)IP協(xié)議電路進(jìn)行數(shù)據(jù)傳送的接口電路;第二種方法不需要采用專用RAM,因此IP協(xié)議電路比較簡(jiǎn)單,但需要在IP協(xié)議電路與應(yīng)用系統(tǒng)和MAC層之間設(shè)計(jì)出合適的接口電路,做到既要滿足 IP流水線操作的要求,又不會(huì)增加應(yīng)用系統(tǒng)資源負(fù)擔(dān)。
本文設(shè)計(jì)的IP協(xié)議硬件中,采取了上述兩種方式綜合的方法:在IP內(nèi)設(shè)置相應(yīng)數(shù)量RAM模塊,這個(gè)RAM模塊不僅是IP協(xié)議的數(shù)據(jù)RAM,同時(shí)也是應(yīng)用系統(tǒng)和MAC層的通信緩沖區(qū)。通過(guò)握手線與微處理器和MAC層器件連接,握手線中的時(shí)鐘信號(hào)控制IP協(xié)議器件中發(fā)送或接收流水線的工作節(jié)拍,使整個(gè)協(xié)議處理實(shí)現(xiàn)了并行操作。電路模塊如圖3所示。
圖 3 RAM控制邏輯
三、 流水線方式對(duì)電路延遲均勻要求的分析
硬件實(shí)現(xiàn)IP協(xié)議的特點(diǎn)是協(xié)議操作并行,所有協(xié)議操作的基本內(nèi)容完全按照協(xié)議的執(zhí)行內(nèi)容并行完成。例如發(fā)送數(shù)據(jù)過(guò)程中數(shù)據(jù)的操作如下:
讀入1字節(jié)-數(shù)據(jù)處理-發(fā)送1字節(jié)
讀入1字節(jié)-數(shù)據(jù)處理-發(fā)送1字節(jié)
讀入1字節(jié)-數(shù)據(jù)處理-發(fā)送1字節(jié)
……
為實(shí)現(xiàn)上述操作,除了需要使用外部觸發(fā)信號(hào)作為統(tǒng)一時(shí)鐘外,各部分電路延遲的誤差還要受到相應(yīng)的限制。
如圖 4所示,IP協(xié)議硬件電路采用的是同步時(shí)序電路,以便使各電路能協(xié)調(diào)并行工作。
圖 4 IP協(xié)議流水線硬件結(jié)構(gòu)示意圖
IP協(xié)議的操作,就是對(duì)要傳送的數(shù)據(jù)報(bào)進(jìn)行相應(yīng)處理,因此,電路是否正常由數(shù)據(jù)的穩(wěn)定性決定。如果電路能在規(guī)定的時(shí)間內(nèi)進(jìn)入穩(wěn)定狀態(tài),則數(shù)據(jù)在處理過(guò)程中就不會(huì)出現(xiàn)問題;否則,數(shù)據(jù)就會(huì)發(fā)生不確定性的變化,這種情況就叫作硬件電路的非正常操作結(jié)果。出現(xiàn)非正常操作結(jié)果的IP協(xié)議器件是不穩(wěn)定的。
影響IP協(xié)議器件穩(wěn)定性的因素是各級(jí)電路操作時(shí)間長(zhǎng)度和觸發(fā)時(shí)鐘周期。從圖4中可以看出,各級(jí)電路的操作時(shí)間長(zhǎng)度必須小于觸發(fā)信號(hào)周期,也就是說(shuō),必須在一個(gè)觸發(fā)周期內(nèi)完成本級(jí)電路的所有操作。根據(jù)有限狀態(tài)機(jī)和時(shí)序邏輯電路理論可知,各級(jí)處理電路都必須是同步時(shí)序邏輯電路。另外,各級(jí)電路的操作時(shí)間長(zhǎng)度取決于電路的級(jí)聯(lián)層數(shù)和每級(jí)的時(shí)間延遲。由此可知,要保證IP協(xié)議器件工作穩(wěn)定,必須同時(shí)滿足如下2個(gè)條件:
?。?) 各級(jí)模塊電路處理時(shí)間必須小于最小觸發(fā)周期;
?。?) 各級(jí)模塊電路內(nèi)部延遲能滿足處理時(shí)間要求。
作為硬件電路,其處理速度實(shí)際上就是數(shù)據(jù)在邏輯電路中的傳輸速度,因此,可以通過(guò)計(jì)算數(shù)據(jù)傳輸經(jīng)過(guò)邏輯門的最大時(shí)間延遲,確定每級(jí)邏輯模塊電路的工作時(shí)間。
在IP協(xié)議流水線操作中,設(shè)外部觸發(fā)時(shí)鐘周期為TCLK,各模塊電路的傳輸延遲時(shí)間為ti,采用MOS器件的ASIC電路邊沿動(dòng)作時(shí)間均為tp,各模塊內(nèi)部傳輸經(jīng)過(guò)N級(jí)電路,其中每一級(jí)的延遲為Δti,則每個(gè)模塊電路的總延遲為
ti=NΔti
為保證器件工作穩(wěn)定,需要有
TCLK>ti=NΔti
結(jié)束語(yǔ)
嵌入IP協(xié)議的微處理器或單片機(jī)系統(tǒng)是嵌入式網(wǎng)絡(luò)技術(shù)應(yīng)用的基本技術(shù)[2],但工業(yè)設(shè)備采用軟件嵌入IP協(xié)議存在無(wú)法并行處理或成本過(guò)高的缺點(diǎn)。本文針對(duì)工業(yè)設(shè)備對(duì)IP協(xié)議需要所設(shè)計(jì)的IP協(xié)議專用器件克服了這些不足,為工業(yè)設(shè)備提供了實(shí)用的、具有較高性能價(jià)格比的網(wǎng)絡(luò)技術(shù)。任何數(shù)字化工業(yè)設(shè)備,都可以使用這個(gè)IP協(xié)議器件直接連接到基于IP的網(wǎng)絡(luò)。
硬件實(shí)現(xiàn)的IP協(xié)議,其并行工作的數(shù)字電路系統(tǒng)必須保證數(shù)據(jù)處理的穩(wěn)定性。根據(jù)有限狀態(tài)機(jī)和時(shí)序邏輯電路理論,實(shí)現(xiàn)并行工作的各級(jí)處理電路都必須是同步時(shí)序邏輯電路。
使用ASCI技術(shù)設(shè)計(jì)IP協(xié)議屬于硬件,是并行操作實(shí)現(xiàn)IP協(xié)議技術(shù),不僅IP協(xié)議的執(zhí)行不受軟件和系統(tǒng)中斷干擾,還具有一定的IP協(xié)議層抗干擾能力。由于ASIC實(shí)現(xiàn)的IP協(xié)議是一個(gè)專用數(shù)字硬件電路,只需要通過(guò)相應(yīng)的控制信號(hào)就可以實(shí)現(xiàn)IP協(xié)議的功能,具有比較高的性能價(jià)格比。MES
參考文獻(xiàn)
1 Douglas E C,David L S.Internetworking With TCP/IP Vol Ⅰ:Principles,Protocols and Architecture.Second Edition.Department of Computer Science Purdue University, 1998(8)
2 Gary R W,W Richard S.TCP/IP Illustrated,volume 2:The Implementation.Addison Wesley Publishing Company,1995
3 嵌入式系統(tǒng)論文集.中國(guó)嵌入式系統(tǒng)主題研討會(huì),2000