基于STM32和μC/OS-II的嵌入式數(shù)字示波器設(shè)計
摘要:提出了一種基于嵌入式技術(shù)的嵌入式數(shù)字示波器設(shè)計方法,硬件設(shè)計以STM32為主控核心,采用高性能低噪聲的AD8066電壓反饋性放大器、壓控增益放大器AD603和雙路D/A轉(zhuǎn)換器TLV5618A組成程控放大電路,并采用高速帶寬A/D轉(zhuǎn)換器和IDT7204高速緩存器組成數(shù)字采集電路,以TFT彩屏輸出信號波形。軟件設(shè)計移植開源的實時操作系統(tǒng)μC/OS-II系統(tǒng),確保了系統(tǒng)的實時性和穩(wěn)定性。實驗結(jié)果表明設(shè)計思路正確,性能參數(shù)達(dá)到設(shè)計要求。
本文引用地址:http://butianyuan.cn/article/201610/305873.htm0 引言
嵌入式數(shù)字示波器是近年來發(fā)展起來的一種集顯示、測量、運算、分析、記錄等多種功能于一體的智能化測量終端設(shè)備。憑借其強大的性能優(yōu)勢,己逐步取代傳統(tǒng)模擬示波器。當(dāng)前國內(nèi)通用的數(shù)字示波器多數(shù)采用51單片機、FPGA、DSP等結(jié)構(gòu)。但是51單片機處理能力有限,無法實現(xiàn)數(shù)字示波器的基本指標(biāo),F(xiàn)PGA雖然能深入開發(fā)數(shù)字示波器,然而,其成本偏高,即使加入SOPC軟核,其軟件壓力也很大。
本設(shè)計選用ARM處理器中基于Cortex-M3內(nèi)核的32位STM32F103VCT6作為主控芯片。該芯片內(nèi)部集成了16通道的12位高精度A/D轉(zhuǎn)換器,轉(zhuǎn)換時間僅為1μs,而且STM32芯片具省電模式,功耗低,與傳統(tǒng)MCU相比,其在性能和處理能力上都比較符合本設(shè)計要求。
1 系統(tǒng)設(shè)計方案
1.1 系統(tǒng)工作原理
數(shù)字示波器的工作原理可以用圖1來描述,當(dāng)輸入被測信號從無源探頭進(jìn)入到數(shù)字示波器,首先通過的是示波器的信號調(diào)理模塊,由于后續(xù)的A/D轉(zhuǎn)換器對其測量電壓有一個規(guī)定的量程范圍,所以,示波器的信號調(diào)理模塊就是負(fù)責(zé)對輸入信號的預(yù)先處理,通過放大器放大或者通過衰減網(wǎng)絡(luò)衰減到一定合適的幅度,然后才進(jìn)入A/D轉(zhuǎn)換器。在這一階段,微控制器可設(shè)置放大和衰減的倍數(shù)來讓用戶選擇調(diào)整信號的幅度和位置范圍。
在A/D采樣模塊階段,信號實時在離散點采樣,采樣位置的信號電壓轉(zhuǎn)換為數(shù)字值,而這些數(shù)字值成為采樣點。該處理過程稱為信號數(shù)字化。A/D采為采樣速率,表示為樣值每秒(S/s)。A/D轉(zhuǎn)換器最終將輸入信號轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),傳送給捕獲存儲區(qū)。被測的模擬信號在顯示之前要通過微處理器的處理,微處理器處理信號,包括獲取信號的電壓峰峰值、有效值、周期、頻率、上升時間、相位、延遲、占空比、均方值等信息,然后調(diào)整顯示運行。最后,信號通過顯示器的顯存顯示在屏幕上。
1.2 系統(tǒng)設(shè)計框圖
微處理器采用意法半導(dǎo)體的32位處理器STM32F103VET6,其內(nèi)部是ARM公司的Conex—M3內(nèi)核,工作主頻最高可達(dá)72MHz,再在其上面移植開源的實時操作系統(tǒng)C/OS—II,確保系統(tǒng)的實時性和穩(wěn)定性。由于高速A/D轉(zhuǎn)換器的速度太快,STM32處理數(shù)據(jù)的速度跟不上,所以在中間加入FIFO高速緩存器。利用STM32內(nèi)部自帶的FSMC(靈活的靜態(tài)存儲器控制器)來控制TFT液晶屏刷新波形,可實現(xiàn)更高頻率的信號的波形刷新和顯示。此為,利用STM32的高級定時器可輸出高達(dá)12MHz的時鐘,可以作為高速A/D轉(zhuǎn)換器的采樣時鐘和FIFO存儲器的控制時鐘,從而避免了一大堆由有源晶振和數(shù)字芯片組成的時鐘電路,系統(tǒng)框圖如圖2所示。
1.3 程控放大電路設(shè)計
本設(shè)計的程控放大電路如圖3所示,衰減后的信號先經(jīng)過的是由高性能、低噪聲的電壓反饋型放大器AD8066組成的電壓跟隨器,然后經(jīng)過限流電阻R進(jìn)入到壓控增益放大器AD603。AD603是ADI公司生產(chǎn)的低噪聲、90MHz帶寬的可變增益放大器,增益以dB為線性,經(jīng)過精密校準(zhǔn),而且不隨溫度和電源電壓而變化。增益由高阻抗(50M Ω)、低偏置(200nA)差分輸入控制;比例因子為25mV/dB,因此僅需要1V的增益控制電壓就能覆蓋增益范圍的中間40 dB。所以改變AD603的控制電壓即可改變該器件的放大倍數(shù)。1號引腳恒定輸入1.25V電壓,2號引腳的電壓由一片D/A轉(zhuǎn)換器TLV5618A來輸出。
由于后級A/D轉(zhuǎn)換器ADS830的輸入模擬電壓范圍是1.5~3.5V,基線輸入電壓是2.5V,為了盡量利用A/D轉(zhuǎn)換器的量程,所以需要給前端輸入的模擬信號加上2.5V的偏置電壓。雙路D/A轉(zhuǎn)換器TLN5618A的另外一路輸出OUTB就是為了給輸入信號加入2.5V的偏置電壓而設(shè)計的。同樣的,為了保證這2.5V電壓的穩(wěn)定,中間加入反相電壓跟隨器。
1.4 數(shù)字采集電路設(shè)計
本設(shè)計的數(shù)字采集電路如圖4所示,從程控放大電路輸出的信號在進(jìn)入A/D前先進(jìn)入的是截止頻率為66MHz的低通濾波器,因為所用A/D轉(zhuǎn)換器ADS830的最大采樣頻率是60MHz,所以它理論上能采集到的最大信號就是60MHz,為了避免更高頻率的噪聲影響A/D轉(zhuǎn)換器工作,所以要設(shè)計這樣一個低通濾波器。A/D轉(zhuǎn)換器ADS830是德州儀器公司的一個8位分辨率高速A/D轉(zhuǎn)換器,其采樣頻率范圍是10kSa/s~60MSa/s。它的參考電壓源可選擇為內(nèi)部參考和外部參考,這里為了簡化設(shè)計,選用它的內(nèi)部參考電壓源。
雖然STM32主頻最高高達(dá)72MHz,但是在程序里對A/D轉(zhuǎn)換器采集回來的數(shù)據(jù)的處理速度實際上是比不上ADS830的60MHz采樣頻率的,所以為了緩沖高速數(shù)據(jù),中間加入高速緩存器IDT7204。IDT7204是雙口的SRAM,F(xiàn)IFO存儲器,工作方式是不依靠地址線,隨著寫入或讀取信號來對數(shù)據(jù)指針進(jìn)行遞加或遞減,來實現(xiàn)對數(shù)據(jù)的尋址。IDT7204的存儲深度是4K字節(jié),有三個存儲標(biāo)志,這里用到了它的“數(shù)據(jù)滿標(biāo)志FF”,當(dāng)微處理器STM32讀取FF標(biāo)志,如果為低電平,證明FIFO存儲器已經(jīng)讀取了4096個ADS830的數(shù)據(jù),然后暫停對A/D轉(zhuǎn)換器數(shù)據(jù)的讀取。微處理器STM32處理當(dāng)前存儲區(qū)的數(shù)據(jù);等待出來完畢,再次讓IDT7204讀取ADS830的數(shù)據(jù),如此循環(huán)即可得到當(dāng)前示波器輸入信號的完整波形數(shù)據(jù)。
評論