• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Zynq-7000的數(shù)據(jù)采集與顯示系統(tǒng)的設(shè)計(jì)

      2020-09-15 05:16:06楊詩(shī)安王子成
      儀表技術(shù)與傳感器 2020年8期
      關(guān)鍵詞:小包字節(jié)內(nèi)存

      楊詩(shī)安,王子成

      (1.中國(guó)科學(xué)院武漢物理與數(shù)學(xué)研究所,湖北武漢 430071;2.中國(guó)科學(xué)院大學(xué),北京 100049;3.武漢中科創(chuàng)新技術(shù)股份有限公司,湖北武漢 430206)

      0 引言

      Zynq-7000是集成了ARM與FPGA的可擴(kuò)展處理平臺(tái)。Zynq-7000 SoC系列集成 ARM處理器的軟件可編程性與 FPGA 的硬件可編程性,不僅可實(shí)現(xiàn)重要分析與硬件加速,同時(shí)還在單個(gè)器件上高度集成 CPU、DSP、ASSP 以及混合信號(hào)功能[1]。在SoC內(nèi)部,芯片功能被劃分成PS和PL兩部分,PS 相當(dāng)于ARM,具有固定的架構(gòu),承載了處理器和系統(tǒng)存儲(chǔ)區(qū),而 PL 也就是FPGA,是完全靈活的,可以滿足設(shè)計(jì)。其中互聯(lián)是通過(guò)連接了PS和PL的AXI接口來(lái)實(shí)現(xiàn)[2]。相比于常用的AHB總線協(xié)議,AXI總線具有更好的性能和更高的帶寬,而且這種片內(nèi)通信模式使數(shù)據(jù)通信更加可靠、高效,還可以降低功耗。

      隨著數(shù)字系統(tǒng)越來(lái)越復(fù)雜,軟硬件協(xié)同設(shè)計(jì)越來(lái)越困難,F(xiàn)PGA加ARM這種低成本SoC解決方案是主要的發(fā)展方向,所以需要研究基于SoC可擴(kuò)展平臺(tái)的應(yīng)用解決方案。本文基于Zynq-7000平臺(tái)設(shè)計(jì)了一個(gè)具有數(shù)據(jù)采集和顯示功能的最小系統(tǒng),通過(guò)對(duì)Zynq-7000 SoC芯片的應(yīng)用,為滿足數(shù)據(jù)采集和顯示需求提供更多的解決方案。

      1 系統(tǒng)的整體框架設(shè)計(jì)

      整個(gè)最小系統(tǒng)由CPU、內(nèi)存、Flash、ADC采集芯片等組成,SoC選用的處理器芯片是XC7Z020,SoC所掛內(nèi)存為DDR3,再用一片SRAM作刷屏緩存,結(jié)合A/D轉(zhuǎn)換芯片,外接液晶顯示屏,則可以完成數(shù)據(jù)的采集、存儲(chǔ)以及顯示。系統(tǒng)整體設(shè)計(jì)框架如圖1所示[3-4]。

      圖1 系統(tǒng)整體設(shè)計(jì)框架

      由框架圖可以看到信號(hào)流向。一路模擬量輸入系統(tǒng),經(jīng)過(guò)AD芯片轉(zhuǎn)換成數(shù)字信號(hào)之后存入SoC芯片的PL部分,在PL部分設(shè)計(jì)DMA模塊使數(shù)據(jù)傳輸速率匹配從而將數(shù)據(jù)寫(xiě)入內(nèi)存,軟件處理后用于顯示的數(shù)據(jù)從內(nèi)存中取出,通過(guò)PL部分寫(xiě)入SRAM中緩存,在PL的控制下LCD可顯示SRAM中的數(shù)據(jù)。

      2 數(shù)據(jù)采集模塊

      數(shù)據(jù)采集使用AD9601芯片,這是一款10位單片采樣模數(shù)轉(zhuǎn)換器,具有低功耗、高性能的特點(diǎn)。該芯片使用1.8 V模擬和數(shù)字電源供電,可支持兩路同步采樣輸入,具有高達(dá)250 MSPS的轉(zhuǎn)化率,信噪比為59.4 dBFS,且正常工作時(shí)功耗為322 mW[5]。模數(shù)轉(zhuǎn)換電路圖如圖2所示。

      設(shè)計(jì)中采用單通道采樣,DA0~DA9是10位數(shù)據(jù)輸出通道,DRVDD是1.8 V數(shù)字輸出電源,AVDD是1.8 V模擬電源,VIN+、VIN-是差分模擬輸入信號(hào),CLK+、CLK-是差分時(shí)鐘輸入,DCO+/DCO-是數(shù)據(jù)時(shí)鐘輸出端口,SDIO/DCS、SCLK/DFC、CSB分別是串行數(shù)據(jù)、時(shí)鐘、片選接口,通過(guò)對(duì)這3個(gè)SPI端口的編程,可以配置AD9601芯片的采樣頻率和輸出時(shí)鐘,從而控制系統(tǒng)的采樣速率。

      AD9601芯片的配置時(shí)序圖如圖3所示。當(dāng)片選信號(hào)CSB為低電平時(shí),在時(shí)鐘信號(hào)SCLK的上升沿開(kāi)始傳輸數(shù)據(jù),首先傳輸16 bit的指令,字節(jié)第1位表示讀命令或?qū)懨?,W1和W0表示傳輸?shù)氖?個(gè)字節(jié)的

      圖2 A/D轉(zhuǎn)換電路

      圖3 AD9601配置時(shí)序

      數(shù)據(jù)或是多個(gè)字節(jié)的數(shù)據(jù),后面是13 bit的地址位,接著是8 bit數(shù)據(jù)位D7到D0。通過(guò)硬件編程可將AD9601的輸出時(shí)鐘配置為200 MHz,數(shù)據(jù)格式為偏移二進(jìn)制。配置結(jié)果仿真圖如圖4所示。

      圖4 AD9601配置時(shí)序仿真波形

      3 數(shù)據(jù)傳輸模塊

      3.1 AD9601數(shù)據(jù)上傳機(jī)制

      本設(shè)計(jì)中AD9601為10 bit、200 MSPS的模數(shù)轉(zhuǎn)換,由于實(shí)際在存儲(chǔ)時(shí)為了處理方便,每個(gè)采樣點(diǎn)需要16 bit的空間來(lái)存儲(chǔ),因此一路AD9601實(shí)際需要的最大上傳帶寬可計(jì)算得出:

      200 MSPS×16 bit=3.2 Gbps

      (1)

      如此大的帶寬需要DMA來(lái)傳輸[6-7]。

      本設(shè)計(jì)中,AD采集數(shù)據(jù)在PL內(nèi)部先進(jìn)fifo緩存,同時(shí)將數(shù)據(jù)按照規(guī)定的格式打包成數(shù)據(jù)包,單個(gè)數(shù)據(jù)包的大小可以通過(guò)配置寄存器來(lái)設(shè)置。DMA模塊接收到數(shù)據(jù)包,將其轉(zhuǎn)化完成后,PL發(fā)起一次AXI-HP主動(dòng)對(duì)內(nèi)存的寫(xiě)操作,以上操作循環(huán)進(jìn)行。

      圖5顯示了DMA模塊的內(nèi)部結(jié)構(gòu),這個(gè)模塊包含3個(gè)部分:

      (1)dma_regfile:實(shí)現(xiàn)內(nèi)部Localbus接口、SPI時(shí)序生成及中斷產(chǎn)生;

      (2)dma_wr_cmd_gen:接收來(lái)自AD模塊的數(shù)據(jù)并將其轉(zhuǎn)化為“寫(xiě)操作”包;識(shí)別包(大包)結(jié)尾并輸出信號(hào)(到dma_regfile模塊)用來(lái)觸發(fā)中斷;統(tǒng)計(jì)包長(zhǎng)度并在整個(gè)包(大包)上傳完成后寫(xiě)入消息和包長(zhǎng)到對(duì)應(yīng)內(nèi)存位置;

      (3)dma_fifo2amba_wr:將內(nèi)部fifo時(shí)序轉(zhuǎn)換為AMBA-AXI4時(shí)序。

      圖5 DMA模塊內(nèi)部結(jié)構(gòu)

      本設(shè)計(jì)中設(shè)置單個(gè)包最大數(shù)據(jù)長(zhǎng)度為1 024字節(jié),一片數(shù)據(jù)(大包)在輸入到DMA模塊時(shí),若其長(zhǎng)度超過(guò)1 024字節(jié),則需要分多個(gè)小包依次輸入。當(dāng)大包被分為多個(gè)小包輸入時(shí),只有最后一個(gè)小包的長(zhǎng)度可以不為1 024字節(jié),最后一個(gè)小包之前的所有小包長(zhǎng)度必須為1 024字節(jié)。

      3.2 數(shù)據(jù)上傳格式

      每個(gè)數(shù)據(jù)包的幀頭和幀尾需要添加標(biāo)識(shí),以便區(qū)分。由fifo輸入到DMA的數(shù)據(jù)包(小包)格式如表1所示。

      FLAG_B是大包標(biāo)記,僅在每個(gè)小包的第1行(bit35~34)有效。FLAG_S是小包標(biāo)記。

      包的標(biāo)記位FLAG_B定義如下:2’b10:SOP,首個(gè)小包;2’b00:MID,中間小包;2’b01:EOP,最后小包;2’b11:ONLY,只有1個(gè)小包。

      表1 數(shù)據(jù)上傳格式表

      4 LCD顯示模塊

      本設(shè)計(jì)采用LVDS顯示屏,先要主動(dòng)從CPU緩存中請(qǐng)求顯存數(shù)據(jù),存在SRAM中,然后在PL的控制下實(shí)現(xiàn)LCD顯示[8],其設(shè)計(jì)結(jié)構(gòu)如圖6所示。

      圖6 數(shù)據(jù)顯示模塊設(shè)計(jì)框圖

      顯卡功能的實(shí)現(xiàn)包括3個(gè)互相獨(dú)立的過(guò)程:

      (1)PS申請(qǐng)一段固定連續(xù)的內(nèi)存空間用于存儲(chǔ)顯卡數(shù)據(jù),首地址為L(zhǎng)CD_ADDR,將該首地址配置給lcd_display_req_top模塊。PS軟件生成的圖形/圖像被寫(xiě)入內(nèi)存的固定地址LCD_ADDR處;

      (2)lcd_display_req_top模塊在PS的控制下將以配置的頻率(cfg_freq1)從內(nèi)存中讀取顯卡數(shù)據(jù),每次都會(huì)讀取一個(gè)完整屏幕的數(shù)據(jù),讀取的數(shù)據(jù)會(huì)交給PL端的SRAM驅(qū)動(dòng)模塊sram_is61wv102416,sram_is61wv102416模塊將顯卡數(shù)據(jù)按照順序?qū)懭隨RAM中存儲(chǔ)起來(lái);

      (3)lcd_1024x600_4lvds在PS的控制下以配置的頻率(cfg_freq2)通過(guò)sram_is61wv102416模塊從外部SRAM中讀取顯卡數(shù)據(jù),讀返回?cái)?shù)據(jù)則直接轉(zhuǎn)換為L(zhǎng)VDS信號(hào)輸出。

      以上3個(gè)過(guò)程互相獨(dú)立,過(guò)程(1)和過(guò)程(2)通過(guò)PS內(nèi)存隔離,過(guò)程(2)和過(guò)程(3)通過(guò)外部SRAM隔離。

      5 仿真實(shí)驗(yàn)

      5.1 數(shù)據(jù)傳輸仿真

      可以通過(guò)軟件仿真來(lái)驗(yàn)證數(shù)據(jù)傳輸模式是否設(shè)計(jì)正確,先在vivado中模擬數(shù)據(jù)累加,利用仿真界面觀察結(jié)果,然后與PC端串口調(diào)試界面的傳輸數(shù)據(jù)作對(duì)比。圖7為數(shù)據(jù)仿真波形,圖8為串口打印數(shù)據(jù)。

      圖7 vivado數(shù)據(jù)仿真波形

      圖8 串口打印數(shù)據(jù)

      從圖7中最后一行數(shù)據(jù)可以看到,數(shù)據(jù)在依次累加,因?yàn)槊看蝹鬏?2 bit的數(shù)據(jù),所以一次傳輸2個(gè)16 bit的數(shù),然后在內(nèi)存中順序緩存。對(duì)比圖8中串口打印的數(shù)據(jù),可以驗(yàn)證數(shù)據(jù)在通道中正確傳輸。

      5.2 實(shí)驗(yàn)測(cè)試

      系統(tǒng)測(cè)試時(shí)將信號(hào)發(fā)生器的輸出信號(hào)作為系統(tǒng)輸入,調(diào)節(jié)輸入信號(hào)的頻率和振幅,使波形可以在LCD屏上正常顯示。圖9為信號(hào)發(fā)生器的輸出波形,圖10為此系統(tǒng)屏幕顯示的波形。

      圖9 信號(hào)發(fā)生器輸出波形

      圖10 LCD顯示波形

      LCD顯示屏上橫軸方向每個(gè)格點(diǎn)代表的是時(shí)間信息,由顯示波形的周期可以計(jì)算得出顯示波形的頻率,與信號(hào)發(fā)生器輸出波形頻率對(duì)比,可以驗(yàn)證顯示波形是正確的。

      6 結(jié)論

      該系統(tǒng)以Zynq-7000 SoC芯片為核心,結(jié)合存儲(chǔ)器件,數(shù)據(jù)采集芯片以及LCD顯示屏,搭建了一個(gè)可用于實(shí)時(shí)數(shù)據(jù)采集和顯示的平臺(tái),設(shè)計(jì)中數(shù)據(jù)傳輸部分采用DMA傳輸機(jī)制,并且數(shù)據(jù)傳輸速率可用軟件配置。經(jīng)實(shí)驗(yàn)證明,整個(gè)系統(tǒng)可完成預(yù)期的功能。在后期開(kāi)發(fā)應(yīng)用中可將其作為一個(gè)模塊調(diào)用,節(jié)省開(kāi)發(fā)時(shí)間。

      猜你喜歡
      小包字節(jié)內(nèi)存
      黑暗中努力
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      小包生活
      智族GQ(2020年8期)2020-09-06 14:01:45
      “春夏秋冬”的內(nèi)存
      花花小包
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
      小包哲學(xué)
      簡(jiǎn)談MC7字節(jié)碼
      基于內(nèi)存的地理信息訪問(wèn)技術(shù)
      人類進(jìn)入“澤它時(shí)代”
      乳源| 曲周县| 延津县| 徐水县| 灵寿县| 乳山市| 高阳县| 岳普湖县| 通河县| 徐州市| 舞钢市| 疏附县| 太保市| 乌什县| 台江县| 内黄县| 林西县| 新平| 昌吉市| 泾源县| 乌恰县| 含山县| 浙江省| 滦南县| 葵青区| 玛多县| 昆明市| 阳信县| 仙桃市| 襄城县| 金阳县| 泰州市| 高台县| 铅山县| 彰化市| 修武县| 新郑市| 齐齐哈尔市| 阿坝| 婺源县| 遂川县|