數(shù)字示波器之DMA高速數(shù)據(jù)采集方案設(shè)計(jì)
出處:niao0311 發(fā)布于:2011-09-19 17:17:02
本刊前兩期給出了數(shù)字示波器DIY制作方案,篇集中介紹了LCD繪圖顯示,第二篇介紹了模擬信號(hào)調(diào)理,完成這些內(nèi)容學(xué)習(xí)之后,讀者可能會(huì)發(fā)現(xiàn)一個(gè)致命的問(wèn)題,那就是高速數(shù)據(jù)采集,前面給出的方案是基于MCU控制的ADC,這種方案致命的缺陷是數(shù)據(jù)采集的速度慢,對(duì)頻率稍高的信號(hào)無(wú)法有效采樣,本篇將介紹一種MCU加CPLD控制的DMA高速數(shù)據(jù)采樣方案。
一、傳統(tǒng)低速數(shù)據(jù)采集
傳統(tǒng)MCU控制的ADC數(shù)據(jù)采集原理框圖如圖1所示,MCU運(yùn)行驅(qū)動(dòng)程序控制ADC循環(huán)轉(zhuǎn)換,每次轉(zhuǎn)換通常由啟動(dòng)、查詢等待、讀取數(shù)據(jù)、寫(xiě)入RAM幾個(gè)過(guò)程,每一個(gè)過(guò)程都需要CPU執(zhí)行若干指令來(lái)實(shí)現(xiàn),這樣的數(shù)據(jù)采集不僅受ADC速度,尤其是受到MCU運(yùn)行速度影響,通常只能做低速數(shù)據(jù)采集。

二、DMA數(shù)據(jù)采集
DMA也就是DirectMemoryAccess簡(jiǎn)稱,是直接內(nèi)存存取的意思,DMA的主要優(yōu)勢(shì)是可在無(wú)CPU干涉的情況下進(jìn)行數(shù)據(jù)的交換,可以將ADC的速度發(fā)揮到?;贛CU加CPLD控制的DMA原理框圖如圖2所示。MCU通過(guò)對(duì)CPLD的控制,實(shí)現(xiàn)讓出數(shù)據(jù)總線,由CPLD時(shí)序邏輯電路控制AD循環(huán)轉(zhuǎn)換并將結(jié)果直接存儲(chǔ)到RAM中,這個(gè)循環(huán)過(guò)程是純硬件電路實(shí)現(xiàn)的,因此速度快,不受MCU速度影響。MCU查詢到一幀數(shù)據(jù)采集完成后,再奪回?cái)?shù)據(jù)總線,從RAM中讀取數(shù)據(jù),處理數(shù)據(jù)并顯示波形。

下面我們結(jié)合具體的器件來(lái)介紹這種DMA方案,ADC器件選擇TLC5510,RAM選擇UT62256,32KSRAM。
TLC5510是美國(guó)德州儀器公司生產(chǎn)的8位半閃速結(jié)構(gòu)模數(shù)轉(zhuǎn)換器,它采用CMOS工藝制造,可提供20Msps的采樣率。
TLC5510的工作時(shí)序圖如圖3所示,時(shí)鐘信號(hào)CLK在每一個(gè)下降沿采集模擬輸入信號(hào)。第N次采集的數(shù)據(jù)經(jīng)過(guò)2.5個(gè)時(shí)鐘周期的延遲之后,在時(shí)鐘上升沿將轉(zhuǎn)換得到的結(jié)果送到內(nèi)部數(shù)據(jù)總線上,在時(shí)鐘其他時(shí)間段數(shù)據(jù)保持不變。可以看到,該器件可以在20MHz時(shí)鐘信號(hào)驅(qū)動(dòng)下以20MHz的采樣率采集數(shù)據(jù),平均獲得一個(gè)數(shù)據(jù)只要0.05μs。

RAM數(shù)據(jù)寫(xiě)入時(shí)序圖如圖4所示。RAM的寫(xiě)入條件是具備確定的地址ADDR,CE=0,WE=0,OE=1;數(shù)據(jù)線上的數(shù)據(jù)將被寫(xiě)入RAM內(nèi)部相應(yīng)的單元。

綜合TLC5510的工作時(shí)序和RAM的寫(xiě)入時(shí)序,提出如圖5所示的驅(qū)動(dòng)過(guò)程?;谕粋€(gè)時(shí)鐘信號(hào)驅(qū)動(dòng),在時(shí)鐘下降沿①、低電平②、上升沿③、高電平④4個(gè)節(jié)拍中,同步實(shí)現(xiàn)AD轉(zhuǎn)換和數(shù)據(jù)寫(xiě)入RAM。

數(shù)據(jù)寫(xiě)入RAM后,還要能夠被MCU從RAM中獲取,RAM數(shù)據(jù)讀出時(shí)序如圖6所示。

從圖中看出,當(dāng)CE=0;OE=0時(shí),RAM將地址選擇的內(nèi)部單元數(shù)據(jù)輸出到數(shù)據(jù)總線從而可以被MCU讀取。
這里有一個(gè)問(wèn)題要考慮清楚,為了實(shí)現(xiàn)ADC結(jié)果直接存入RAM,已經(jīng)將5510的數(shù)據(jù)線和RAM的數(shù)據(jù)線直接相連了,現(xiàn)在還要將MCU的數(shù)據(jù)線和RAM的數(shù)據(jù)線相連,會(huì)不會(huì)出現(xiàn)數(shù)據(jù)沖突?其實(shí)只要器件數(shù)據(jù)線具有三態(tài)功能,就能夠?qū)崿F(xiàn)數(shù)據(jù)線分時(shí)復(fù)用,通過(guò)控制電路實(shí)現(xiàn)數(shù)據(jù)總線上某階段只能有一個(gè)數(shù)據(jù)輸出源,例如當(dāng)ADC直接給RAM存入數(shù)據(jù)時(shí),MCU要讓出數(shù)據(jù)總線,當(dāng)MCU讀取RAM數(shù)據(jù)時(shí),ADC要高阻態(tài)隔離數(shù)據(jù)總線。
三、控制電路設(shè)計(jì)
控制電路原理如圖7所示,在MCU的控制下,RAM和ADC的控制信號(hào)通過(guò)多路選擇器選擇與MCU總線模式或DMA模式相連,這兩種模式被MCU完全控制,可以自由切換,當(dāng)選擇DMA模式時(shí),MCU首先要讓出數(shù)據(jù)總線,確保ADC與RAM占用數(shù)據(jù)總線,此時(shí),RAM的地址由地址計(jì)數(shù)器產(chǎn)生,RAM_CE=0(片選有效);RAM_OE=1(禁止讀);ADC_OE=0(內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)直接輸出到外部數(shù)據(jù)總線上);RAM_WE與ADC_CLK、地址計(jì)數(shù)器共用同一時(shí)鐘信號(hào),按圖5中4節(jié)拍實(shí)現(xiàn)AD轉(zhuǎn)換后數(shù)據(jù)直接存儲(chǔ)到RAM中,DMA過(guò)程在MCU清零地址計(jì)數(shù)器后開(kāi)始,沒(méi)一個(gè)時(shí)鐘周期AD輸出一個(gè)數(shù)據(jù)直接存入RAM,同時(shí)地址計(jì)數(shù)器加1,當(dāng)?shù)刂酚?jì)數(shù)器溢出后被MCU檢測(cè)到則表示一幀數(shù)據(jù)采集完成。
一幀數(shù)據(jù)采集完成后,MCU切換到MCU總線模式讀取RAM的結(jié)果,這時(shí)RAM_CE=0(或接MCU地址引腳);RAM_OE=RD(MCU讀控制信號(hào));ADC_OE=1(禁止ADC數(shù)據(jù)占用數(shù)據(jù)線);RAM_WE=WR,ADC_CLK=0,這時(shí)MCU可以自由讀取RAM。
圖7所示邏輯電路用硬件描述語(yǔ)言在CPLD上實(shí)現(xiàn)非常方便,請(qǐng)讀者吸收DMA設(shè)計(jì)思路后自己完成電路設(shè)計(jì)。

四、結(jié)束語(yǔ)
筆者完成的DMA高速數(shù)據(jù)采集卡對(duì)2MHz、1MHz的正弦信號(hào)采樣并繪圖效果如圖8(a)、(b)所示。對(duì)于低于1MHz的正弦信號(hào)采集后能夠非常光滑清晰的還原出正弦波形。在CPLD內(nèi)部時(shí)鐘分頻后還可以實(shí)現(xiàn)多頻點(diǎn)采樣,例如20MHz采樣,10MHz采樣,1MHz采樣。

版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開(kāi)關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見(jiàn)問(wèn)題分析









