隨著可編程邏輯器件的不斷進步和發(fā)展,FPGA在嵌入式系統(tǒng)中發(fā)揮著越來越重要的作用。本文介紹的在電能質(zhì)量監(jiān)測系統(tǒng)中信號采集模塊控制器的IP核,是采用硬件描述語言來實現(xiàn)的。首先它是以ADS8364芯片為控制對象,結(jié)合實際電路,將6通道同步采樣的16位數(shù)據(jù)存儲到FIFO控制器。當FIFO控制器存儲一個周期的數(shù)據(jù)后,產(chǎn)生一個中斷信號,由PowerPC對其進行高速讀取。這樣能夠減輕CPU的負擔,不需要頻繁地對6通道的采樣數(shù)據(jù)進行讀取,節(jié)省了CPU運算資源。
1 ADS8364芯片的原理與具體應用
A/D轉(zhuǎn)換芯片ADS8364是TI公司推出的專為高速同步數(shù)據(jù)采集系統(tǒng)設(shè)計的高速度、低功耗、6通道(三相電壓、三相電流)同步采樣的16位A/D轉(zhuǎn)換芯片。采用模擬和數(shù)字分別供電,在模擬輸入端,有模擬參考電壓輸入、輸出引腳和信號六通道正反相輸入引腳;在數(shù)字端,主要包括控制ADS8364的讀/寫、復位、片選引腳和轉(zhuǎn)換結(jié)果輸出總線。
ADS8364芯片的轉(zhuǎn)換過程為:當ADS8364的HOLDX保持至少20 ns的低電平時,轉(zhuǎn)換開始。當轉(zhuǎn)換結(jié)果被存入輸出寄存器后,引腳EOC的輸出將保持半個時鐘周期的低電平,以提示數(shù)據(jù)分析處理器進行轉(zhuǎn)換結(jié)果的接收,處理器通過置RD和CS為低電平可使數(shù)據(jù)通過并行輸出總線讀出。在轉(zhuǎn)換數(shù)據(jù)的接收過程中,ADS8364芯片各引腳工作的時序達到協(xié)調(diào)一致,才能保證監(jiān)測設(shè)備良好工作,具體時序安排如圖1所示。
ADS8364芯片的數(shù)據(jù)輸出方式分別由BYTE、ADD與地址線A2、A1、A0組合控制,轉(zhuǎn)換結(jié)果的讀取方式由電能質(zhì)量監(jiān)測系統(tǒng)中采用的數(shù)據(jù)分析處理器決定,一般可取直接讀取、循環(huán)讀取和FIFO方式的任何一種。根據(jù)BYTE為0或者為1可確定每次讀取時得到的數(shù)據(jù)位數(shù),根據(jù)ADD為0或者為1可確定第一次讀取的是通道地址信息還是通道A/D轉(zhuǎn)換結(jié)果。在實際應用中,我們結(jié)合了ADS8364模數(shù)轉(zhuǎn)換器中的6個16位ADC可以成對同步工作的能力,3 個保持信號(HOLDA、HOLDB、HOLDC)可以同時被選通,其轉(zhuǎn)換結(jié)果將保存在6個寄存器中。對于每一個讀操作,ADS8364均輸出16位數(shù)據(jù),最高位為符號位。根據(jù)圖2所示的ADS8364循環(huán)讀取方式工作時序,需設(shè)置BYTE為0,A2、A1、A0分別為1、1、0。
2.3 A/D轉(zhuǎn)換芯片控制模塊及頂層文件的設(shè)計
控制器模塊的設(shè)計:
①根據(jù)ADS8364的工作原理:HOLDX保持至少20ns的低電平,轉(zhuǎn)換開始,所以控制器需根據(jù)時序要求產(chǎn)生HOLD周期信號。
②轉(zhuǎn)換結(jié)束后根據(jù)EOC的響應狀態(tài),需要置RD和CS為低電平,使數(shù)據(jù)通過并行輸出總線讀出。下面是根據(jù)EOC的狀態(tài)改變RD值的Verilog描述:
根據(jù)圖1的工作時序和圖2的循環(huán)讀取方式以及對數(shù)據(jù)采集頻率(12.8 kHz)的要求,對芯片相應的引腳進行控制,并和FIFO進行連接使采集的數(shù)據(jù)能夠按照循環(huán)方式寫入FIFO。采用Verilog硬件描述語言實現(xiàn)上述功能,并建立頂層文件正確連接各個功能模塊。
頂層文件的Verilog描述如下:
如圖3所示,時鐘分頻部分的輸出與FIFO的數(shù)據(jù)寫入時鐘、AD_Ctrl的時鐘和A/D轉(zhuǎn)換芯片的時鐘相連接。AD_Ctrl部分主要對ADS8364 芯片進行控制,其中輸出RD也連接到FIFO的寫使能端,對FIFO的數(shù)據(jù)寫入進行控制。FIFO的讀時鐘接到系統(tǒng)時鐘,讀使能由CPU控制。當FIFO 寫入一個周期的數(shù)據(jù)后,由prog_full產(chǎn)生中斷信號,CPU響應并對FIFO進行讀取。
2.4 仿 真
對頂層文件進行綜合,并在Mode-lsim中對其進行仿真。數(shù)據(jù)采集控制器的仿真結(jié)果如圖4所示。當holdx_n為低電平時,啟動A/D轉(zhuǎn)換,完成后根據(jù)EOC_n的低電平信號產(chǎn)生6個RD_n的低電平信號,循環(huán)讀取數(shù)據(jù)。當FIFO存儲了一個周期的數(shù)據(jù)后,CPU置FIFO的讀使能端口為高電平,對 FIFO中的數(shù)據(jù)進行高速讀取。若FIFO中數(shù)據(jù)為空,empty為高電平。
3 使用Xilinx嵌入式開發(fā)工具EDK設(shè)計IP核
嵌入式開發(fā)軟件EDK為設(shè)計人員提供了自動化設(shè)計向?qū)А?Base System Builder(BSB),可以指引工程師快速完成整個設(shè)計過程。使用BSB創(chuàng)建工程,在創(chuàng)建完成之后使用EDK自帶的CIP(Create and Import Peripheral Wizard)添加用戶自定義IP核,生成的用戶IP核保存在EDK工程目錄下的pcore文件夾。用戶IP核目錄如圖5所示。
其中文件夾data用于存放用戶IP的配置文件,如.prj文件、.mpd文件和.pao文件等;文件夾hdl用于存放用戶IP的HDL代碼,即.v或者.vhd文件;而devl(simmodels)文件夾中的工程可以使用戶在ISE平臺對工程進行設(shè)計、綜合與仿真,如果設(shè)計需要加入網(wǎng)表,可以放在 netlist文件夾。CIP在建立用戶IP核時,使用了一種專用接口規(guī)范(IPIF)。IPIF是一個驗證并優(yōu)化的高度參數(shù)化的定制接口,它提供了一個簡化的總線協(xié)議IPIC(IP Intercon-nect),操作這個總線與直接操作PLB及OPB這些總線相比要簡單很多。通過IPIF模塊,對其進行參數(shù)化定制來滿足設(shè)計需求,將降低設(shè)計與測試的工作量。
將設(shè)計的Verilog文件復制到IP核目錄下相對應的hdl文件夾下,啟動ISE開發(fā)平臺并打開devl文件夾中的工程文件,在Sources for Implementation中顯示的結(jié)構(gòu)如圖6所示。圖中,adsfifo.vhd是IPIC的描述文件,user-logic.v(或 user_logic.vhd)可以實現(xiàn)用戶IP核功能設(shè)計。需要在adsfifo.vhd中加入必要的端口聲明與邏輯設(shè)計,使PLB控制器與用戶IP設(shè)計端口進行相應的連接。設(shè)計完成后在ISE平臺中對該IP核進行綜合并仿真。綜合后查看FPGA器件的資源使用情況,如表1所列。
根據(jù)需要修改user_logic.v(或user—logic.vhd),向其中添加端口聲明與邏輯設(shè)計:
注意:在綜合后需要使用EDK中的CIP工具重新導入用戶IP核,在導入的過程中要指定MPD配置文件和XST project file(*.pfj)文件,這樣CIP可以自動加入相關(guān)聯(lián)的.v或.vhd文件。導入完成后在EDK的IPCatalog的Project Local pcores分類中可以看到用戶IP核,可以向EDK工程中加入該IP核,并設(shè)置其Bus Inter-face、Port和Addresses后生成位流文件,下載到開發(fā)板進行調(diào)試。
4 總 結(jié)
利用FPGA和ADS8364設(shè)計的數(shù)據(jù)采集的IP核,其接口簡單,采集精度高,可同時采集多路信號,而且能減輕FPGA嵌入式系統(tǒng)中CPU的負擔,節(jié)省CPU的運算資源。經(jīng)過仿真和下載到開發(fā)板驗證,該設(shè)計能滿足高速交變電壓信號采集的高精度和高實時性的要求。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21944瀏覽量
613443 -
控制器
+關(guān)注
關(guān)注
114文章
16933瀏覽量
182680 -
IP
+關(guān)注
關(guān)注
5文章
1772瀏覽量
151202
發(fā)布評論請先 登錄
調(diào)試ADS8364采集電壓數(shù)據(jù)DSP得到的數(shù)據(jù)不對
基于FPGA的數(shù)據(jù)采集控制器IP核的設(shè)計方案和實現(xiàn)方法研究
ads8364中文資料
ADS8364的原理及應用
并行模數(shù)轉(zhuǎn)換器ADS8364與TMS320F2812的接口設(shè)
基于ADS8364和ARM7單片機的導航姿態(tài)角采集系統(tǒng)設(shè)計
基于ADS8364的數(shù)據(jù)采集系統(tǒng)設(shè)計

基于ADS8364的數(shù)據(jù)采集系統(tǒng)設(shè)計

USB的高精度多通道數(shù)據(jù)采集卡設(shè)計

六通道同步采樣AD芯片ADS8364在數(shù)據(jù)采集中的應用
高精度AD芯片ADS8364在瞄準信息數(shù)據(jù)采集中的應用_王瑞鵬
DSP與ADS8364的高速數(shù)據(jù)采集處理系統(tǒng)設(shè)計分析

如何使用FPGA進行仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計的資料概述

評論