《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的便攜式多功能數(shù)字示波器設(shè)計(jì)
基于STM32的便攜式多功能數(shù)字示波器設(shè)計(jì)
2015年微型機(jī)與應(yīng)用第15期
劉 帥,,張浩然
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,,浙江 金華321004)
摘要: 本設(shè)計(jì)是基于STM32平臺(tái),移植μC/OS-Ⅱ嵌入式操作系統(tǒng)和μCGUI嵌入式應(yīng)用圖形支持系統(tǒng),,形成一個(gè)完善的有人機(jī)接口的實(shí)時(shí)嵌入式系統(tǒng),,在這個(gè)平臺(tái)上設(shè)計(jì)制作一個(gè)便攜式多功能數(shù)字示波器,,采用STM32高性能ARM處理器作為核心控制芯片,顯示器選用TFT真彩液晶,。實(shí)時(shí)性高,,人機(jī)界面友好,,具有很好的推廣使用價(jià)值,可廣泛應(yīng)用于信號(hào)采集,、工程實(shí)踐等領(lǐng)域,。
Abstract:
Key words :

  摘  要: 本設(shè)計(jì)是基于STM32平臺(tái),移植μC/OS-Ⅱ嵌入式操作系統(tǒng)和μCGUI嵌入式應(yīng)用圖形支持系統(tǒng),,形成一個(gè)完善的有人機(jī)接口的實(shí)時(shí)嵌入式系統(tǒng),,在這個(gè)平臺(tái)上設(shè)計(jì)制作一個(gè)便攜式多功能數(shù)字示波器,采用STM32高性能ARM處理器作為核心控制芯片,,顯示器選用TFT真彩液晶,。實(shí)時(shí)性高,人機(jī)界面友好,,具有很好的推廣使用價(jià)值,,可廣泛應(yīng)用于信號(hào)采集、工程實(shí)踐等領(lǐng)域,。

  關(guān)鍵詞嵌入式系統(tǒng),;數(shù)字示波器;μC/OS-Ⅱ,;μCGUI,;STM32

0 引言

  目前平臺(tái)化、集成化成為示波器發(fā)展的重要趨勢(shì),。市場(chǎng)上存在的示波器,,一般把目標(biāo)定位在產(chǎn)品的高性能和強(qiáng)大功能的競(jìng)爭(zhēng)上,造成市場(chǎng)上的模擬及數(shù)字示波器一般價(jià)格高昂,、體積較大且很多專業(yè)功能并不實(shí)用,。更便宜、更小巧,、更方便使用的示波器成為當(dāng)今市場(chǎng)的主流需求,,使用者們需要借助具有各種功能的、方便攜帶的,、小巧靈活的測(cè)試工具,,來(lái)驗(yàn)證和解決越來(lái)越多的高復(fù)雜性問(wèn)題。

1 系統(tǒng)設(shè)計(jì)理念

  隨著嵌入式處理器的快速發(fā)展,,STM32系列針對(duì)高性能,、低成本、低功耗需求的嵌入式應(yīng)用專門(mén)設(shè)計(jì)的ARM芯片,,系統(tǒng)時(shí)鐘頻率高達(dá)72 MHz,,內(nèi)部外設(shè)豐富,,STM32功耗36 mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,?;赟TM32嵌入式平臺(tái)設(shè)計(jì)的便攜式多功能數(shù)字示波器,移植μC/OS-II實(shí)時(shí)多任務(wù)操作系統(tǒng)[1]和μCGUI圖形支持系統(tǒng),,形成一個(gè)完善的有人機(jī)接口的實(shí)時(shí)嵌入式精密測(cè)量?jī)x器,,通過(guò)數(shù)字插值算法和快速傅里葉算法處理[2],可以進(jìn)行頻譜分析,。通過(guò)STM32內(nèi)部自帶高速AD模塊,,實(shí)現(xiàn)高速采樣,采樣速度可以達(dá)到3 MHz,。具有邊沿觸發(fā)模式選擇,、自動(dòng)捕捉波形、復(fù)位,、暫停,、波形存儲(chǔ)、頻率和幅值拉伸縮小,、波形整體平移,、峰-峰值、有效值,、頻率,、周期、占空比顯示,、頻譜分析等功能,。由于采用高速集成處理器,外設(shè)資源豐富,,簡(jiǎn)化了電路板的設(shè)計(jì)制作,,更加便攜,功能多樣,。

2 系統(tǒng)硬件設(shè)計(jì)

001.jpg

  基于STM32的便攜式多功能數(shù)字示波器的設(shè)計(jì)原理如圖1所示,。其中,阻抗匹配電路3采用電壓跟隨器電路,,增大輸入阻抗和減小輸出阻抗,,實(shí)現(xiàn)對(duì)微弱信號(hào)的無(wú)衰減的傳輸;程控放大電路5采用高帶寬運(yùn)放和模擬開(kāi)關(guān)串聯(lián)實(shí)現(xiàn),;數(shù)模轉(zhuǎn)換器[3]10采用主控芯片內(nèi)部集成的高速AD模塊,,轉(zhuǎn)換速度可達(dá)1 MHz,充分利用STM32內(nèi)部自帶的3個(gè)AD模塊,,采用交叉互補(bǔ)采樣模式,,可以實(shí)現(xiàn)3 MHz的采樣速率,。由于STM32內(nèi)部自帶的AD無(wú)法對(duì)負(fù)電壓進(jìn)行采集,通過(guò)設(shè)計(jì)加法器6將負(fù)壓抬高到零電平以上,,過(guò)壓保護(hù)電路7防止高電壓對(duì)處理器造成損害,。為了使示波器工作在觸發(fā)模式,系統(tǒng)中需要有個(gè)觸發(fā)電平,,這里的觸發(fā)電平由斯密特觸發(fā)器電路8產(chǎn)生,,同時(shí)用來(lái)對(duì)頻率進(jìn)行計(jì)數(shù)。波形存儲(chǔ)模塊11采用通用的SD卡,,STM32有專屬的SPI和SD接口協(xié)議與其通信,,SPI串行通信接口讀寫(xiě)速度可達(dá)18 MHz。液晶顯示模塊13采用TFT真彩液晶,;觸摸屏模塊12采用電阻式觸摸屏,,其抗干擾能力強(qiáng)于電容屏,兩個(gè)模塊都集成在一塊屏幕上,,采用并行數(shù)據(jù)總線,,讀寫(xiě)方便,速度快,。

002.jpg

  信號(hào)調(diào)理電路[4]如圖2所示,,考慮到對(duì)處理器的保護(hù)作用,特別在信號(hào)的輸入端和輸出端加上過(guò)壓保護(hù)二極管進(jìn)行鉗壓保護(hù),,輸入鉗制在-5.0 V~+5.0 V之間,,防止信號(hào)調(diào)理電路的燒毀,輸出鉗制在0~3.3 V之間,,防止主控芯片因超出額定電源電壓而損壞。

  運(yùn)算放大器采用高帶寬,、共模抑制比大的單片集成雙運(yùn)放的AD827,,其原本是為視頻電路設(shè)計(jì)的,增益帶寬達(dá)50 MHz,,SR達(dá)到300 V/μs,,是目前市場(chǎng)上電壓反饋型雙運(yùn)放的頂級(jí)產(chǎn)品,其高頻特性非常優(yōu)越,,在±5 V的供電下仍有優(yōu)異的性能,,放大3 MHz的高頻信號(hào)沒(méi)有衰減和相位偏移現(xiàn)象出現(xiàn)。所有的集成電路的電源管腳都相應(yīng)地加上10 μF和0.1 μF去耦濾波電容,。

  模擬開(kāi)關(guān)采用CD4052,,CD4052是一個(gè)差分4通道數(shù)字控制模擬開(kāi)關(guān),有A,、B兩個(gè)二進(jìn)制控制輸入端和INH輸入,,具有低導(dǎo)通阻抗和很低的截止漏電流,。0~5.0 V的數(shù)字信號(hào)可控制-13.5~+5.0 V的模擬信號(hào),幅值為 4.5~20 V的數(shù)字信號(hào)可控制峰峰值至20 V的模擬信號(hào),。

3 軟件設(shè)計(jì)

  在整個(gè)設(shè)計(jì)中,,核心部分是軟件設(shè)計(jì),包括μC/OS多任務(wù)操作系統(tǒng)和μCGUI圖形界面系統(tǒng)的移植,、波形的檢測(cè),、處理、顯示等,。

  3.1 任務(wù)的建立

  操作系統(tǒng)μC/OS-II移植好了之后,,需要建立四個(gè)任務(wù),分別為:

  任務(wù)一:static void APP_TaskStart(void*pdata),,主要作用是建立任務(wù)二,、三、四并執(zhí)行它們,,運(yùn)行結(jié)束后便將其掛起,,掛起函數(shù)用OSTaskSuspend(OS_PRIO_SELF)來(lái)實(shí)現(xiàn),之后由int main(void)進(jìn)行建立和執(zhí)行,。

  任務(wù)二:static void Task_TouchScreen(void*pdata),,主要作用是連續(xù)地監(jiān)視和刷新觸摸板,該觸摸屏驅(qū)動(dòng)程序通過(guò)調(diào)用函數(shù)GUI_TOUCH_Exec()實(shí)現(xiàn),,該函數(shù)在它辨認(rèn)出一個(gè)動(dòng)作已經(jīng)執(zhí)行或者情況有所變化時(shí),,調(diào)用μCGUI提供的觸摸屏API函數(shù),大約每秒調(diào)用100次,。

  任務(wù)三:static void Task_GUIExce(void*pdata),,主要作用是執(zhí)行回調(diào)函數(shù)(一般是重繪窗口),通過(guò)調(diào)用函數(shù)GUI_Exec()實(shí)現(xiàn),,該函數(shù)會(huì)自動(dòng)重復(fù)調(diào)用GUI_Exec1()直到它完成全部工作,。通常該函數(shù)不需要被用戶應(yīng)用程序調(diào)用,它自動(dòng)地被GUI_Delay()所調(diào)用,。

  任務(wù)四:static void Task_MainTask(void*pdata),,它是整個(gè)應(yīng)用程序的核心,包括液晶界面的顯示,、觸摸板信號(hào)的處理,、波形信號(hào)的采集、計(jì)算,、顯示等操作,。

  3.2 圖形界面設(shè)計(jì)

  人機(jī)界面顯示采用TFT液晶,分辨率為320×240,觸摸板采用電阻式的觸摸屏,。驅(qū)動(dòng)庫(kù)采用μCGUI,,支持液晶和觸摸板的應(yīng)用,并且功能強(qiáng)大,。界面采用的是比較絢麗的坐標(biāo)網(wǎng)格形式,,主要調(diào)用下列函數(shù)。

 ?。?)void GuiMainTask(void),,該函數(shù)中調(diào)用了三個(gè)函數(shù),GUI_CreateDialogBox()創(chuàng)建對(duì)話框,,內(nèi)部包含多個(gè)按鈕控件和滑動(dòng)條控件,,用于實(shí)現(xiàn)人機(jī)交換。WM_CreateWindow()創(chuàng)建一個(gè)窗口函數(shù),,用來(lái)顯示版本的基本信息,,包括產(chǎn)品名稱、編號(hào),。WM_CreateWindow()創(chuàng)建一個(gè)窗口函數(shù),,用來(lái)顯示所測(cè)波形的頻率、周期,、占空比,、幅值等信息。

 ?。?)void WaveTaskCreat(void),,該函數(shù)中主要調(diào)用GRAPH的一些控件,用來(lái)創(chuàng)建一個(gè)波形顯示的網(wǎng)格窗口,,可以實(shí)現(xiàn)波形的顯示,,波形的X、Y軸的拉伸,、平移功能,。

  此外還包括上升沿觸發(fā)、下降沿觸發(fā),、單次觸發(fā)(毛刺觸發(fā))、自動(dòng),、復(fù)位的觸發(fā)響應(yīng)和后臺(tái)處理程序,。通過(guò)事件響應(yīng)機(jī)制以及回調(diào)函數(shù)GUI_Exec()進(jìn)行圖像的重畫(huà),運(yùn)行后的顯示界面如圖3所示,。

003.jpg

  3.3 波形檢測(cè)與處理程序設(shè)計(jì)

  波形檢測(cè)和處理部分[5]采用單片機(jī)內(nèi)部自帶的高速A/D和強(qiáng)大的TIM實(shí)現(xiàn),。A/D單元的作用是將連續(xù)的模擬信號(hào)轉(zhuǎn)變?yōu)殡x散的數(shù)字序列,然后按照數(shù)字序列的先后順序重建波形。定時(shí)器TIM既要為A/D提供可變的采樣時(shí)基,,也要實(shí)時(shí)捕捉由斯密特觸發(fā)器整形好的脈沖信號(hào)上升沿,、下降沿的觸發(fā)時(shí)間,為后期信號(hào)的頻率,、周期,、占空比、幅值計(jì)算做準(zhǔn)備,。

  3.3.1 波形檢測(cè)程序

  A/D轉(zhuǎn)換:STM32增強(qiáng)型芯片內(nèi)置3個(gè)獨(dú)立A/D,,可以有21個(gè)通道,并且3個(gè)A/D可以并行地同步采樣,,觸發(fā)方式很靈活,,可以通過(guò)TIM以及外部電平等方式觸發(fā),并行方式下AD3,、AD2自動(dòng)同步于AD1,;A/D在最高速采樣時(shí)需要1.5+12.5個(gè)時(shí)鐘周期,在14 MHz的AC時(shí)鐘下達(dá)到1 MS/s的速度,。

  采樣頻率控制:由于STM32內(nèi)部的4個(gè)TIM非常強(qiáng)大,,每個(gè)TIM又有4個(gè)通道,再加上獨(dú)立的預(yù)分配器,,實(shí)際上可以實(shí)現(xiàn)任意分頻,,因此用TIM2 CC2來(lái)產(chǎn)生指定頻率的時(shí)鐘,用來(lái)觸發(fā)A/D連續(xù)采樣,。

  采樣數(shù)據(jù)傳輸及每次采樣深度控制:A/D產(chǎn)生的轉(zhuǎn)換數(shù)據(jù)通過(guò)高速DMA通道1,、2、3來(lái)傳輸?shù)街付ǖ膬?nèi)部RAM中,,并且將DMA中斷優(yōu)先級(jí)設(shè)置成最高優(yōu)先級(jí),,以保證數(shù)據(jù)讀取準(zhǔn)確,用DMA每次傳輸?shù)膫€(gè)數(shù)來(lái)控制采樣的深度,,例如要采集100個(gè),,那么就設(shè)置DMA傳輸100次,每次從16位A/D轉(zhuǎn)換寄存器傳輸一個(gè)16位數(shù)據(jù)到RAM中,,等完成了100次傳輸后,,DMA通道自動(dòng)停止(實(shí)際上A/D是一直按照要求的采樣頻率在后臺(tái)連續(xù)采樣,只是未去取數(shù)據(jù)而已),,下次采集時(shí)只要再設(shè)置采樣的個(gè)數(shù)就行了,。

  采用外中斷的形式,外面波形數(shù)據(jù)先不采集,,先讓它通過(guò)一個(gè)比較器,,比如比較器的基準(zhǔn)電壓是1.0 V,也就是每次都與1.0 V比較。當(dāng)波形電壓大于1.0 V時(shí),,比較器輸出高電平,,高電平接到單片機(jī)外中斷口,外中斷就被觸發(fā),。然后開(kāi)始采集,,這樣就能保證每幀數(shù)據(jù)的起始點(diǎn)都相同。定時(shí)器的捕捉模式設(shè)置成雙沿捕捉,,從而可以捕捉波形的上升沿和下降沿,。

  3.3.2 處理程序

  對(duì)采集好的數(shù)據(jù),首先要將數(shù)據(jù)中最大的和最小的找出來(lái),,并根據(jù)放大倍數(shù)計(jì)算出波形的峰峰值,,通過(guò)讀取緩存中的數(shù)據(jù)計(jì)算,轉(zhuǎn)換成真實(shí)電壓值,。通過(guò)定時(shí)器捕捉到的波形連續(xù)的上升沿,、下降沿和上升沿三次時(shí)間T1、T2,、T3,,從而計(jì)算出待測(cè)波形的周期=T3-T1和占空比=(T2-T1)/(T3-T1)。將數(shù)據(jù)一次性放到液晶上進(jìn)行顯示,,通過(guò)調(diào)用μCGUI內(nèi)部自帶的GRAPH_DATA_ YT_AddValue()函數(shù),,可以實(shí)現(xiàn)多浮點(diǎn)處理數(shù)據(jù)并顯示,其功能非常強(qiáng)大,,程序流程如圖4所示,。

004.jpg

4 系統(tǒng)測(cè)試

  不同頻率下測(cè)量占空比為50%、峰峰值為1.25 V的方波的檢測(cè)波形圖如5所示,,方波測(cè)試數(shù)據(jù)如表1,。

005.jpg

  不同頻率下測(cè)量占空比為50%、峰峰值為1.25 V的正弦波的檢測(cè)波形圖如6所示,,正弦波數(shù)據(jù)如表2,。

006.jpg

  不同頻率下測(cè)量占空比為50%、峰峰值為1.25 V的三角波的檢測(cè)波形圖如7所示,,三角波數(shù)據(jù)如表3,。

007.jpg

5 結(jié)論

  通過(guò)對(duì)該系統(tǒng)的整體測(cè)試可知,該系統(tǒng)體積小巧,、簡(jiǎn)單易用,、成本低,主控芯片STM32F103x內(nèi)部集成了豐富的功能模塊,,使系統(tǒng)無(wú)需外擴(kuò)大量芯片便可實(shí)現(xiàn)數(shù)據(jù)采集功能,降低了開(kāi)發(fā)的復(fù)雜度和成本,達(dá)到了提高系統(tǒng)穩(wěn)定性的目的,。示波器能夠?qū)崿F(xiàn)3 MHz的采樣速度,,帶寬500 kHz,可以測(cè)出從1 Hz到500 kHz的頻率,。輸入信號(hào)幅度可以是50 mV~25 V(通過(guò)示波器探頭衰減10倍之后),,通過(guò)電路上電阻的選擇控制它的放大和衰減,該示波器還可以選擇觸發(fā)方式:上升沿觸發(fā),、下降沿觸發(fā),、單次觸發(fā),可以捕獲瞬時(shí)出現(xiàn)的波形,,如遙控器波形等,。

參考文獻(xiàn)

  [1] LABROSSE J J.嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-II[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,,2003.

  [2] CRISTI R.現(xiàn)代數(shù)字信號(hào)處理[M].徐盛,,譯.北京:機(jī)械工業(yè)出版社,2005:129-1481.

  [3] 童詩(shī)白.模擬電子技術(shù)[M].北京:高等教育出版社,,2001.

  [4] 黃敏松,,行鴻彥,劉建成.ECG監(jiān)護(hù)儀前置放大電路設(shè)計(jì)[J].現(xiàn)代電子技術(shù),,2007(16):187-189.

  [5] 王昌明,,孔德仁,何云峰.傳感與測(cè)試技術(shù)[M].北京:北京航空航天大學(xué)出版社,,2005.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。