數字示波器之DMA高速數據采集方案設計
本刊前兩期給出了數字示波器DIY制作方案,第一篇集中介紹了LCD繪圖顯示,第二篇介紹了模擬信號調理,完成這些內容學(xué)習之后,讀者可能會(huì )發(fā)現一個(gè)致命的問(wèn)題,那就是高速數據采集,前面給出的方案是基于MCU控制的ADC,這種方案致命的缺陷是數據采集的速度慢,對頻率稍高的信號無(wú)法有效采樣,本篇將介紹一種MCU加CPLD控制的DMA高速數據采樣方案。
本文引用地址:http://dyxdggzs.com/article/201701/337769.htm一、傳統低速數據采集
傳統MCU控制的ADC數據采集原理框圖如圖1所示,MCU運行驅動(dòng)程序控制ADC循環(huán)轉換,每次轉換通常由啟動(dòng)、查詢(xún)等待、讀取數據、寫(xiě)入RAM幾個(gè)過(guò)程,每一個(gè)過(guò)程都需要CPU執行若干指令來(lái)實(shí)現,這樣的數據采集不僅受ADC速度,尤其是受到MCU運行速度影響,通常只能做低速數據采集。
二、DMA數據采集
DMA也就是DirectMemoryAccess簡(jiǎn)稱(chēng),是直接內存存取的意思,DMA的主要優(yōu)勢是可在無(wú)CPU干涉的情況下進(jìn)行數據的交換,可以將ADC的速度發(fā)揮到極致?;贛CU加CPLD控制的DMA原理框圖如圖2所示。MCU通過(guò)對CPLD的控制,實(shí)現讓出數據總線(xiàn),由CPLD時(shí)序邏輯電路控制AD循環(huán)轉換并將結果直接存儲到RAM中,這個(gè)循環(huán)過(guò)程是純硬件電路實(shí)現的,因此速度快,不受MCU速度影響。MCU查詢(xún)到一幀數據采集完成后,再奪回數據總線(xiàn),從RAM中讀取數據,處理數據并顯示波形。
下面我們結合具體的器件來(lái)介紹這種DMA方案,ADC器件選擇TLC5510,RAM選擇UT62256,32KSRAM。
TLC5510是美國德州儀器公司生產(chǎn)的8位半閃速結構模數轉換器,它采用CMOS工藝制造,可提供最小20Msps的采樣率。
TLC5510的工作時(shí)序圖如圖3所示,時(shí)鐘信號CLK在每一個(gè)下降沿采集模擬輸入信號。第N次采集的數據經(jīng)過(guò)2.5個(gè)時(shí)鐘周期的延遲之后,在時(shí)鐘上升沿將轉換得到的結果送到內部數據總線(xiàn)上,在時(shí)鐘其他時(shí)間段數據保持不變??梢钥吹?,該器件可以在20MHz時(shí)鐘信號驅動(dòng)下以20MHz的采樣率采集數據,平均獲得一個(gè)數據只要0.05μs。
RAM數據寫(xiě)入時(shí)序圖如圖4所示。RAM的寫(xiě)入條件是具備確定的地址ADDR,CE=0,WE=0,OE=1;數據線(xiàn)上的數據將被寫(xiě)入RAM內部相應的單元。
綜合TLC5510的工作時(shí)序和RAM的寫(xiě)入時(shí)序,提出如圖5所示的驅動(dòng)過(guò)程?;谕粋€(gè)時(shí)鐘信號驅動(dòng),在時(shí)鐘下降沿①、低電平②、上升沿③、高電平④4個(gè)節拍中,同步實(shí)現AD轉換和數據寫(xiě)入RAM。
評論