999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的方波信號發(fā)生器的設計與檢測

2021-03-15 06:57:14海濤陸代澤韋文吳宗霖海藍天
廣西科技大學學報 2021年1期

海濤 陸代澤 韋文 吳宗霖 海藍天

摘? 要:為了實現(xiàn)對各類信號源的模擬、捕獲和顯示,基于STM32設計了一個綜合實驗方案,并采取“信號發(fā)生+信號捕獲”的設計理念.以方波信號為例,利用STM32開發(fā)板,設計了一套方波信號源和相應的檢測系統(tǒng),該系統(tǒng)利用一塊STM32按要求輸出不同類型的方波信號,另一塊STM32對方波信號進行捕獲.實驗結(jié)果表明:單片機1可成功實現(xiàn)對方波信號的模擬,單片機2則實現(xiàn)了對信號的捕獲與顯示,證實了方案的正確性與可行性.該方案是一種拓寬單片機實驗范圍的新思路,可應用于對工業(yè)現(xiàn)場各類信號源的模擬及捕獲.

關(guān)鍵詞:STM32;信號源;方波信號;輸入捕獲

中圖分類號:TP368;TN409? ? ? ? DOI:10.16375/j.cnki.cn45-1395/t.2021.01.004

0? ? 引言

目前,國內(nèi)高校的單片機教學都是以51系列單片機為教學對象,實驗裝置多以51系列單片機為控制核心[1-4].雖然可以使用ATmega 16等性能更強的單片機替代51系列單片機,從而完成對實驗裝置的升級改造[5].但是實驗裝置采取的是實驗箱的形式,不僅笨重而且大都是偏向于驗證性的實驗[6].當學生需要進行一些創(chuàng)新性設計時,實驗裝置無法滿足要求,迫切需要新的單片機及理念來滿足學生的學習需求.與51單片機相比,STM32具有內(nèi)核先進、高度集成、性能出眾、易于開發(fā)、便于攜帶的特點[7],且相關(guān)軟件、硬件資料完全公開[8].以STM32開發(fā)板代替原有的實驗裝置或?qū)嶒炂脚_,作為單片機實驗教學的延伸,有助于激發(fā)學生的創(chuàng)新能力,為單片機的實驗教學開拓了一種新的思路.

本文基于STM32開發(fā)了一個方波信號發(fā)生器及其檢測的實驗系統(tǒng),即實驗由兩個綜合實驗構(gòu)成(一個模擬輸出與輸入實驗).通過該實驗可使學生掌握STM32的信號發(fā)生、輸入捕獲、LED顯示以及定時器的原理和應用,起到舉一反三的作用.

1? ? 總體設計方案

設計目標是:使用STM32單片機1(簡稱單片機1)產(chǎn)生一個可調(diào)的方波信號,通過另一塊STM32單片機2(簡稱單片機2)捕獲方波信號并進行顯示.實現(xiàn)方式為:通過按鍵電路在單片機1上產(chǎn)生可調(diào)的方波信號,再由單片機2來捕獲單片機1產(chǎn)生的方波信號,最終利用液晶屏、示波器等對方波信號進行顯示.本次設計的方波信號發(fā)生與檢測系統(tǒng)的原理圖如圖1所示:單片機1通過PB5與PE5端口產(chǎn)生方波信號,單片機2使用PA0與PE3端口進行方波信號的捕獲檢測.

方波信號發(fā)生器在設計時要求具有待機、PB5端口輸出方波、PE5端口輸出方波以及可調(diào)相位差等4種狀態(tài),并通過STM32上的LED燈DS0、DS1來顯示其狀態(tài).設計的方波信號發(fā)生器預計能實現(xiàn)的功能如圖2所示.

從圖2可知,按鍵KEY0與按鍵KEY1是低電平有效,按鍵KEY_UP為高電平有效.由KEY0來實現(xiàn)狀態(tài)的切換選擇,通過KEY1與KEY_UP對方波信號進行控制.

2? ? 方波信號發(fā)生器的設計

2.1? ?硬件設計及與傳統(tǒng)發(fā)生器的對比

STM32常用的有STM32F103~F107系列,基于Cortex-M3內(nèi)核且采取的是馮·諾依曼結(jié)構(gòu)[9-10].本次實驗的單片機選取STM32F103系列,其芯片為STM32F103ZET6,用到的硬件資源有:指示燈DS0、DS1、按鍵KEY_UP、按鍵KEY0、按鍵KEY1.通過按鍵電路與STM32單片機結(jié)合產(chǎn)生相位不同、頻率不同的方波信號,并通過LED進行顯示.基于STM32F103ZET6方波信號發(fā)生器的電路原理圖如圖3所示.

傳統(tǒng)的方波信號發(fā)生器如圖4所示,由純硬件電路所組成,包括振蕩器、變換器、輸出級、電源等部分.方波信號的調(diào)頻、調(diào)幅等一系列控制操作均是通過旋鈕改變元器件的電阻值、電容值來實現(xiàn),但此方法存在較大的不足:通過旋鈕調(diào)節(jié)很難準確調(diào)節(jié)出所需要的變量,在進行實驗時耗時較大且容易存在誤差;同時,頻繁地對元器件進行調(diào)節(jié)操作會造成器件的快速磨損,嚴重降低器件壽命,發(fā)生故障的概率相對較高.

而基于STM32的方波信號發(fā)生器是由硬件和軟件相結(jié)合來產(chǎn)生方波信號,其核心部分是由芯片STM32F103ZET6結(jié)合所編程序來實現(xiàn)方波信號的產(chǎn)生.與傳統(tǒng)信號發(fā)生器相比,其頻率和幅值的調(diào)節(jié)都是通過修改程序來實現(xiàn),在相同實驗條件下,可克服傳統(tǒng)純硬件方波信號發(fā)生器的一些缺點.此外,其產(chǎn)生的方波信號可以通過單片機自身的顯示裝置進行驗證,更加直觀和易于操作.

2.2? ?軟件設計

方波信號實際上是一個二值函數(shù),要使STM32產(chǎn)生一個可調(diào)的方波信號,即通過編程控制STM32的定時器,調(diào)節(jié)其I/O口電平輸出頻率.STM32擁有多個GPIO,且每個GPIO組都有16個I/O口[11].本次設計需要用到的I/O口數(shù)量為5個,其I/O分配表如表1所示.

本次實驗以MDK5.14為STM32的開發(fā)環(huán)境,根據(jù)要求在MDK Keil軟件使用C語言編寫程序,并燒錄到單片機中,調(diào)整定時器參數(shù)改變I/O口輸出頻率.方波信號發(fā)生器的程序設計流程示意圖如圖5所示.

如圖5所示:在STM32中,進行外設的配置操作之前先使能該外設時鐘,時鐘的使能通過調(diào)用函數(shù)RCC_APB2PeriphClockCmd()實現(xiàn).而PB5與PE5初始化通過調(diào)用函數(shù)GPIO_Init()實現(xiàn),目的是為了配置I/O口模式和速度.開啟AFIO時鐘,是為了對AFIO_EXTICRx(x=1~4)寄存器進行讀/寫操作而準備.按照圖5的流程圖編寫好程序后,通過與按鍵電路相結(jié)合,即可控制I/O口輸出電平的高低、頻率及脈沖寬度.

3? ? 方波信號的檢測

在STM32中,其輸入捕獲模式可以用來測量高電平的脈沖寬度或信號的頻率[12].若使用單片機2來檢測單片機1產(chǎn)生的方波信號,則需要通過STM32的定時器實現(xiàn)輸入捕獲[13].本次實驗使用TIM5_CH1(PA0端口)來捕獲高電平脈沖,方波信號捕獲主程序的部分代碼如下:

STM32輸入捕獲的原理為:對TIMx_CHx上的邊沿信號進行檢測,若檢測的邊沿信號發(fā)生突變(上升沿突變或者下降沿突變),則將定時器的當前值TIMx_CNT存放到與其相對應的捕獲/比較寄存器TIMx_CCRx中,從而實現(xiàn)一次信號的捕獲.

本次實驗TIM5的CH1先設置為上升沿捕獲,在第一次捕獲到上升沿的時候,清除TIM5的計數(shù)值、計數(shù)溢出次數(shù)等計時變量與相關(guān)寄存器,再設置PA0端口為下降沿捕獲.成功捕獲下降沿后,按照TIM5的計時公式算出高電平脈寬,并進行記錄,然后再次把PA0端口配置為上升沿捕獲,TIM5也重新計時.第二次捕獲到上升沿的時候,同理,算出時長,最后將前后兩個時間相加再運算,即可計算出方波信號頻率與周期.在知道方波信號周期的前提下,通過信號捕獲功能,即可得到兩個方波信號之間的相位差.

為了實現(xiàn)方波信號的捕獲與參數(shù)顯示,還需要加入LCD液晶顯示器的顯示程序,STM32的TFTLCD顯示模塊是一塊分辨率為240*320 的電阻觸摸屏,使用16位并口驅(qū)動[14],單片機2信號捕獲與顯示的程序設計流程圖如圖6所示.

4? ? 實驗驗證

為了驗證單片機1是否可以產(chǎn)生方波以及單片機2是否可以捕獲單片機1產(chǎn)生的方波,通過? ? FlyMcu軟件將MDK Keil中編譯無誤的方波信號發(fā)生器的程序與信號捕獲與顯示的程序分別燒錄到兩塊STM32開發(fā)板中進行驗證.同時使用杜邦線將單片機1的PB5和單片機2的PA0相連接,單片機1的PE5和單片機2的PE3相連接.觀察是否可以通過單片機1上的按鍵產(chǎn)生方波和對方波信號進行控制,且由單片機2捕獲其頻率并顯示.

方波信號發(fā)生器的輸出模式由KEY0進行選擇,當KEY0按下不同的次數(shù)時,單片機1的輸出模式及開發(fā)板上的指示燈DS0、DS1的顯示結(jié)果如表2所示.

由于STM32的DS0與DS1是低電平有效,因此,表2中,“1”代表指示燈不亮,“0-”代表指示燈交替閃爍.當單個指示燈交替閃爍時,相應端口產(chǎn)生方波信號,同時閃爍則說明兩個端口產(chǎn)生方波.

實驗中,單個方波信號的初始周期設定為? ?0.2 s,通過按鍵可在原有周期的基礎(chǔ)上增多或減少0.2 s.PB5與PE5同時產(chǎn)生方波信號時,兩個信號的周期均為1.2 s,周期的最大值設定為3.6 s.當存在相位差時,通過按鍵每次可在原有相位差上增加或減少36°.若方波信號同相,按鍵按下5次則將使方波信號反相(180°),再按5次又將恢復同相.

為了探究所設計方案的可靠性與準確性,首先以單片機1隨機產(chǎn)生12組不同頻率、不同周期以及不同相位差的方波信號,并以單片機2對其進行捕獲測量,通過多次反復試驗來觀測單片機2可否較好捕獲單片機所產(chǎn)生的方波信號.實驗數(shù)據(jù)的匯總結(jié)果如表3所示.

表3中,[T1]、[f1]和[T2]、[f2]為單片機1的PB5與PE5產(chǎn)生的方波信號的周期、頻率,[T12]、[f12]和[T22]、[f22]為單片機2的PA0與PE3檢測到的周期、頻率,[θ1]為單片機1發(fā)生的兩個波形的相位差,[θ12]為單片機2檢測到的兩個波形的相位差.

由表3的數(shù)據(jù)對比可知,在PB5或PE5端口單獨產(chǎn)生方波信號、PB5和PE5端口同時產(chǎn)生方波信號等不同情況時,單片機2捕獲后測量到的周期、頻率以及相位差等參數(shù)與單片機1產(chǎn)生的信號相差無幾.單片機1成功實現(xiàn)了方波信號的發(fā)生,單片機2則實現(xiàn)了信號的捕獲與檢測,達到了預期的目標.同時,多次反復的實驗結(jié)果也從側(cè)面證實了本文所設計方案的可行性與可靠性.

方波信號并不能直觀地看出,但在單片機1上可通過LED燈DS0和DS1來判斷是否有方波產(chǎn)生.當PB5端口產(chǎn)生方波時LED燈DS0閃爍;當PE5端口產(chǎn)生方波時LED燈DS1閃爍;當PB5與PE5同時產(chǎn)生方波時,DS0與DS1同時閃爍.以PB5端口產(chǎn)生方波為例,單片機1上的紅色LED燈閃爍(DS0),并且單片機2通過捕獲單片機1的方波信號后在液晶屏顯示其頻率,實驗結(jié)果及實物圖如圖7所示.

為了更加直觀地觀察出方波信號的相位差及其變化情況,當單片機1的PB5端口與PE5端口同時產(chǎn)生方波(可調(diào)相位差狀態(tài))時,使用型號為TDS1001B-SC的示波器對單片機2捕獲后的波形進行測量.

實驗的步驟為:首先將KEY0按鍵按下3次使DS0、DS1同時閃爍,此時通過單片機1上的按鍵KEY1與按鍵KEY_UP對頻率進行調(diào)整,對相位差進行控制;之后通過這兩個按鍵對方波信號的相位進行調(diào)整和控制,并觀察示波器上波形的變化情況.示波器導出的測量結(jié)果如圖8所示.

5? ? 結(jié)語

通過利用STM32片機,成功設計了一個方波信號發(fā)生器及其檢測的實驗系統(tǒng).單片機1產(chǎn)生了可調(diào)的方波信號,單片機2則實現(xiàn)了捕獲與顯示,并通過多次反復的實驗證實了設計方案的準確性與可行性.單片機1產(chǎn)生的方波信號亦可以由單片機1自己捕獲并顯示,其原理與單片機2的捕獲原理一致.本文成功實現(xiàn)了方波信號的模擬輸出和輸入捕獲,能推廣到對正弦波、鋸齒波、三角波和諧波等各類信號源的模擬上,也可以模擬應用現(xiàn)場的信號并進行發(fā)生和捕捉,降低實驗開發(fā)的成本及周期,拓寬了單片機的實驗范圍,也為綜合實驗開拓了一種新的思路.本次實驗綜合應用了STM32的定時器、I/O口、按鍵電路、輸入捕獲、LED顯示等多個模塊與功能,有助于學生掌握這些模塊的功能與應用,激發(fā)學生的學習興趣和自主創(chuàng)新能力.

參考文獻

[1]? ? ?王琳霖,王偉,曹國強,等. 基于單片機的機電控制實訓平臺設計[J].實驗技術(shù)與管理,2018,35(4):82-85.

[2]? ? ?朱向慶,黎東濤,蘇超益,等. 適合于項目教學法的三合一單片機實驗箱設計[J].實驗技術(shù)與管理,2013,30(7):55-59.

[3]? ? ?徐小棟,胡春,董守昆,等. 利用Proteus軟件構(gòu)建單片機虛擬仿真實驗室[J].計算機與數(shù)字工程,2012,40(1):154-157.

[4]? ? ?許京雷. 嵌入式系統(tǒng)課程內(nèi)容設置[J].中國教育技術(shù)裝備,2017(8):85-86.

[5]? ? ?海濤,陳明媛,駱武寧,等. 一種單片機實驗裝置升級改造的實現(xiàn)方案[J].實驗室研究與探索,2010,29(3):76-79,87.

[6]? ? ?朱向慶,何昌毅,朱萬鴻,等. 基于STM32單片機的通信技術(shù)實驗系統(tǒng)設計[J].實驗技術(shù)與管理,2019,36(8):81-84.

[7]? ? ?湯澤坤,唐培和,徐奕奕. 基于Stm32的光伏監(jiān)控系統(tǒng)的設計[J].廣西科技大學學報,2015,26(4):54-59.

[8]? ? ?劉軍,張洋,嚴漢宇. 例說STM32[M].3版. 北京:北京航空航天大學出版社,2018.

[9]? ? ?沈紅衛(wèi),任沙浦,朱敏杰,等. STM32單片機應用與全案例實踐[M].北京:電子工業(yè)出版社,2017.

[10]? ?魏永輝. 嵌入式STM32下無源蜂鳴器發(fā)聲[J].科技展望,2016,26(24):163.

[11]? ?盧有亮. 基于STM32的嵌入式系統(tǒng)原理與設計[M].北京:機械工業(yè)出版社,2014.

[12]? ?潘宇. 基于FPGA和STM32的脈寬頻率測量方法[J].實驗室研究與探索,2017,36(2):83-86.

[13]? ?張洋,劉軍,嚴漢宇,等. 原子教你玩STM32:庫函數(shù)版[M].2版. 北京:北京航空航天大學出版社,2015.

[14]? ?潘盛輝,曹蓬,吳甜甜,等. 基于STM32的障礙物定位檢測系統(tǒng)設計[J].廣西科技大學學報,2017,28(3):97-102.

主站蜘蛛池模板: 国产成年女人特黄特色大片免费| 91免费在线看| 国产女同自拍视频| 亚瑟天堂久久一区二区影院| 欧美中文一区| 色亚洲激情综合精品无码视频| 国产亚洲视频中文字幕视频| 乱人伦视频中文字幕在线| 久久精品丝袜高跟鞋| 欧美中文字幕无线码视频| 婷婷激情亚洲| 91精品亚洲| 九色在线视频导航91| 99精品福利视频| 91免费国产高清观看| 成人午夜网址| 成人午夜天| 欧美在线三级| 国产精品精品视频| 国产欧美在线观看视频| 亚洲bt欧美bt精品| 影音先锋亚洲无码| 亚洲欧美成人| 国产精品久久久久婷婷五月| 亚洲免费黄色网| 久久中文字幕av不卡一区二区| 欧美日韩免费在线视频| 玖玖精品视频在线观看| 日韩毛片视频| 日本伊人色综合网| 国产亚洲高清在线精品99| 99久久精品久久久久久婷婷| 69精品在线观看| www精品久久| 91福利一区二区三区| 国产无码在线调教| 在线观看国产网址你懂的| 亚洲乱伦视频| 456亚洲人成高清在线| 一区二区三区国产精品视频| 久草视频中文| 一级香蕉视频在线观看| 日本精品视频| 制服丝袜国产精品| 欧美天堂在线| 99人妻碰碰碰久久久久禁片 | 四虎影视无码永久免费观看| 久久大香香蕉国产免费网站| 久久毛片基地| 真实国产乱子伦高清| 最新痴汉在线无码AV| 国产网友愉拍精品| 亚洲欧美综合另类图片小说区| 成年人久久黄色网站| 青青热久免费精品视频6| 亚洲欧洲一区二区三区| 又黄又湿又爽的视频| 色成人综合| 精品午夜国产福利观看| 黄色福利在线| 久久婷婷六月| 中日无码在线观看| 激情视频综合网| 国产尤物jk自慰制服喷水| 国产精品无码翘臀在线看纯欲| 欧美亚洲第一页| 曰韩免费无码AV一区二区| 国产精品综合色区在线观看| 成人午夜天| 免费99精品国产自在现线| 国产精品视频导航| 福利国产微拍广场一区视频在线| 日韩精品成人网页视频在线 | 国产三级毛片| 2021最新国产精品网站| 99热在线只有精品| 91麻豆国产在线| 国产亚洲欧美日韩在线一区| 亚洲天堂网在线播放| 国产精品一线天| 婷婷六月色| 亚洲一区无码在线|