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