新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA的高速多通道數(shù)據(jù)采集控制器IP核設(shè)計(jì)

FPGA的高速多通道數(shù)據(jù)采集控制器IP核設(shè)計(jì)

作者: 時(shí)間:2012-05-23 來源:網(wǎng)絡(luò) 收藏

隨著可編程邏輯器件的不斷進(jìn)步和發(fā)展,在嵌入式系統(tǒng)中發(fā)揮著越來越重要的作用。本文介紹的在電能質(zhì)量監(jiān)測系統(tǒng)中信號(hào)采集模塊核,是采用硬件描述語言來實(shí)現(xiàn)的。首先它是以ADS8364芯片為控制對(duì)象,結(jié)合實(shí)際電路,將6同步采樣的16位數(shù)據(jù)存儲(chǔ)到FIFO。當(dāng)FIFO 存儲(chǔ)一個(gè)周期的數(shù)據(jù)后,產(chǎn)生一個(gè)中斷信號(hào),由PowerPC對(duì)其進(jìn)行讀取。這樣能夠減輕CPU的負(fù)擔(dān),不需要頻繁地對(duì)6的采樣數(shù)據(jù)進(jìn)行讀取,節(jié)省了CPU運(yùn)算資源。

本文引用地址:http://butianyuan.cn/article/148999.htm

  1 ADS8364芯片的原理與具體應(yīng)用

  A/D轉(zhuǎn)換芯片ADS8364是TI公司推出的專為同步系統(tǒng)度、低功耗、6 (三相電壓、三相電流)同步采樣的16位A/D轉(zhuǎn)換芯片。采用模擬和數(shù)字分別供電,在模擬輸入端,有模擬參考電壓輸入、輸出引腳和信號(hào)六通道正反相輸入引腳;在數(shù)字端,主要包括控制ADS8364的讀/寫、復(fù)位、片選引腳和轉(zhuǎn)換結(jié)果輸出總線。

  ADS8364芯片的轉(zhuǎn)換過程為:當(dāng)ADS8364的HOLDX保持至少20 ns的低電平時(shí),轉(zhuǎn)換開始。當(dāng)轉(zhuǎn)換結(jié)果被存入輸出寄存器后,引腳EOC的輸出將保持半個(gè)時(shí)鐘周期的低電平,以提示數(shù)據(jù)分析處理器進(jìn)行轉(zhuǎn)換結(jié)果的接收,處理器通過置RD和CS為低電平可使數(shù)據(jù)通過并行輸出總線讀出。在轉(zhuǎn)換數(shù)據(jù)的接收過程中,ADS8364芯片各引腳工作的時(shí)序達(dá)到協(xié)調(diào)一致,才能保證監(jiān)測設(shè)備良好工作,具體時(shí)序安排如圖1所示。

  1.gif

  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í)得到的數(shù)據(jù)位數(shù),根據(jù)ADD為0或者為1可確定第一次讀取的是通道地址信息還是通道A/D轉(zhuǎn)換結(jié)果。在實(shí)際應(yīng)用中,我們結(jié)合了ADS8364模數(shù)轉(zhuǎn)換器中的6個(gè)16位ADC可以成對(duì)同步工作的能力,3 個(gè)保持信號(hào)(HOLDA、HOLDB、HOLDC)可以同時(shí)被選通,其轉(zhuǎn)換結(jié)果將保存在6個(gè)寄存器中。對(duì)于每一個(gè)讀操作,ADS8364均輸出16位數(shù)據(jù),最高位為符號(hào)位。根據(jù)圖2所示的ADS8364循環(huán)讀取方式工作時(shí)序,需設(shè)置BYTE為0,A2、A1、A0分別為1、1、0。

  2.gif

  3.gif

  2.3 A/D轉(zhuǎn)換芯片控制模塊及頂層文件的

  控制器模塊的

 ?、俑鶕?jù)ADS8364的工作原理:HOLDX保持至少20ns的低電平,轉(zhuǎn)換開始,所以控制器需根據(jù)時(shí)序要求產(chǎn)生 HOLD周期信號(hào)。

 ?、谵D(zhuǎn)換結(jié)束后根據(jù)EOC的響應(yīng)狀態(tài),需要置RD和CS為低電平,使數(shù)據(jù)通過并行輸出總線讀出。下面是根據(jù)EOC的狀態(tài)改變RD值的 Verilog描述:

  4.gif

  根據(jù)圖1的工作時(shí)序和圖2的循環(huán)讀取方式以及對(duì)頻率(12.8 kHz)的要求,對(duì)芯片相應(yīng)的引腳進(jìn)行控制,并和FIFO進(jìn)行連接使采集的數(shù)據(jù)能夠按照循環(huán)方式寫入FIFO。采用Verilog硬件描述語言實(shí)現(xiàn)上述功能,并建立頂層文件正確連接各個(gè)功能模塊。

  頂層文件的Verilog描述如下:

  5.gif

  如圖3所示,時(shí)鐘分頻部分的輸出與FIFO的數(shù)據(jù)寫入時(shí)鐘、AD_Ctrl的時(shí)鐘和A/D轉(zhuǎn)換芯片的時(shí)鐘相連接。AD_Ctrl部分主要對(duì)ADS8364 芯片進(jìn)行控制,其中輸出RD也連接到FIFO的寫使能端,對(duì)FIFO的數(shù)據(jù)寫入進(jìn)行控制。FIFO的讀時(shí)鐘接到系統(tǒng)時(shí)鐘,讀使能由CPU控制。當(dāng)FIFO 寫入一個(gè)周期的數(shù)據(jù)后,由prog_full產(chǎn)生中斷信號(hào),CPU響應(yīng)并對(duì)FIFO進(jìn)行讀取。

  6.gif


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉