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