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