歐陽朝煌+王治發(fā)+沈豐逸+劉芳
摘 要:近年來隨著科學(xué)技術(shù)的不斷進(jìn)步,“智能”逐漸走入人們的視野,同時也給人們生活中的產(chǎn)品帶來機(jī)遇和挑戰(zhàn)。使用熱釋電、攝像頭、門禁IC卡檢測學(xué)生的作息,遙控器、手機(jī)APP、觸屏等輸入信息,ARMcotex-M4處理器處理信息,安全數(shù)字輸入輸出卡存儲信息,語音模塊、顯示模塊輸出信息,讓“智能”融入學(xué)生生活的寢室,使學(xué)生的寢室擁有生命,帶給我們無限的精彩。
關(guān)鍵詞:ARMcotex-M4處理器;TFT顯示;IC卡門禁;智能軟硬件
1 智能寢室的設(shè)計目的
智能,不應(yīng)該只處于實驗室,而應(yīng)該進(jìn)入生活。而智能寢室這個設(shè)計就是通過電子硬件和微處理器編程技術(shù),結(jié)合學(xué)生生活習(xí)慣,將智能應(yīng)用到學(xué)生身邊,減少學(xué)生生活煩惱,提升學(xué)生生活品質(zhì)。本次課題研究的是如何將智能控制融入到學(xué)生生活習(xí)慣當(dāng)中,通過床上壓力傳感器和微處理器的協(xié)調(diào)保證學(xué)生一定時間的睡眠,通過顯示器和語音提示成為在學(xué)生離開寢室時的私人秘書,通過IC卡門禁系統(tǒng)保證在學(xué)生沒帶鑰匙時照常進(jìn)入寢室,夜間寢室燈光自適應(yīng)調(diào)節(jié)保證學(xué)生作息。
2 智能寢室的系統(tǒng)構(gòu)架(如圖1)
ARMcotex-M4處理器建立多個任務(wù),在uC/OS操作系統(tǒng)中的調(diào)度下,將熱釋電、攝像頭、門禁IC卡、控器、手機(jī)APP、觸屏、語音模塊、顯示模塊等融入生活,讓學(xué)生寢室進(jìn)入智能化時代。
3 智能寢室的硬件設(shè)計
3.1 處理芯片
STM32系列單片機(jī),基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-MX內(nèi)核,擁有比8位單片機(jī)更高的數(shù)據(jù)處理速度,更豐富的外設(shè)。而且可以用STM公司提供的固件庫,簡化了配置寄存器控制單片機(jī)的操作,使開發(fā)變得更簡單。而且stm32還有SysTick系統(tǒng)時鐘滴答專門提供給uC/OS作為基準(zhǔn)時鐘中斷,實現(xiàn)系統(tǒng)的實時性。而且有DMA將數(shù)據(jù)從存儲器到外設(shè)和存儲器到存儲器的雙向傳輸,減輕了單片機(jī)CPU由于大量數(shù)據(jù)傳輸造成的工作負(fù)荷。
在本項目中使用STM32f407VET6作為主控芯片,其擁有最高高達(dá)168MHz的主頻、512Kb的flah、192Kb的RAM,支持92個中斷,其中每個IO口都可以用作中斷,14個定時器,擁有大量的外設(shè),包括USART、SPI、I2C、ADC、DAC、SDIO等,以及擁有中速USB、高速USB、以太網(wǎng)等外設(shè)的接口,內(nèi)部集成RTC實時時鐘,可以實現(xiàn)更多更復(fù)雜的操作。
另外用多個STC公司的STC12C5A60S2芯片作為從機(jī)。
3.2 語音解碼芯片
在本課題中,需要用智能系統(tǒng)報告當(dāng)前狀態(tài)信息以及播放音樂,選用VS1003作為語音的播放與錄制。其用于完成在攝像頭錄制視頻的時候能夠同時錄制音頻,當(dāng)單片機(jī)的SPI傳輸音頻數(shù)據(jù)至此模塊時,能夠?qū)崿F(xiàn)語音的播放,實現(xiàn)語音提示、mp3播放的效果。
3.3 語音識別芯片
在本課題中,需要實現(xiàn)通過語音開關(guān)燈、語音讓智能系統(tǒng)進(jìn)入安防模式、錄像模式等。選用ld3320作為本次課題的語音識別芯片,此芯片通過快速而穩(wěn)定的優(yōu)化算法,完成非特定人語音識別。
3.4 TFT液晶屏
在本課題中,需要用顯示器實現(xiàn)顯示課程信息、睡眠時間信息,以及通過觸屏調(diào)節(jié)燈光亮度等功能。
3.5 攝像頭模塊
選用OV2640,OV2640是 200W 像素高清攝像頭模塊。該模塊具有高靈敏度、低電壓適合嵌入式應(yīng)用的優(yōu)點。
3.6 其他
超聲波模塊:用于檢測開門角度。選用hc-sr04超聲波模塊,分辨率高達(dá)0.3cm,功耗低,使用簡便。
溫度傳感器:用于檢測室內(nèi)和室外溫度。選用18b20數(shù)字溫度傳感器,具有靈敏度高,體積小功耗低等優(yōu)勢。
4 系統(tǒng)軟件設(shè)計
4.1 操作系統(tǒng)
在STM32使用的ARM Cortex處理器中,具有主堆棧MSP和進(jìn)程堆棧PSP,具有PendSV和Systick中斷,這些很明顯是配合了uC/OS操作系統(tǒng),于是我們選擇了uC/OS作為本項目的嵌入式實時操作系統(tǒng)。
在系統(tǒng)上電后,我們首先要對操作系統(tǒng)進(jìn)行初始化,包括任務(wù)控制塊、空閑鏈表和就緒鏈表、任務(wù)堆棧,以及初始化事件控制塊等。隨后初始化硬件平臺,包括stm32的時鐘、DMA、SPI、IO口配置以及OV2640的初始化、RC522、NRF24L01、TFT等的初始化,還有內(nèi)存管理初始化,然后傳遞任務(wù)指針、申請任務(wù)堆棧,創(chuàng)建多個任務(wù),最后用OSStart開啟多任務(wù)。
4.2 主機(jī)主要任務(wù)函數(shù)
4.2.1 燈光調(diào)節(jié)任務(wù)。為每個LED燈都建立一個結(jié)構(gòu)體,以管理LED的亮滅、亮度、照明時間等,在多任務(wù)協(xié)同時,其他任務(wù)修改結(jié)構(gòu)體參數(shù),就可以控制LED。
4.2.2 門開關(guān)控制任務(wù)。通過其他任務(wù)發(fā)送過來的消息郵箱判定門為長關(guān)還是長開,通過NRF24L01發(fā)送命令到門控制從機(jī)以控制門的開關(guān)。
4.2.3 攝像頭控制任務(wù)。通過其他任務(wù)發(fā)送過來的消息郵箱判定是否啟動攝像,負(fù)責(zé)初始化OV2640以及將OV2640提供的數(shù)據(jù)傳遞到TF卡進(jìn)行存儲,同時開啟或關(guān)閉VS1003的錄音模式。
4.2.4 NRF24L01管理任務(wù)。由于NRF24L01發(fā)送或接受數(shù)據(jù)資源屬于互斥信號量,只能由一個任務(wù)控制并使用。并且接受藍(lán)牙、遙控器的指令,給其他任務(wù)發(fā)送消息或郵箱,讓多任務(wù)協(xié)同。
4.2.5 TFT管理任務(wù)。此任務(wù)負(fù)責(zé)控制TFT顯示的開關(guān),以及通過TFT上的觸摸屏,得到命令,刷新TFT顯示,給其他任務(wù)發(fā)送消息或郵箱,讓多任務(wù)協(xié)同。
4.2.6 LD3320管理任務(wù)。此任務(wù)接受從LD3320過來的語音識別數(shù)據(jù),并將數(shù)據(jù)處理后給其他任務(wù)發(fā)送消息或郵箱,讓多任務(wù)協(xié)同。
4.3 從機(jī)主要任務(wù)
4.3.1 門控制從機(jī)。負(fù)責(zé)得到測量超聲波的距離數(shù)據(jù),通過此數(shù)據(jù)判斷門開關(guān)的角度,以控制電機(jī)的運(yùn)行狀態(tài),并且收集主機(jī)發(fā)送過來的開光門指令,并按照指令運(yùn)行。
4.3.2 風(fēng)扇控制從機(jī)。通過熱釋電判斷風(fēng)扇前方是否有人,并接受主機(jī)發(fā)送過來的開關(guān)風(fēng)扇的指令。
4.3.3 浴室燈控制。通過室外光敏判斷外面光強(qiáng),并將數(shù)據(jù)發(fā)送至主機(jī),室內(nèi)光敏判斷浴室燈是否打開,通過紅外光判斷人的進(jìn)出,負(fù)責(zé)打開浴室燈。
5 結(jié)束語
本課題從實際情況出發(fā),將“智能”融入學(xué)生生活,使寢室富有生命,讓寢室生活不再單調(diào)。通過團(tuán)隊成員的一起努力,經(jīng)過軟硬件調(diào)試的智能寢室成功正常運(yùn)行。并且由于智能寢室在硬件上載入語音識別模塊,讓它擁有極強(qiáng)的可擴(kuò)展性和易用性。
參考文獻(xiàn)
[1]盧有亮.嵌入式實時操作系統(tǒng)μC/OS原理與實踐(第2版)[M].電子工業(yè)出版社.
[2]殷志堅,劉玉瑩,詹華群,等.電子技能訓(xùn)練[M].中南大學(xué)出版社.
[3]徐明華,邱加永,紀(jì)希禹.Java基礎(chǔ)與案例開發(fā)詳解[Z].