吳琦,劉瑜,金冬子
(安徽大學(xué)電子信息工程學(xué)院,安徽合肥236001)
基于STM32/GSM的嵌入式淋浴系統(tǒng)設(shè)計(jì)
吳琦,劉瑜,金冬子
(安徽大學(xué)電子信息工程學(xué)院,安徽合肥236001)
本文基于STM32技術(shù),設(shè)計(jì)了一種熱水淋浴智能控制系統(tǒng)。本系統(tǒng)以STM32F407處理器作為控制器件,用戶(hù)可以通過(guò)不同傳感器,根據(jù)自身需求對(duì)水溫進(jìn)行調(diào)控,同時(shí)還可播放音樂(lè)提升淋浴的舒適性,系統(tǒng)故障信息用戶(hù)也可通過(guò)GSM模塊及時(shí)向管理人員反映;酒店管理人員可以通過(guò)GPRS實(shí)現(xiàn)對(duì)水溫和水流量數(shù)據(jù)的遠(yuǎn)程采集分析。本系統(tǒng)通過(guò)嵌入式智能化控制技術(shù),解決了智能家居和酒店中熱水淋浴的有關(guān)問(wèn)題和不足,性?xún)r(jià)比高,性能穩(wěn)定。
STM32;GSM;嵌入式智能化控制技術(shù);數(shù)據(jù)采集分析
隨著以微控制器為代表的嵌入式控制技術(shù)的充分應(yīng)用,日用產(chǎn)品的功能越來(lái)越多,對(duì)智能控制的要求也越來(lái)越高,在信息化高度發(fā)展的今天,人們?nèi)粘I钆c網(wǎng)絡(luò)、信息結(jié)合的越來(lái)越緊密,蓬勃發(fā)展的旅游業(yè)和頻繁的商務(wù)旅行活動(dòng)使得客人對(duì)酒店住宿的舒適性體驗(yàn)有著更高的追求。在這樣的背景下,本文設(shè)計(jì)了這樣一個(gè)多功能淋浴系統(tǒng)[1],旨在提高用戶(hù)淋浴的舒適性。系統(tǒng)基于Cortex-M4內(nèi)核,結(jié)合溫度采集模塊、水流量采集模塊,音樂(lè)播放模塊,無(wú)線(xiàn)傳輸模塊設(shè)計(jì)完成。
根據(jù)系統(tǒng)的功能需求,系統(tǒng)分為8大部分:主控模塊、水溫測(cè)量、水流量測(cè)量、射頻刷卡模塊、采集數(shù)據(jù)上傳分析和系統(tǒng)故障、音樂(lè)播放,數(shù)據(jù)存儲(chǔ)、顯示。系統(tǒng)的終端設(shè)備采用模塊化的結(jié)構(gòu)設(shè)計(jì)思想,各個(gè)模塊運(yùn)行相互獨(dú)立,某一模塊出現(xiàn)故障時(shí)不會(huì)影響到其他模塊的正常運(yùn)行??刂破麟娐分幸許TM32芯片為系統(tǒng)的核心,負(fù)責(zé)各種數(shù)據(jù)的處理,STM32具有性?xún)r(jià)比高,性能穩(wěn)定的特點(diǎn),所以與市場(chǎng)上其他同類(lèi)相比具有優(yōu)勢(shì)。操作電路采用按鍵進(jìn)行控制,進(jìn)行功能的選擇,系統(tǒng)顯采用TFT液晶顯示屏,主界面UI數(shù)據(jù)存放在SD卡中,溫度采集使用DS18B20溫度傳感器,水流量傳感器采集的水流量數(shù)據(jù),同時(shí)通過(guò)GPRS數(shù)據(jù)網(wǎng)絡(luò)將采集到的數(shù)據(jù)進(jìn)行上傳,便于管理者分析處理。熱水閥的開(kāi)啟通過(guò)用戶(hù)使用射頻卡進(jìn)行觸發(fā),用戶(hù)在淋浴的時(shí)候可以通過(guò)按鍵開(kāi)啟播放音樂(lè)的功能,系統(tǒng)發(fā)生故障的時(shí)候,用戶(hù)可以開(kāi)啟GSM模塊中的發(fā)短信的功能向酒店管理人員反映[2]。實(shí)際電路模塊結(jié)構(gòu)及基本功能如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)將STM32和GSM模塊結(jié)合使用,使得系統(tǒng)不僅穩(wěn)定,經(jīng)久耐用,而且性能好,功能強(qiáng)大,滿(mǎn)足用戶(hù)的體驗(yàn),對(duì)于酒店來(lái)說(shuō)可以為自己樹(shù)立一個(gè)好的名片,提高自己聲譽(yù)[3]。
STM32處理器是ST(意法半導(dǎo)體)公司基ARM的Crotex-M4內(nèi)核開(kāi)發(fā)的一系列新型單片機(jī)。Crotex-M4內(nèi)核是ARM公司為了滿(mǎn)足高性能、低成本、低功耗的嵌入式應(yīng)用而專(zhuān)門(mén)設(shè)計(jì)的新一代內(nèi)核,具有門(mén)數(shù)少,中斷延遲少,調(diào)試容易等特點(diǎn),因此使用STM32處理器作為控制處理器是一套可靠的方案。系統(tǒng)采用STM32f407ZGT6芯片,需要用到此內(nèi)核的IIC總線(xiàn),SPI串行數(shù)據(jù)接口,IIS總線(xiàn)以及串口等與外設(shè)進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的正常處理[4]。
本系統(tǒng)顯示模塊采用的是LCD液晶顯示屏,TFT-LCD即薄膜晶體管液晶顯示器。它在液晶顯示屏的每一個(gè)象素上都設(shè)置有一個(gè)薄膜晶體管(TFT),可有效地克服非選通時(shí)的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線(xiàn)數(shù)無(wú)關(guān),因此大大提高了圖像質(zhì)量[5]。
系統(tǒng)中使用IL19341芯片控制液晶屏,TSC2046芯片進(jìn)行觸摸屏控制。目前大多數(shù)液晶控制器都通過(guò)8080或6800接口與MCU進(jìn)行通信,系統(tǒng)利用8080通信時(shí)序來(lái)控制IL19341,由于利用普通I/O接口模擬8080時(shí)序效率低,所以利用STM32F407ZGT6的FSMC接口驅(qū)動(dòng)顯示電路。FSMC接口是一種總線(xiàn)接口,有4個(gè)專(zhuān)用的片選信號(hào),可以訪(fǎng)問(wèn)最多4個(gè)NOR、NAND閃存或SRAM存儲(chǔ)設(shè)備,F(xiàn)SMC寫(xiě)SRAM的時(shí)序與8080時(shí)序相似,所以在這里L(fēng)CD就可以當(dāng)做SRAM設(shè)備使用使用。LCD的的顯示驅(qū)驅(qū)動(dòng)連接如圖2所示。
圖2 LCD驅(qū)動(dòng)電路引腳連接
溫度傳感器的種類(lèi)眾多,其中DS18B20具有超小的體積,超低的硬件開(kāi)消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)的優(yōu)點(diǎn)。DS18B20的主要特征:1)全數(shù)字溫度轉(zhuǎn)換及輸出2)先進(jìn)的單總線(xiàn)數(shù)據(jù)通信。所有的單總線(xiàn)器件要求采用嚴(yán)格的信號(hào)時(shí)序,以保證數(shù)據(jù)的完整性。DS18B20共有6種信號(hào)類(lèi)型:復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)1、讀0和讀1[6]。DS18B20的硬件連接如圖3所示。
圖3 DS18B20硬件連接
單總線(xiàn)上的所有通信都是以初始化序列開(kāi)始,初始化過(guò)程包括復(fù)位過(guò)程和從機(jī)應(yīng)答過(guò)程,按照DS18B20的時(shí)序圖,相應(yīng)的寫(xiě)0和寫(xiě)1并保持一定的時(shí)間,時(shí)間延時(shí)系統(tǒng)采用STM32內(nèi)部的滴答定時(shí)器提供精準(zhǔn)的時(shí)間定時(shí),初始化之后,就可對(duì)DS18B20進(jìn)行讀寫(xiě)了,根據(jù)讀寫(xiě)時(shí)序就可以對(duì)其進(jìn)行一個(gè)字節(jié)的讀取,讀取到的數(shù)據(jù)是一個(gè)16位的帶符號(hào)的二進(jìn)制補(bǔ)碼,對(duì)其進(jìn)行相應(yīng)的轉(zhuǎn)換便能得到所需要的溫度數(shù)據(jù)。
水流量傳感器主要由塑料閥體、水流轉(zhuǎn)子組件和霍爾傳感器組成。它裝在熱水器進(jìn)水端,用于檢測(cè)進(jìn)水流量,當(dāng)水通過(guò)水流轉(zhuǎn)子組件時(shí),磁性轉(zhuǎn)子轉(zhuǎn)動(dòng)并且轉(zhuǎn)速隨著流量變化而變化,霍爾傳感器輸出相應(yīng)脈沖信號(hào),傳感器輸出脈沖波形如圖4所示。
圖4 流量傳感器輸出脈沖波形
STM32擁有強(qiáng)大的定時(shí)器功能,它的通用定時(shí)器TM2~TM5擁有捕獲/比較寄存器[7],寄存器在輸入時(shí)被用于捕獲輸入脈沖在電平發(fā)生發(fā)生翻轉(zhuǎn)時(shí)的TMxCNT的當(dāng)前計(jì)數(shù)值,在對(duì)PWM脈沖輸入進(jìn)行分析的時(shí)候,將流量傳感器的脈沖通過(guò)GPIO引腳輸入到定時(shí)器的脈沖檢測(cè)通道,通過(guò)相應(yīng)的寄存器對(duì)捕獲數(shù)據(jù)便進(jìn)行計(jì)算可以得出輸入脈沖的頻率以及水流量的數(shù)據(jù)。
系統(tǒng)中用到的射頻模塊為MFRC522,MFRC522是高度集成的非接觸式(13.56 MHz)讀寫(xiě)卡芯片。此發(fā)送模塊利用調(diào)制和解調(diào)的原理,并將它們完全集成到各種非接觸式通信方法和協(xié)議中(13.56 MHz)。
MFRC522的內(nèi)部發(fā)送器部分可驅(qū)動(dòng)讀寫(xiě)器天線(xiàn)與ISO 14443A/MIFARE?卡[8]和應(yīng)答機(jī)的通信,無(wú)需其它的電路。接收器部分提供一個(gè)功能強(qiáng)大和高效的解調(diào)和譯碼電路,用來(lái)處理兼容ISO 14443A/MIFARE?的卡和應(yīng)答機(jī)的信號(hào)。MFRC522支持MIFARE?更高速的非接觸式通信,雙向數(shù)據(jù)傳輸速率高達(dá)424 kbit/s[9]。
系統(tǒng)中RC522模塊是采用SPI串行接口與STM32進(jìn)行通信,STM32作為主機(jī),RC522模塊作為從機(jī),要注意通信速度不能超過(guò)10 Mbit/s,否則數(shù)據(jù)讀取可能會(huì)出錯(cuò),造成系統(tǒng)工作的不穩(wěn)定。系統(tǒng)啟動(dòng)時(shí),RC522模塊開(kāi)啟天線(xiàn),當(dāng)有射頻卡靠近時(shí),就可以得到卡的類(lèi)型和ID號(hào),完成刷卡工作。
GPRS無(wú)線(xiàn)上網(wǎng)技術(shù)的快速發(fā)展給數(shù)據(jù)采集技術(shù)的發(fā)展帶來(lái)了新的活力。GPRS是GSM網(wǎng)絡(luò)通信向3G標(biāo)準(zhǔn)的過(guò)渡階段,即2.5G標(biāo)準(zhǔn)。GPRS在現(xiàn)有的GSM網(wǎng)絡(luò)的基礎(chǔ)上引入分組交換的功能,支持TCP/IP協(xié)議,可以與Internet直接相通,因此已在消費(fèi)電子中得到了廣泛的應(yīng)用。GPRS理論最高通信速率可達(dá)到171.2 kb/s,且國(guó)內(nèi)外各大通信公司均推出了各自的GPRS通信模塊,穩(wěn)定性好,完全能夠滿(mǎn)足各種數(shù)據(jù)采集系統(tǒng)的需要[10]。
系統(tǒng)使用SIM900A模塊進(jìn)行GPRS通信[11],實(shí)現(xiàn)模塊與電腦的TCP數(shù)據(jù)傳輸。SIM900A兼有GPRS,短息,打電話(huà)的功能。
系統(tǒng)之前采集的溫度和水流量的信息就通過(guò)此模塊實(shí)時(shí)地向管理人員的所在IP的電腦不斷傳送數(shù)據(jù),以供管理人員對(duì)數(shù)據(jù)進(jìn)行分析處理。
此模塊使用GSM模塊中的發(fā)短信的功能來(lái)實(shí)現(xiàn),用戶(hù)通過(guò)按鍵控制發(fā)送短信,發(fā)送的短信內(nèi)容和發(fā)送人的號(hào)碼已經(jīng)在程序中寫(xiě)好,用戶(hù)直接根據(jù)界面的提示便可完成向管理者發(fā)送故障短信的功能[12]。
系統(tǒng)音樂(lè)播放模塊所使用的音頻解碼器是WM8978,WM8978通過(guò)I2S接口(即數(shù)字音頻接口)同MCU進(jìn)行音頻數(shù)據(jù)傳輸(支持音頻接收和發(fā)送),通過(guò)兩線(xiàn)(MODE=0,即IIC接口)或三線(xiàn)(MODE=1)接口進(jìn)行配置[13]。
系統(tǒng)中將WM8978當(dāng)做IIS的從機(jī)來(lái)使用,首先要對(duì)WM8978進(jìn)行初始化,包括復(fù)位,DAC設(shè)置以及音量的設(shè)置,隨后對(duì)IIS進(jìn)行初始化,包括IIS模式,標(biāo)準(zhǔn)等,接下來(lái)要對(duì)WAV文件進(jìn)行解析,取得音頻信號(hào)的采樣率和位數(shù)。IIS在播放音頻的時(shí)候,一般是采用DMA來(lái)傳輸?shù)?,這樣可以減輕CPU的工作量,系統(tǒng)通過(guò)開(kāi)啟DMA傳輸,并及時(shí)填充WAV數(shù)據(jù)到DMA的緩沖區(qū),就可以進(jìn)行音樂(lè)播放了。
系統(tǒng)在很多時(shí)候需要用到大量存儲(chǔ)的數(shù)據(jù),比如系統(tǒng)的界面UI,音樂(lè)播放模塊所需要的音樂(lè)文件,STM32的內(nèi)部RAM的空間有限,無(wú)法存儲(chǔ)系統(tǒng)所需大容量的數(shù)據(jù),此時(shí)系統(tǒng)就要利用STM32的SDIO接口驅(qū)動(dòng)來(lái)進(jìn)行擴(kuò)展[14]。
由于系統(tǒng)系統(tǒng)需要同時(shí)執(zhí)行多項(xiàng)任務(wù),為了保證各項(xiàng)任務(wù)能夠正常的運(yùn)轉(zhuǎn),程序當(dāng)中使用了了UCOSIII系統(tǒng)。UCOSIII是支持多個(gè)任務(wù)擁有同一優(yōu)先級(jí)的,這些任務(wù)采用時(shí)間輪轉(zhuǎn)調(diào)度方法進(jìn)行任務(wù)調(diào)度,也就是說(shuō)將一個(gè)CPU時(shí)鐘周期分成多片,每一個(gè)片分配一定的時(shí)間,當(dāng)一個(gè)時(shí)間片的時(shí)間到了之后,自動(dòng)切換到任務(wù)就緒表中優(yōu)先級(jí)最高的任務(wù)。
程序中設(shè)置了4個(gè)任務(wù),他們會(huì)隨著時(shí)鐘信號(hào)按順序不斷執(zhí)行,系統(tǒng)在開(kāi)啟之后,不斷地對(duì)溫度和水流量信息進(jìn)行采集,并實(shí)時(shí)地將采集到的數(shù)據(jù)傳通過(guò)STM32的串口發(fā)送AT指令送到GPRS網(wǎng)絡(luò),并且程序中不斷檢測(cè)是否有有效距離內(nèi)射頻卡,檢測(cè)到則開(kāi)啟熱水閥,否則繼續(xù)向下執(zhí)行任務(wù),隨后的程序會(huì)不斷查詢(xún)按鍵值執(zhí)行任務(wù)。程序運(yùn)行的流程圖如圖5所示。
圖5 主程序流程圖
文中完成了基于STM32/GSM的淋浴系統(tǒng)設(shè)計(jì),性?xún)r(jià)比高,性能穩(wěn)定,保證系統(tǒng)能夠長(zhǎng)時(shí)間穩(wěn)定使用,減少了酒店管理人員的日常維護(hù)開(kāi)銷(xiāo),系統(tǒng)設(shè)計(jì)中的GSM模塊,保障了一旦系統(tǒng)故障能夠及時(shí)維護(hù)。實(shí)驗(yàn)證明,由于STM32擁有靈活的靜態(tài)存儲(chǔ)器控制器FSMC,便于系統(tǒng)擴(kuò)展存儲(chǔ)器以及連接液晶顯示屏,使得產(chǎn)品結(jié)構(gòu)簡(jiǎn)潔,避免了了復(fù)雜的電路之間造成的干擾。系統(tǒng)具有溫度和水流量采集的功能,提升用戶(hù)的使用的舒適度,對(duì)水量的節(jié)約使用有了相應(yīng)的控制,符合現(xiàn)在低碳環(huán)保的國(guó)家政策。同時(shí)音樂(lè)播放功能使得系統(tǒng)的設(shè)計(jì)更加人性化,所以此系統(tǒng)跟市場(chǎng)上的同類(lèi)產(chǎn)品相比更具優(yōu)越性,便于在未來(lái)市場(chǎng)中的推廣,具有廣泛的市場(chǎng)前景。
[1]蔡妍娜.基于STM32的熱水器控制器與網(wǎng)絡(luò)接口設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014(2):50-51,54.
[2]姚蔚蔚.低碳旅游視角下酒店管理模式研究[J].生產(chǎn)力研究,2012(5):203-204.
[3]張逢雪,王香婷,王通生,等.基于STM32單片機(jī)的無(wú)線(xiàn)智能家居控制系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2011,30(8):98-101.
[4]丁力,宋志平,徐萌萌,等.基于STM32的嵌入式測(cè)控系統(tǒng)設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版,2013,44:260-265.
[5]尤衛(wèi)衛(wèi),冒建亮,葉樺.基于STM32和CPLD的TFT-LCD顯示控制器設(shè)計(jì)[J].液晶與顯示,2015,30(3):444-450.
[6]向陽(yáng),曾超塵,熊瑛,等.基于GPRS網(wǎng)絡(luò)的育苗溫室遠(yuǎn)程監(jiān)控系統(tǒng)研究[J].農(nóng)機(jī)化研究,2015(10):228-231.
[7]曹彬乾,程遠(yuǎn)增,孫書(shū)鷹,等.基于STM32步進(jìn)電機(jī)多細(xì)分控制的設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2013,13(23):6893-6897.
[8]MFRC523:非接觸式讀寫(xiě)13.56 MHz通信方案[J].世界電子元器件,2010(4):17.
[9]袁樂(lè)民.基于RC522的RFID讀卡器電路設(shè)計(jì)實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2014(12):168-169.
[10]Yanbo Zhao,Zhaohui Ye.A low cost GSM/GPRS based wireless home security system[J].IEEE Transactions on Consumer Electronics,2008,54(2):567-572.
[11]王鐵流,馮正乾,周尚,等.基于SIM900的無(wú)線(xiàn)遠(yuǎn)程海洋監(jiān)測(cè)終端機(jī)的設(shè)計(jì)[J].電子測(cè)量技術(shù),2012(12):108-111.
[12]潘朝,羅小巧,黃佳,等.基于GSM短信的智能家居控制系統(tǒng)的設(shè)[J].電子測(cè)量技術(shù),2013,36(6):121-124.
[13]周鵬,王承,湯銀煥,等.基于ALSA的WM8976音頻驅(qū)動(dòng)的設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào)·信息與管理工程版,2011,33(4):517-520.
[14]黃曉曦,黃世震.基于ARM的SDIO驅(qū)動(dòng)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2010(1):159-163.
Design of embedded shower control system based on STM32/GSM technology
WU Qi,LIU Yu,JIN Dong-zi
(College of Electronic and Information Engineering,Anhui University,Hefei236001,China)
In this paper,a kind of embedded intelligent control system used in the hot water shower was designed based on the STM32 technology.A STM32F407 processing unit was adopted as the control component.Users can adjust the water temperature through different sensors based on their requirements and enjoy music at the same time when showering,which improved the users’comfortability.Information also can be transmitted to the management personnel immediately through GSM modules when system malfunctions.On the other hand,the management personnel can also realize remote data acquisition and analysis of water temperature and water flow rate through GPRS.This system solved some problems occurred at home and hotels through embedded intelligent control technology which have many advantages such as high performance,low cost and stable operation.
STM32;GSM;embedded intelligent control technology;data acquisition analysis
TN919.6
A
1674-6236(2017)23-0155-04
2016-05-13稿件編號(hào):201605131
安徽大學(xué)2015年國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(201510357052)
吳琦(1995—),男,安徽安慶人。研究方向:電子信息工程,信號(hào)處理等。