基于FPGA的SoC和嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)
1.1 Niosii軟核CPU
NiosII軟核CPU是A137ERA公司推出的一種通用32位RISC嵌入式處理器,它特別為可編程邏輯進(jìn)行了優(yōu)化設(shè)計(jì),并配備有功能完善的開(kāi)發(fā)套件,包括C/C++編譯器、集成開(kāi)發(fā)環(huán)境(IDE)、JTAG調(diào)試器等,是ALTERA公司可編程單芯片系統(tǒng)解決方案的核心。
作為一個(gè)軟核處理器,NiosII提供了可配置的硬件及軟件調(diào)試特性,包括基本的JTAG的運(yùn)行控制(運(yùn)行、停止、單步、存儲(chǔ)器等)、硬件斷點(diǎn)、數(shù)據(jù)觸發(fā)、片內(nèi)和片外跟蹤、嵌入式邏輯分析儀。這些強(qiáng)大的工具可以在開(kāi)發(fā)階段使用,調(diào)試通過(guò)后便可以去掉,節(jié)省資源。NiosII處理器還提供了高、中、低三種不同性能的內(nèi)核,通過(guò)與ALTERA提供的超過(guò)60種IP核(UART、時(shí)鐘、DMA、SDRAM、并行I/0等)結(jié)合使用,設(shè)計(jì)師可以方便地針對(duì)特定的應(yīng)用創(chuàng)建一個(gè)在處理器、外設(shè)、存儲(chǔ)器和I/O接口方面都完美的方案。除此以外,NiosII還有很多其他優(yōu)秀的特性,如指令定制、硬件加速器等。
1.2 網(wǎng)絡(luò)接口單元
以太網(wǎng)接口芯片采用了SMSC公司專(zhuān)門(mén)用于嵌入式產(chǎn)品的LAN91C111快速以太網(wǎng)控制器。該芯片內(nèi)部同時(shí)集成了以太網(wǎng)介質(zhì)訪問(wèn)控制器(MAC)及物理層收發(fā)器(PHY),支持10/100M全雙工傳輸模式、自動(dòng)協(xié)商及流控等功能。其主機(jī)接口具有同步總線、異步總線等多種工作模式,可以方便地與各種體系的CPU連接。本設(shè)計(jì)中使用了異步總線接口模式,并與FLASH共用地址線和數(shù)據(jù)線,通過(guò)FPGA上的適配模塊連接到Avalon片內(nèi)總線。
1.3 存儲(chǔ)器單元
由于存儲(chǔ)操作系統(tǒng)內(nèi)核、應(yīng)用程序代碼、程序數(shù)據(jù)等的需要,本系統(tǒng)使用了一片型號(hào)為AM29LV320D的FLASH芯片。該芯片由AMD公司推出,容量為4MB,支持CFI接口,其與AvMon總線的連接需要FPGA內(nèi)部的總線適配模塊進(jìn)行時(shí)序匹配。SDRAM用于存儲(chǔ)運(yùn)行期的程序代碼和數(shù)據(jù),HY57V563220B(L)T為現(xiàn)代公司推出的容量達(dá)16MB的SDRAM,由于該芯片端口寬度可達(dá)32位,因此系統(tǒng)中使用單芯片即可。SDRAM讀寫(xiě)時(shí)序比較復(fù)雜,需要在FPGA中集成專(zhuān)用的SDRAM控制器IP核與其對(duì)接。
2 總量計(jì)數(shù)IP核
如圖2所示,α或γ探測(cè)器獲得的信號(hào)經(jīng)由兩級(jí)放大器串接組成的線性脈沖放大器放大后送至以LM393為核心的甄別電路進(jìn)行比較,濾掉噪聲,輸出矩形的脈沖信號(hào)。對(duì)于這個(gè)信號(hào)的處理,以MCU(微控制器)為核心的傳統(tǒng)核探測(cè)儀只能通過(guò)MCU上已有的硬件資源(如定時(shí)器)結(jié)合軟件來(lái)實(shí)現(xiàn)。
這種方法受制于硬件資源和MCU的速度,難以對(duì)多通道信號(hào)源進(jìn)行并行處理。本系統(tǒng)中,總量計(jì)數(shù)IP核即是針對(duì)此問(wèn)題而專(zhuān)門(mén)設(shè)計(jì)的硬件,使用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn),其內(nèi)部接口符合Avalon片內(nèi)總線從設(shè)備接口規(guī)范,可以方便地掛接在Avalon總線上,作為NiosII軟核cPu的一個(gè)專(zhuān)用外設(shè)。
總量計(jì)數(shù)IP核是網(wǎng)絡(luò)平臺(tái)FPGA中子板接口的一部分,其結(jié)構(gòu)如圖3所示。α輻射總量測(cè)量與γ輻射總量測(cè)量原理類(lèi)似,下面以α測(cè)量為例介紹其工作原理。時(shí)鐘源模塊通過(guò)對(duì)主時(shí)鐘分頻產(chǎn)生一個(gè)O.1秒的脈沖信號(hào),作為定時(shí)器計(jì)時(shí)的基準(zhǔn)源。定時(shí)器則按照命令寄存器傳過(guò)來(lái)的采集時(shí)間產(chǎn)生所需的定時(shí)信息。
根據(jù)定時(shí)器的定時(shí)信息和命令寄存器的命令,控制計(jì)數(shù)器對(duì)α測(cè)量模塊傳過(guò)來(lái)的脈沖信號(hào)進(jìn)行計(jì)數(shù),從而獲得輻射總量的計(jì)數(shù)值,該計(jì)數(shù)值被存進(jìn)FIFO中;而在另一側(cè),NiosIICPU通過(guò)Avalon總線向IP核的命令寄存器寫(xiě)入相應(yīng)的命令字實(shí)現(xiàn)對(duì)各通道的控制,例如啟動(dòng)總量計(jì)數(shù)、關(guān)閉總量計(jì)數(shù)、設(shè)置采集時(shí)間及清空FIFO等。
值得注意的是,來(lái)自甄別電路的α或γ計(jì)數(shù)脈沖是與本IP核工作時(shí)鐘異步的信號(hào),而計(jì)數(shù)器的值最終是需要存人。FIF0的,因此對(duì)α或γ計(jì)數(shù)脈沖都以主時(shí)鐘進(jìn)行二次鎖存并整形,使每個(gè)異步計(jì)數(shù)脈沖產(chǎn)生一個(gè)只持續(xù)一個(gè)主時(shí)鐘周期的同步脈沖。以該脈沖進(jìn)行計(jì)數(shù),不僅解決了異步信號(hào)同步的問(wèn)題,而且有效地濾除了干擾脈沖,使計(jì)敦值準(zhǔn)確。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)超級(jí)電容器相關(guān)文章:超級(jí)電容器原理
評(píng)論