新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 多慣組脈沖輸出同步計數系統設計

        多慣組脈沖輸出同步計數系統設計

        作者: 時間:2013-03-25 來源:網絡 收藏

        摘要:為滿足某慣導設備生產廠家對多個慣組產品進行同時測試的需求,設計了一種對于多路脈沖信號同步計數的測試系統。(方法)測試系統以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所示。

        本文引用地址:http://www.104case.com/article/189660.htm

        a.JPG


        在圖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的傳輸模式。

        b.JPG



        2 系統的FPGA設計
        2.1 48路脈沖計數模塊設計
        系統的48路脈沖計數模塊設計是通過使用Verilog語言編寫的16位計數器,可以對慣導組件輸出的信號分別進行不間斷計數,計數值讀取過程不影響計數器的正常計數,該模塊data_in[47…0]是48路慣導組件的脈沖輸入,add_in [6…0]是每個脈沖輸入通道的地址,data_out[15…0]是計數單元的計數值輸出。


        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 外汇| 镇平县| 达拉特旗| 益阳市| 潜山县| 昂仁县| 钦州市| 肃宁县| 深圳市| 安岳县| 苗栗县| 松溪县| 洛阳市| 肇州县| 海兴县| 新巴尔虎左旗| 井研县| 福建省| 监利县| 长汀县| 大庆市| 新巴尔虎左旗| 龙陵县| 江源县| 浪卡子县| 会宁县| 屯昌县| 高平市| 桂林市| 隆尧县| 琼海市| 南皮县| 驻马店市| 新疆| 简阳市| 岳普湖县| 金溪县| 夏津县| 宁乡县| 东兰县| 班戈县|