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

        ?

        空間高速總線SpaceWire節(jié)點的設(shè)計與實現(xiàn)

        2010-06-11 01:53:10陳大羽武文波
        航天返回與遙感 2010年4期
        關(guān)鍵詞:接收數(shù)據(jù)字符數(shù)據(jù)包

        陳大羽 王 琨 李 濤 雷 寧 武文波

        (北京空間機電研究所,北京100076)

        1 引言

        隨著衛(wèi)星應(yīng)用范圍的不斷擴大,星上設(shè)備的種類和數(shù)量都呈現(xiàn)出增加趨勢,但是,由于不同的設(shè)備采用不同的接口,設(shè)備間互連復(fù)雜,導(dǎo)致數(shù)據(jù)傳輸存在一定瓶頸。因此,迫切需要一種高可靠性、高速和低復(fù)雜度的總線技術(shù)來解決星上設(shè)備互連問題。SpaceWire總線就是針對這種需求提出的,是歐空局2003年推出的一種高速、點對點、全雙工的串行總線協(xié)議[1]。該協(xié)議以IEEE 1355-1995協(xié)議和LVDS標(biāo)準(zhǔn)為基礎(chǔ),提供了一種通用接口標(biāo)準(zhǔn),簡化和規(guī)范了不同設(shè)備之間互連。

        與CAN、FlexRay和1553B總線相比,SpaceWire總線的一個突出特點就是高速度和低復(fù)雜度,很容易在ASIC和FPGA上實現(xiàn)。更為重要的是該總線技術(shù)已成功應(yīng)用于Mars Express和Smart-1等多個空間任務(wù),目前,國內(nèi)開展此項技術(shù)研究的單位很少,尚且沒有星上應(yīng)用實例。本文針對SpaceWire總線進(jìn)行研究,分析其硬件實現(xiàn)特點,并給出了一種節(jié)點設(shè)計的實現(xiàn)方法。

        2 SpaceWire總線介紹

        SpaceWire總線可用于航天器有效載荷分系統(tǒng)設(shè)備之間、單元之間的數(shù)據(jù)和控制信息的處理,能滿足高性能、高速數(shù)據(jù)傳輸,可以提供一種統(tǒng)一的用來連接傳感器、數(shù)據(jù)處理單元、大容量存儲器的基礎(chǔ)框架。SpaceWire總線除了具有很好的電磁兼容性(Electro Magnetic Compatibility,EMC)的特性之外,在錯誤檢測、異常處理、故障保護(hù)和故障恢復(fù)及時間確定性方面都做了相應(yīng)加強。

        SpaceWire總線的特點如下:

        1)全雙工、串行、點對點的串行數(shù)據(jù)總線,碼速率達(dá)200Mbit/s,利用每個方向上的2對差分信號線實現(xiàn)數(shù)據(jù)的傳輸;

        2)電纜最長為10m,連接器采用專為航天應(yīng)用開發(fā)設(shè)計的微型9針D型連接器;

        3)通過采用LVDS技術(shù),獲得了高速傳輸能力,其電壓為350mV;

        4)輸出的編碼方式采用數(shù)據(jù)-濾波(Data-Strobe,DS)編碼;

        5)網(wǎng)絡(luò)由一定數(shù)量的SpaceWire節(jié)點通過SpaceWire路由器連接而成,節(jié)點可以通過SpaceWire電纜直接相連,也可通過SpaceWire路由器與其它SpaceWire節(jié)點或路由器相連;

        6)SpaceWire總線標(biāo)準(zhǔn)ECSS-E-50-ST-12C涉及物理層、信號層、字符層、交換層、信息包層和網(wǎng)絡(luò)層共6層協(xié)議,對應(yīng)ISO/OSI中的物理層和數(shù)據(jù)鏈路層[1]。

        SpaceWire總線協(xié)議ECSS-E-50-ST-12C對節(jié)點的軟件設(shè)計做出詳細(xì)的描述,其中交換層涉及節(jié)點的整體框架和狀態(tài)機,信號層介紹DS編碼,這2層協(xié)議是節(jié)點設(shè)計的基礎(chǔ)。

        2.1 SpaceWire節(jié)點組成結(jié)構(gòu)

        協(xié)議中SpaceWire節(jié)點的框架結(jié)構(gòu)由STATEMACHINE狀態(tài)機模塊、TRANSMITTER發(fā)送模塊、TX FIFO模塊、RECEIVER接收模塊和RX FIFO模塊5個模塊組成,如圖1所示。

        圖1 SpaceWire節(jié)點組成框圖

        SpaceWire節(jié)點的STATE MACHINE狀態(tài)機模塊控制著整個節(jié)點按照時鐘節(jié)拍有序地工作,包含ErrorReset、ErrorWait、Ready、Started、Connecting、Run共 6個狀態(tài) ,當(dāng)狀態(tài)機跳轉(zhuǎn)到 Run 狀態(tài)時,2個節(jié)點可以傳輸數(shù)據(jù)。

        TRANSMITTER發(fā)送模塊負(fù)責(zé)完成數(shù)據(jù)字符、時間碼、控制字符的發(fā)送。該模塊的位比特率在2~200Mbit/s之間可調(diào)。發(fā)送的數(shù)據(jù)格式采用DS編碼,圖1中的DOUT和SOUT為編碼后的數(shù)據(jù)信號。

        TX FIFO模塊從主機設(shè)備接收數(shù)據(jù),然后將數(shù)據(jù)寫入TRANSMITTER發(fā)送模塊,完成發(fā)送數(shù)據(jù)的存取功能。

        RECEIVER接收模塊通過輸入信號DIN和SIN恢復(fù)出時鐘Rx-Clk,然后用該時鐘采集數(shù)據(jù)DIN信號完成接收另一節(jié)點發(fā)送的控制字符、時間碼和數(shù)據(jù)字符的功能。其中接收到的控制字符給STATE MACHINE狀態(tài)機模塊進(jìn)行處理,接收到的數(shù)據(jù)字符寫入RX FIFO模塊。

        RX FIFO模塊從RECEIVER接收模塊接收數(shù)據(jù),當(dāng)主機設(shè)備存儲空間未滿時將數(shù)據(jù)寫入,完成接收數(shù)據(jù)的存取功能。

        2.2 DS編碼

        TRANSMITTER發(fā)送模塊和RECEIVER接收模塊分別采用了DS編碼。DS編碼是一種編碼模式,它將數(shù)據(jù)和時鐘信號編碼為D信號和S信號,其中D信號和原始數(shù)據(jù)信號完全一致,S信號只是在數(shù)據(jù)信號不發(fā)生改變的情況下,才會發(fā)生翻轉(zhuǎn),如圖2所示。

        圖2 DS編碼技術(shù)示意圖

        DS編碼的特點如下:

        1)編碼算法簡單。D和S信號的生成邏輯如下:初始時D=0,S=0;當(dāng)發(fā)送數(shù)據(jù)期間,D=Data,S=Data XOR Strobe。其中,Strobe信號為生成S信號時設(shè)置的中間信號。

        2)解碼算法容易。只需要將D和S信號異或操作即可得到解碼器時鐘,Rx-Clk=D XOR S,解碼時采用Rx-Clk的上下沿采集D信號接收數(shù)據(jù);

        3)抗誤碼率高。相對于Data-Clock編碼,DS編碼傳輸具有更高的抗誤碼率,即使有接近一位的信號漂移或者畸變,也可以正確識別[2]。

        3 節(jié)點設(shè)計關(guān)鍵

        本課題根據(jù)圖1所示的框圖進(jìn)行節(jié)點設(shè)計,主要對時鐘域劃分、TRANSMITTER發(fā)送模塊設(shè)計、RECEIVER接收模塊設(shè)計和RX FIFO模塊讀出頻率4個節(jié)點設(shè)計關(guān)鍵點分別進(jìn)行介紹。

        3.1 時鐘域劃分

        常規(guī)SpaceWire節(jié)點設(shè)計采用2個時鐘域劃分,即RECEIVER接收模塊工作在Rx-Clk接收時鐘域,其它模塊工作在主時鐘域。在這種設(shè)計中,其它模塊在和RECEIVER接收模塊進(jìn)行數(shù)據(jù)交互時做跨時鐘域處理,其優(yōu)點是設(shè)計簡單;缺點是TRANSMITTER發(fā)送模塊的數(shù)據(jù)發(fā)送速率不高。由于TRANSMITTER發(fā)送模塊和STATE MACHINE狀態(tài)機模塊、TX FIFO模塊、RX FIFO模塊都工作在主時鐘域,由此可知,時鐘速率最慢的模塊決定了主時鐘的工作頻率。

        本課題將節(jié)點劃分為4個時鐘域:Main-Clk時鐘域、Tx-Clk發(fā)送時鐘域、Rx-Clk接收時鐘域和Host-Clk時鐘域,如圖3所示。STATE MACHINE狀態(tài)機工作在Main-Clk時鐘域,該模塊負(fù)責(zé)整個系統(tǒng)的控制;TRANSMITTER發(fā)送模塊工作在Tx-Clk發(fā)送時鐘域,頻率在2~200MHz范圍之間可調(diào);RECEIVER模塊工作在Rx-Clk接收時鐘域,通過DIN和SIN得到接收時鐘Rx-Clk,該模塊在該時鐘域完成數(shù)據(jù)接收;TX FIFO模塊采用異步FIFO設(shè)計,寫數(shù)據(jù)工作在Host-Clk時鐘域,讀數(shù)據(jù)工作在Tx-Clk時鐘域;RX FIFO模塊同樣采用異步FIFO設(shè)計,寫數(shù)據(jù)工作在Rx-Clk時鐘域,讀數(shù)據(jù)工作在Host-Clk時鐘域。

        圖3 SpaceWire節(jié)點時鐘域劃分框圖

        數(shù)據(jù)在不同的時鐘域傳輸需要做跨時鐘域處理,這樣可以消除亞穩(wěn)態(tài)對數(shù)據(jù)的影響。劃分時鐘域的優(yōu)點包括:1)使只有TRANSMITTER發(fā)送模塊工作在高速時鐘下,比多個模塊工作在主時鐘域的常規(guī)節(jié)點設(shè)計,更容易提高數(shù)據(jù)的發(fā)送速率;2)TX FIFO模塊和RX FIFO模塊采用異步FIFO設(shè)計完成SpaceWire節(jié)點和主機設(shè)備異步數(shù)據(jù)交互,與同步FIFO設(shè)計相比,異步FIFO設(shè)計可以提高節(jié)點與不同主機設(shè)備的連接靈活性和可靠性。

        3.2 TRANSMITTER發(fā)送模塊設(shè)計

        TRANSMITTER發(fā)送模塊工作在2~200MHz的可變頻率下,目前的常規(guī)設(shè)計采用上升沿發(fā)送數(shù)據(jù),也就是用單倍數(shù)據(jù)速率(Single Data Rate,SDR)寄存器1個時鐘周期發(fā)送1位數(shù)據(jù)。此時程序最高工作頻率為200MHz,對設(shè)計者提出了很高的要求。本課題設(shè)計采用雙倍數(shù)據(jù)速率(Double Data Rate,DDR)寄存器上下沿同時發(fā)送數(shù)據(jù),此時一個時鐘周期發(fā)送2位數(shù)據(jù),對于200MHz數(shù)據(jù)率只需要采用100MHz時鐘即可完成數(shù)據(jù)發(fā)送,大大降低了硬件程序的設(shè)計難度,也有利于向更高性能擴展。對于Xilinx FPGA,輸出雙倍數(shù)據(jù)速率寄存器ODDR元件完成上下沿采樣發(fā)送數(shù)據(jù),輸出差分緩存OBUFDS元件在FPGA內(nèi)部完成單端信號轉(zhuǎn)成差分信號,連接2個元件可得到TRANSMITTER發(fā)送模塊的底層輸出設(shè)計,如圖4所示。

        圖4 Xilinx FPGA下發(fā)送模塊的底層輸出設(shè)計

        3.3 RECEIVER接收模塊設(shè)計

        RECEIVER接收模塊設(shè)計關(guān)鍵在于時鐘恢復(fù)后,能否正確使用恢復(fù)后的Rx-Clk時鐘接收數(shù)據(jù)。RECEIVER接收模塊設(shè)計非常簡單,一個異或門和兩個寄存器即可完成,如圖5所示。但是,由于接收端最高工作頻率為200MHz,時鐘周期只有5ns,這樣FPGA內(nèi)異或門、寄存器位置和布線延時特性會造成Rx-Clk建立保持時間不能滿足時序要求,不能正確接收D信號,從而導(dǎo)致整個RECEIVER接收模塊接收數(shù)據(jù)錯誤,無法正常工作。為了解決該問題,本課題通過直接在FPGA底層手動放置異或門和寄存器位置來調(diào)整FPGA內(nèi)部布線延時,以滿足建立保持時間要求使恢復(fù)后的Rx-Clk正確接收D信號。

        圖5 RECEIVER接收模塊接收數(shù)據(jù)設(shè)計

        圖6給出通過恢復(fù)后的Rx-Clk時鐘雙沿采集數(shù)據(jù)填充到移位寄存器的DS解碼流程圖[2]。

        圖6 R ECEIVER模塊DS解碼流程圖

        當(dāng)數(shù)據(jù)未傳輸(D=0,S=0)時,通過異或操作恢復(fù)后的時鐘為0,此時不接收數(shù)據(jù)。當(dāng)數(shù)據(jù)傳輸時,通過異或恢復(fù)出時鐘,在時鐘上升沿采集數(shù)據(jù)填充到移位寄存器,在時鐘的下降沿將數(shù)據(jù)填充到移位寄存器的下一個位置。收到2位數(shù)據(jù)與之前收到的數(shù)據(jù)進(jìn)行拼接,然后判斷是控制字符、時間碼或者數(shù)據(jù)字符,控制字符傳輸?shù)絊TATE MACHINE狀態(tài)機模塊處理,數(shù)據(jù)字符寫入RX FIFO,時間碼則直接發(fā)送到主機進(jìn)行確認(rèn)。

        3.4 RX FIFO模塊讀出頻率

        首先,介紹一下SpaceWire標(biāo)準(zhǔn)協(xié)議中的數(shù)據(jù)字符和數(shù)據(jù)包結(jié)束字符(End of Packet,EOP),其格式如圖7所示。協(xié)議規(guī)定2個EOP之間的所有數(shù)據(jù)字符為一個完整的數(shù)據(jù)包,采用EOP來標(biāo)志前一數(shù)據(jù)包的結(jié)束和下一數(shù)據(jù)包的開始。數(shù)據(jù)寫入RX FIFO時,要求把EOP作為特殊字符寫入RX FIFO,也就是寫入RX FIFO數(shù)據(jù)個數(shù)為數(shù)據(jù)字符個數(shù)加1。

        圖7 SpaceWire數(shù)據(jù)字符和EOP

        根據(jù)協(xié)議可知,節(jié)點輸出到主機設(shè)備的并行數(shù)據(jù)頻率低于位比特率,也就是說從RX FIFO讀出的數(shù)據(jù)頻率小于DIN的發(fā)送頻率,因此,精確計算出RX FIFO的最小讀出數(shù)據(jù)頻率對RX FIFO模塊的設(shè)計至關(guān)重要,如果低于此頻率,RX FIFO的寫入頻率大于讀出頻率,就會發(fā)生RX FIFO數(shù)據(jù)溢出。下面舉2個例子說明不同數(shù)據(jù)包大小情況下,計算RX FIFO讀出的數(shù)據(jù)頻率的方法。

        例1,假設(shè)輸入數(shù)據(jù)DIN位比特速率為200Mbit/s,數(shù)據(jù)包采用一個數(shù)據(jù)字符和一個EOP數(shù)據(jù)包結(jié)束控制字符,下面給出RX FIFO讀取接收數(shù)據(jù)的最小時鐘頻率的計算過程。

        已知,數(shù)據(jù)字符和EOP共計2個數(shù)據(jù)寫入RX FIFO。

        由于DIN位比特速率為200Mbit/s,所以每比特數(shù)據(jù)的時間為5ns。接收數(shù)據(jù)字符所需要的時間是10bit所需要的時間,10×5ns=50ns;接收EOP所需要的時間是4×5ns=20ns;寫入RX FIFO的2個數(shù)據(jù)所需要的時間是70ns,平均每個數(shù)據(jù)35ns,這樣得出RX FIFO的最小讀出數(shù)據(jù)頻率為28.571MHz(1/35ns)。

        例2,假設(shè)輸入數(shù)據(jù)DIN位比特速率為200Mbit/s,數(shù)據(jù)包采用4個數(shù)據(jù)字符和一個EOP數(shù)據(jù)包結(jié)束控制字符,給出RX FIFO讀取接收數(shù)據(jù)的最小讀出數(shù)據(jù)頻率的計算過程。

        已知,數(shù)據(jù)字符和EOP共計5個數(shù)據(jù)寫入RX FIFO。

        由于DIN位比特速率為200Mbit/s,所以每位數(shù)據(jù)的時間為5ns。接收4個數(shù)據(jù)字符所需要的時間是40bit所需要的時間,40×5ns=200ns;接收EOP所需要的時間是4×5ns=20ns;寫入RXFIFO的5個數(shù)據(jù)所需要的時間是220ns,平均每個數(shù)據(jù)44ns,這樣得出RX FIFO的最小讀出數(shù)據(jù)頻率為22.727MHz(1/44ns)。

        上述2個例子中的計算結(jié)果可以按照公式(1)計算得到。

        式中 FRC表示RX FIFO讀出時鐘的最小讀出數(shù)據(jù)頻率;NDC表示一個數(shù)據(jù)包中數(shù)據(jù)字符Data Charactor個數(shù);TDC表示每一數(shù)據(jù)字符Data Charactor的接收時間;TE表示EOP的接收時間;RB表示位比特速率[3]。

        通過上面2個例子可以得出,RX FIFO模塊可以接收的最小讀出數(shù)據(jù)頻率和RECEIVER接收模塊可以接收的最小數(shù)據(jù)包大小相關(guān)。由式(1)可知,在數(shù)據(jù)包里數(shù)據(jù)個數(shù)為1的情況下取得最小讀出數(shù)據(jù)頻率,該頻率為28.571MHz;只要主機系統(tǒng)的讀出頻率大于這一頻率,無論數(shù)據(jù)包多大,都不會發(fā)生RX FIFO數(shù)據(jù)溢出。

        4 SpaceWire節(jié)點實驗測試

        為了驗證SpaceWire節(jié)點的功能和性能是否滿足協(xié)議規(guī)定的設(shè)計要求,可采用兩個硬件程序設(shè)計的SpaceWire節(jié)點傳輸圖像數(shù)據(jù)的實驗方法進(jìn)行測試,圖8為SpaceWire節(jié)點驗證框圖。

        圖8 SpaceWire節(jié)點驗證框圖

        從圖8可知整個實驗的工作過程,在ROM中存儲一幅大小為128行×128列×8bit的圖像,SpaceWire節(jié)點1從ROM讀出數(shù)據(jù)并打包,經(jīng)差分?jǐn)?shù)據(jù)線對發(fā)送給SpaceWire節(jié)點2;節(jié)點2將收到的數(shù)據(jù)寫入緩存FIFO;然后從緩存FIFO按照Cameralink采集卡的規(guī)定接口格式讀出數(shù)據(jù);最后,通過采集卡采集圖像,并和原始圖像進(jìn)行對比驗證。圖中UART串口的作用是控制節(jié)點1的工作狀態(tài)并且監(jiān)視其內(nèi)部參數(shù)[4]。

        經(jīng)實驗驗證,串口可以控制SpaceWire節(jié)點1的工作狀態(tài)和監(jiān)視其內(nèi)部參數(shù),采集到的圖像數(shù)據(jù)和原始圖像保持一致。在Xilinx的XC4VSX35-10開發(fā)平臺上,SpaceWire單個節(jié)點程序占用241個寄存器和898個4輸入查找表,并且可以工作在240MHz時鐘頻率下[5]。

        5 結(jié)束語

        SpaceWire總線是一種高速、點對點、全雙工的串行總線協(xié)議。本文在對總線協(xié)議、SpaceWire節(jié)點的總體框架和DS編碼進(jìn)行深入分析的基礎(chǔ)上,針對時鐘域劃分、TRANMITTER發(fā)送模塊設(shè)計、RECEIVER接收模塊設(shè)計進(jìn)行了設(shè)計。并且對不同數(shù)據(jù)包大小情況下,RX FIFO的最小讀出數(shù)據(jù)頻率做了分析計算,為RX FIFO模塊設(shè)計提供了理論支持。最后,通過圖像傳輸實驗驗證了SpaceWire節(jié)點設(shè)計的功能和性能,結(jié)果表明該節(jié)點設(shè)計可以滿足空間高速數(shù)據(jù)傳輸中高可靠性、低誤碼率和低復(fù)雜度的要求。

        [1]European Cooperation for Space Standardization.ECSS-E-50-ST-12C SpaceWire Links,Nodes,Routers and Networks[S].Issue2,Noordwijk The Netherlands,2008.

        [2]羅學(xué)平,孟新,姚秀娟.一種高速數(shù)據(jù)傳輸協(xié)議的研究與應(yīng)用[J].微計算機信息,2008(8):217-218.

        [3]McClements C,Parkes S,Leon A.The SpaceWire CODEC[C].International SpaceWire Seminar,2003.

        [4]Saponara S,Bacchillone T,Corona I D,et al.Hardware/Software FPGA-based Network Emulator for High-speed On-board Communications[C].11th EUR OMICR O CONFERENCE on DIGITAL SYSTEM DESIGN Architectures,Methods and Tools,2008 IEEE,2008:353-359.

        [5]Xilinx.Virtex-4 User Guide[EB/OL].http://www.xilinx.com,2006.

        猜你喜歡
        接收數(shù)據(jù)字符數(shù)據(jù)包
        尋找更強的字符映射管理器
        沖激噪聲背景下基于幅度預(yù)處理的測向新方法*
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:50
        低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計方法
        消失的殖民村莊和神秘字符
        SmartSniff
        單片機模擬串口數(shù)據(jù)接收程序的實現(xiàn)及優(yōu)化
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        亚洲av男人的天堂在线| 色一情一乱一伦麻豆| 人妻丝袜av中文系列先锋影音| 狠狠久久久久综合网| 国产三级黄色的在线观看| 国内人妖一区二区在线播放| 日韩av一区二区蜜桃| 日韩亚洲一区二区三区四区| 国产亚州精品女人久久久久久| 制服丝袜中文字幕在线| 另类内射国产在线| 亚洲AV永久无码制服河南实里| 亚洲a级片在线观看| 国产成人自拍视频在线免费| 精品中文字幕在线不卡| 日韩无码专区| 手机福利视频| 色欲av自慰一区二区三区| 极品尤物高潮潮喷在线视频| 亚洲免费观看一区二区三区| 二区视频在线免费观看| 日韩 无码 偷拍 中文字幕| 亚洲裸男gv网站| 一本大道东京热无码| 无码毛片高潮一级一免费| 亚洲伊人免费综合网站| 在线看亚洲一区二区三区| 麻豆91蜜桃传媒在线观看| 国产伦精品免编号公布| 免费网站国产| 色婷婷丁香综合激情| 三级国产高清在线观看| av无码av天天av天天爽| 国产精品亚洲一区二区无码国产| 久久99亚洲网美利坚合众国| 日本一区二区不卡在线| 久久久久久国产精品免费免费| 色欲aⅴ亚洲情无码av蜜桃| 久久久久久国产福利网站| 青草草视频在线观看华人免费| 把女人弄爽特黄a大片|