基于LVDS總線的高速長(zhǎng)距數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)
3.2 速度匹配
由于LVDS傳輸?shù)男盘?hào)是數(shù)據(jù)采集系統(tǒng)所采集的數(shù)據(jù),該數(shù)據(jù)的傳輸速率只有幾百KB,而LVDS器件的傳輸速度范圍為10~66 MByte/s,采用間歇式傳輸,但在傳輸中斷后,再次傳輸需要500μs的同步時(shí)間,所以若LVDS器件采用間歇式傳輸,將丟失500μs的數(shù)據(jù),故不能采用該種傳輸方式。
串行器DS92LV1023和解串器DS92LV1224有10個(gè)數(shù)據(jù)引腳,數(shù)據(jù)都是8位,一般有2個(gè)數(shù)據(jù)引腳不同,但這里則采用這兩個(gè)空數(shù)據(jù)引腳:先將采集的數(shù)據(jù)暫存到FPGA的內(nèi)部FIFO中,當(dāng)FIF0中數(shù)據(jù)達(dá)到10個(gè)字節(jié)以上時(shí),通知FPGA模塊將數(shù)據(jù)和時(shí)鐘賦到串行器DS92LVl023的引腳傳輸數(shù)據(jù),同時(shí)FPGA向串行器DS92LV1023的第Data8位賦值為“0”;當(dāng)所采集的數(shù)據(jù)傳輸完成后,增加一些其他數(shù)據(jù),使LVDS持續(xù)傳輸,與此同時(shí),F(xiàn)PGA將串行器DS92LV1023的第Data8位賦值為“l(fā)”。
數(shù)據(jù)接收端上傳至計(jì)算機(jī)的速度匹配。USB模塊向計(jì)算機(jī)上傳數(shù)據(jù)也采用間歇式傳輸方式,即USB模塊每傳輸512個(gè)字節(jié),需停止幾個(gè)μs。所以可利用FPGA的一個(gè)內(nèi)部FIFO,先將數(shù)據(jù)暫存到內(nèi)部FIFO中,等到FIFO中數(shù)據(jù)達(dá)到512個(gè)字節(jié)后通知USB模塊讀取數(shù)據(jù),然后返回到計(jì)算機(jī)。
通過(guò)FPGA控制解串器DS92LVl224的PWRDN、REN、RCLK、RCLK_R/F及REFCLK引腳使LVDS器件開始解串,由于解串器DS92LV1224解串的數(shù)據(jù)分為采集的真正數(shù)據(jù)和用戶添加的數(shù)據(jù)。所以,要先過(guò)濾掉添加的數(shù)據(jù),再通過(guò)FPGA判斷DS92LVl224的Data8位,如果Data8為“0”,則將數(shù)據(jù)存到FPGA的FIFO中,其部分程序代碼如下:
4 實(shí)驗(yàn)結(jié)果
圖4是該系統(tǒng)模擬某型號(hào)彈上采編器采集自加計(jì)數(shù)器數(shù)據(jù),經(jīng)300 m傳輸距離后得到的部分?jǐn)?shù)據(jù),數(shù)據(jù)準(zhǔn)確無(wú)誤。
5 結(jié)論
介紹一種基于LVDS總線的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案舊,詳細(xì)描述了FPGA對(duì)LVDS器件工作狀態(tài)和FPGA與單片機(jī)相互之間的工作。該系統(tǒng)設(shè)計(jì)已投入應(yīng)用,其性能可靠、穩(wěn)定,適用性強(qiáng)。
評(píng)論