基于單片機的高速信號測試接口板的實現
圖5是中斷接收子程序的流程圖。串口每進入一個字節就產生一次串口中斷,進入到該子程序中。每次中斷都要先檢查聯絡標志位,若該標志位為0,則表明送入的是聯絡字節,檢查該字節和約定的聯絡信號是否一致,若一致, 表明通信正常,將聯絡標志位置1;如果聯絡標志位已被置1,則檢查數據結束標志位,若該標志位為0,則將數據以字節為單位寫入FIFO1,每次中斷寫入一個字節,并將計數器減1,若計數器減到零,表明數據傳輸結束,將數據結束標志位置1并跳出中斷。
發送子程序執行的是將數據從FIFO2發送到PC機的過程,與接收子程序流程基本相同,只是前者為查詢方式,后者為中斷方式,故不贅述。
4 測試結果
根據以上方案進行了電路設計和調試。被測FPGA(Field Programme Gate Array)單元電路的數據總線頻率為40 MHz,數據總線寬度為32 b,要求測試的數據量為2 Mb。RS232口采用19.2 k的波特率,數據輸出或輸入需要約2.5 min,但比起使用PCI或USB接口的開發代價,這種時間上的微耗是完全可以接受的。
為了驗證測試接口板,先令單元電路不對數據做任何處理,只與測試接口板進行時序上的配合,兩者進行聯調。可以看到從計算機產生的數據文件與送回的數據文件完全相同,這就證明該測試接口板能夠準確無誤地傳送數據。然后再令單元電路在時序配合的基礎上加載自己的功能程序,就可以在計算機內分析和比較單元電路的輸出結果了,測試結果表明單元電路的輸出與計算機仿真的結果完全符合,進一步證明了該測試方案的正確性。
如果需要測試不同數據總線寬度的電路,只需根據需要改變FIFO的總線匹配設置管腳的電平,并修改單片機程序中的相應語句即可。可以看出,該測試接口板在應用方面有較大的靈活性。
5 結語
迄今為止,基于本方案的測試接口板已經成功地完成了多項單元電路的性能測試工作。實踐證明其工作穩定可靠,實現簡單,并且可以測試不同數據總線速率(110 MHz以下)、數據寬度(36 b以下)以及各種不同功能的單元電路。這種以相對低廉的控制器件為主測試較高速數字單元電路的方案,在通信系統的設計和調試方面有重要的實際應用價值。
評論