目的
實現高速串行數據的計算機輸入,并要求嚴格保證不丟失傳輸的數據
應用背景
某種設備現需要一個統一的數據記錄平臺,前端設備各不相同,但都含有高速串行輸出端口,最高傳輸數據率近100Mbps。要求數據記錄平臺保證不變,可以完成對各種串行數據的接口,同時采樣數據可以實時存盤
解決方案
利用差分驅動芯片實現遠距傳輸;利用ALTRA公司的FPGA實現串行數據至并行數據的轉換,利用PCI-7300A的握手信號實現數字信號的實時采集及存盤
詳細介紹
數據信號的高速遠程傳輸在前端設備實現,主要采用高速差分驅動芯片,可以實現數字信號在長線纜中的高速傳輸,一個比較重要的問題是阻抗匹配,因為如果匹配不好會造成信號失真嚴重。

PCI-7300A是一塊32CH高速數字量卡,在此項目中32CH全部用作數字量輸入;串行數據至32CH并行數據的轉換利用ALTRA的FPGA實現。由于ALTRA的芯片可以實現現場編程,這樣對于不同的前端設備,只要寫入不同的程序就可以實現匹配。
為了避免數據的丟失,FPGA與PCI-7300A之間通過握手方式來實現數據傳輸。具體的方式是:
1. FPGA把數據準備好后,然后發DI_REQ信號給PCI-7300A
2. PCI-7300A收到數據后,回饋DI_ACK信號給FPGA。
3. FPGA收到DI_ACK信號后,準備下一組數據。
通過這樣的握手信號,就可以保證數據的傳輸不會出現Overrun,也就保證了數據不丟失,同時又能進行高速的數據傳輸。
結論
該客戶的樣機研制已完成,現已拿給他的用戶進行現場試驗
PCI-7300A
80MB/s超高速32通道數字量I/O卡
特性
·32位PCI總線,即插即用
·多種I/O端口配置,包括16 DI與16 DO、32 DI或32 DO
·最高80M B/s數據傳輸率
·使用scatter-gather技術的總線主控數據傳輸
·板上內置定時器觸發
·板上內置兩個16k字大小的FIFO用于數字量輸入/輸出通道
·多種數字波形發生器配置
·提供用于握手方式數據傳輸的ACK與REQ信號
·多種中斷源可編程選擇
·緊湊的半長卡結構
·100-pin SCSI-II連接器