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

        ?

        基于CRC校驗的高速長線LVDS傳輸設(shè)計

        2015-02-28 17:38:54李輝景王淑琴任勇峰甄國涌焦新泉中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室電子測試技術(shù)重點實驗室太原030051
        電子器件 2015年6期
        關(guān)鍵詞:校驗碼重傳傳輸速率

        李輝景,王淑琴,任勇峰,甄國涌,焦新泉(中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室,電子測試技術(shù)重點實驗室,太原 030051)

        隨著電子信息技術(shù)飛速發(fā)展,數(shù)據(jù)傳輸在傳輸速率、傳輸距離及誤碼率上有了更高的要求,現(xiàn)今工業(yè)化的應(yīng)用也越來越追求數(shù)據(jù)在遠距離傳輸、信道容量及數(shù)據(jù)準(zhǔn)確性三方面的均衡[1]。長距離傳輸時,并行方式所需成本高、布線復(fù)雜、可靠性低,所以一般采用串行傳輸。傳統(tǒng)串行傳輸技術(shù)如RS-232、RS-422、RS-485等,其數(shù)據(jù)傳輸速率都較低,最大不超過10 Mbit/s,無法滿足高速數(shù)據(jù)傳輸?shù)男枨螅?]。LVDS技術(shù)采用極低的電壓擺幅高速差動傳輸數(shù)據(jù),具有低功耗、低誤碼率、低串?dāng)_和低輻射等特點,理論傳輸速率最高可達1.923 Gbit/s,使得其在高速數(shù)據(jù)傳輸系統(tǒng)中得到廣泛的應(yīng)用,但是,LVDS信號本身只能滿足短距離傳輸,不支持遠距離傳輸。

        本文設(shè)計中,為實現(xiàn)以120 Mbit/s速率在40 m電纜高速回收彈上數(shù)據(jù),在彈上采編設(shè)備與地面測試設(shè)備之間采用LVDS技術(shù),并通過硬件電路對LVDS接口增加發(fā)送驅(qū)動器及接收均衡器,補償長線傳輸帶來的信號衰減,同時,在邏輯設(shè)計上,引入反饋糾錯機制,解決LVDS信號只適合短距離傳輸?shù)娜秉c,使數(shù)據(jù)在高速遠距離傳輸過程中可靠性得到保證。

        1 總體設(shè)計方案

        系統(tǒng)總體設(shè)計如圖1所示,由彈上采編設(shè)備、地面測試設(shè)備和計算機3部分構(gòu)成。彈上采編設(shè)備采集彈上數(shù)據(jù)并存儲;地面測試設(shè)備轉(zhuǎn)發(fā)計算機指令,并回收彈上數(shù)據(jù);計算機控制指令的發(fā)送及數(shù)據(jù)回收處理。

        系統(tǒng)采用高速LVDS接口實現(xiàn)數(shù)據(jù)的高速傳輸,在數(shù)據(jù)發(fā)送端(彈上采編設(shè)備),使用SN65LV1023A串化器,將FPGA并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù)輸出,為延長LVDS信號的傳輸距離,在電纜發(fā)送端增加CLC001AJE高速驅(qū)動器,增強信號驅(qū)動能力,同時在電纜接收端(地面測試設(shè)備)采用CLC014AJE自適應(yīng)均衡器,補償信號在長距離傳輸過程中出現(xiàn)的衰減,恢復(fù)其原有性能,再通過SN65LV1224BDBR解串器,將串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),經(jīng)USB數(shù)據(jù)接口傳輸至計算機軟件對數(shù)據(jù)進行分析和處理。

        圖1 系統(tǒng)總體框圖

        2 硬件電路設(shè)計

        2.1 發(fā)送端高速驅(qū)動器設(shè)計

        電纜和PCB損耗會使高頻信號邊沿變化速率降低,引入碼間串?dāng)_,導(dǎo)致高頻長距離傳輸時信號的損耗衰減。SN65LV1023A輸出差分信號壓差約200 mV,傳輸距離僅10 m左右[3],無法滿足長線傳輸?shù)男枨?。CLC001AJE芯片數(shù)據(jù)傳輸速率可達622 Mbit/s,100 mV差分輸入門限電壓,通過調(diào)節(jié)外部電阻,輸出電壓壓差1.6 V~2 V。因此,在信號發(fā)送端采用驅(qū)動芯片,將信號壓差提升至2 V,延長信號傳輸距離。

        值得注意的是,CLC001AJE輸入端需端接100 Ω電阻,匹配SN65LV1023A輸出線上阻抗(端接電阻需靠近CLC001AJE輸入端放置),并保證輸入端共模電壓在0.1 V~2.3 V之間,具體電路設(shè)計如圖2所示。

        圖2 LVDS高速驅(qū)動器電路設(shè)計

        2.2 接收端自適應(yīng)均衡器設(shè)計

        LVDS信號通過傳輸線會產(chǎn)生損耗,損耗與信號頻率的平方根成正比。為了使信號能被接收端可靠的接收,需在接收端補償信號衰減。CLC014AJE是美國半導(dǎo)體公司的一款自適應(yīng)均衡器,針對50 Mbit/s~650 Mbit/s信號,可自動補償其在300 m Belden 8281或120 m 5類非屏蔽雙絞線上衰減[4~5],且具有極低的抖動和功耗。電路設(shè)計時,信號輸入共模電壓保持3.4 V,同時端接100 Ω電阻,匹配傳輸線上阻抗;在ACE+、ACE-之間,串接50 pF~1 μF電容,控制均衡環(huán)路的環(huán)路響應(yīng);輸出信號進入LVDS解串器前,還需進行阻抗匹配和輸入電平控制,具體電路設(shè)計如圖3所示。

        圖3 LVDS自適應(yīng)均衡器電路設(shè)計

        3 軟件設(shè)計

        3.1 LVDS傳輸機制

        本文設(shè)計中,采用通信技術(shù)中常用反饋糾錯傳輸方式,也稱自動請求重發(fā)(ARQ),實現(xiàn)數(shù)據(jù)的可靠傳輸。LVDS發(fā)送方數(shù)據(jù)包以1 K為單位,并采用循環(huán)冗余校驗(CRC)產(chǎn)生32位校驗碼,附于數(shù)據(jù)包之后,與數(shù)據(jù)一同發(fā)送至LVDS接收方,接收方接收到數(shù)據(jù)包n后,做相同的運算,若最終校驗結(jié)果為0,表明數(shù)據(jù)包正確,通過422接口發(fā)送確認(rèn)通知,若結(jié)果不為0,則判斷數(shù)據(jù)傳輸出現(xiàn)誤碼,通過422接口發(fā)送錯誤通知,要求發(fā)送方重傳錯誤數(shù)據(jù)包n,同時丟棄原有數(shù)據(jù)包n。然而若發(fā)送方每發(fā)送一包數(shù)據(jù)后,均等待422的反饋通知,再發(fā)送下一包數(shù)據(jù),必然導(dǎo)致數(shù)據(jù)平均傳輸速率嚴(yán)重下降。

        為使數(shù)據(jù)的反饋糾錯機制以最低的帶寬損耗,達到數(shù)據(jù)的高可靠性,本設(shè)計中改進AQR工作方式,采用如圖4所示的方式傳輸。

        圖4 LVDS數(shù)據(jù)包ARQ傳輸實現(xiàn)過程

        數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)包n后,緊接著開始發(fā)送數(shù)據(jù)包n+1,當(dāng)發(fā)送第200個數(shù)據(jù)時(根據(jù)422通知的delay時間確定),檢測數(shù)據(jù)包n反饋通知(此時接收方發(fā)送的數(shù)據(jù)包n反饋通知已到達),若是錯誤通知,則重傳數(shù)據(jù)包n,若非錯誤通知,則繼續(xù)發(fā)送數(shù)據(jù)包n+1。為避免錯誤數(shù)據(jù)包一直重傳,出現(xiàn)“死機”現(xiàn)象,設(shè)置錯誤重傳計數(shù)器,數(shù)據(jù)包重傳次數(shù)達到3次后,接收方不再發(fā)送錯誤通知,存儲錯誤數(shù)據(jù)包,等待接收下一包數(shù)據(jù)。采用此種傳輸方式,只在數(shù)據(jù)包出現(xiàn)誤碼時,影響數(shù)據(jù)傳輸速率,故針對錯誤數(shù)據(jù)包出現(xiàn)概率低情況,可以最低帶寬損耗,達到數(shù)據(jù)傳輸高效、高可靠性。

        3.2LVDS發(fā)送方FPGA設(shè)計

        LVDS數(shù)據(jù)發(fā)送方FPGA控制如圖5所示,flash_ctr模塊操作Flash讀取1 024 byte數(shù)據(jù),并行寫入緩存A(或B)、CRC校驗?zāi)K中,同時將1 024 byte數(shù)據(jù)產(chǎn)生的CRC校驗碼,與數(shù)據(jù)一并寫入緩存A(或B)中,緩存A、B以ping-pong的方式,交替緩存1 024 byte數(shù)據(jù)與其相應(yīng)的校驗碼。采用交替緩存的方式,可以確保數(shù)據(jù)發(fā)送前CRC校驗碼已寫入緩存中,消除校驗碼寫入帶來的延遲,提高數(shù)據(jù)發(fā)送速率,每完成一次緩存A(或B)寫入,將write_count加 1。

        lvds_ctr模塊實現(xiàn)對外部LVDS接口控制,將數(shù)據(jù)在時鐘的上升沿送至數(shù)據(jù)接口,發(fā)送時,lvds_ctr模塊以同樣ping-pong的方式交替從緩存A、B中讀取數(shù)據(jù)并傳輸,發(fā)送完緩存A中數(shù)據(jù)后(包括1 024 byte有效數(shù)據(jù)和32bit CRC校驗碼),緊接著發(fā)送緩存B中數(shù)據(jù),當(dāng)發(fā)送第200個數(shù)據(jù)時,檢測422_ctr模塊的Error Flag,此時Error Flag表示緩存A中數(shù)據(jù)是否發(fā)送成功,若為1,則繼續(xù)發(fā)送緩存B數(shù)據(jù),并將read_count加1;若為0,則停止發(fā)送緩存B數(shù)據(jù),重新發(fā)送緩存A中數(shù)據(jù)。lvds_ctr模塊以此方式交替發(fā)送緩存A、B中數(shù)據(jù),并在發(fā)送第200個數(shù)據(jù)時,判斷上一次數(shù)據(jù)傳輸是否成功。

        圖5 LVDS數(shù)據(jù)發(fā)送方邏輯設(shè)計

        flash_ctr模塊和lvds_ctr模塊通過write_count、read_count實現(xiàn)對緩存A、B讀寫的相互制約,僅當(dāng)write_count-read_count<2 時,允許 flash_ctr模塊向緩存A或B中寫入數(shù)據(jù),保證緩存中數(shù)據(jù)未成功發(fā)送前不被新數(shù)據(jù)覆蓋;僅當(dāng)write_countread_count>0時,允許lvds_ctr模塊發(fā)送緩存A或B中數(shù)據(jù),保證相同數(shù)據(jù)不被多次成功發(fā)送。

        3.3LVDS接收方FPGA設(shè)計

        LVDS數(shù)據(jù)接收方FPGA控制如圖6所示,lvds_ctr模塊控制外部LVDS接口接收數(shù)據(jù),由于接口同步原因,線路需連續(xù)傳輸數(shù)據(jù),發(fā)送方以10位數(shù)據(jù)的高兩位來區(qū)分無效數(shù)、數(shù)據(jù)包和相鄰數(shù)據(jù)包,lvds_ctr模塊在時鐘上升沿接收1 byte有效數(shù)據(jù),并將數(shù)據(jù)并行寫入緩存A(或B)、CRC校驗?zāi)K中。數(shù)據(jù)發(fā)送端每包數(shù)據(jù)包括1 024 byte和32位CRC校驗碼,lvds_ctr模塊只將1 024 byte有效數(shù)據(jù)寫入緩存A(或B),而把整包數(shù)據(jù)寫入CRC校驗?zāi)K中,校驗完成后,判斷傳輸是否產(chǎn)生誤碼,若有誤碼產(chǎn)生,則清除緩存A(或B)中數(shù)據(jù),并停止接收數(shù)據(jù),同時將Error Flag置0,等待發(fā)送方重傳數(shù)據(jù)(以10位數(shù)據(jù)高兩位判斷重傳數(shù)據(jù)的開始位置);若沒有誤碼產(chǎn)生,則繼續(xù)接收當(dāng)前數(shù)據(jù),并將當(dāng)前數(shù)據(jù)包寫入緩存B(或A)和CRC校驗?zāi)K中,重復(fù)以上操作,如此交替將有效數(shù)據(jù)寫入緩存A、B中,并在每次校驗成功后,將 write_count加 1。

        圖6 LVDS數(shù)據(jù)接收方邏輯設(shè)計

        422_ctr模塊根據(jù)Error Flag和Error Count決定422應(yīng)答內(nèi)容,若Error Flag為0,且Error Count<3,則發(fā)送錯誤通知;若Error Flag為1,則發(fā)送確認(rèn)通知。usb_ctr模塊控制交替讀取緩存A、B中數(shù)據(jù),并發(fā)送至USB接口,每完成一次緩存A或B讀取,將read_count加1。

        lvds_ctr模塊和usb_ctr模塊與發(fā)送方一樣通過write_count、read_count實現(xiàn)對緩存 A、B讀寫的相互制約,僅當(dāng) write_count-read_count<2時,允許lvds_ctr模塊向緩存A或B中寫入數(shù)據(jù),保證緩存中數(shù)據(jù)未讀取前不被新數(shù)據(jù)覆蓋;僅當(dāng)write_count-read_count>0時,允許usb_ctr模塊發(fā)送緩存A或B中數(shù)據(jù),確保讀取數(shù)據(jù)為成功傳輸?shù)挠行?shù)據(jù)。

        3.4 CRC32校驗

        3.4.1 CRC校驗原理

        對于待發(fā)送的k比特數(shù)據(jù)D={d0,d1,…,dk-1},采用系數(shù)為0或1的多項式D(χ)=d0·χk-1+d1·χk-2+…+dk-1·χ0表示,發(fā)送方要把數(shù)據(jù)D發(fā)送給接收方前,通信雙方約定一個r+1位二進制序列,采用多項式表示為G(χ),發(fā)送方將數(shù)據(jù)D擴展r位后得到多項式D′(χ),使D′(χ)與G(χ)做模2除法運算,得到余數(shù)多項式R(χ),構(gòu)成r位的監(jiān)督碼,附在k比特數(shù)據(jù)之后,構(gòu)成k+r位新數(shù)據(jù)D″發(fā)送至接收方,接收方接收到數(shù)據(jù)D″后,采用相同的算法,與事先約定好的多項式G(χ)做模2除法運算,若得到余數(shù)R為非0數(shù)據(jù),則接收方知道發(fā)生了錯誤,否則數(shù)據(jù)認(rèn)為正確而被接收。CRC編碼的檢錯能力與生成多項式G(χ)密切相關(guān),有效的G(χ)可使CRC編碼的漏檢率非常低[6],本文設(shè)計中選用CRC-32實現(xiàn)數(shù)據(jù)的差錯編碼。

        3.4.2 基于單字節(jié)的CRC-32查找表實現(xiàn)

        根據(jù)CRC校驗原理,模2除法運算的實質(zhì)是反復(fù)移入低位,消除高位。逐位運算效率太低,不適合大量數(shù)據(jù)計算,而查找表法,通過索引查找表,一次可處理多位數(shù)據(jù),效率高,有利于大量數(shù)據(jù)計算[7]。本設(shè)計中,采用的8 bit查找表實現(xiàn)CRC校驗,每次處理1 byte數(shù)據(jù),根據(jù)異或運算的交換律,(A XOR B)XOR C=A XOR(B XOR C),數(shù)據(jù)可以先與剛從寄存器移除的字節(jié)相異或,通過8 bit的反復(fù)移位和CRC除法,得到CRC余式表索引值,根據(jù)索引值進行查表,再用表值異或寄存器,得到的即為CRC校驗碼[8],1 024 byte校驗具體過程如下:

        (1)復(fù)位CRC校驗?zāi)K,將32位校驗碼寄存器初值設(shè)置為0;

        (2)將待校驗數(shù)據(jù)8位數(shù)據(jù)與CRC寄存器高8位異或,得到查找表索引值,并將查表所得值與CRC當(dāng)前寄存器值相異或,循環(huán)計算1 024次,最終產(chǎn)生4byte的CRC校驗碼;

        (3)將校驗完成標(biāo)志置1,表示校驗完成。

        LVDS發(fā)送端計算1 024 byte數(shù)據(jù)校驗碼,并將最終校驗碼附于數(shù)據(jù)包之后傳輸,接收端接收1028 byte數(shù)據(jù),做相同運算,產(chǎn)生4 byte CRC校驗碼,判斷結(jié)果是否為0,若為0,則數(shù)據(jù)無誤碼,若不為0,則存在誤碼,需重新傳輸,Verilog實現(xiàn)關(guān)鍵代碼如下:

        4 實驗驗證與分析

        采用4段10 m的屏蔽雙絞線,串接成一條40 m傳輸線,連接彈上采編器及地面測試臺LVDS接口,通過上位機軟件,向彈上采編器發(fā)送讀數(shù)指令,回收彈上數(shù)據(jù)。更改程序,調(diào)整LVDS數(shù)據(jù)速率為100 Mbit/s 、200 Mbit/s、300 Mbit/s、400 Mbit/s、500 Mbit/s,分別對其加入反饋糾錯機制前后實際傳輸速率及誤碼率進行測試,測試結(jié)果如表1所示。

        表1 測試結(jié)果表

        從測試結(jié)果可得出結(jié)論:傳輸速率100 Mbit/s以下,硬件電路能保證數(shù)據(jù)傳輸?shù)目煽啃?;傳輸速率大?00 Mbit/s時,誤碼率隨傳輸速率的增大而增加,在邏輯設(shè)計上,加入CRC校驗算法,能有效保證數(shù)據(jù)傳輸可靠性的,但會導(dǎo)致實際傳輸速率下降;當(dāng)傳輸速率大于500 Mbit/s時,由于錯誤重傳計數(shù)器的制約,數(shù)據(jù)無法可靠傳輸,同時實際傳輸速率下降。

        5 結(jié)束語

        文中針對LVDS高速長線傳輸存在數(shù)據(jù)傳輸可靠性降低的問題,從硬件電路設(shè)計上,對LVDS信號做預(yù)處理和補償,同時在邏輯設(shè)計上引入反饋糾錯機制,采用CRC算法,在很大程度上保證了數(shù)據(jù)傳輸?shù)目煽啃?,?jīng)過試驗驗證,數(shù)據(jù)以400 Mbit/s速率,在大于40 m的傳輸線上,實現(xiàn)零誤碼可靠傳輸。

        [1]易敏,蘇淑靖.基于LVDS的高可靠性數(shù)據(jù)傳輸設(shè)計[J].微電子學(xué)與計算機,2014,31(9):131-134.

        [2]郭寶鋒,韓壯志,何強.基于FPGA的高速數(shù)據(jù)長線傳輸系統(tǒng)的設(shè)計[J].測控技術(shù),2012,31(5):85-88.

        [3]薛源,劉衛(wèi)東.一種多通道實時數(shù)據(jù)采集監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2011,19(4):863-865.

        [4]薛隆全,文豐,張時華.基于LVDS總線的高速長距數(shù)據(jù)傳輸?shù)脑O(shè)計[J].電子設(shè)計工程,2009,17(2):39-42.

        [5]范丹,何永強,方晉賢.高速LVDS接口電路設(shè)計[J].儀表技術(shù),2010(4):7-12.

        [6]張焱,任勇峰,齊蕾.基于FPGA的CRC校驗算法的實現(xiàn)[J].電子器件,2015,38(1):222-226.

        [7]畢占坤,張羿猛,黃芝平.基于邏輯設(shè)計的高速CRC并行算法研究及其FPGA實現(xiàn)[J].儀器儀表學(xué)報,2007,28(12):2244-2249.

        [8]季鵬輝,孟丁,任勇峰.基于FPGA的16 bit CRC校驗查表法設(shè)計[J].電子器件,2013,36(4):580-584.

        李輝景(1982-),男,漢族,福建泉州人,硬件工程師,主要從事動態(tài)測試、高速數(shù)據(jù)采集;

        王淑琴(1990-),女,山西臨汾人,碩士研究生,主要從事數(shù)據(jù)采集與存儲研究,wangshuqin1117@163.com。

        猜你喜歡
        校驗碼重傳傳輸速率
        面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
        跨山通信中頻段選擇與傳輸速率的分析
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        數(shù)據(jù)傳輸速率
        CHIP新電腦(2016年9期)2016-09-21 10:31:09
        基于Excel實現(xiàn)書號校驗碼的驗證
        基于FPGA的循環(huán)冗余校驗碼設(shè)計
        電子世界(2015年14期)2015-11-07 05:32:29
        身份證號碼中的數(shù)學(xué)
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        MPTCP中一種減緩緩存阻塞的重傳策略
        国产无遮挡又黄又爽高潮| 亚洲国产av自拍精选| 男生自撸视频在线观看 | 国产成人精品无码免费看| 黑人巨大精品欧美一区二区| 欧美日韩另类视频| 日本一区二区三区的免费视频观看 | 亚洲VR永久无码一区| 日韩不卡一区二区三区色图| 大香蕉视频在线青青草| 国产精品亚洲专区无码不卡| 18精品久久久无码午夜福利| 亚洲成a人片在线观看天堂无码| 无码免费午夜福利片在线| 色男色女午夜福利影院| 久久久久人妻一区二区三区| 亚洲av日韩av在线观看| 日韩高清亚洲日韩精品一区| 女优av福利在线观看| 国产熟女一区二区三区不卡| 免费国产在线精品一区 | 亚洲免费视频播放| 亚洲最黄视频一区二区| 国产自拍一区二区三区| 日本一道综合久久aⅴ免费| 人人妻人人澡人人爽曰本| 无码中文字幕专区一二三| 精品一区二区三区人妻久久福利| 国产人成视频在线视频| 亚洲欧美成人一区二区在线电影| 日本a在线播放| 青青久久精品一本一区人人| 国产欧美一区二区精品久久久| 美丽人妻被按摩中出中文字幕| 麻豆av一区二区天堂| 丝袜美腿高清在线观看| 最近中文字幕完整版免费| 亚洲成人免费无码| 99视频一区二区日本| 山外人精品影院| 国产高清无码91|