999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和NIOS的慣導(dǎo)組件測試系統(tǒng)研究

2014-07-01 23:45:10張志文
微處理機(jī) 2014年1期
關(guān)鍵詞:程序系統(tǒng)

張志文,彭 彥

(西安工業(yè)大學(xué)電子信息工程學(xué)院,西安710032)

基于FPGA和NIOS的慣導(dǎo)組件測試系統(tǒng)研究

張志文,彭 彥

(西安工業(yè)大學(xué)電子信息工程學(xué)院,西安710032)

針對慣導(dǎo)組件產(chǎn)品測試中多種信號輸出的測量需求,設(shè)計了一種基于FPGA和NIOS II軟核的雙模式慣導(dǎo)組件數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)以FPGA和USB CY7C68013芯片為核心,實(shí)現(xiàn)對4個慣導(dǎo)組件輸出的48路脈沖進(jìn)行頻率計數(shù)和對8個慣導(dǎo)組件輸出8路串口數(shù)據(jù)的接收,最后通過USB芯片將采集得到的數(shù)據(jù)上傳至測控計算機(jī),并由計算機(jī)進(jìn)行保存、處理和顯示。該設(shè)計降低了采集電路復(fù)雜度,提高了產(chǎn)品測試效率和采集系統(tǒng)的可靠性、穩(wěn)定性。

慣導(dǎo)組件;現(xiàn)場可編程門陣列;NIOS II軟核;USB芯片;數(shù)據(jù)采集

1 引 言

慣性導(dǎo)航系統(tǒng)的核心是慣導(dǎo)組件,通常由陀螺儀和加速度計組成。慣導(dǎo)組件在投入使用前要經(jīng)過嚴(yán)格測試,測試平臺一般為一個帶溫箱的三軸轉(zhuǎn)臺,將慣導(dǎo)組件固定在轉(zhuǎn)臺上,通過改變轉(zhuǎn)臺的位置和速率,并在不同溫度下進(jìn)行測試,從而得到慣導(dǎo)組件的各種狀態(tài)信息。這些信息以脈沖或串口數(shù)據(jù)的形式輸出,由采集系統(tǒng)進(jìn)行測量或接收,然后由計算機(jī)進(jìn)行處理得到慣導(dǎo)組件的特性參數(shù)。慣導(dǎo)組件的測試需在不同溫度下進(jìn)行多次測試,不同溫度點(diǎn)還需要保溫和冷卻,通常需要數(shù)天時間,因此需要一個可靠、穩(wěn)定的慣導(dǎo)組件數(shù)據(jù)采集系統(tǒng)。通常國內(nèi)慣導(dǎo)組件測試系統(tǒng)都是使用PCI卡來采集數(shù)據(jù),并需要脈沖和串口兩種采集卡,這種采集卡通常價格較貴,采集路數(shù)有限,還需計算機(jī)支持相應(yīng)的PCI插槽[1],采集電路也較復(fù)雜,數(shù)據(jù)傳輸出錯時也不易排查原因。

針對這種情況,提出了一種基于FPGA和NIOS軟核的設(shè)計方案,集成脈沖測量和串口數(shù)據(jù)接收于同一系統(tǒng)。基于FPGA設(shè)計了脈沖計數(shù)采集電路,并在FPGA中建立一個帶有多個串口模塊的NIOS II軟核處理器,控制脈沖和串口數(shù)據(jù)的采集,最后利用USB芯片將數(shù)據(jù)上傳到計算機(jī)中處理。

2 系統(tǒng)方案設(shè)計

根據(jù)慣導(dǎo)組件數(shù)據(jù)采集系統(tǒng)的要求,既能對4個慣導(dǎo)組件輸出的48路脈沖信號(每個慣導(dǎo)組件輸出6路陀螺儀信號和6路加速度計信號)進(jìn)行頻率計數(shù),又能接收經(jīng)過導(dǎo)航計算機(jī)板處理過的8個慣導(dǎo)組件輸出的串口數(shù)據(jù)。因此是一個多模式的數(shù)據(jù)采集系統(tǒng),采集系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 采集系統(tǒng)結(jié)構(gòu)框圖

在上圖中,F(xiàn)PGA芯片采用了ALTERA公司的CycloneⅢEP3C16Q240C8型號芯片。該芯片內(nèi)部擁有15408個邏輯單元、支持20個全局時鐘網(wǎng)絡(luò)和4個鎖相環(huán),并支持多種外設(shè)接口[2],完全滿足系統(tǒng)邏輯設(shè)計需求。48路脈沖計數(shù)模塊通過Verilog語言編寫完成,8路串口數(shù)據(jù)接收模塊通過在NIOS II軟核處理器中構(gòu)建8個UART外設(shè)核來實(shí)現(xiàn)。NIOS II軟核通過定時器每5ms讀取一次脈沖計數(shù)器的計數(shù)值,然后通過CY7C68013 USB芯片發(fā)送到上位機(jī)。串口數(shù)據(jù)通過設(shè)定好波特率的UART核來接收,NIOS II軟核通過中斷方式接收串口數(shù)據(jù)并存儲,同樣通過USB芯片發(fā)送到上位機(jī)。上位機(jī)用VC++6.0設(shè)計MFC應(yīng)用程序,接收USB芯片發(fā)送上來的數(shù)據(jù),然后對其進(jìn)行保存、處理和顯示。

3 FPGA內(nèi)部邏輯設(shè)計

3.1 48路脈沖計數(shù)器設(shè)計

設(shè)計使用Quartus II 9.0開發(fā)軟件完成,通過Verilog語言編寫48路帶有鎖存器的16位計數(shù)器,對脈沖上升沿進(jìn)行計數(shù),NIOS II軟核處理器每5ms提供一個鎖存信號鎖存48路計數(shù)器的計數(shù)結(jié)果,并依次選通48路地址讀取計數(shù)值保存,然后發(fā)送到USB芯片的FIFO再上傳給上位機(jī)。48路計數(shù)器模塊如圖2所示,data_in為48路脈沖信號輸入,add為選通地址,en為鎖存信號。data_maichong為上傳的脈沖計數(shù)值。

圖2 48路脈沖計數(shù)器模塊圖

3.2 NIOS II軟核及8路串口模塊設(shè)計

使用集成于Quartus II軟件中SOPC Builder工具可以很方便構(gòu)建Nios II軟核。本系統(tǒng)中FPGA外設(shè)使用了HY57V641620FTP-6的SDRAM芯片作為數(shù)據(jù)存儲器和EPCS4芯片作為程序存儲器,由此軟核需要構(gòu)建的模塊有:CPU處理器、EPCS控制器、SDRAM控制器、定時器控制器,8個UART控制器以及其他各種IO接口[3]。

系統(tǒng)中要求同時接收8個慣導(dǎo)組件輸出的8路串口數(shù)據(jù),所以要在軟核中構(gòu)建8個UART模塊,設(shè)置好串口波特率和中斷優(yōu)先級。外部電平轉(zhuǎn)換電路采用MAX488串口芯片,將422電平轉(zhuǎn)化成UART接口的TTL電平,這樣串口模塊就能完成數(shù)據(jù)的收發(fā)。通常MCU很少帶有4個以上的串口,涉及多串口通訊時不可避免要進(jìn)行串口擴(kuò)展,而在Nios II軟核系統(tǒng)中,串口數(shù)量和波特率都可以自由調(diào)整,同時串口模塊集成于FPGA內(nèi)部,免去了使用多串口卡或串口擴(kuò)展芯片帶來的復(fù)雜電路,使整個系統(tǒng)的可靠性和穩(wěn)定性得到了保證。

4 USB傳輸模塊設(shè)計

USB模塊采用Cypress公司的CY7C68013A-128AXC型號的USB芯片作為該模塊的核心。該芯片集成USB2.0收發(fā)器,串行接口引擎(SIE)和增強(qiáng)型8051內(nèi)核,并具有4KB FIFO存儲器,支持8位或16位數(shù)據(jù)接口,內(nèi)部SIE可以工作在全速(12Mb/s)和高速(480Mb/s)傳輸速率下[4]。

CY7C68013與外部的接口主要有三種方式:端口模式、GPIF控制器模式和SLAVE FIFO模式。其中SLAVE FIFO模式是一種從屬模式,外部邏輯或外部處理器可以直接連接并控制FIFO端點(diǎn),不需要內(nèi)部8051的參與就能完成數(shù)據(jù)的高速傳輸[5]。系統(tǒng)選用了SLAVE FIFO接口模式與FPGA連接。由于FPGA中已經(jīng)建立了NIOS軟核處理器,其工作頻率可達(dá)200MHz以上,遠(yuǎn)超過8051內(nèi)核的最高工作頻率48MHz,數(shù)據(jù)處理和傳輸完全由NIOS軟核處理器控制完成,避免了在串口波特率較高時,8051工作頻率有限情況下可能導(dǎo)致的數(shù)據(jù)出錯和丟失情況。

CY7C68013中包含了3個64字節(jié)的端點(diǎn)緩沖區(qū)(EP0、EP1IN和EP1OUT)和4KB FIFO緩沖區(qū)。FIFO中的EP2、4、6、8用于高帶寬數(shù)據(jù)傳輸,端點(diǎn)最大緩沖1024字節(jié)。由此采用了EP2、6兩個端點(diǎn)用來分別傳輸脈沖和串口數(shù)據(jù),使用EP0端點(diǎn)用于上位機(jī)和FPGA之間控制命令的發(fā)送。

SLAVE FIFO模式下FPGA與USB的接口如圖3所示。

圖3 FPGA與USB接口連接圖

其中PA3用于提供中斷信號進(jìn)入模式選擇,F(xiàn)IFO0和FIFO1用于選通FIFO端點(diǎn),PKEND、FLAGD、FLAGB用于設(shè)定引腳的工作方式,PC[7:0](ADR[7:0])用于向FPGA發(fā)送模式選擇命令,DATA[15:0]用于發(fā)送數(shù)據(jù)。

5 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件設(shè)計主要包括三部分:NIOS中下位機(jī)程序、USB固件程序和上位機(jī)應(yīng)用程序。

5.1 NIOS下位機(jī)程序設(shè)計

NIOS II軟核中的下位機(jī)程序是整個系統(tǒng)運(yùn)行的核心,使用NIOS II IDE集成開發(fā)環(huán)境進(jìn)行開發(fā),主要包括三部分:模式選擇程序,脈沖數(shù)據(jù)接收程序和串口數(shù)據(jù)接收程序。

(1)模式選擇程序

選擇脈沖和串口兩種模式,另外還有采集脈沖周期和串口波特率的選擇。通過設(shè)定USB PA3腳引入一個外部PIO中斷(最高優(yōu)先級)進(jìn)入到中斷程序中,然后讀取PC[7:0]上的8位二進(jìn)制數(shù)值,使用該值的最高位作為模式選擇判斷位(1為串口,0為脈沖),低4位代表波特率選擇,中間3位代表采集周期選擇。

(2)脈沖接收程序

依靠在軟核中建立的定時器控制器設(shè)定定時器每5ms中斷一次,進(jìn)入定時器中斷服務(wù)程序后,首先用API函數(shù)向計數(shù)器寫入鎖存信號en,然后依次向計數(shù)器的選通地址端寫入48路脈沖的地址,根據(jù)該地址讀取48路脈沖計數(shù)值并分別存儲起來,最后主程序?qū)⒂嫈?shù)值發(fā)送到USB FIFO中。

(3)串口接收程序

串口模塊要求接收8路RS-422數(shù)據(jù),每路數(shù)據(jù)是一個49字節(jié)的數(shù)據(jù)幀,實(shí)驗(yàn)中使用單片機(jī)數(shù)據(jù)源每5ms發(fā)送一次。設(shè)定頭兩個字節(jié)為幀頭,中間46個字節(jié)為慣導(dǎo)組件的狀態(tài)信息數(shù)據(jù),最后一個字節(jié)為中間46字節(jié)的校驗(yàn)和。8路串口數(shù)據(jù)通過中斷方式按字節(jié)進(jìn)行接收,按中斷優(yōu)先級的高低分別響應(yīng)。接收數(shù)據(jù)時首先判斷幀頭,然后接收數(shù)據(jù)存放在緩沖區(qū)并與校驗(yàn)和對比,確認(rèn)無誤后主程序?qū)?shù)據(jù)發(fā)送到USB的FIFO中。

下位機(jī)程序流程圖如圖4所示。

5.2 USB固件程序設(shè)計

USB固件程序是用來控制芯片完成所設(shè)定的功能,系統(tǒng)中使用了CY7C68013的SLAVE FIFO接口模式。首先CY7C68013上電之后會調(diào)用TD_Init()函數(shù)來完成初始化狀態(tài)寄存器的配置[5],包括選擇接口模式、外部主控制器使能、以及端點(diǎn)的方向、緩沖倍數(shù)、發(fā)送方式的配置等。

下一步對各端點(diǎn)的FIFO進(jìn)行設(shè)置,啟用EP2端點(diǎn)接收脈沖的數(shù)據(jù),16位計數(shù)器48路脈沖5ms的數(shù)據(jù)量為48個字節(jié),所以設(shè)定包的大小為960字節(jié)(最大1024字節(jié))。啟用EP6端點(diǎn)接收串口的數(shù)據(jù),下位機(jī)處理過程中對每路串口的每幀數(shù)據(jù)作了1個字節(jié)的標(biāo)記,每一路變成50個字節(jié),8路串口每5ms數(shù)據(jù)量為400字節(jié),設(shè)定包的大小為800字節(jié)(最大1024字節(jié))。設(shè)定程序如下所示:

EP2AUTOINLENH=0x03;

SYNCDELAY;

EP2AUTOINLENL=0xC0;//設(shè)置包大小為960字節(jié),接收脈沖數(shù)據(jù)

SYNCDELAY;

EP6AUTOINLENH=0x03;

SYNCDELAY;

EP6AUTOINLENL=0x20;//設(shè)置包大小為800字節(jié),接收串口數(shù)據(jù)

SYNCDELAY;

圖4 下位機(jī)程序流程圖

上位機(jī)對下位機(jī)發(fā)送命令(模式選擇等)通過Cypress標(biāo)準(zhǔn)固件框架使用控制傳輸來實(shí)現(xiàn),只需在DR_VendorCmnd函數(shù)中加入處理過程即可。這部分程序可以利用自定義上位機(jī)發(fā)送的SETUPDAT令牌包來傳送8位二進(jìn)制數(shù)值命令。

CY7C68013屬于EZ-USB FX2芯片系列,其配套的設(shè)備驅(qū)動程序EzUsb.inf為EZ-USB通用驅(qū)動程序(GPD),該文件包含了硬件設(shè)備驅(qū)動程序的安裝信息[6],安裝完成后計算機(jī)將獲取的USB外設(shè)信息與EzUsb.inf文件中信息進(jìn)行匹配,找到相應(yīng)的USB設(shè)備驅(qū)動程序。

5.3 上位機(jī)應(yīng)用程序設(shè)計

上位機(jī)程序開發(fā)采用VC++6.0中的MFC進(jìn)行編程開發(fā),VC編程的應(yīng)用程序利用USB總線接收數(shù)據(jù),再由MFC實(shí)現(xiàn)對數(shù)據(jù)的接收、解算處理、顯示和保存。

上位機(jī)程序訪問USB設(shè)備時,首先調(diào)用Win 32函數(shù)CreateFile()來得到USB設(shè)備句柄,通過DeviceIoControl()函數(shù)訪問設(shè)備驅(qū)動程序[7],該函數(shù)發(fā)送命令到設(shè)備驅(qū)動程序,連接USB設(shè)備,然后通過USB總線接收上傳的數(shù)據(jù)。

上位機(jī)程序的流程圖如圖5所示。

圖5 上位機(jī)程序流程圖

6 實(shí)驗(yàn)結(jié)果

采集系統(tǒng)的測試在實(shí)驗(yàn)室中進(jìn)行,使用SP1641D信號發(fā)生器作為脈沖信號源,用多路開關(guān)板擴(kuò)展為48路同源信號。信號源輸出信號為575Hz時,測量結(jié)果如圖6所示。在實(shí)驗(yàn)室多次測量后發(fā)現(xiàn),在低頻時脈沖計數(shù)值準(zhǔn)確,高頻時脈沖計數(shù)值有1-2個誤差,總體誤差率在允許范圍內(nèi),符合慣導(dǎo)組件的測試要求。

串口測試使用了ST89C52單片機(jī)構(gòu)成的多串口信號發(fā)生器,可以輸出RS-422和RS-232串口信號,測試結(jié)果如圖7所示,接收的數(shù)據(jù)準(zhǔn)確無誤,8路串口同步率良好。

7 結(jié)束語

這種針對慣導(dǎo)組件測試所采用的設(shè)計,集成脈沖測量和串口數(shù)據(jù)接收于同一系統(tǒng),可對多個產(chǎn)品的不同信號輸出同時測試,節(jié)約了資源,降低了成本。與傳統(tǒng)的測試系統(tǒng)相比,SOPC設(shè)計高度集成,降低了電路復(fù)雜度,提高了測試效率和系統(tǒng)的可靠性、穩(wěn)定性。同時本系統(tǒng)安裝簡便,操作界面人性化,后期便于維護(hù)升級,可以作為慣導(dǎo)組件測試的新設(shè)備。

圖6 48路脈沖測量結(jié)果

圖7 8路串口數(shù)據(jù)接收結(jié)果

[1]張志文,趙浩.慣導(dǎo)組件的脈沖輸出測控系統(tǒng)[J].西安:西安工業(yè)大學(xué)學(xué)報,2009,29(5):461.

[2]Altera Corporation.CycloneⅢDevice Handbook[DB/OL].2007.07.http://www.altera.com.

[3]李蘭英.Nios II嵌入式軟核SOPC設(shè)計原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006:26-184.

[4]錢峰.EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

[5]CypessSemiconductor Corporation.Impementing an 8-bit Asynchronous Peripheral Interface Utilizing the EZ-USB FX GPIF/Slave FIFOs[M/OL].2002.

[6]駱毅.撓性陀螺組合脈沖測試及系統(tǒng)標(biāo)定[D].西安:西安工業(yè)大學(xué),2012:32-43.

[7]孫鑫,余安平.VC++深入詳解[M].北京:電子工業(yè)出版社,2007:453-568.

[8]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.

[9]袁志軍.基于FPGA的高速率多串口擴(kuò)展的設(shè)計與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008.

Research on Testing System for Inertial Navigation Com ponents Based on FPGA and NIOS

ZHANG Zhi-wen,PENG Yan
(School of Electronics Information Engineering,Xi’an Technological University,Xi’an 710032,China)

For the requirement of measuring the output of multiple signals in the test of inertial navigation components,a dual-mode data acquisition system of inertial component is designed on the basis of FPGA and NIOS IIsoft-core.The system takes FPGA and USB CY7C68013 as its core to count the 48 ports pluses outputted by 4 inertial navigation components and receive serial port data of 8 ports outputted by 8 inertial navigation components.In the end,the collected data will be uploaded to a controlling computer through a USB chip,and saved,processed,displayed by the computer.This design reduces complexity of the acquisition circuit,raisesmeasurement efficiency and promotes the reliability and stability of the acquisition system.

Inertial navigation component;FPGA;NIOS IIsoft-core;USB chip;Data collection

10.3969/j.issn.1002-2279.2014.01.023

TP274

:A

:1002-2279(2014)01-0085-05

張志文(1957-),男,陜西西安市人,教授,碩士生導(dǎo)師,主研方向:計算機(jī)測控技術(shù)、智能化儀表。

2013-09-18

猜你喜歡
程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
試論我國未決羈押程序的立法完善
半沸制皂系統(tǒng)(下)
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 国产成人精品亚洲77美色| 99热最新网址| 一区二区三区国产| 国产精品无码作爱| 热这里只有精品国产热门精品| 尤物亚洲最大AV无码网站| 婷婷激情五月网| 萌白酱国产一区二区| 久久99这里精品8国产| 国产91在线|日本| 蜜桃臀无码内射一区二区三区| 97精品国产高清久久久久蜜芽| 亚洲无码91视频| 九九热这里只有国产精品| 国产亚洲欧美日韩在线一区二区三区| 试看120秒男女啪啪免费| 国产97视频在线| 91亚洲国产视频| 四虎国产永久在线观看| 国产又爽又黄无遮挡免费观看| 91久久青青草原精品国产| 中文字幕在线观看日本| 91精品专区| 99re经典视频在线| 97国产精品视频自在拍| 亚洲精品国产综合99久久夜夜嗨| 国产精品v欧美| 成年人午夜免费视频| 亚洲欧美日本国产专区一区| 久久香蕉欧美精品| 欧美伦理一区| 色网在线视频| 国产精品福利导航| 美女国内精品自产拍在线播放| 日韩第一页在线| 国产精品女熟高潮视频| 一级成人a毛片免费播放| 中国一级特黄视频| 99久久国产精品无码| 国产成人AV大片大片在线播放 | www.91中文字幕| a亚洲视频| 国产乱子伦手机在线| 在线高清亚洲精品二区| 最新国产成人剧情在线播放| 精品丝袜美腿国产一区| 91久久天天躁狠狠躁夜夜| 亚洲综合色区在线播放2019| 青青热久免费精品视频6| 国产丝袜91| 露脸真实国语乱在线观看| 美女无遮挡被啪啪到高潮免费| 欧美三級片黃色三級片黃色1| 欧美.成人.综合在线| 国产永久免费视频m3u8| 日本黄网在线观看| 精品撒尿视频一区二区三区| 亚洲愉拍一区二区精品| 58av国产精品| 午夜小视频在线| 99re在线视频观看| 日韩一区精品视频一区二区| 国产成人在线无码免费视频| 无码有码中文字幕| 亚洲爱婷婷色69堂| 不卡视频国产| 99热这里只有精品在线播放| 亚洲第一色网站| 免费毛片视频| 久久综合九色综合97婷婷| 中文字幕在线一区二区在线| 成年A级毛片| 国产精品精品视频| 一区二区三区精品视频在线观看| 三级国产在线观看| 在线人成精品免费视频| 久久久精品无码一区二区三区| 国产成人精品一区二区秒拍1o| 国产在线欧美| 亚洲无码视频喷水| 美女无遮挡拍拍拍免费视频| 四虎永久在线|