国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的波形數(shù)據(jù)采集系統(tǒng)設計

2013-01-10 03:42吳云軒
通化師范學院學報 2013年12期
關鍵詞:極性幅值波形

吳云軒

(黎明職業(yè)大學 信息與電子工程學院,福建 泉州 36200)

波形數(shù)據(jù)采集系統(tǒng)作為測控系統(tǒng)的重要組成部分,是現(xiàn)代工業(yè)中常見的設備,目前的數(shù)據(jù)采集系統(tǒng)多由單片機、DSP或單片機與FPGA共同構(gòu)成.普通單片機在數(shù)據(jù)處理方面能力有限,無法滿足高速數(shù)據(jù)傳輸?shù)囊?DSP數(shù)據(jù)處理能力高、速度快,F(xiàn)PGA設計開發(fā)的靈活性強,但二者的價格太高,需要專用的開發(fā)板,不適合構(gòu)成低成本的嵌入式數(shù)據(jù)采集系統(tǒng).

因此,本文選用ARM Cortex-M3內(nèi)核的STM32F103VC為主控制芯片,設計了一種低成本的嵌入式波形數(shù)據(jù)采集系統(tǒng).ARM Cortex-M3處理器是一款結(jié)合了多種創(chuàng)新性突破技術的芯片,內(nèi)有33000門的M3內(nèi)核,其性能可達1.25DMIPS/MHZ[1].STM32F103VC芯片內(nèi)部集成了16通道的12位高精度A/D轉(zhuǎn)換器、16位的定時/計數(shù)器(具有PWM輸出功能),還集成了DMA控制器,IIC、SPI、USART、CAN和USB等接口,具有睡眠、停機、待機等省電模式[2].同時,STM32系列微控制器給開發(fā)者訪問這些底層硬件提供了一個API庫,大大的提高了應用程序的開發(fā)效率.與單片機、DSP和FPGA構(gòu)成的系統(tǒng)比較,本設計優(yōu)勢在于低功耗、低成本、高性能.

1 系統(tǒng)硬件設計

本系統(tǒng)對信號的幅值和頻率進行實時采集并存儲波形數(shù)據(jù),通過USB接口傳輸?shù)奖镜氐腜C上,由上位機軟件進行數(shù)據(jù)處理、顯示.系統(tǒng)主要包含輸入波形信號的調(diào)理電路模塊、STM32F103VC微控制器模塊、USB接口電路、LCD顯示電路模塊和按鍵電路模塊.系統(tǒng)總體設計框圖如圖1所示.

圖1 系統(tǒng)設計框圖

本設計的重點是波形信號的處理、頻率脈寬測量方式自動切換以及數(shù)據(jù)存儲與傳輸三個方面,因此只針對這三個模塊進行詳細說明.

1.1 信號調(diào)理電路模塊

信號調(diào)理電路模塊的主要功能是輸入隔離、極性轉(zhuǎn)換、波形變換和整形.信號輸入端接電壓跟隨器,實現(xiàn)輸入隔離.極性轉(zhuǎn)換電路采用絕對值電路,將雙極性信號轉(zhuǎn)換為單極性信號.波形變換和整形采用比較放大電路,系統(tǒng)先采集信號的幅值,再由STM32F103VC輸出對應的PWM波形,經(jīng)二階低通濾波后,作為比較器的比較電壓,將單極性信號處理成為方波信號,提供給定時器作為計數(shù)脈沖.

(1)絕對值電路.實際測量的信號可能是單極性信號,也可能是雙極性信號.在對雙極性信號,如正弦信號的幅值進行測量時,可采用絕對值電路將雙極性信號轉(zhuǎn)換為單極性信號,便于計算機采集處理時去掉符合位,提高轉(zhuǎn)精度[3].絕對值電路原理圖如圖2所示,Vin為待測信號輸入,輸出端Vout.

圖2 絕對值電路原理圖

當Vin>0時,D2導通,D1截止;輸入信號經(jīng)U1A反向放大為-2Vin,再與Vin一起送入U1B集成運放中形成反向加法器,Vout=-(-2Vin+Vin)=Vin.

當Vin<0時,D2截止,U1A處于深度負反饋狀態(tài),輸入信號直接經(jīng)U1B集成運放反向輸出,Vout=-Vin*(R5/R4)=-Vin,輸出正向信號,實現(xiàn)雙極性信號轉(zhuǎn)換為單極性信號.

為提高輸入阻抗,在信號的輸入端可增加一電壓跟隨器電路,因其輸出具有低阻抗特性,使得它在電路中可以起到阻抗匹配的作用,能夠使得后一級的放大電路更好的工作[4].

圖3 波形變換與整形電路原理圖

圖4 信號變換波形圖

(2)波形變換和整形電路.波形變換與整形電路原理圖如圖3所示.系統(tǒng)開始工作后,先對信號波形進行A/D采樣,根據(jù)幅值設置相應的PWM值,輸出的PWM波形經(jīng)二階低通濾波得到比較器反向端的參考電壓Vref.待測信號經(jīng)極性轉(zhuǎn)換后,連接到比較器同向端,與Vref比較轉(zhuǎn)換為方波信號Vout1,作為頻率測量的計數(shù)脈沖.Vout1經(jīng)D觸發(fā)器構(gòu)成的二分頻電路整形后,成為占空比50%的方波,作為測量脈寬的門控.信號變換后的波形圖如圖4所示.

1.2 通信模塊設計

為了更直觀的觀察波形,將采集到的數(shù)據(jù)通過串口傳輸?shù)奖镜豍C,并保存到文件中,這樣方便數(shù)據(jù)的共享和遠程訪問.STM32F103VC擁有3個串行通信接口,其中USART1的時鐘源來自高速外設總線AB2的時鐘源,速度可達4.5Mbps,與PC進行數(shù)據(jù)通信時,需進行電平轉(zhuǎn)換,通信芯片選用Max232.

2 系統(tǒng)軟件設計

本系統(tǒng)設計中,數(shù)據(jù)采集模塊部分采用keil uVison4集成開發(fā)環(huán)境為開發(fā)平臺,軟件設計部分包括主程序設計、頻率測量子程序設計、A/D采樣及數(shù)據(jù)的存儲與傳輸子程序設計3個主要部分.PC主機采用VB開發(fā)應用軟件,主要功能是實現(xiàn)波形數(shù)據(jù)的接收、處理和顯示.

2.1 數(shù)據(jù)采集模塊主程序設計

主程序主要負責對于系統(tǒng)時鐘、GPIO口、定時器、中斷、ADC、DMA和串行通訊模塊的初始化,之后程序進入頻率測量和A/D采集的循環(huán)中,當A/D采集存儲到數(shù)據(jù)緩沖區(qū)滿后產(chǎn)生DMA中斷,通過DMA方式傳送給PC主機.主程序流程圖如圖5所示.

圖5 主程序流程圖

2.2 頻率測量子程序設計

在測量信號頻率時,根據(jù)頻率測量精度和測量反應時間的要求,將測量方法分為測頻率和測脈寬兩種方法,具體的流程圖如圖6.

當待測信號的頻率大于100Hz時,定時/計數(shù)器設置為計數(shù)器,由軟件產(chǎn)生1S的計數(shù)閘門,待測信號經(jīng)整形后作為計數(shù)脈沖輸入,這時頻率測量結(jié)果為3位以上有效數(shù)字.但當待測信號的頻率小于100Hz時,采用這種方法測量結(jié)果就無法滿足3位有效數(shù)字.這時將定時/計數(shù)器設置為定時器,待測信號經(jīng)信號調(diào)理電路后,被整成占空比為50%的方波,方波脈度等于待測信號的周期.將該方波輸入作為計數(shù)門控,以機器周期信號為計數(shù)脈沖測量方波的脈寬,求倒數(shù)后可得到待測信號的頻率,這樣就能使測量結(jié)果為3位以上有效數(shù)字.

圖6 頻率測量子程序流程圖

系統(tǒng)先以測頻率的方法測量信號的頻率,若得到的結(jié)果小于100Hz,自動切換到測脈寬的方法,因此在信號調(diào)理電路的輸出端有兩路信號輸出,一路用于測頻率,另一路用于測脈寬.

2.3 A/D采樣及數(shù)據(jù)的存儲與傳輸子程序設計

利用STM32F103VC內(nèi)置的A/D轉(zhuǎn)換器、DMA控制器和USART接口,可以方便的進行波形數(shù)據(jù)的采集、存儲和傳輸.為提高數(shù)據(jù)傳輸?shù)男?,采用雙緩存技術,分時將采集到的數(shù)據(jù)存儲在RAM中的兩個數(shù)據(jù)緩沖區(qū)buf1[256]和buf2[256],大小為256個字節(jié).將A/D設置為連續(xù)采樣模式,待A/D轉(zhuǎn)換結(jié)束后,會自動觸發(fā)DMA讀數(shù)據(jù),由DMA將數(shù)據(jù)寫入數(shù)據(jù)緩沖的數(shù)組buf1;寫滿256個字節(jié)后,產(chǎn)生DMA中斷,此時修改DMA存儲的入口地址,指向另一個數(shù)據(jù)緩沖數(shù)組buf2,標記buf1緩沖區(qū)數(shù)據(jù)已準備好,然后將USART數(shù)據(jù)源指向buf1,通過DMA方式發(fā)給PC.在buf2寫滿后,進入DMA中斷,修改DMA存儲的入口地址,指向另一個數(shù)據(jù)緩沖數(shù)組buf1,標記buf2緩沖區(qū)數(shù)據(jù)已準備好,然后將USART數(shù)據(jù)源指向buf2,通過DMA方式發(fā)給PC.這樣就可以從2個緩沖區(qū)交替?zhèn)鬏敂?shù)據(jù)到PC上.

2.4 PC主機程序設計

PC上的程序設計采用VB實現(xiàn),系統(tǒng)啟動后首先對硬件進行檢測,連接成功后開始接收來自串口的數(shù)據(jù),在虛擬的波形面板上描繪波形曲線,并將波形數(shù)據(jù)以文件的形式保存到硬盤,以供后續(xù)分析與處理,軟件用戶界面如圖7.

圖7 軟件用戶界面

3 實驗結(jié)果和分析

本系統(tǒng)采樣頻率最高可達500kb/s,A/D采樣位數(shù)12b,輸入信號0~3.6V.在示波器上顯示頻率為1000Hz、幅值2499mv的正弦波形,經(jīng)過實測頻率為1002Hz、幅值2465mv,頻率測量誤差為0.2%,幅值誤差1.4%,滿足系統(tǒng)要求.頻率測量誤差表達式為df/f=|dN/N|+|dt/t|,誤差來源主要有閘門和計數(shù)誤差兩部分.dt/t取決于晶振頻率的穩(wěn)定性,當僅顯示3位有效數(shù)字時,可以忽略該項誤差.對于dN/N部分,不管閘門時間長短,計數(shù)總存在1個單位的量化誤差.可以通過增加顯示的有效數(shù)字位數(shù)來降低該項誤差的影響[5].

4 結(jié)論

本文采用基于ARM Cortex-M3的STM32F103VC為主控制芯片,構(gòu)建了一個嵌入式的數(shù)據(jù)采集系統(tǒng),并利用上位機的VB界面實時顯示波形數(shù)據(jù),采集的波形數(shù)據(jù)可以文件的形式保存在硬盤上,實現(xiàn)數(shù)據(jù)的共享和遠程訪問.該系統(tǒng)成本低,實用性強,可應用于電力數(shù)據(jù)采集等工業(yè)測控領域.

參考文獻:

[1]彭剛,秦志強.基于ARM Cortex-M3的STM32系列嵌入式微控制器應用實踐[M].北京:電子工業(yè)出版社,2011.

[2]MCU技術支持.STM32 Reference Manual[Z].意法半導體(中國)投資有限公司,2010-1-10.

[3]劉泊,等.光柵傳感器信號細分中絕對值電路的設計[J].電子設計工程,2011,19(11):87-89.

[4]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001.

[5]郝建國,等.基于單片機的頻率計設計[J].西安郵電學院學報,2003,8(3):32-34.

猜你喜歡
極性幅值波形
室溫下7050鋁合金循環(huán)變形研究
多尺度串聯(lián)非線性能量阱的減振效能及阻尼連接方式研究
基于Halbach陣列磁鋼的PMSM氣隙磁密波形優(yōu)化
跟蹤導練(四)
用于SAR與通信一體化系統(tǒng)的濾波器組多載波波形
紅蔥不同極性提取物抑菌活性研究
基于S變換的交流電網(wǎng)幅值檢測系統(tǒng)計算機仿真研究
Prevention of aspiration of gastric contents during attempt in tracheal intubation in the semi-lateral and lateral positions
香椿子不同極性部位對糖尿病周圍神經(jīng)病變的保護作用
基于ARM的任意波形電源設計