摘"要:利用FPGA構(gòu)建了SoPC,移植了uC/OSII操作系統(tǒng),實現(xiàn)了基于無刷直流電機的小風扇轉(zhuǎn)速智能控制系統(tǒng)的硬件和軟件設(shè)計;利用DS18B20溫度傳感器采集環(huán)境溫度,根據(jù)環(huán)境溫度自動控制電機的轉(zhuǎn)速;利用HCSR04超聲波模塊測量物體距離,實現(xiàn)了物體接近風扇到8cm距離時,無刷直流電機自動限速,同時蜂鳴器報警;利用SU03T語音識別模塊實現(xiàn)了語音控制電機轉(zhuǎn)速;通過FPGA與STM32F103C8T6單片機控制的WiFi模塊串口通信,實現(xiàn)將環(huán)境溫度、風扇轉(zhuǎn)速、距離報警信號、電機旋轉(zhuǎn)方向數(shù)據(jù)上傳到阿里云。
關(guān)鍵詞:SoPC;uC/OSII;無刷直流電機;語音識別;阿里云
中圖分類號: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
本文對本科電子信息工程專業(yè)“電子系統(tǒng)設(shè)計”課程的實驗教學項目進行了研究,實驗課程總學時8學時,要求學生分組完成環(huán)境溫度采集、直流無刷電機轉(zhuǎn)速控制系統(tǒng)的仿真設(shè)計與實物調(diào)試,完成系統(tǒng)設(shè)計與實物驗收考核,撰寫實驗報告[1]。
實驗的教學目標是解決環(huán)境溫度的實時采集、直流無刷電機轉(zhuǎn)速的智能控制以及阿里云平臺無線傳輸數(shù)據(jù)問題,傳授學生利用單片機、SoPC、uC/OSII、VerilogHDL編程技術(shù),實現(xiàn)串口通信、WiFi通信、PWM控制功能;鍛煉學生的電路設(shè)計、程序調(diào)試、設(shè)備使用與電路故障診斷能力,培養(yǎng)學生進行電子系統(tǒng)設(shè)計與解決工程實際問題的能力[1]。
1"智能小風扇轉(zhuǎn)速控制系統(tǒng)整體結(jié)構(gòu)設(shè)計
智能小風扇轉(zhuǎn)速控制系統(tǒng)整體結(jié)構(gòu)如圖1所示,F(xiàn)PGA開發(fā)平臺采用實驗室常見的DE270多媒體開發(fā)板[2],構(gòu)建SoPC片上可編程系統(tǒng),移植uC/OSII實時操作系統(tǒng),編寫C語言程序?qū)崿F(xiàn)多任務調(diào)度以及任務之間的通信。
系統(tǒng)實現(xiàn)下述功能:
(1)構(gòu)建基于NIOSII的SoPC片上系統(tǒng)[3];
(2)建立uC/OSII多任務實時采集、顯示、傳輸環(huán)境溫度,測溫范圍-10℃~+85℃,精度±0.5℃[4],實現(xiàn)超溫聲音報警;
(3)驅(qū)動型號為R2418CE、參數(shù)為DC12V4500RPM的直流無刷電機[5],根據(jù)環(huán)境溫度改變電機轉(zhuǎn)速,溫度越高,轉(zhuǎn)速越快,實時測量與顯示風扇轉(zhuǎn)速;
(4)實現(xiàn)基于超聲波測距原理的物體異常接近,風扇轉(zhuǎn)速限速控制功能,測距范圍3~200cm,誤差在1cm范圍內(nèi)[6];
(5)與阿里云通信實時上傳溫度值、風扇轉(zhuǎn)速值、距離報警信號、電機旋轉(zhuǎn)方向數(shù)據(jù);
(6)識別非特定人的語音指令,實現(xiàn)電機轉(zhuǎn)速的三檔語音控制。
2"系統(tǒng)電路設(shè)計
2.1"超聲波測距、聲光報警、距離顯示模塊電路設(shè)計
利用VerilogHDL編程驅(qū)動HCSR04模塊實現(xiàn)超聲波測距、聲光報警及距離顯示功能,電路見圖2。echo和trig連接到超聲波測距模塊HCSR04的對應端口[7],out_range_buzz連接到蜂鳴器距離報警電路,seg連接到DE270開發(fā)板的LED數(shù)碼管顯示驅(qū)動電路,out_range_led分別連接到DE270開發(fā)板的LED紅色指示燈和NIOSII處理器AVALON總線的距離報警輸入端口pio_outrange_in[2]。
2.2"PWM驅(qū)動模塊設(shè)計
利用VerilogHDL編程實現(xiàn)了直流電機驅(qū)動模塊電路。duty端口連接到NIOSII處理器PWM占空比輸出端口,pwm_out端口連接到直流無刷電機的PWM信號輸入端口,PWM信號頻率范圍控制在15~25kHz范圍內(nèi)[5]。
2.3"測速模塊設(shè)計
利用VerilogHDL編程實現(xiàn)了電機測速模塊電路。pulse_in端口連接到直流無刷電機的速度反饋輸出信號端口;seg_data端口連接到DE270開發(fā)板的LED數(shù)碼管顯示驅(qū)動電路,顯示轉(zhuǎn)速值;speed_out端口連接到NIOSII處理器的測速輸入端口[2,5]。
2.4"核心處理器模塊設(shè)計
基于NIOSII核心處理器的片上系統(tǒng)設(shè)計見圖3。處理器的pio_in_key_dir端口連接到DE270開發(fā)板的按鍵;通過pio_out_motor_dir端口輸出控制電機的轉(zhuǎn)向;串行通信端口uart_yuyin和uart_stm32_yun分別連接到SU03T語音識別模塊[8]和STM32F103C8T6控制的WiFi模塊,分別用于輸入識別語音指令以及向阿里云上傳數(shù)據(jù);bidir_port_to_and_from_the_pio_18b20端口連接到DS18B20溫度傳感器的DQ數(shù)據(jù)端口;my_lcd控制端口和數(shù)據(jù)端口用于驅(qū)動1602LCD顯示溫度和轉(zhuǎn)速數(shù)據(jù);SDRAM端口用于驅(qū)動SDRAM存儲器,構(gòu)成片上系統(tǒng)的內(nèi)存空間[23]。
2.5"蜂鳴器距離報警電路設(shè)計
采用S8050型三極管驅(qū)動有源蜂鳴器,實現(xiàn)近距離報警。
2.6"DS18B20接口電路設(shè)計
DS18B20溫度傳感器的DQ端,外接上拉電阻,連接到NIOSII處理器的bidir_port_to_and_from_the_pio_18b20端口[7]。
2.7"語音識別模塊接口電路設(shè)計
SU03T語音識別模塊的B7引腳連接到NIOSII核心處理器的uart_yuyin_rxd串口輸入端口[9]。
2.8"WiFi模塊接口電路設(shè)計
WiFi模塊ESP8266接口電路見圖4[9],一個串口負責接收FPGA通過EIARS232串口發(fā)來的、經(jīng)過RS232TTL接收模塊轉(zhuǎn)換后的數(shù)據(jù),另一個串口將數(shù)據(jù)打包,通過連接WiFi熱點將數(shù)據(jù)上傳給阿里云服務器[9]。
3"基于eclipse的NIOSII、uC/OSII系統(tǒng)程序設(shè)計
在主程序中創(chuàng)建了兩個用戶任務task1、task2。在task1中,首先,采用臨界段代碼技術(shù)采集環(huán)境溫度,防止溫度采集時序被打斷,確保溫度采集數(shù)據(jù)準確[10];其次,讀取電機轉(zhuǎn)速數(shù)據(jù),讀取按鍵控制的自動和手動模式控制轉(zhuǎn)速信息;最后,將所有數(shù)據(jù)打包成32位數(shù)據(jù)格式,通過消息郵箱傳遞給task2。32位數(shù)據(jù)打包格式:1位模式控制位,15位溫度數(shù)據(jù),16位轉(zhuǎn)速數(shù)據(jù)。
在task2中顯示溫度值及轉(zhuǎn)速值,控制電機轉(zhuǎn)動。在手動控制模式下,實現(xiàn)根據(jù)語音指令控制電機轉(zhuǎn)速;在自動控制狀態(tài)下,實現(xiàn)根據(jù)環(huán)境溫度,利用PID控制算法自動控制電機轉(zhuǎn)速;實現(xiàn)物體距離異常接近風扇限速以及語音控制轉(zhuǎn)速;將電機轉(zhuǎn)速、溫度、距離、電機轉(zhuǎn)向數(shù)據(jù)打包,通過串口發(fā)送給STM32F103C8T6單片機控制的WiFi模塊,然后發(fā)送給阿里云。
在task1、task2之間采用雙郵箱通信技術(shù),同步兩個任務之間的數(shù)據(jù)傳輸[10]。
4"系統(tǒng)調(diào)試與結(jié)果分析
4.1"系統(tǒng)設(shè)計結(jié)果
系統(tǒng)設(shè)計結(jié)果實物圖見圖5。
4.2"利用WiFi上傳阿里云溫度、轉(zhuǎn)速、距離報警、電機轉(zhuǎn)向數(shù)據(jù)結(jié)果
利用WiFi上傳阿里云溫度、轉(zhuǎn)速、距離報警、電機轉(zhuǎn)向數(shù)據(jù)結(jié)果見圖6。
結(jié)語
本文解決了溫度檢測與直流無刷電機的轉(zhuǎn)速智能控制問題,實現(xiàn)了阿里云上傳電機的各項參數(shù)。
參考文獻:
[1]董勝,浦珊珊,馬東吉.應用型本科電子系統(tǒng)設(shè)計課程教學改革與實踐[J].教育教學論壇,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]黑金動力社區(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微型直流無刷馬達.[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單片機的超聲波測距系統(tǒng)設(shè)計與實現(xiàn)[J].銅陵職業(yè)技術(shù)學院學報,2020(3):5153.
[7]時玲瓏,孫姍姍.以單片機為核心的超聲波測距系統(tǒng)[J].福建電腦,2022,38(2):2932.
[8]深圳市機芯智能有限公司.SU03T離線語音模組技術(shù)開發(fā)手冊[EB/OL].https://help.aimachip.com/docs/offline_su03t/su_03t_kfb.
[9]馬媛,基于ESP8266的無線通信系統(tǒng)設(shè)計[J].電子測試,2022,36(05):4446.
[10]張勇.嵌入式操作系統(tǒng)原理與面向任務程序設(shè)計[M].西安:西安電子科技大學出版社,2010:102227.
項目來源:北華大學校級教育教學改革研究課題“產(chǎn)教結(jié)合模式下電子系統(tǒng)設(shè)計課程教學改革研究”(項目編號:ZJ1241853);吉林省教育科學“十四五”規(guī)劃重點課題:新工科背景下“以能力為導向”的電子信息工程類專業(yè)課程體系構(gòu)建新模式探索(編號:ZD22091)
作者簡介:董勝(1972—"),男,漢族,黑龍江嫩江人,儀器儀表工程碩士,副教授,研究方向:信號采集與處理。