通用電路板自動(dòng)測試系統方案設計與實(shí)現
2.3 數據傳輸和控制協(xié)議本文引用地址:http://dyxdggzs.com/article/193505.htm
系統中待測信號較多,低頻和高頻部分分別是32 個(gè),而數據采集芯片都只有一個(gè),各個(gè)信號都是由FPGA 控制模擬開(kāi)關(guān)分時(shí)地進(jìn)行采集的。為使各個(gè)通道的數據存儲、傳輸和控制有序地進(jìn)行,在FPGA 中為每一個(gè)信號都設置了工作狀態(tài)控制模塊和數據存儲模塊(以下稱(chēng)為寄存器和數據存儲器)。本系統中所有控制過(guò)程的命令都是從PC 端發(fā)出的,FPGA 接收控制指令后,按指令進(jìn)行相應的操作。
?。?)寄存器和數據存儲器介紹。FPGA 對每一路信號都設有5 bit 的控制寄存器、12 bit 的最終結果寄存器和16 bit 的原始數據存儲器。此外在高頻部分還擁有一個(gè)公共的高速采樣數據的存儲器,大小為1 kB,及其對應的一個(gè)8 bit 的控制寄存器。5 bit的控制寄存器每個(gè)通道只設有一個(gè),該寄存器D3 位為數據準備好標志(1 有效),其余4 位為控制位,各位的功能見(jiàn)表1,每一位都是1 為肯定,每一位都可通過(guò)PC 端發(fā)來(lái)的控制指令更改,FPGA 只能向D3 位寫(xiě)1 ,表示數據已經(jīng)準備好。上電或復位后該寄存器值為33333B。
表1 5bit控制寄存器的位功能
12 bit 的最終結果寄存器每個(gè)通道也只設有一個(gè),該寄存器的值是向PC 機發(fā)送的最終結果。該寄存器的數據在低頻和高頻部分,存放的數據不同:低頻部分存放的是13 次采樣結果的平均值,高頻部分存放的是計算后的頻率值。
16 bit 的原始數據存儲器,其低頻和高頻部分的數量是不相同的:高頻部分一般是2 個(gè),分別用來(lái)存放標準和待測時(shí)鐘的計數值;低頻部分為13 個(gè),用來(lái)存放13 個(gè)采樣點(diǎn)的值,12 bit 的最終結果寄存器的值是根據這13 個(gè)數據的平均值。
高速采樣數據存儲器是高頻部分的32 路共有的,由于波形采樣的數據量比較大,本系統設計時(shí)在同一時(shí)刻只允許采樣1 路信號,采樣點(diǎn)數可以設定(最多為1 K),待這些數據全部發(fā)送出后,才可以開(kāi)始下一次采集。對應的控制寄存器的位功能見(jiàn)表2。
表2 高速采樣控制寄存器的位功能
其中D7~D4 為數據采集的點(diǎn)數設置,3333B 表示64 個(gè),1111 表示1 324 個(gè),步進(jìn)為64。D3~D1 為數據抽取的間隔設置,333 表示抽取間隔為3,全部數據有效;111 表示抽取間隔為28,即每隔28 個(gè)點(diǎn)抽取一個(gè)點(diǎn),步進(jìn)為4。設置這幾位的目的是為了適應信號頻率的要求,防止采集數據不足一周期的狀況發(fā)生。D3位為標志位,功能和操作與5 bit 的寄存器的對應位完全相同。本寄存器分高4 位和低4 位兩次設置。
?。?)控制命令介紹。本系統中的控制命令都是由PC 機發(fā)出的,共8 個(gè)命令:選擇控制寄存器1(低頻部分);選擇控制寄存器2(高頻部分);選擇控制寄存器3(高速采樣部分);寫(xiě)控制寄存器數據;讀取數據1(低頻部分);讀取數據2(高頻部分的頻率值);讀取波形采樣數據;開(kāi)始/停止測試。
PC 機發(fā)送的控制字都是8 位的,其中高3 位為控制命令字,用來(lái)區分8 個(gè)命令,低5 位為輔助功能,具體見(jiàn)表3。FPGA 接收到主機發(fā)來(lái)的命令信號后,按命令執行相應的操作。
表3 控制命令的位功能
?。?) 數據傳輸過(guò)程簡(jiǎn)述。系統中與PC 機的通信采用的是RS232 接口,數據的傳輸完全符合RS232 標準?,F將數據的傳輸過(guò)程簡(jiǎn)述如下:系統啟動(dòng)后,首先進(jìn)行自檢,以確定系統工作是否正常;系統工作正常后,PC 機通過(guò)測試軟件對FPGA 內部的各個(gè)寄存器進(jìn)行配置;然后發(fā)送開(kāi)始命令,開(kāi)始對有效的各個(gè)信號進(jìn)行采集;采集完成后向PC 機返回信息,PC 機根據需要通過(guò)測試軟件從FPGA 讀取相應通道的數據,將數據計算后與標準值進(jìn)行比較并得出測試結果。也可以根據需要讀取某一通道的原始數據以及采集某一通道信號的波形。在FPGA 內部還擁有關(guān)鍵信號(電源)的監測:任何一路電源信號不正常則重新進(jìn)行采集,若3 次采集結果均不正常則直接關(guān)閉電路板的供電電源,避免損壞電路板,并向PC 發(fā)送電源不正常的消息,并給出出現異常的通道號。
2.4 測試軟件設計
測試軟件是本系統的人機接口部分,在本系統中需包括如下功能:設置各個(gè)通道信號的參數值,并能保存和讀取設置的參數;顯示各個(gè)通道的信號測試結果,并能夠保存;能夠采集并顯示某一通道的信號波形。
擁有上述功能即可進(jìn)行測試,至于界面方面可以根據個(gè)人的習慣和愛(ài)好進(jìn)行設計。本系統的測試軟件實(shí)現了上述的功能,至于界面并未追求美觀(guān),其功能大致如下:
系統主界面見(jiàn)圖6,除了“開(kāi)始停止”鍵外,有設置、查看信號波形和保存結果3 個(gè)按鈕,還有一個(gè)結果的輸出窗口。
設置窗口見(jiàn)圖7,本窗口中可以設置每一路信號的屬性,也可以直接調出以前保存的設置,設置完成后即可按該設置進(jìn)行測試。設置完成后,可以將本次的設置保存成文件,以便下次直接調出。
查看信號波形的設置和顯示窗口見(jiàn)圖8。
3 結語(yǔ)
本文設計的電路板自動(dòng)測試系統通用性強、使用方便、工作穩定,可以應用于多款電路板的測試;對不同的電路板,只需制作2 塊對應的固定板即可。系統已經(jīng)對123 mm×133 mm 和253mm×213 mm 兩款電路板進(jìn)行測試,結果令人滿(mǎn)意。該系統具有一定的推廣價(jià)值。
評論