秦文姬,李 力(西安工程大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,西安 710048)
?
基于Nios II的導(dǎo)引頭電子艙信號群高速采集系統(tǒng)
秦文姬,李 力
(西安工程大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,西安710048)
摘 要:導(dǎo)引頭電子艙是導(dǎo)彈探測、跟蹤目標(biāo)的部件,是導(dǎo)彈系統(tǒng)的關(guān)鍵部分,因此電子艙產(chǎn)品使用前的調(diào)試和檢測至關(guān)重要。介紹了一種基于Nios II的導(dǎo)引頭電子艙信號群高速采集系統(tǒng)。該系統(tǒng)采用Cyclone II系列EP2C35芯片,以Nios II軟核為核心處理器,完成了對A/D轉(zhuǎn)換后的30路信號群的高速采集處理。與之前采用PCI總線方案相比,此方案簡化了硬件電路、減小了設(shè)備體積、降低了成本,可以滿足不同產(chǎn)品的各種邏輯電平、編碼裝定、參數(shù)預(yù)置及功能拓展升級的需求,提高了系統(tǒng)的可靠性和智能化分析處理實(shí)驗(yàn)數(shù)據(jù)的水平。
關(guān)鍵詞:電子艙;Nios II軟核;片上可編程系統(tǒng);SPI核;A/D轉(zhuǎn)換器ICL7135;數(shù)據(jù)采集
現(xiàn)有基于PCI總線的導(dǎo)引頭電子檢測臺是集光學(xué)、結(jié)構(gòu)支持、機(jī)械驅(qū)動、電子控制及計(jì)算機(jī)測量為一體的光機(jī)電一體化測控系統(tǒng)設(shè)備。它的主要功能是對現(xiàn)有激光類導(dǎo)引頭產(chǎn)品進(jìn)行生產(chǎn)調(diào)試和檢測驗(yàn)收。但是,該類產(chǎn)品通常硬件電路設(shè)計(jì)復(fù)雜,設(shè)備體積大,成本較高。
本項(xiàng)目在原有基于PCI總線的導(dǎo)引頭電子艙檢測系統(tǒng)基礎(chǔ)上,對其控制器部分進(jìn)行技術(shù)改造。本檢測系統(tǒng)的核心設(shè)計(jì)是在Altera公司Cyclone II系列FPGA芯片上,以Nios II軟核處理器為核心設(shè)計(jì)一個片上可編程系統(tǒng)(SOPC),代替原核心控制器件-2片8位單片機(jī)和CPLD,完成整個檢測系統(tǒng)的控制功能。介紹的基于Nios II的高速數(shù)據(jù)采集系統(tǒng)是該檢測系統(tǒng)的重要組成部分,主要功能是采集電子艙的響應(yīng)輸出信號,以便檢驗(yàn)電子艙是否滿足技術(shù)條件規(guī)定的指標(biāo)。
電子艙的響應(yīng)輸出模擬信號共30路,組成了一個龐大的信號群,數(shù)據(jù)采集系統(tǒng)需要對這30路信號群進(jìn)行高速采集處理[1]。信息社會的發(fā)展,很大程度上取決于信息與信號處理技術(shù)的先進(jìn)性[2]。一項(xiàng)很有發(fā)展前景的技術(shù)已經(jīng)應(yīng)用于電子產(chǎn)品的檢測中,這就是基于Nios II的SOPC(System On Programmable Chip)技術(shù)。Nios II是在Altera公司的FPGA器件上實(shí)現(xiàn)的一種32位處理器。Nios II CPU是一種采用流水線技術(shù)、單指令流和可配置的通用RISC處理器,它可以與用戶自定義邏輯結(jié)合成SOPC系統(tǒng),被編譯并下載到Altera的可編程器件中去[3]。本系統(tǒng)以Nios II軟核CPU為核心,通過在FPGA上構(gòu)建可編程片上系統(tǒng)SOPC,利用SOPC系統(tǒng)自定義外設(shè)接口,配合DMA技術(shù),同時采用A/D轉(zhuǎn)換器ICL7135、SOPC系統(tǒng)自帶的FIFO芯片等器件,實(shí)現(xiàn)對電子艙信號群高速數(shù)據(jù)的采集工作。
該系統(tǒng)包括信號預(yù)處理模塊、A/D轉(zhuǎn)換模塊、Nios系統(tǒng)電路板等部分,其結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
為了能同步采集到電子艙的30路模擬信號,系統(tǒng)需要對信號進(jìn)行預(yù)處理。系統(tǒng)將響應(yīng)信號經(jīng)過阻抗變換放大電路、模擬開關(guān)陣列和積分運(yùn)算等電路后,在Nios II CPU的控制下使其按時輸出四組8路模擬信號。接下來將處理后的信號送給A/D轉(zhuǎn)換器ICL7135,Nios II CPU通過SPI核控制外圍A/D轉(zhuǎn)換器ICL7135完成數(shù)據(jù)采集工作。使用Nios系統(tǒng)自定義FIFO緩沖模塊將經(jīng)過處理的數(shù)據(jù)緩存起來,DMA完成數(shù)據(jù)從FIFO到SDRAM的搬移工作,再通過RS-232接口將數(shù)據(jù)實(shí)時傳輸給上位機(jī)。
3.1基于Nios II的EP2C35電路板設(shè)計(jì)
3.1.1 Nios II處理器配置
選用的Cyclone II EP2C35是一款性能卓越、具有高速以太網(wǎng)接口而且可擴(kuò)展性極強(qiáng)的優(yōu)秀片上微控制器,片內(nèi)集成了4個PLL、52 M4K RAM以及專用高速外設(shè)接口[4-5]。采用的Nios II CPU具有大容量窗口的寄存器堆、簡單完備的指令集、強(qiáng)大的尋址模式、較強(qiáng)的可擴(kuò)展性、硬件輔助等特點(diǎn)。
根據(jù)系統(tǒng)需求,SOPC系統(tǒng)需包括Nios II處理器、SSRAM、片上內(nèi)存、SPI控制接口、自定義FIFO接口、用戶PIO、DMA、SDRAM控制器、UART通信接口等。因此,選取Nios II 32bit CPU、On-chip_ Memory、Tri _ state _ bridge、SSRAM、SPI Controller、Communication UART、Timer、DMA、FIFO、PIO和System ID等模塊,通過Quartus II自帶的SOPC Builder工具構(gòu)成片上系統(tǒng)。Nios II CPU可以靈活地進(jìn)行任務(wù)調(diào)度,配合Nios II IDE軟件編程環(huán)境,可以方便的對A/D采集芯片進(jìn)行SPI總線配置。電子艙信號經(jīng)過隔離放大等預(yù)處理后,在Nios CPU的控制下送入A/D轉(zhuǎn)換電路模塊完成采集工作,將經(jīng)過處理的數(shù)據(jù)緩存到FIFO,DMA完成數(shù)據(jù)從FIFO到SDRAM的搬移工作。Nios II內(nèi)核配置和CPU板工作原理框圖分別如圖2、圖3所示。
圖2 Nios II內(nèi)核配置
圖3 CPU板工作原理框圖
3.1.2 SPI總線控制器模塊
SPI是SOPC Builder內(nèi)部集成的嵌入式系統(tǒng)常用的工業(yè)標(biāo)準(zhǔn)串行協(xié)議,它可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口。該接口一般使用4根線:串行時鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號線INT,有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI[6-8])。
系統(tǒng)中使用SOPC Builder配置向?qū)碇付⊿PI內(nèi)核特性,SPI的配置如圖4所示。
(1)主/從配置(Master/Slave)
系統(tǒng)中SPI內(nèi)核控制A/D轉(zhuǎn)換器完成數(shù)據(jù)采集,因此選項(xiàng)選擇主控制器模式。在此模式下,可選擇通用選擇信號(Generate Select Signals)、SPI時鐘頻率(SPI clock rate)和指定延時(Specify Delay)。
圖4 SPI配置選項(xiàng)
(2)通用選擇信號
該選項(xiàng)設(shè)置從設(shè)備的數(shù)目,取值范圍為1-132。SP主控制器內(nèi)核為每個從控制器提供唯一的SS_n信號。本系統(tǒng)中,SPI核控制8路AD輸入,因此選項(xiàng)選擇8。
(3)SPI時鐘頻率
該選項(xiàng)設(shè)置主控制器和從控制器之間的SCLK頻率。SPI主控制內(nèi)核通過Avalon_MM分頻產(chǎn)生SCLK。SCLK的實(shí)際頻率不可能精確地匹配所需的目標(biāo)時鐘頻率,實(shí)際獲得的頻率值小于指定的目標(biāo)值[9]。
由于A/D轉(zhuǎn)換器ICL7135支持的最高時鐘頻率為1MHz,本系統(tǒng)選用的時鐘頻率為1MHz。
3.2信號預(yù)處理模塊
由于系統(tǒng)采集對象是30路相關(guān)模擬信號,本設(shè)計(jì)采用多路模擬開關(guān)AD7502陣列作為預(yù)處理信號電路。AD7502是一種雙4通道多路開關(guān)芯片,依據(jù)兩個二進(jìn)制地址線(A0,A1)和選通端(EN)的狀態(tài)來選擇8路輸入的兩路,分別與兩個輸出端相接通。本系統(tǒng)中30路信號共需要四片AD7502,在譯碼控制邏輯的控制下,這四片AD7502將同時選通8路相關(guān)信號。為了能夠并行采集到相關(guān)信號,在分配AD7502的引腳時,需要將這些相關(guān)信號分配在能夠同時被選通轉(zhuǎn)換的輸入通道上。
3.3A/D采集模塊
A/D采集模塊是數(shù)據(jù)采集系統(tǒng)的重要組成部分。由于系統(tǒng)的采集對象是30路相關(guān)模擬信號,為了滿足系統(tǒng)的高精度和高速要求,選用美國INTERSIL公司生產(chǎn)的4位雙積分A/D轉(zhuǎn)換器ICL7135。該芯片具有精度高(相當(dāng)于14位A/D轉(zhuǎn)換器)、成本低、自動校零、自動極性輸出、自動量程控制信號輸出等特點(diǎn),其最高轉(zhuǎn)換速率可達(dá)25次/秒。
要采集的模擬量先經(jīng)過多路模擬選擇開關(guān)MC4051芯片,由Nios II CPU通過SPI核控制8片ICL7135芯片完成數(shù)模轉(zhuǎn)換,并通過UART核與上位機(jī)通信,將數(shù)據(jù)傳回上位機(jī)。當(dāng)“積分2秒”按鍵按下,待檢測的信號形成后,就發(fā)SB_TB信號來啟動A/D開始轉(zhuǎn)換。Nios CPU采用中斷方式讀取結(jié)果。A/D轉(zhuǎn)換結(jié)束后,由BUSY、STROBE和高位D5信號組成中斷信號,由CPU響應(yīng)中斷來讀走轉(zhuǎn)換結(jié)果。模數(shù)轉(zhuǎn)換器ICL7135及其外圍電路如圖5所示。
圖5 模數(shù)轉(zhuǎn)換器ICL7135及其外圍電路
3.4SDRAM模塊
由于EP2C35芯片的內(nèi)存容量不能滿足控制系統(tǒng)程序容量,因此需要外擴(kuò)SDRAM作為運(yùn)行存儲器。根據(jù)SDRAM一般用于大容量易失存儲器且成本較低的應(yīng)用中的特點(diǎn),因此將采集到的數(shù)據(jù)存儲在一片SDRAM存儲器中。Avalon總線接口的SDRAM控制器結(jié)構(gòu)框圖如圖6所示。FPGA片內(nèi)的SDRAM控制器IP核與外部SDRAM存儲器芯片之間的硬件接口,包括了時鐘接口(clk)、時鐘屏蔽接口(cke)、地址總線(addr)、塊選信號(ba)、片選信號(cs)、行選信號(ras)、列選信號(cas)、寫選通信號(we)、數(shù)據(jù)總線(dq)和數(shù)據(jù)字節(jié)屏蔽信號(dqm)。SDRAM控制器的IP核可通過不同的數(shù)據(jù)寬度來訪問SDRAM[9-10]。本系統(tǒng)中采用32位數(shù)據(jù)。
圖6 SDRAM控制器結(jié)構(gòu)圖
系統(tǒng)軟件設(shè)計(jì)是利用Altera公司的軟件集成開發(fā)工具Nios II IDE來完成,用C語言進(jìn)行編程[11-12]。軟件設(shè)計(jì)主要包括嵌入式操作系統(tǒng)的移植、目標(biāo)板底層驅(qū)動設(shè)計(jì)、A/D采集程序代碼編寫等部分,這里主要介紹關(guān)鍵的A/D采集程序。A/D采樣子程序流程圖如圖7所示。
圖7 A/D采樣子程序流程圖
系統(tǒng)采用Nios II處理器集成SOPC系統(tǒng),有效解決了電子艙信號群數(shù)據(jù)的采集和存儲問題,較好地完成了電子艙信號群的高速采集工作。
設(shè)計(jì)采用了通用大規(guī)模集成電路和嵌入式技術(shù),簡化了硬件電路、減小了設(shè)備體積、降低了成本,智能化程度更高。方案的硬件系統(tǒng)已通過了PCB加工及功能調(diào)試驗(yàn)證。該方案穩(wěn)定可行,程序操作性強(qiáng),在數(shù)據(jù)采集以及其它方面具有一定的參考價值。
參考文獻(xiàn):
[1]李薇,危建國.基于PCI總線的電子艙信號群高速采集系統(tǒng)[J].計(jì)測技術(shù),2006,26(3):24-26.Li Wei,Wei Jianguo.The Electronic Cabin Signal Group High Speed Acquisition System Based on PCI Bus[J].Measurement technology,2006,26(3):24-26.
[2]劉政,劉富強(qiáng).基于PCI總線的數(shù)據(jù)采集[J].中國科技信息,2005(11):12.Liu Zheng,Liu Fuqiang.Data Acquisition Based on PCI Bus[J].CHINA SCIENCE AND TECHNOLOGY INFORMATION,2005(11):12.
[3]劉書文,駱英.基于Nios II的超聲相控陣數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2014(6):72-75.LIU Shu-Wen,LUO Ying,WANG Zi-Ping.Data Acquisition System for Ultrasonic Phased Array System Based on Embedded NiosII[J].Instrument Technique and Sensor,2014(6):72-75.
[4]秦文姬,黃國兵.基于Nios II的蓄電池組在線監(jiān)測系統(tǒng)的設(shè)計(jì)[J].微處理機(jī),2011(6):73-76.QIN Wen-ji,HUANG Guo-bing.Design of Battery Online Monitor Unit Based on Nios II[J].MICROPROCESSORS,2011(6):73-76.
[5]趙宏陽,丁曉明.基于FPGA的高速多路視頻數(shù)據(jù)采集系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng),2012(7):56-59.Zhao Hongyang,Ding Xiaoming.Acquisition System for High-speed Multi-channel Video Data Based on FPGA [J].Microcontrollers &Embedded Systems,2012(7):56-59.
[6]劉培洲,高天德,夏彥澤,等.基于Nios 1I的以太網(wǎng)數(shù)據(jù)采集平臺設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2014,42 (9):1733-1736.LIU Peizhou,GAO Tiande,XIA Yanze et al.Ethernet Data Collection Platform Design Based on NiosⅡ[J].Computer &Digital Engineering,2014,42(9):1733-1736.
[7]Alter Corporation.NiosII Hardware Development Tutoria [EB/OL].(2013-03-05)[2015-02-20]http://www.doc88.com/p-256253727166.html.
[8]李萍,凌力.基于Nios II的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].艦船電子工程,2012,32(1):74-76.Li Ping,Ling Li.Design and Implementation of Data Acquisition System Based on Nios II[J].Ship Electronic Engineering,2012,32(1):74-76.
[9]赫建國,倪德克,鄭燕.基于Nios II內(nèi)核的FPGA電路設(shè)計(jì)[M].北京:電子工業(yè)出版社,2010.He Jianguo,Ni Deke,Zheng Yan.FPGA circuit design based on Nios II[M].Beijing:Publishing House of Electronics Industry,2010.
[10]陳偉軍,陶純匡.基于Nios II的CCD采集系統(tǒng)的設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(8):58-61.Chen Weijun,Tao Chunkuang.Design of CCD Acquisition System Based on NiosII[J].Microcontrollers & Embedded Systems,2012(8):58-61.
[11]張燕,任安虎.基于SOPC數(shù)據(jù)采集與控制系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(12):184-185.ZHANG Yan,REN An-hu.Design of data acquisition and control system based on SOPC[J].Electronic Design Engineering,2012,20(12):184-185.
[12]蔡偉綱.Nios II軟件架構(gòu)解析[M].西安:西安電子科技大學(xué)出版社,2007.Cai Weigang.Nios II software architecture Analysis [M].Xi’an:Xi'an University of Electronic Science and Technology Press,2007.
A High Speed Acquisition System Based on Nios II for the Electronic Cabin Signal Group
Qin Wenji,Li Li
(Institute of Computer,Xi’an Polytechnical University,Xi’an 710048,China)
Abstract:As a key part of the missile system,the electronic cabin can detect and track the target missile,and it is required to be debugged and tested before using.A high speed data acquisition system based on Nios II is designed and realized for the electronic cabin signal group in this paper.Using cyclone series EP2C35 chip and Nios II as core processor,the system can process the signals converted by A/D and complete the high speed data acquisition.Compared with the previous PCI bus program,this system has some advantages,such as simplifying the hardware circuit,reducing equipment size and costs,adapting to a variety of different products' logic level,coding stapling and satisfying needs of presetting parameters and functional expansion upgrade.And it improves the level of reliability and intelligent analysis of experimental data processing system.
Key words:Electronic cabin;Nios II soft core;SOPC;SPI core;A/D converter ICL7135;Data acquisition
DOI:10.3969/j.issn.1002-2279.2016.02.019
中圖分類號:TP368.1
文獻(xiàn)標(biāo)識碼:A
文章編號:1002-2279(2016)02-0073-04
基金項(xiàng)目:?2014年陜西省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(1240)
作者簡介:秦文姬(1981-),女,山西省臨縣人,講師,碩士研究生,主研方向:計(jì)算機(jī)測控、嵌入式系統(tǒng)應(yīng)用。
收稿日期:2015-04-28