在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Zynq壓電陶瓷傳感器的高精度采集系統(tǒng)設(shè)計(jì)

            基于Zynq壓電陶瓷傳感器的高精度采集系統(tǒng)設(shè)計(jì)

            作者: 時(shí)間:2016-10-15 來源:網(wǎng)絡(luò) 收藏

            引言

            本文引用地址:http://www.biyoush.com/article/201610/307183.htm

            (Piezoelectric,PZT)以其特有的體積小、響應(yīng)快、精度高和微動(dòng)作功能而成為近年來天文光學(xué)精密測(cè)量中廣泛應(yīng)用的材料之一。因此,其采集精度和實(shí)時(shí)性是其關(guān)鍵技術(shù)之一。本設(shè)計(jì)以Xilinx公司的-7000ARM處理器作為設(shè)計(jì)平臺(tái),實(shí)現(xiàn)對(duì)PZT的高速和高精度采集。是以ARM為核心、以FPGA作為可編程外設(shè)的全新架構(gòu)處理器,其ARM核是由2個(gè)Cortex—A9 CPU組成的AMP系統(tǒng)。

            目前,PZT的采集系統(tǒng)大多采用PC機(jī)下的采集卡或者類似于單片機(jī)的系統(tǒng)設(shè)計(jì),由于PC機(jī)系統(tǒng)的實(shí)時(shí)性比較差,單片機(jī)的數(shù)據(jù)處理能力比較弱,很難滿足類似于天文光學(xué)測(cè)量系統(tǒng)的實(shí)時(shí)性要求,采用的PL部分做,可以達(dá)到μs數(shù)量級(jí)。利用Zynq的PS部分實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理和通信,實(shí)時(shí)性也可以達(dá)到μs數(shù)量級(jí)。

            1 和OLED顯示IP核設(shè)計(jì)

            1.1 OLED顯示IP核設(shè)計(jì)

            ZedBoard開發(fā)板上使用Inteltronic/Wisechip公司的OLED顯示模組UG-2832HSWEG04,驅(qū)動(dòng)電路采用所羅門科技的SSD1306芯片。OLED采用SPI方式控制,SPI模式使用的信號(hào)線和電源線如下:

            ①RST(RES):硬復(fù)位OLED。

            ②DC:命令/數(shù)據(jù)標(biāo)志。

            ③SCLK:串行時(shí)鐘線。

            ④SDIN:串行數(shù)據(jù)線。

            ⑤VDD:邏輯電路電源。

            ⑥VBAT:DC/DC轉(zhuǎn)換電路電源。

            ⑦OLED顯示IP核是指在PL中配置相關(guān)外設(shè),掛到PS中,作為PS部分的外設(shè)使用。

            只需要利用Xilinx的嵌入式工具XPS生成硬件系統(tǒng)。主要過程如下:

            ①根據(jù)XPS工具設(shè)計(jì)流程,生成Zynq的最小硬件系統(tǒng)。

            ②在最小硬件系統(tǒng)中,添加外設(shè)IP my_oled,添加一個(gè)6位寄存器,每位和SPI引腳對(duì)應(yīng)。

            ③在系統(tǒng)生成的MPD文件中,設(shè)置相關(guān)引腳和方向信息。

            ④在系統(tǒng)生成的my_oled.vhd文件中,用VHDL語言進(jìn)行端口設(shè)計(jì)。

            ⑤在系統(tǒng)生成的user_logic.v文件中,用Verilog語言進(jìn)行邏輯設(shè)計(jì),實(shí)現(xiàn)寄存器和SPI對(duì)應(yīng)端口連接并實(shí)時(shí)讀取。

            1.2 IP核設(shè)計(jì)

            由于精度非常高,因此,采用高精度ADS1256轉(zhuǎn)換芯片采集電壓,ADS1256是多路復(fù)用的24位極低噪聲△-∑ADC。其理論采樣精度達(dá)到16 777 216分之一,測(cè)量電壓范圍為-5~+5 V,因此,其理論精度為1.6μV,實(shí)際測(cè)試達(dá)到10μV數(shù)量級(jí)。

            ADS1256與zynq是通過SCLK、DIN、DOUT、e.jpg組成的SPI串行接口,由于其不在ZedBoard開發(fā)板上,需要通過板子上的JA和JB接口連接上述6個(gè)引腳。

            數(shù)據(jù)采集IP核設(shè)計(jì),主要是完成6個(gè)引腳的連接,以及A/D轉(zhuǎn)換過程的命令和數(shù)據(jù)傳送、時(shí)鐘設(shè)定,其設(shè)計(jì)過程和OLED顯示IP核設(shè)計(jì)過程完全一致。

            2 Zynq運(yùn)行原理

            Zynq是一個(gè)可擴(kuò)展處理平臺(tái),它的啟動(dòng)流程也和FPGA完全不同,而與傳統(tǒng)ARM處理器的類似。

            系統(tǒng)上電啟動(dòng)后,第0階段啟動(dòng)代碼判斷啟動(dòng)模式,將第一階段啟動(dòng)代碼amp_fsbl.elf下載到DDR中,并開始執(zhí)行。FSBL會(huì)配置硬件比特流文件,加載CPU0可執(zhí)行文件和CPU1可執(zhí)行文件到DDR對(duì)應(yīng)的鏈接地址。在這一階段,所有代碼在CPU0中執(zhí)行,然后執(zhí)行第一個(gè)可執(zhí)行文件app_cpu0.elf,把CPU1上將要執(zhí)行的應(yīng)用程序執(zhí)行地址寫入OCM的0xFFFF FFF0地址,然后執(zhí)行SEV匯編指令,激活CPU1。CPU1激活后,將會(huì)到OCM的0xFFFF FFF0地址讀取其數(shù)值,其數(shù)值就是CPU1執(zhí)行可執(zhí)行程序的地址,CPU1應(yīng)用程序?qū)脑摰刂穲?zhí)行。

            CPU0和CPU1相互之間通過OCM的0xFFFF 0000地址作為共享內(nèi)存,進(jìn)行通信。

            Zynq是AMP體系架構(gòu),CPU0和CPU1各自占用獨(dú)立的DDR空間,其中CPU0占用的DDR地址為0x00100000~0x001F FFFF,CPU1使用的地址空間為0x00200000~0x002F FFFF。運(yùn)行原理如圖1所示。

            a.jpg

            3 軟件設(shè)計(jì)

            軟件設(shè)計(jì)主要包括CPU0應(yīng)用程序和CPU1應(yīng)用程序,其中CPU0部分主要實(shí)現(xiàn)系統(tǒng)初始化、啟動(dòng)CPU1、讀取A/D轉(zhuǎn)換后的數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行初步處理。

            FSBL加載完CPU0應(yīng)用程序后,跳轉(zhuǎn)到0x0010 0000處執(zhí)行CPU0程序,首先配置MMU,關(guān)閉Cache,使OCM物理地址為0xFFFF 0000~0xFFFF FFFF和0x00000000~0x0002 FFFF。

            關(guān)閉Cache后,CPU0執(zhí)行SEV匯編指令,激活CPU1,CPU1到OCM的0xFFFF FFF0地址讀取CPU1應(yīng)用程序地址,開始執(zhí)行CPU1的應(yīng)用程序。

            讀取ADS1256轉(zhuǎn)換后的數(shù)據(jù),對(duì)前后2次ADS1256轉(zhuǎn)換后的數(shù)值進(jìn)行比較,如果大于0xFF,則認(rèn)為有異常,設(shè)置COM_VAL=1,等待CPU1把異常信息在OLED上顯示出來。其流程圖如圖2所示:

            b.jpg

            CPU1在激活后,將會(huì)從DDR的0x00200000地址開始執(zhí)行應(yīng)用程序,由于Zynq是AMP架構(gòu),各個(gè)CPU獨(dú)立使用資源。因此,在CPU1里,仍需要設(shè)置MMU,關(guān)閉Cache。

            關(guān)閉Cache后,CPU1讀取共享內(nèi)存COM_VAL變量,如果其值為0,表示壓電陶瓷工作正常,在OLED上顯示正確信息。如果COM_VAL=1,表示壓電陶瓷工作異常,將在OLED顯示異常信息。其流程圖如圖3所示。

            c.jpg

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

            完成軟硬件設(shè)計(jì)后,需要將硬件比特流配置到Zynq的PL部分,把軟件部分下載到DDR中運(yùn)行。使用Xilinx的BootGen工具,將FSBL文件、bit文件、CPU0文件和CPU1文件組合并添加到相關(guān)頭部,生成能被Zynq識(shí)別的合法鏡像BOOT.BIN文件。把BOOT.BIN拷貝到SD卡中,將ZedBoard設(shè)置成SD卡啟動(dòng),將SD卡插入SD卡槽,上電后,會(huì)看到OLED顯示壓電陶瓷工作狀態(tài)信息。

            實(shí)驗(yàn)中,壓電陶瓷在一固定位置,隨機(jī)讀取部分A/D采集到的數(shù)據(jù),如表1所列,可以看出,其采集精度達(dá)到10μV數(shù)量級(jí)。

            d.jpg

            使用臺(tái)式萬用表進(jìn)行測(cè)試,電壓為2.5 V。實(shí)驗(yàn)結(jié)果表明,A/D采集精度高達(dá)10μV數(shù)量級(jí),與高精度臺(tái)式萬用表測(cè)量結(jié)果一致,說明采集結(jié)果是正確的。

            結(jié)語

            利用高精度ADS1256轉(zhuǎn)換器和Zynq高速處理平臺(tái),實(shí)現(xiàn)了雙核ARM并行運(yùn)行數(shù)據(jù)采集和實(shí)時(shí)顯示功能。經(jīng)過24小時(shí)不間斷測(cè)試,系統(tǒng)運(yùn)行穩(wěn)定,能夠滿足高速和高精度壓電陶瓷傳感器采集系統(tǒng)的要求。



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉