當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:提出了一種利用ARM和FPGA架構(gòu)實(shí)現(xiàn)對(duì)多通道微應(yīng)變信號(hào)進(jìn)行數(shù)據(jù)采集的系統(tǒng)設(shè)計(jì)方案。通過(guò)FPGA輸出模擬量調(diào)節(jié)和內(nèi)部數(shù)字量調(diào)節(jié)的方法,實(shí)現(xiàn)了對(duì)微應(yīng)變傳感器的零點(diǎn)校準(zhǔn)。可以通過(guò)ARM修改FPGA中的各項(xiàng)采樣參數(shù),如采

摘要:提出了一種利用ARM和FPGA架構(gòu)實(shí)現(xiàn)對(duì)多通道微應(yīng)變信號(hào)進(jìn)行數(shù)據(jù)采集的系統(tǒng)設(shè)計(jì)方案。通過(guò)FPGA輸出模擬量調(diào)節(jié)和內(nèi)部數(shù)字量調(diào)節(jié)的方法,實(shí)現(xiàn)了對(duì)微應(yīng)變傳感器的零點(diǎn)校準(zhǔn)??梢酝ㄟ^(guò)ARM修改FPGA中的各項(xiàng)采樣參數(shù),如采樣率,采樣通道數(shù),起始通道等。詳細(xì)介紹了FPGA內(nèi)部的各功能模塊。應(yīng)用結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定可靠,采集精度高,具有一定的實(shí)用性。

1 引言

數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)測(cè)控系統(tǒng)中不可或缺的組成部分,是影響測(cè)控系統(tǒng)的精度等性能 指標(biāo)的關(guān)鍵因素之一。隨著新的器件不斷推出,新的技術(shù)不斷應(yīng)用,數(shù)據(jù)采集技術(shù)及其相關(guān) 電路得到了迅速的發(fā)展。如何提供更高的采樣速率,更高的精確度和更大的靈活性是當(dāng)前數(shù) 據(jù)采集系統(tǒng)需要解決的問(wèn)題。FPGA 的迅猛發(fā)展,使FPGA 器件性能得到了不斷的提升,已 逐步取代單片機(jī)、DSP,在數(shù)據(jù)采集系統(tǒng)中的得到了廣泛的應(yīng)用[1 ~ 4]。

本系統(tǒng)采集的對(duì)象是微應(yīng)變傳感器,由于微應(yīng)變傳感器自身的制造誤差、貼片產(chǎn)生的初 始應(yīng)力、結(jié)構(gòu)安裝時(shí)產(chǎn)生的附加應(yīng)力等,都會(huì)產(chǎn)生一個(gè)比較大的零點(diǎn),可能超出A/D 芯片 的量程范圍。若這個(gè)零點(diǎn)過(guò)大,會(huì)使得信號(hào)放大器、ADC 的輸出出現(xiàn)飽和現(xiàn)象,使數(shù)據(jù)采 集無(wú)法正常進(jìn)行。通常對(duì)零點(diǎn)的修正有硬件與軟件兩種方法。如果只用軟件測(cè)量校正的辦法 無(wú)法解決ADC 芯片的飽和問(wèn)題,只用硬件解決的話需要的硬件成本較高。因此如何準(zhǔn)確的 測(cè)量微應(yīng)變信號(hào)的零點(diǎn),是本系統(tǒng)需要解決的關(guān)鍵問(wèn)題。

2 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)的采集、處理和存儲(chǔ)功能。整個(gè)系統(tǒng)主要由 Atmel 公司的AT91RM9200 微處理器芯片, Xilinx 公司的FPGA 芯片XC3S200AN, TI 公司的 ADC 芯片TLC2551、DAC 芯片TLV5* 及信號(hào)調(diào)理電路等外圍電路組成。系統(tǒng)硬件簡(jiǎn)圖 如圖1 所示。ARM 輸出控制信號(hào),控制FPGA。當(dāng)ARM 啟動(dòng)FPGA 開(kāi)始數(shù)據(jù)采集后,F(xiàn)PGA 輸出通道地址,經(jīng)過(guò)32 路模擬通道多路開(kāi)關(guān),選擇某一通道,F(xiàn)PGA 控制DAC 芯片輸出模 擬量對(duì)這一通道的輸入量進(jìn)行粗調(diào)零。然后由FPGA 控制ADC 芯片進(jìn)行模數(shù)轉(zhuǎn)換。將轉(zhuǎn)換 得到的12 位數(shù)字量串行輸送給FPGA。在FPGA 內(nèi)部將12 位數(shù)據(jù)由串行改為并行,進(jìn)行細(xì) 調(diào)零等相應(yīng)的數(shù)據(jù)處理,然后加上4 位標(biāo)明通道的數(shù)據(jù)送入FIFO 中。當(dāng)FIFO 達(dá)到半滿時(shí), ARM 將數(shù)據(jù)讀出進(jìn)行相應(yīng)的處理,整個(gè)數(shù)據(jù)采集的過(guò)程完成。


3 FPGA 的功能模塊

FPGA使用的是Xilinx 公司Spartan3AN 系列的XC3S200AN芯片,片內(nèi)集成了4M Flash, 288K 的塊狀RAM,集成密度高,可以將程序直接下載在片內(nèi)ROM 上,無(wú)需片外ROM, 節(jié)省電路板面積。FPGA 在整個(gè)系統(tǒng)中負(fù)責(zé)數(shù)字信號(hào)的采集控制、處理,控制信號(hào)和時(shí)序信 號(hào)的產(chǎn)生,數(shù)據(jù)的緩存和異步輸出,在整個(gè)數(shù)據(jù)采集系統(tǒng)中起到至關(guān)重要的作用。根據(jù)FPGA 的功能,將其模塊化為數(shù)據(jù)處理模塊、時(shí)序控制模塊,通道控制模塊、A/D 和D/A 芯片控 制模塊、異步FIFO 緩存模塊、接口和總線模塊,具體模塊結(jié)構(gòu)如圖2 所示。


(1)接口總線模塊

此模塊負(fù)責(zé) FPGA 和CPU 的通信以及內(nèi)部各模塊之間的通信。CPU 和FPGA 之間通過(guò) 16 位雙向數(shù)據(jù)總線和地址線通信,CPU 向FPGA 輸入讀、寫、復(fù)位、開(kāi)始等控制信號(hào)。FPGA 內(nèi)部各模塊設(shè)計(jì)成可由CPU 讀寫的模塊,直接與內(nèi)部數(shù)據(jù)總線連接。這樣ARM 可以通過(guò) 向各模塊寫入數(shù)值實(shí)時(shí)的改變采樣的各參數(shù),并通過(guò)讀各模塊的參數(shù)實(shí)時(shí)監(jiān)控系統(tǒng)的運(yùn)行狀 態(tài)。由于內(nèi)部各模塊眾多,CPU 與FPGA 之間信息交互頻繁,為了簡(jiǎn)化時(shí)序控制,避免各 模塊之間的競(jìng)爭(zhēng)、冒險(xiǎn),在FPGA 內(nèi)部將16 位雙向數(shù)據(jù)總線獨(dú)立為16 位讀總線(Readbus) 和16 位寫總線(Writebus)。當(dāng)CPU 輸入寫信號(hào)有效時(shí),F(xiàn)PGA 內(nèi)部寫總線從與ARM 通信 的雙向數(shù)據(jù)線讀數(shù),將數(shù)據(jù)送給內(nèi)部各模塊;當(dāng)輸入讀信號(hào)有效時(shí),雙向數(shù)據(jù)總線從內(nèi)部讀 總線讀數(shù),向外輸出給CPU,當(dāng)讀信號(hào)無(wú)效時(shí),內(nèi)部讀總線為高阻狀態(tài)。內(nèi)部各模塊都將 可讀的參數(shù)值輸出到多選一數(shù)據(jù)選擇器,讀總線根據(jù)地址譯碼讀出某個(gè)參數(shù)值送給雙向數(shù)據(jù) 總線輸出。

(2) 時(shí)序控制模塊

此模塊控制通道采樣頻率和內(nèi)部的時(shí)序邏輯,有兩個(gè)主要信號(hào),掃描時(shí)鐘(scan_clock) 和采樣時(shí)鐘(sample_clock),都是由FPGA 主時(shí)鐘分頻而得。scan_clock 為高電平時(shí),對(duì)各 通道信號(hào)采樣保持,ADC 準(zhǔn)備轉(zhuǎn)換。當(dāng)sample_clock 上升沿到來(lái)時(shí),ADC 開(kāi)始轉(zhuǎn)換某一通 道的信號(hào),sample_clock 的下一上升沿到來(lái)時(shí),ADC 轉(zhuǎn)換下一個(gè)通道的信號(hào)。通過(guò)改寫 scan_clock 和sample_clock 可以改變采樣的頻率。由于通道數(shù)也是可以修改的,當(dāng)掃描時(shí)鐘 和采樣時(shí)鐘未變,采樣通道數(shù)由25 變?yōu)?2 個(gè)時(shí),scan_clock 高電平有效時(shí)間被浪費(fèi)。為了 解決這個(gè)問(wèn)題,在設(shè)定的通道數(shù)轉(zhuǎn)換完成后,就將掃描時(shí)鐘置為零,節(jié)省了時(shí)間。如圖3 所示,當(dāng)采樣通道數(shù)設(shè)置為12 時(shí),采樣完第12 個(gè)通道后就將scan_clock 置為零。


(3) 通道控制模塊

此模塊控制通道間的轉(zhuǎn)換,輸出當(dāng)前采樣通道號(hào)。內(nèi)部有通道計(jì)數(shù)器,計(jì)算當(dāng)前的通道 號(hào)。為了減少每一通道所用時(shí)間,當(dāng)A/D 還未結(jié)束時(shí),就提前給通道計(jì)數(shù)器信號(hào)EOC 進(jìn)行 通道轉(zhuǎn)換,AD 轉(zhuǎn)換和通道轉(zhuǎn)換并行進(jìn)行,當(dāng)AD 轉(zhuǎn)換完成時(shí),通道控制模塊也已準(zhǔn)備好當(dāng) 前通道號(hào)。通過(guò)寫數(shù)據(jù)總線向此模塊寫通道控制字可以改變需要采樣的通道個(gè)數(shù),采樣的起 始通道。

(4) 控制AD 和控制DA 模塊

此模塊控制 AD 和DA 芯片,產(chǎn)生使AD 和DA 芯片工作的控制信號(hào)和時(shí)序邏輯。由于 需要采樣的通道數(shù)多,達(dá)25 個(gè),為節(jié)省印制電路板面積和成本,采用單片AD 芯片加多路 模擬開(kāi)關(guān)進(jìn)行模擬數(shù)字量的轉(zhuǎn)換。AD 芯片TLC2551,是TI(Texas Instrument)公司生產(chǎn)的 精度為12 位的,單通道采樣、低功耗芯片。其工作時(shí)序如圖4 所示。時(shí)鐘信號(hào)SCLK、控 制信號(hào)CS 都由FPGA 產(chǎn)生,時(shí)鐘主頻為19.2M,采樣一次需要44 個(gè)時(shí)鐘周期[5]。


DA 芯片采用TI 公司生產(chǎn)的TLV5*,它是一個(gè)帶參考電壓源的8 位DAC,數(shù)字接口為SPI 接口。FPGA 控制DA 芯片,使DAC 的輸出與ADC 輸入模擬電壓相加,抵消輸入的 零點(diǎn),產(chǎn)生0-4.096V 有效輸出送到ADC 輸入端進(jìn)行轉(zhuǎn)換。TLV5* 的工作時(shí)序如圖5 所示。 時(shí)鐘信號(hào)SCLK 和控制信號(hào)CS,信號(hào)FS 由FPGA 產(chǎn)生,每次轉(zhuǎn)換需要16 個(gè)時(shí)鐘周期。

(5) 數(shù)據(jù)處理模塊

由ADC 芯片輸出的12 位串行數(shù)據(jù),經(jīng)過(guò)此模塊,轉(zhuǎn)化為12 位并行數(shù)據(jù),然后完成數(shù) 據(jù)的細(xì)調(diào)零。細(xì)調(diào)零也由FPGA 完成,在數(shù)據(jù)處理模塊中有一片分布式可讀寫的RAM,里 面存儲(chǔ)了由ARM寫入的各通道的零點(diǎn)數(shù)據(jù)。在每個(gè)通道完成ADC 轉(zhuǎn)換時(shí),自動(dòng)由零點(diǎn)RAM 中讀出給定通道的零點(diǎn)數(shù)據(jù),由FPGA 完成減法運(yùn)算,完成細(xì)調(diào)零。

(6) 雙端口異步FIFO 緩存模塊

由于 ARM 和FIFO 的時(shí)鐘不同,ARM 讀速度遠(yuǎn)遠(yuǎn)大于FPGA 采集數(shù)據(jù)的速度,因此設(shè) 計(jì)用FIFO 在ARM 和FPGA 間的跨時(shí)鐘域數(shù)據(jù)傳輸中起緩存的作用。模塊由兩個(gè)深度為8K, 寬度為16 位的異步雙端口FIFO 組成,數(shù)據(jù)存儲(chǔ)總量為256K。若用FPGA 內(nèi)部邏輯資源實(shí) 現(xiàn)FIFO,所有邏輯資源將全被耗盡,因此用芯片內(nèi)部自帶的288K Block Ram 來(lái)實(shí)現(xiàn)。設(shè)計(jì) 中,采用19.2M 主時(shí)鐘做FIFO 的時(shí)鐘,且為上升沿有效。ARM 的讀信號(hào)有時(shí)無(wú)法被時(shí)鐘 上升沿捕捉到,就產(chǎn)生了數(shù)據(jù)傳輸不可靠的問(wèn)題。為解決這個(gè)問(wèn)題,采用握手協(xié)議將讀信號(hào) 延長(zhǎng)。輸入到FIFO 端口的讀信號(hào)一直到時(shí)鐘上升沿有效,才置為低電平,具體如圖6 所示。


需要采集的實(shí)際通道數(shù)為 25 個(gè),需用5 位數(shù)據(jù)標(biāo)明當(dāng)前通道值,AD 轉(zhuǎn)換的有效數(shù)據(jù) 為12 位,而數(shù)據(jù)線為16 位,只有四位數(shù)據(jù)可供通道地址使用。為了完整標(biāo)示當(dāng)前的通道值, 根據(jù)通道值最低位的奇偶性把數(shù)據(jù)分別儲(chǔ)存在FIFO0 和FIFO1 中。這樣CPU 從FIFO0 讀出 的數(shù)據(jù)就是偶數(shù)通道的采樣值,從FIFO1 讀出的數(shù)據(jù)就是奇數(shù)通道的采樣值。

4 ARM 程序的編寫

編程軟件環(huán)境為 CodeWarrior for ARM Developer Suite,編程語(yǔ)言為C 語(yǔ)言。ARM 程序 主要通過(guò)和FPGA 的通信,控制FPGA 進(jìn)行數(shù)據(jù)采集,適時(shí)改變FPGA 的各參數(shù),向FPGA RAM 中寫入粗調(diào)零,細(xì)調(diào)零的數(shù)據(jù),并從FPGA 讀取采樣完的數(shù)據(jù)進(jìn)行相應(yīng)的處理。

5 零點(diǎn)的校準(zhǔn)

FPGA 有兩片專門可讀寫分布式RAM,一片用來(lái)儲(chǔ)存8 位粗調(diào)零的數(shù)據(jù),一片儲(chǔ)存12 位細(xì)調(diào)零的數(shù)據(jù),各通道的通道號(hào)就是調(diào)零數(shù)據(jù)存儲(chǔ)在RAM 中的地址。DAC 的數(shù)據(jù)在通 道轉(zhuǎn)換時(shí),根據(jù)當(dāng)前通道值,從粗調(diào)零分布式RAM 中讀出,寫到DAC 寄存器中,由FPGA 控制DAC 芯片轉(zhuǎn)化成模擬量輸出到ADC 芯片的輸入端,與輸入電壓相加實(shí)現(xiàn)粗調(diào)零。然 后在FPGA 內(nèi)部把轉(zhuǎn)化得到的12 位數(shù)據(jù)減去存儲(chǔ)在RAM 中的細(xì)調(diào)零值,所得的數(shù)據(jù)才是 真正有效的數(shù)據(jù)。

為了確定某一路微應(yīng)變信號(hào)的零點(diǎn),ARM 首先在通道地址寫入數(shù)值0x7F,使DAC 輸 出其可輸出電壓的中間值,然后啟動(dòng)ADC 芯片開(kāi)始轉(zhuǎn)換。此時(shí)的ADC 芯片工作在數(shù)據(jù)直 通模式,轉(zhuǎn)換得到的12 位數(shù)據(jù)不經(jīng)過(guò)數(shù)據(jù)處理和FIFO,直接由數(shù)據(jù)總線傳送給ARM。ARM 根據(jù)讀得的轉(zhuǎn)換值,若發(fā)現(xiàn)依然是過(guò)飽和狀態(tài),則加大寫入粗調(diào)零存儲(chǔ)器的數(shù)值,直到讀得 的ADC 數(shù)據(jù)為正常數(shù)值。DAC 模擬量輸出值加ADC 測(cè)得的模擬量輸入值既是此通道的零 點(diǎn)值。零點(diǎn)確定后,通過(guò)FPGA 輸出模擬量和FPGA 內(nèi)部數(shù)字量調(diào)節(jié)的方式,實(shí)現(xiàn)了8 位 DAC 芯片對(duì)12 位ADC 芯片零點(diǎn)的校準(zhǔn)。

6 結(jié)論

本文介紹了一種基于 FPGA 和ARM 的數(shù)據(jù)采集系統(tǒng)。FPGA 程序全部采用Verilog-HDL 語(yǔ)言自頂向下模塊化編寫,在Xilinx ISE 集成開(kāi)發(fā)環(huán)境下進(jìn)行編譯和仿真,整個(gè)系統(tǒng)和所有 功能模塊均可在符合條件的FPGA 產(chǎn)品中應(yīng)用,具有良好的可移植性。已應(yīng)用在某機(jī)載數(shù) 據(jù)采集儀中,獲得了很好的應(yīng)用效果。

本文的創(chuàng)新點(diǎn)在于用 FPGA 芯片通過(guò)模擬量調(diào)節(jié)和數(shù)字量調(diào)節(jié)的方法,用較低的成本 實(shí)現(xiàn)了對(duì)微應(yīng)變數(shù)據(jù)的零點(diǎn)校準(zhǔn),提高了采集的精度。并且ARM 和FPGA 的交互,實(shí)現(xiàn)了 可由ARM 在線實(shí)時(shí)改寫和監(jiān)控FPGA 中的各項(xiàng)采集參數(shù),無(wú)需對(duì)FPGA 芯片重新下載編程, 大大提高了數(shù)據(jù)采集系統(tǒng)的靈活性。



參考文獻(xiàn):

[1].AT91RM9200 datasheethttp://www.dzsc.com/datasheet/AT91RM9200+_143939.html.
[2].TLC2551datasheethttp://www.dzsc.com/datasheet/TLC2551_1095377.html.
[3].ROM datasheethttp://www.dzsc.com/datasheet/ROM+_1188413.html.
[4].DA datasheethttp://www.dzsc.com/datasheet/DA+_1093508.html.


來(lái)源:xiaobai0次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉