張?zhí)旌啤洮摗≈苷?/p>
摘 要 隨著電子行業(yè)飛速發(fā)展,電子開(kāi)發(fā)工程師數(shù)量急劇上升。在這樣一個(gè)關(guān)鍵的市場(chǎng)領(lǐng)域中,人們常常將示波器稱(chēng)為電子工程師的“武器”。電子初學(xué)者、學(xué)生、以及很多電子愛(ài)好者而言,示波器也是常用工具,但是示波器的價(jià)格卻十分昂貴,好的十多萬(wàn),一般的也要近萬(wàn)元。這讓很多電子愛(ài)好者望而卻步,尤其是學(xué)生。基于此,一款低成本高性能的示波器體現(xiàn)出了他獨(dú)特的優(yōu)勢(shì)。傳統(tǒng)的虛擬示波器需要高帶寬、高采樣率的芯片、高速ADC,以及DSP數(shù)字信號(hào)處理芯片。而本文設(shè)計(jì)的示波器減少了這些昂貴硬件的使用,通過(guò)FPGA可編程邏輯器件和高速代替昂貴的采集硬件,通過(guò)高速AD芯片ADS830檢測(cè)到數(shù)據(jù)傳輸?shù)紽PGA內(nèi)部FIFO中,再經(jīng)過(guò)觸發(fā)條件發(fā)送到STM32單片機(jī)并將繪制的波形顯示在TFT屏幕上。基于STM32的手持示波器儲(chǔ)存深度更大,在去掉了傳統(tǒng)虛擬示波器中的電子槍、偏轉(zhuǎn)板等器件后,PCB的設(shè)計(jì)更加小巧緊湊,大大的提升了便攜性,并保證了其效果和性能。
關(guān)鍵詞 STM32 FPGA DSP ADS830 數(shù)字示波器
中圖分類(lèi)號(hào):TM935.3 文獻(xiàn)標(biāo)識(shí)碼:A
1硬件電路設(shè)計(jì)STM32主控工作電路
考慮到本系統(tǒng)設(shè)計(jì)中對(duì)主控處理器的資源、速度、穩(wěn)定性等有一定的要求,因此選用了內(nèi)核為ARM CORTEX-M3位內(nèi)核的STM32F103C8T6芯片作為主控制器芯片。這個(gè)主控芯片具有32位的帶寬,相比于51單片機(jī)其最高處理速度有72MHz。并有48個(gè)外部引腳,64kb的存儲(chǔ)容量和20kb的數(shù)據(jù)存儲(chǔ)空間。其從資源到性能均可以實(shí)現(xiàn)本電路需要實(shí)現(xiàn)的功能。
1.1高速AD采集電路
由于單片機(jī)只能讀取數(shù)字信號(hào),而不能進(jìn)行模擬量讀取,在本系統(tǒng)中示波器的采集電路需要對(duì)電子線(xiàn)路中的信號(hào)進(jìn)行采集,將連續(xù)的模擬量轉(zhuǎn)換成離散的0,1數(shù)據(jù),這就需要有一個(gè)芯片來(lái)對(duì)模擬量進(jìn)行采集、量化和編碼最終傳送給單片機(jī)進(jìn)行讀取和處理。根據(jù)系統(tǒng)設(shè)計(jì)的要求,選擇了一款TI公司生產(chǎn)的專(zhuān)為數(shù)字示波器設(shè)計(jì)的數(shù)模(A/D)轉(zhuǎn)換器ADS830E。其是一款高性能的AD轉(zhuǎn)換芯片,信噪比可以達(dá)到49.5db,采樣頻為60MHz,支持單極性和雙極性信號(hào)輸入,信號(hào)輸入范圍為1.5v-3.5v。為提高信號(hào)穩(wěn)定性,選用雙路運(yùn)算放大器OPA2356和LM358來(lái)對(duì)采集的信號(hào)進(jìn)行衰減和調(diào)理。
1.2 FPGA核心工作電路
本系統(tǒng)設(shè)計(jì)選擇了阿爾特拉公司的Cyclone系列EP1C3100核心的FPGA芯片,其擁有高達(dá)294912位RAM,支持LVTTL,LVCOMS,SSTL-2,SSTL-3的IO標(biāo)準(zhǔn)。擁有最多八個(gè)全局時(shí)鐘線(xiàn)和六個(gè)可用的時(shí)鐘資源。內(nèi)核供電電壓為1.5v,EP1C3系列芯片只有一個(gè)鎖相環(huán)PLL,用于一個(gè)時(shí)鐘和一個(gè)專(zhuān)用收雙倍數(shù)據(jù)速率接口,以滿(mǎn)足DRAM和快速周期RAM內(nèi)存需求。擁有104個(gè)用戶(hù)I/O引腳并支持多種I/O標(biāo)準(zhǔn)。
FPGA的基本工作電路有主控芯片、下載電路、晶振電路、電源濾波電路組成。由于FPGA芯片特性下載電路采用了AS和JTAG的組合下載電路,通過(guò)串行配置器件EPCS與AS連接的組合下載接口,將下載線(xiàn)連接到AS接口來(lái)完成對(duì)POF文件的下載。由于FPGA芯片中JTAG接口協(xié)議的特性,下載測(cè)試的配置文件會(huì)在主控芯片掉電之后消失,這樣就在開(kāi)發(fā)測(cè)試階段通過(guò)JTAG接口進(jìn)行測(cè)試。晶振電路在本系統(tǒng)設(shè)計(jì)中由于對(duì)時(shí)序要求比較高就選擇了50M的有源晶振。由于FPGA芯片本身需要多種電壓供電,如PLL供電,I/O口供電,核心供電等都需要不同的電壓供電,這樣穩(wěn)定而且較少紋波的供電電壓也成了組成整體電路的重要部分。
1.3屏幕顯示電路
為了節(jié)約系統(tǒng)資源,本設(shè)計(jì)采用I2C協(xié)議的串口屏多為0.96小尺寸的OLED屏幕,雖然OLED屏幕由于自發(fā)光的特性不需要背光源并且有很高的對(duì)比度和很大的可視角度,但是由于屏幕尺寸較小不適合用來(lái)顯示波形參數(shù)等信息。所以綜合所有信息,本系統(tǒng)選擇了SPI協(xié)議的TFT液晶屏。這里選擇了以ADS7843為驅(qū)動(dòng)芯片的2.4寸TFT屏幕,分辨率為240*320。既保證了能夠清晰顯示所需繪制的波形及波形信息,又能兼顧本設(shè)計(jì)作品的便攜性。
2手持示波器的軟件設(shè)計(jì)
2.1軟件總體設(shè)計(jì)及流程
在系統(tǒng)軟件設(shè)計(jì)時(shí),做好規(guī)整的系統(tǒng)軟件框架可以讓自己在完成程序設(shè)計(jì)后更容易進(jìn)行調(diào)試修改和增加新功能。并且由于軟硬件調(diào)試時(shí)間比較長(zhǎng),在保存和修改時(shí)要按照日期和版本規(guī)范編寫(xiě)程序名稱(chēng)并在程序中標(biāo)注好出現(xiàn)的問(wèn)題,所有的子函數(shù)都規(guī)范命名,以便自己在之后的調(diào)試中能夠最快時(shí)間看懂程序并上手修改。
在整個(gè)系統(tǒng)流程中,首先被測(cè)信號(hào)在經(jīng)過(guò)衰減和調(diào)整后進(jìn)入ADS830數(shù)模轉(zhuǎn)換器中,之后通過(guò)FPGA內(nèi)部開(kāi)辟的FIFO進(jìn)行緩存,將高速AD采集的數(shù)據(jù)緩存后,根據(jù)觸發(fā)條件發(fā)送到STM32單片機(jī)內(nèi),最后通過(guò)TFT屏幕將接收到的數(shù)據(jù)繪制成波形并顯示出來(lái)。
2.2初始化程序流程
在本系統(tǒng)設(shè)計(jì)中,需要對(duì)STM32引腳配置的初始化,也要對(duì)FPGA及高速AD采集、屏幕等外設(shè)器件進(jìn)行初始化。FPGA需要對(duì)讀取數(shù)據(jù)端口、讀取端口時(shí)鐘等等進(jìn)行初始化。屏幕需要將引腳配置、控制命令、屏幕設(shè)置、清屏等進(jìn)行初始化,并且在程序中加入一定的延時(shí)使其達(dá)到主控的時(shí)序,實(shí)現(xiàn)TFT顯示屏的初始化。
參考文獻(xiàn)
[1] 盧貺.基于TLC5510的手持示波器設(shè)計(jì)[J].襄陽(yáng)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2018,17(05):53-56.
[2] 屈歡.基于Android平臺(tái)的無(wú)線(xiàn)數(shù)字示波器設(shè)計(jì)[D].成都:電子科技大學(xué),2013.