《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 业界动态 > 基于AD7366/AD7367的高速数据采集模块设计

基于AD7366/AD7367的高速数据采集模块设计

2009-05-05
作者:王启伟, 韩 骏, 董 峰

  摘 要: 介紹了AD7366/AD7367的主要特點(diǎn),并搭建了以AD7366/AD7367和FPGA為基礎(chǔ)的電磁層析成像高速數(shù)據(jù)采集模塊。以AD7366為例給出了高速數(shù)據(jù)采集模塊的實(shí)現(xiàn)方法和仿真結(jié)果。
  關(guān)鍵詞: 電磁層析成像; AD7366/AD7367; 數(shù)據(jù)采集; FPGA

?

  數(shù)據(jù)采集是獲取信息的重要途徑。數(shù)據(jù)采集的好壞,主要取決于它的精度和速度。在保證精度的條件下應(yīng)有盡可能提高采樣速度,以滿足實(shí)時(shí)采集、實(shí)時(shí)處理和實(shí)時(shí)控制對(duì)速度的要求。在電磁層析成像EMT(Electromagnetic Tomography)數(shù)據(jù)采集系統(tǒng)中,共有16路數(shù)據(jù)采集通道,每路數(shù)據(jù)采集通道通過(guò)16路模擬開(kāi)關(guān)分時(shí)切換到A/D模塊進(jìn)行數(shù)據(jù)轉(zhuǎn)換和處理,數(shù)據(jù)信息量非常大,這對(duì)AD轉(zhuǎn)換器速度要求非常高,而且需要很強(qiáng)的數(shù)據(jù)處理和傳輸能力[1-2]。串行AD7366/AD7367芯片具有速度快、體積小、功耗低、占用數(shù)據(jù)口少等優(yōu)點(diǎn),而且作為可編程邏輯器件的FPGA,集成上百萬(wàn)的邏輯門(mén),支持反復(fù)地編程、擦除和使用,開(kāi)發(fā)周期短,運(yùn)用成本低,處理速度高等優(yōu)點(diǎn),因此,選擇以FPGA為平臺(tái)對(duì)AD7366/AD7367的高速轉(zhuǎn)換數(shù)據(jù)進(jìn)行傳送、存儲(chǔ)和相應(yīng)的數(shù)據(jù)處理。
1 數(shù)據(jù)采集模塊
1.1 數(shù)據(jù)采集模塊組成
  基于數(shù)據(jù)采集系統(tǒng)的功能與特點(diǎn),綜合考慮了數(shù)據(jù)采集系統(tǒng)對(duì)數(shù)據(jù)處理的速度、精度和實(shí)時(shí)性等要求,本文設(shè)計(jì)的數(shù)據(jù)采集模塊主要由A/D轉(zhuǎn)換電路、FPGA和PCI總線三大部分組成[3]。具體數(shù)據(jù)采集模塊框圖如圖1所示。

?

1.2 AD7366/AD7367
  AD7366/AD7367[4]是Analog Devices公司生產(chǎn)的8通道、12位/14位、高速、低功耗、單/雙極性轉(zhuǎn)換的高精度串行逐次逼近型ADC,采樣速率最高可達(dá)到1MS/s。在連續(xù)采樣的情況下,完成一次轉(zhuǎn)換的時(shí)間(包括數(shù)據(jù)的讀?。┎粫?huì)超過(guò)1μs。在一般模式下,最低消耗電流為8.3mA;若工作于關(guān)閉模式,消耗電流可降低到320nA。AD7366/AD7367還具有可編程選擇模擬輸入電壓范圍的功能,有3個(gè)不同的輸入范圍可供選擇:±10V、±5V及0~10V。AD7366/AD7367的引腳圖如圖2所示。

?


??? AD7366和AD7367的轉(zhuǎn)換過(guò)程和控制時(shí)序都是一致的,惟一不同的是,AD7366是12位的串行ADC,AD7367是14位的串行ADC,即轉(zhuǎn)換結(jié)果位數(shù)不同。因此,在高速數(shù)據(jù)采集模塊設(shè)計(jì)過(guò)程中,均以AD7366為例來(lái)說(shuō)明。
1.3 存儲(chǔ)器
  綜合考慮了數(shù)據(jù)轉(zhuǎn)換結(jié)果的精度和速度,選擇了FPGA開(kāi)發(fā)板上集成的IS61LV25616AL型SRAM芯片,容量為512KB,字長(zhǎng)為16bit。本系統(tǒng)使用的是12bit的A/D轉(zhuǎn)換器,IS61LV25616AL型SRAM的字長(zhǎng)和容量都能滿足系統(tǒng)要求。IS61LV25616AL型SRAM芯片的讀寫(xiě)主要由控制信號(hào)來(lái)支配,控制信號(hào)主要有:。
2 數(shù)據(jù)采集接口設(shè)計(jì)
2.1 數(shù)據(jù)采集流程
  在整個(gè)數(shù)據(jù)采集接口設(shè)計(jì)中,利用VHDL語(yǔ)言[5]依次實(shí)現(xiàn)了時(shí)鐘匹配、AD7366的啟動(dòng)、查詢和停止,以及數(shù)據(jù)串并轉(zhuǎn)換和數(shù)據(jù)存儲(chǔ)等數(shù)據(jù)采集過(guò)程。具體采集流程圖如圖3所示。

2.2 時(shí)鐘匹配單元設(shè)計(jì)
  電磁層析成像高速數(shù)據(jù)采集系統(tǒng)采用的是CycloneⅡ系列的EP2C35F484C8型FPGA,它提供的時(shí)鐘信號(hào)頻率為50MHz,AD7366/AD7367的最大時(shí)鐘信號(hào)頻率為1MHz,所以必須設(shè)計(jì)相應(yīng)的分頻單元解決AD7366/AD7367與FPGA時(shí)鐘頻率匹配問(wèn)題。分頻的基本原理如下:假設(shè)一個(gè)3位的二進(jìn)制字符串,最先初始化為“0”,然后每來(lái)一個(gè)FPGA時(shí)鐘信號(hào),該字符串自動(dòng)加1,則會(huì)依次出現(xiàn)以下字符串:000,001,010,011,100,101,110,111,000,001……。通過(guò)以上字符串可以看出其規(guī)律:它的最高位由“0”變到“1”和由“1”變到“0”都要經(jīng)過(guò)4個(gè)連續(xù)的FPGA時(shí)鐘信號(hào),并且在這4個(gè)連續(xù)的FPGA時(shí)鐘信號(hào)期間,這個(gè)3位的二進(jìn)制字符串的最高位都恒為“1”或“0”,接收到8個(gè)FPGA時(shí)鐘信號(hào)后才會(huì)接收到1個(gè)二進(jìn)制字符串最高位組成的周期信號(hào)。因此,利用3位的二進(jìn)制字符串的累加實(shí)現(xiàn)8分頻。如果字符串的長(zhǎng)度為n,則可以實(shí)現(xiàn)2n分頻。
??? 綜上所述,為了把FPGA提供的時(shí)鐘信號(hào)頻率50MHz分頻到1MHz以下,解決AD7366/AD7367與FPGA的時(shí)鐘頻率匹配問(wèn)題,可以設(shè)置一個(gè)長(zhǎng)度為6的字符串,實(shí)現(xiàn)64分頻,滿足數(shù)據(jù)采集時(shí)鐘頻率要求。
2.3 AD7366/AD7367時(shí)序控制單元設(shè)計(jì)
??? AD7366/AD7367時(shí)序控制單元主要處理兩種信號(hào):控制信號(hào)和狀態(tài)信號(hào)。AD7366/AD7367的主要控制信號(hào)是轉(zhuǎn)換開(kāi)始信號(hào)和芯片選擇信號(hào)CS,主要狀態(tài)信號(hào)是轉(zhuǎn)換完成信號(hào)BUSY。
??? 利用FPGA提供轉(zhuǎn)換開(kāi)始信號(hào)的下降沿觸發(fā)AD7366/AD7367,開(kāi)啟模數(shù)轉(zhuǎn)換,隨后轉(zhuǎn)換完成信號(hào)BUSY會(huì)自動(dòng)置為高電平。在模數(shù)轉(zhuǎn)換期間,BUSY信號(hào)會(huì)一直保持高電平,直到本次轉(zhuǎn)換完成BUSY信號(hào)才會(huì)再自動(dòng)跳變?yōu)榈碗娖健?IMG src="http://files.chinaaet.com/old/uploadfiles/jishu/jslw/20090505032838546.gif" border=0>下降沿到來(lái)后,再過(guò)兩個(gè)進(jìn)程才重新將信號(hào)置為高電平,保證了t1至少不得短于10ns的要求。然后該代碼又設(shè)置檢測(cè)轉(zhuǎn)換完成的語(yǔ)句,即利用檢測(cè)BUSY信號(hào)的下降沿來(lái)判斷轉(zhuǎn)換是否完成。從開(kāi)啟模數(shù)轉(zhuǎn)換開(kāi)始到完成,一直都將置為高電平,直到檢測(cè)到BUSY信號(hào)的下降沿的到來(lái)后,即代表本次模數(shù)轉(zhuǎn)換已經(jīng)完成后,才將置為低電平,允許轉(zhuǎn)換結(jié)果的輸出。在輸出轉(zhuǎn)換結(jié)果的過(guò)程中,又設(shè)置了相應(yīng)的循環(huán)判斷數(shù)據(jù)是否已經(jīng)輸出完畢。當(dāng)檢測(cè)到結(jié)果輸出完畢時(shí),又將信號(hào)置為高電平,表示本次轉(zhuǎn)換已經(jīng)徹底結(jié)束。如果需要進(jìn)行下一步的模數(shù)轉(zhuǎn)換,則重新進(jìn)行以上操作。
2.4 串并轉(zhuǎn)換單元設(shè)計(jì)
  AD7366/AD7367是串行輸出芯片,為了方便數(shù)據(jù)的存儲(chǔ)和運(yùn)算處理,有必要設(shè)計(jì)一個(gè)串并轉(zhuǎn)換單元實(shí)現(xiàn)串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的功能。
  在高速數(shù)據(jù)采集模塊的設(shè)計(jì)過(guò)程中,為解決串并轉(zhuǎn)換問(wèn)題,采用了移位操作的方法。考慮到AD7366的轉(zhuǎn)換結(jié)果是12位,設(shè)置了一個(gè)13位的移位寄存器,即一個(gè)13位的字符串temp_data_ad66。當(dāng)檢測(cè)到BUSY信號(hào)的下降沿后,在下一個(gè)進(jìn)程開(kāi)始數(shù)據(jù)的串并轉(zhuǎn)換。串并轉(zhuǎn)換的具體操作是:首先對(duì)設(shè)置的移位寄存器temp_data_ad66賦初值“1111111111110”,每當(dāng)來(lái)一個(gè)SCLK的下降沿,把移位寄存器temp_data_ad66的數(shù)值往左平移一位,并把此時(shí)芯片的輸出端DOUTA的輸出結(jié)果放到寄存器temp_data_ad66的最低位,即把移位寄存器temp_data_ad66的原有數(shù)據(jù)的低12位和AD7366輸出端DOUTA的輸出數(shù)據(jù)組合在一起構(gòu)成一個(gè)新的13位的位串存放在移位寄存器temp_data_ad66中。每來(lái)一個(gè)SCLK信號(hào),移位寄存器temp_data_ad66的數(shù)據(jù)則向左移動(dòng)一位,AD7366輸出端DOUTA的輸出數(shù)據(jù)則自動(dòng)依照先后順序存放在寄存器temp_data_ad66的最低位;相應(yīng)地,temp_data_ad66中初始化存放的字符串“1111111111110”中的“1”就會(huì)減少一個(gè),只要檢測(cè)到的SCLK信號(hào)的下降沿總數(shù)少于12個(gè),即移位操作次數(shù)少于12次時(shí),temp_data_ad66的最高位都會(huì)是“1”,不會(huì)是“0”。當(dāng)且僅當(dāng)移位操作次數(shù)等于12次時(shí),其最高位才會(huì)為“0”,同時(shí),此時(shí)寄存器temp_data_ad66的低12位存放的數(shù)據(jù)恰好就是AD7366的轉(zhuǎn)換結(jié)果。據(jù)此,可以通過(guò)檢測(cè)移位寄存器temp_data_ad66的最高位是否為“0”來(lái)判斷串并轉(zhuǎn)換是否結(jié)束。AD7366的輸出端DOUTA是按照依次先輸出高位再輸出低位的順序輸出A/D轉(zhuǎn)換結(jié)果。結(jié)合串并轉(zhuǎn)換過(guò)程可知,當(dāng)串并轉(zhuǎn)換完成時(shí),寄存器temp_data_ad66中存放的數(shù)據(jù)順序正好與A/D轉(zhuǎn)換真實(shí)結(jié)果一致。
2.5 數(shù)據(jù)存儲(chǔ)單元設(shè)計(jì)
  數(shù)據(jù)存儲(chǔ)過(guò)程中,AD7366都被置于關(guān)閉狀態(tài)。在進(jìn)行寫(xiě)操作之前,控制信號(hào)都置為高電平,存儲(chǔ)器停止工作。準(zhǔn)備進(jìn)行寫(xiě)操作時(shí),將控制信號(hào)置為低電平,其他控制信號(hào)仍然保持高電平,同時(shí)向地址輸入線送入數(shù)據(jù)存儲(chǔ)地址。在下一個(gè)進(jìn)程到來(lái)時(shí),把控制信號(hào)也置為低電平,其他控制信號(hào)保持原來(lái)狀態(tài)。SRAM在接收到輸出使能控制信號(hào)WE的下降沿時(shí),通過(guò)地址尋址,自動(dòng)把輸入/輸出總線上的數(shù)據(jù)送到地址線數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)單元,完成數(shù)據(jù)的寫(xiě)操作,下一個(gè)進(jìn)程來(lái)時(shí),把控制信號(hào)再次置為高電平。
3 實(shí)驗(yàn)仿真結(jié)果
  在高速數(shù)據(jù)采集模塊設(shè)計(jì)過(guò)程中,使用的仿真軟件是Altera公司提供的QuartusⅡ開(kāi)發(fā)系統(tǒng)[6]。以下實(shí)驗(yàn)結(jié)果都是以AD7366為例,利用QuartusⅡ仿真得到的。
3.1 實(shí)現(xiàn)時(shí)鐘匹配實(shí)驗(yàn)結(jié)果
  由前面的分析可知,要實(shí)現(xiàn)AD7366與FPGA的時(shí)鐘匹配,需要對(duì)FPGA提供的時(shí)鐘信號(hào)進(jìn)行64分頻。經(jīng)QuartusⅡ仿真實(shí)現(xiàn)了64分頻,clk為FPGA時(shí)鐘信號(hào),clk0為AD7366時(shí)鐘信號(hào),如圖4所示。

?


3.2 AD7366工作時(shí)序仿真結(jié)果
  圖5是AD7366在一個(gè)完整周期內(nèi)的工作時(shí)序仿真圖。

?


3.3 數(shù)據(jù)存儲(chǔ)
  在數(shù)據(jù)存儲(chǔ)過(guò)程中,輸出使能信號(hào)OE始終為高電平。當(dāng)接到A/D傳來(lái)的存儲(chǔ)信號(hào)時(shí),SRAM的片選信號(hào)CE跳變?yōu)榈碗娖?,一個(gè)進(jìn)程后,寫(xiě)使能信號(hào)WE、高低字節(jié)選擇信號(hào)UB和LB都被置為低電平,寫(xiě)數(shù)據(jù)開(kāi)始。具體仿真圖可參見(jiàn)圖5。
  針對(duì)電磁層析成像數(shù)據(jù)采集系統(tǒng)對(duì)數(shù)據(jù)采集速度和精度的要求,設(shè)計(jì)了一套基于FPGA的高速數(shù)據(jù)采集模塊,使用了高速高精度的串行模數(shù)轉(zhuǎn)換器AD7366/AD7367進(jìn)行數(shù)據(jù)轉(zhuǎn)換,利用FPGA編程控制AD7366/AD7367的啟動(dòng)、停止和狀態(tài)查詢,同時(shí)進(jìn)行FPGA與AD7366/AD7367時(shí)鐘匹配、串并轉(zhuǎn)換、高速數(shù)據(jù)緩沖、數(shù)據(jù)存儲(chǔ)等處理,實(shí)現(xiàn)了電磁層析成像(EMT)數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)信息的高速采集,提高了EMT系統(tǒng)數(shù)據(jù)采集模塊的數(shù)據(jù)處理能力和傳輸能力。


參考文獻(xiàn)
[1] ?YU Z Z, PEYTON A J, XU L A, et al. Electromagnetic?inductance tomography(EMT): sensor, electronics and image?reconstruction algorithm for a system with a rotatable?parallel excitation field[J]. IEE Proceedings-Science,?Measurement and Technology, 1998, 145(1):20-25.
[2] ?PEYTON A J, YU Z Z, LYON G, et al. An overview of?electromagnetic inductance tomography: description of three ?different systems[J]. Measurement Science and Technology, ?1996,7(3):261-271.
[3] ?周振安,數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)踐[M].北京:地震出版社,2005.
[4] ?Analog Devices公司.AD7366/AD7367芯片手冊(cè), 2007.
[5] ?潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M]. 北京:科學(xué)出版社,2004.
[6] ?Altera公司. QuartusⅡ使用說(shuō)明. 2003.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。