多慣組脈沖輸出同步計數系統設計
摘要:為滿(mǎn)足某慣導設備生產(chǎn)廠(chǎng)家對多個(gè)慣組產(chǎn)品進(jìn)行同時(shí)測試的需求,設計了一種對于多路脈沖信號同步計數的測試系統。(方法)測試系統以FPGA芯片和USB芯片CY68013為核心,對4個(gè)慣導組件輸出的48路脈沖信號,每路進(jìn)行無(wú)縫計數,每4ms為一個(gè)計數單元。并利用USB總線(xiàn)將每一個(gè)計數單元的計數值上傳到測控計算機,上位機程序進(jìn)行實(shí)時(shí)的處理、保存和顯示。(方法)測試系統滿(mǎn)足了對多個(gè)慣組產(chǎn)品同時(shí)測試的要求,提高了測試效率。
關(guān)鍵字:慣導組件;USB;CY68013;FPGA
慣組產(chǎn)品是現代慣導系統最核心的信息源,由陀螺儀和加速度計組合而成。慣組產(chǎn)品工作時(shí)直接輸出脈沖信號。測試過(guò)程采用專(zhuān)用測試平臺,將產(chǎn)品固定在帶溫箱的三軸轉臺上,通過(guò)在不同的溫度下改變轉臺的位置和速率,由測試系統對其輸出的脈沖信號進(jìn)行計數,再對計數值根據數學(xué)模型進(jìn)行處理,從而得到慣組產(chǎn)品的性能參數。由于溫度是影響慣導組件的主要因素之一,所以需要在多個(gè)溫度點(diǎn)下,對其進(jìn)行多次測試。而每個(gè)溫度點(diǎn)需要4個(gè)小時(shí)的保溫。因而完成一個(gè)產(chǎn)品的標定,一般需要三天左右的時(shí)間才能完成。針對這種情況,本文提出了一種多慣組同時(shí)測量的方案,利用FPGA對脈沖信號進(jìn)行采集,再通過(guò)USB總線(xiàn)把采的數據發(fā)送到PC機上進(jìn)行數據歸算。與傳統的測量系統相比,本系統可以對4個(gè)慣導組件的48路脈沖數據進(jìn)行同步計數并輸出,進(jìn)而有效地縮短測試周期,提高測試效率。
1 測試系統組成
多慣組脈沖測試系統是由下位機和上位機兩個(gè)部分構成。下位機由FPGA和USB接口電路組成,實(shí)現對脈沖信號的計數和數據的接收。上位機是MFC程序設計的界面,對接收到的數據進(jìn)行實(shí)時(shí)的處理、顯示和保存。由于本系統是同時(shí)接收4套慣組48路脈沖信號,所包含的計數器個(gè)數多,計數頻率高,并且分別對48路信號獨立測量,要求較高的可靠性,所以系統采用FPGA來(lái)實(shí)現控制邏輯及計數模塊的功能。系統選用Altera公司的Cyclone IIEP2C89208C8N型號的FPGA芯片。在數據傳輸方面,選用Cypress公司的FX2LP CY68013芯片作為USB傳輸模塊。采集系統框圖如圖1所示。
在圖1中,通過(guò)Verilog語(yǔ)言對48路同步計數模塊進(jìn)行設計,實(shí)現對48路脈沖信號的同步計數,將接收到的數據通過(guò)USB芯片CY68013發(fā)送到PC機,由PC機對接收到的數據進(jìn)行處理,脈沖信號的計數是由無(wú)縫計數器,每隔4ms向48路計數模塊發(fā)送相應的地址,獲得48路脈沖計數模塊的計數值,再通過(guò)USB總線(xiàn)把數據發(fā)送到PC機上。
FX2LP CY68013芯片有PORTS、Slave FIFOs和GPIF三種接口方式:PORTS模式以CY68013自帶的8051核來(lái)進(jìn)行端口FIFO的讀寫(xiě),其優(yōu)點(diǎn)是開(kāi)發(fā)簡(jiǎn)單,缺點(diǎn)是傳輸速度有限;Slave FIFOs模式是使用外部芯片的邏輯來(lái)直接操作端口FIFO,其優(yōu)點(diǎn)是端口FIFO操作靈活,缺點(diǎn)是傳輸速度依賴(lài)于外部控制邏輯的速度;GPIF模式是使用波形編輯工具生成的波形信號來(lái)進(jìn)行端口FIFO的讀寫(xiě),其優(yōu)點(diǎn)是傳輸速度最高,缺點(diǎn)是讀寫(xiě)邏輯單一,不容易靈活控制。因為是對48路脈沖信號進(jìn)行實(shí)時(shí)采樣計數,且每一路脈沖信號采用一個(gè)16位計數器,采樣周期為4毫秒,即每秒要采集250次。但在實(shí)際使用中發(fā)現,在PORTS模式下,由于8051內核執行速度有限,在極短的中斷時(shí)間內有時(shí)會(huì )不能完成其數據處理和傳輸的任務(wù),此種狀態(tài)下USB端就會(huì )出現死循環(huán)狀態(tài)。但在Slave FIFO或CPIF模式下,傳輸和接收的端口將不經(jīng)過(guò)8051內核干涉即可同片外高速互傳數據,從而提高接收發(fā)送串行信號的效率與可靠性。由于GPIF模式下的編輯波形只能進(jìn)行讀寫(xiě)操作,而在Slave FIFOs的模式下?tīng)顟B(tài)機可以對數據進(jìn)行簡(jiǎn)單的處理。因此,本系統使用Slave FIFOs的傳輸模式。
2 系統的FPGA設計
2.1 48路脈沖計數模塊設計
系統的48路脈沖計數模塊設計是通過(guò)使用Verilog語(yǔ)言編寫(xiě)的16位計數器,可以對慣導組件輸出的信號分別進(jìn)行不間斷計數,計數值讀取過(guò)程不影響計數器的正常計數,該模塊data_in[47…0]是48路慣導組件的脈沖輸入,add_in [6…0]是每個(gè)脈沖輸入通道的地址,data_out[15…0]是計數單元的計數值輸出。
評論