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