數(shù)字示波器之DMA高速數(shù)據(jù)采集方案設(shè)計(jì)
本刊前兩期給出了數(shù)字示波器DIY制作方案,第一篇集中介紹了LCD繪圖顯示,第二篇介紹了模擬信號(hào)調(diào)理,完成這些內(nèi)容學(xué)習(xí)之后,讀者可能會(huì)發(fā)現(xiàn)一個(gè)致命的問題,那就是高速數(shù)據(jù)采集,前面給出的方案是基于MCU控制的ADC,這種方案致命的缺陷是數(shù)據(jù)采集的速度慢,對(duì)頻率稍高的信號(hào)無法有效采樣,本篇將介紹一種MCU加CPLD控制的DMA高速數(shù)據(jù)采樣方案。
本文引用地址:http://m.butianyuan.cn/article/201701/337769.htm一、傳統(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ù)、寫入RAM幾個(gè)過程,每一個(gè)過程都需要CPU執(zhí)行若干指令來實(shí)現(xiàn),這樣的數(shù)據(jù)采集不僅受ADC速度,尤其是受到MCU運(yùn)行速度影響,通常只能做低速數(shù)據(jù)采集。
二、DMA數(shù)據(jù)采集
DMA也就是DirectMemoryAccess簡(jiǎn)稱,是直接內(nèi)存存取的意思,DMA的主要優(yōu)勢(shì)是可在無CPU干涉的情況下進(jìn)行數(shù)據(jù)的交換,可以將ADC的速度發(fā)揮到極致?;贛CU加CPLD控制的DMA原理框圖如圖2所示。MCU通過對(duì)CPLD的控制,實(shí)現(xiàn)讓出數(shù)據(jù)總線,由CPLD時(shí)序邏輯電路控制AD循環(huán)轉(zhuǎn)換并將結(jié)果直接存儲(chǔ)到RAM中,這個(gè)循環(huán)過程是純硬件電路實(shí)現(xiàn)的,因此速度快,不受MCU速度影響。MCU查詢到一幀數(shù)據(jù)采集完成后,再奪回?cái)?shù)據(jù)總線,從RAM中讀取數(shù)據(jù),處理數(shù)據(jù)并顯示波形。
下面我們結(jié)合具體的器件來介紹這種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)過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ù)寫入時(shí)序圖如圖4所示。RAM的寫入條件是具備確定的地址ADDR,CE=0,WE=0,OE=1;數(shù)據(jù)線上的數(shù)據(jù)將被寫入RAM內(nèi)部相應(yīng)的單元。
綜合TLC5510的工作時(shí)序和RAM的寫入時(shí)序,提出如圖5所示的驅(qū)動(dòng)過程?;谕粋€(gè)時(shí)鐘信號(hào)驅(qū)動(dòng),在時(shí)鐘下降沿①、低電平②、上升沿③、高電平④4個(gè)節(jié)拍中,同步實(shí)現(xiàn)AD轉(zhuǎn)換和數(shù)據(jù)寫入RAM。
評(píng)論