摘"要:利用FPGA構(gòu)建了SoPC,移植了uC/OSII操作系統(tǒng),實(shí)現(xiàn)了基于無刷直流電機(jī)的小風(fēng)扇轉(zhuǎn)速智能控制系統(tǒng)的硬件和軟件設(shè)計(jì);利用DS18B20溫度傳感器采集環(huán)境溫度,根據(jù)環(huán)境溫度自動(dòng)控制電機(jī)的轉(zhuǎn)速;利用HCSR04超聲波模塊測(cè)量物體距離,實(shí)現(xiàn)了物體接近風(fēng)扇到8cm距離時(shí),無刷直流電機(jī)自動(dòng)限速,同時(shí)蜂鳴器報(bào)警;利用SU03T語音識(shí)別模塊實(shí)現(xiàn)了語音控制電機(jī)轉(zhuǎn)速;通過FPGA與STM32F103C8T6單片機(jī)控制的WiFi模塊串口通信,實(shí)現(xiàn)將環(huán)境溫度、風(fēng)扇轉(zhuǎn)速、距離報(bào)警信號(hào)、電機(jī)旋轉(zhuǎn)方向數(shù)據(jù)上傳到阿里云。
關(guān)鍵詞:SoPC;uC/OSII;無刷直流電機(jī);語音識(shí)別;阿里云
中圖分類號(hào):TP241.3
Design"of"Experimental"Teaching"Cases"for
\"Electronic"System"Design\""Course"Based"on"SoPC
Dong"Sheng"Zhao"Ying"Meng"Xiang"Xing"Liyun"Jia"Yanfei
School"of"Electrical"and"Information"Engineering,Beihua"University"JilinJilin"132021
Abstract:A"SoPC"was"constructed"using"FPGA,and"the"uC/OSII"operating"system"was"ported"to"achieve"the"hardware"and"softwarenbsp;design"of"a"small"fan"speed"intelligent"control"system"based"on"brushless"DC"motor;Using"DS18B20"temperature"sensor"to"collect"ambient"temperature"and"automatically"control"the"motor"speed"based"on"the"ambient"temperature;By"using"the"HCSR04"ultrasonic"module"to"measure"the"distance"between"objects,it"has"been"achieved"that"when"an"object"approaches"the"fan"to"a"distancenbsp;of"8cm,the"brushless"DC"motor"automatically"limits"its"speed"and"the"buzzer"sounds"an"alarm;The"SU03T"speech"recognition"module"was"used"to"achieve"voice"control"of"motor"speed;Through"serial"communication"between"FPGA"and"STM32F103C8T6"microcontroller"controlled"WiFi"module,environmental"temperature,fan"speed,distance"alarm"signal,and"motor"rotation"direction"data"can"be"uploaded"to"Alibaba"Cloud.
Keywords:SoPC;uC/OSII;Brushless"DC"Motor;Voice"Recognition;Alibaba"Cloud
本文對(duì)本科電子信息工程專業(yè)“電子系統(tǒng)設(shè)計(jì)”課程的實(shí)驗(yàn)教學(xué)項(xiàng)目進(jìn)行了研究,實(shí)驗(yàn)課程總學(xué)時(shí)8學(xué)時(shí),要求學(xué)生分組完成環(huán)境溫度采集、直流無刷電機(jī)轉(zhuǎn)速控制系統(tǒng)的仿真設(shè)計(jì)與實(shí)物調(diào)試,完成系統(tǒng)設(shè)計(jì)與實(shí)物驗(yàn)收考核,撰寫實(shí)驗(yàn)報(bào)告[1]。
實(shí)驗(yàn)的教學(xué)目標(biāo)是解決環(huán)境溫度的實(shí)時(shí)采集、直流無刷電機(jī)轉(zhuǎn)速的智能控制以及阿里云平臺(tái)無線傳輸數(shù)據(jù)問題,傳授學(xué)生利用單片機(jī)、SoPC、uC/OSII、VerilogHDL編程技術(shù),實(shí)現(xiàn)串口通信、WiFi通信、PWM控制功能;鍛煉學(xué)生的電路設(shè)計(jì)、程序調(diào)試、設(shè)備使用與電路故障診斷能力,培養(yǎng)學(xué)生進(jìn)行電子系統(tǒng)設(shè)計(jì)與解決工程實(shí)際問題的能力[1]。
1"智能小風(fēng)扇轉(zhuǎn)速控制系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)
智能小風(fēng)扇轉(zhuǎn)速控制系統(tǒng)整體結(jié)構(gòu)如圖1所示,F(xiàn)PGA開發(fā)平臺(tái)采用實(shí)驗(yàn)室常見的DE270多媒體開發(fā)板[2],構(gòu)建SoPC片上可編程系統(tǒng),移植uC/OSII實(shí)時(shí)操作系統(tǒng),編寫C語言程序?qū)崿F(xiàn)多任務(wù)調(diào)度以及任務(wù)之間的通信。
系統(tǒng)實(shí)現(xiàn)下述功能:
(1)構(gòu)建基于NIOSII的SoPC片上系統(tǒng)[3];
(2)建立uC/OSII多任務(wù)實(shí)時(shí)采集、顯示、傳輸環(huán)境溫度,測(cè)溫范圍-10℃~+85℃,精度±0.5℃[4],實(shí)現(xiàn)超溫聲音報(bào)警;
(3)驅(qū)動(dòng)型號(hào)為R2418CE、參數(shù)為DC12V4500RPM的直流無刷電機(jī)[5],根據(jù)環(huán)境溫度改變電機(jī)轉(zhuǎn)速,溫度越高,轉(zhuǎn)速越快,實(shí)時(shí)測(cè)量與顯示風(fēng)扇轉(zhuǎn)速;
(4)實(shí)現(xiàn)基于超聲波測(cè)距原理的物體異常接近,風(fēng)扇轉(zhuǎn)速限速控制功能,測(cè)距范圍3~200cm,誤差在1cm范圍內(nèi)[6];
(5)與阿里云通信實(shí)時(shí)上傳溫度值、風(fēng)扇轉(zhuǎn)速值、距離報(bào)警信號(hào)、電機(jī)旋轉(zhuǎn)方向數(shù)據(jù);
(6)識(shí)別非特定人的語音指令,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的三檔語音控制。
2"系統(tǒng)電路設(shè)計(jì)
2.1"超聲波測(cè)距、聲光報(bào)警、距離顯示模塊電路設(shè)計(jì)
利用VerilogHDL編程驅(qū)動(dòng)HCSR04模塊實(shí)現(xiàn)超聲波測(cè)距、聲光報(bào)警及距離顯示功能,電路見圖2。echo和trig連接到超聲波測(cè)距模塊HCSR04的對(duì)應(yīng)端口[7],out_range_buzz連接到蜂鳴器距離報(bào)警電路,seg連接到DE270開發(fā)板的LED數(shù)碼管顯示驅(qū)動(dòng)電路,out_range_led分別連接到DE270開發(fā)板的LED紅色指示燈和NIOSII處理器AVALON總線的距離報(bào)警輸入端口pio_outrange_in[2]。
2.2"PWM驅(qū)動(dòng)模塊設(shè)計(jì)
利用VerilogHDL編程實(shí)現(xiàn)了直流電機(jī)驅(qū)動(dòng)模塊電路。duty端口連接到NIOSII處理器PWM占空比輸出端口,pwm_out端口連接到直流無刷電機(jī)的PWM信號(hào)輸入端口,PWM信號(hào)頻率范圍控制在15~25kHz范圍內(nèi)[5]。
2.3"測(cè)速模塊設(shè)計(jì)
利用VerilogHDL編程實(shí)現(xiàn)了電機(jī)測(cè)速模塊電路。pulse_in端口連接到直流無刷電機(jī)的速度反饋輸出信號(hào)端口;seg_data端口連接到DE270開發(fā)板的LED數(shù)碼管顯示驅(qū)動(dòng)電路,顯示轉(zhuǎn)速值;speed_out端口連接到NIOSII處理器的測(cè)速輸入端口[2,5]。
2.4"核心處理器模塊設(shè)計(jì)
基于NIOSII核心處理器的片上系統(tǒng)設(shè)計(jì)見圖3。處理器的pio_in_key_dir端口連接到DE270開發(fā)板的按鍵;通過pio_out_motor_dir端口輸出控制電機(jī)的轉(zhuǎn)向;串行通信端口uart_yuyin和uart_stm32_yun分別連接到SU03T語音識(shí)別模塊[8]和STM32F103C8T6控制的WiFi模塊,分別用于輸入識(shí)別語音指令以及向阿里云上傳數(shù)據(jù);bidir_port_to_and_from_the_pio_18b20端口連接到DS18B20溫度傳感器的DQ數(shù)據(jù)端口;my_lcd控制端口和數(shù)據(jù)端口用于驅(qū)動(dòng)1602LCD顯示溫度和轉(zhuǎn)速數(shù)據(jù);SDRAM端口用于驅(qū)動(dòng)SDRAM存儲(chǔ)器,構(gòu)成片上系統(tǒng)的內(nèi)存空間[23]。
2.5"蜂鳴器距離報(bào)警電路設(shè)計(jì)
采用S8050型三極管驅(qū)動(dòng)有源蜂鳴器,實(shí)現(xiàn)近距離報(bào)警。
2.6"DS18B20接口電路設(shè)計(jì)
DS18B20溫度傳感器的DQ端,外接上拉電阻,連接到NIOSII處理器的bidir_port_to_and_from_the_pio_18b20端口[7]。
2.7"語音識(shí)別模塊接口電路設(shè)計(jì)
SU03T語音識(shí)別模塊的B7引腳連接到NIOSII核心處理器的uart_yuyin_rxd串口輸入端口[9]。
2.8"WiFi模塊接口電路設(shè)計(jì)
WiFi模塊ESP8266接口電路見圖4[9],一個(gè)串口負(fù)責(zé)接收FPGA通過EIARS232串口發(fā)來的、經(jīng)過RS232TTL接收模塊轉(zhuǎn)換后的數(shù)據(jù),另一個(gè)串口將數(shù)據(jù)打包,通過連接WiFi熱點(diǎn)將數(shù)據(jù)上傳給阿里云服務(wù)器[9]。
3"基于eclipse的NIOSII、uC/OSII系統(tǒng)程序設(shè)計(jì)
在主程序中創(chuàng)建了兩個(gè)用戶任務(wù)task1、task2。在task1中,首先,采用臨界段代碼技術(shù)采集環(huán)境溫度,防止溫度采集時(shí)序被打斷,確保溫度采集數(shù)據(jù)準(zhǔn)確[10];其次,讀取電機(jī)轉(zhuǎn)速數(shù)據(jù),讀取按鍵控制的自動(dòng)和手動(dòng)模式控制轉(zhuǎn)速信息;最后,將所有數(shù)據(jù)打包成32位數(shù)據(jù)格式,通過消息郵箱傳遞給task2。32位數(shù)據(jù)打包格式:1位模式控制位,15位溫度數(shù)據(jù),16位轉(zhuǎn)速數(shù)據(jù)。
在task2中顯示溫度值及轉(zhuǎn)速值,控制電機(jī)轉(zhuǎn)動(dòng)。在手動(dòng)控制模式下,實(shí)現(xiàn)根據(jù)語音指令控制電機(jī)轉(zhuǎn)速;在自動(dòng)控制狀態(tài)下,實(shí)現(xiàn)根據(jù)環(huán)境溫度,利用PID控制算法自動(dòng)控制電機(jī)轉(zhuǎn)速;實(shí)現(xiàn)物體距離異常接近風(fēng)扇限速以及語音控制轉(zhuǎn)速;將電機(jī)轉(zhuǎn)速、溫度、距離、電機(jī)轉(zhuǎn)向數(shù)據(jù)打包,通過串口發(fā)送給STM32F103C8T6單片機(jī)控制的WiFi模塊,然后發(fā)送給阿里云。
在task1、task2之間采用雙郵箱通信技術(shù),同步兩個(gè)任務(wù)之間的數(shù)據(jù)傳輸[10]。
4"系統(tǒng)調(diào)試與結(jié)果分析
4.1"系統(tǒng)設(shè)計(jì)結(jié)果
系統(tǒng)設(shè)計(jì)結(jié)果實(shí)物圖見圖5。
4.2"利用WiFi上傳阿里云溫度、轉(zhuǎn)速、距離報(bào)警、電機(jī)轉(zhuǎn)向數(shù)據(jù)結(jié)果
利用WiFi上傳阿里云溫度、轉(zhuǎn)速、距離報(bào)警、電機(jī)轉(zhuǎn)向數(shù)據(jù)結(jié)果見圖6。
結(jié)語
本文解決了溫度檢測(cè)與直流無刷電機(jī)的轉(zhuǎn)速智能控制問題,實(shí)現(xiàn)了阿里云上傳電機(jī)的各項(xiàng)參數(shù)。
參考文獻(xiàn):
[1]董勝,浦珊珊,馬東吉.應(yīng)用型本科電子系統(tǒng)設(shè)計(jì)課程教學(xué)改革與實(shí)踐[J].教育教學(xué)論壇,2020(03):100101.
[2]Terasic"Technologies.DE270"User"manual[EB/OL].(20100930).https://www.terasic.com.tw/cgibin/page/archive.pl?Language=Englishamp;CategoryNo=183No=226amp;PartNo=4#contents.
[3]黑金動(dòng)力社區(qū).NIOSII那些事兒Qsys版[EB/OL].https://www.docin.com/p409846996.html.
[4]Maxim"Integrated"Products,"Inc.DS18B20"Programmable"Resolution1Wire"Digital"Thermometer[EB/OL].https://www.analog.com/media/en/technicaldocumentation/datasheets/DS18B20.pdf.
[5]GUANGDONG"AOLONG"TECHNOLOGY"Co.,"Ltd..R2418微型直流無刷馬達(dá).[EB/OL].https://detail.1688.com/offer/720151755730.html?_t=1735803194136amp;spm=a2615.7691456.co_0_0_wangpu_score_0_0_0_0_1_0_0000_0.0.
[6]張安東.基于STM32單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].銅陵職業(yè)技術(shù)學(xué)院學(xué)報(bào),2020(3):5153.
[7]時(shí)玲瓏,孫姍姍.以單片機(jī)為核心的超聲波測(cè)距系統(tǒng)[J].福建電腦,2022,38(2):2932.
[8]深圳市機(jī)芯智能有限公司.SU03T離線語音模組技術(shù)開發(fā)手冊(cè)[EB/OL].https://help.aimachip.com/docs/offline_su03t/su_03t_kfb.
[9]馬媛,基于ESP8266的無線通信系統(tǒng)設(shè)計(jì)[J].電子測(cè)試,2022,36(05):4446.
[10]張勇.嵌入式操作系統(tǒng)原理與面向任務(wù)程序設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2010:102227.
項(xiàng)目來源:北華大學(xué)校級(jí)教育教學(xué)改革研究課題“產(chǎn)教結(jié)合模式下電子系統(tǒng)設(shè)計(jì)課程教學(xué)改革研究”(項(xiàng)目編號(hào):ZJ1241853);吉林省教育科學(xué)“十四五”規(guī)劃重點(diǎn)課題:新工科背景下“以能力為導(dǎo)向”的電子信息工程類專業(yè)課程體系構(gòu)建新模式探索(編號(hào):ZD22091)
作者簡(jiǎn)介:董勝(1972—"),男,漢族,黑龍江嫩江人,儀器儀表工程碩士,副教授,研究方向:信號(hào)采集與處理。