當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于以上的背景,我們就提出了這樣一個方案,本方案擬采用基于Atmel AVR32單片機的EVK1100開發(fā)板作為硬件平臺。本平臺有幾大優(yōu)勢以利于設(shè)計方案的完成。首先是GPIO的引出,這就方便我們的各個模塊的擴展。

前言

家庭是社會的細胞,家庭的幸福也就預(yù)示著社會的和諧。一個良好的居住環(huán)境不但可以給我們一個健康的體魄,更能讓我們以一個良好的心情參加到工作、學(xué)習(xí)當(dāng)中。然而,生活在這個喧囂的城市,整天忙于工作和學(xué)習(xí)的我們也會常常忽視我們休整的地方——家庭,導(dǎo)致室內(nèi)各項生活指數(shù)都嚴重的超過了正常值;我們也會時??吹竭@樣的報道:出門時忘記關(guān)掉正在使用的煤氣,結(jié)果就引發(fā)了一場損失慘重的火災(zāi);還有,由于家里沒有防盜裝置,致使猖狂的小偷經(jīng)常對我們的人身、財產(chǎn)安全構(gòu)成嚴重的威脅。

基于以上的背景,我們就提出了這樣一個方案,它使得我們能夠隨時隨地了解到家里的各種情況(如:家里溫度高低,光線明亮與否)。當(dāng)出現(xiàn)意外險情時(如家里燃氣泄露、有小偷闖入等),此系統(tǒng)能及時的告知我們,已達到有備而無患的效果。

1.1 系統(tǒng)整體設(shè)計

1.1.1硬件平臺選用及資源配置

本方案擬采用基于Atmel AVR32單片機的EVK1100開發(fā)板作為硬件平臺。本平臺有幾大優(yōu)勢以利于設(shè)計方案的完成。首先是GPIO的引出,這就方便我們的各個模塊的擴展。

其次是多達兩個的串口,可以很方便的讓我們完成實驗調(diào)試。再次是上面的擴展模塊(光線傳感器、溫度傳感器、LCD液晶)設(shè)置,可以加快設(shè)計完成的進度。

在控制信息采集方面,方案使用了傳感器。相對來說,傳感器的使用不是太難,購買也比較方便。主要用了:煙霧傳感器(采集環(huán)境煙霧濃度數(shù)據(jù))、濕度傳感器(采集周圍環(huán)境濕度數(shù)據(jù))、溫度傳感器(采集周圍環(huán)境溫度數(shù)據(jù))、光線傳感器(采集室內(nèi)光強數(shù)據(jù))。 本設(shè)計系統(tǒng)框圖如下圖1所示:

圖 1

1.1.2軟件設(shè)計

主控芯片AVR32 AT32UC3A0512,為降低CPU運行負載,提高系統(tǒng)實時性,采用以1.8S為周期對占用時間長的程序運行,重點對標(biāo)志進行判斷,同時以中斷的方式對標(biāo)志作處理。下圖2為本系統(tǒng)詳細軟件流程圖

圖 2

1.2各個模塊設(shè)計

1.2.1遠程通信模塊GSM

GSM:global system for mobile communications全球移動通信系統(tǒng),GSM 是當(dāng)前應(yīng)用最為廣泛的移動電話標(biāo)準(zhǔn)。全球超過200個國家和地區(qū)超過10億人正在使用GSM電話。通過GSM我們能夠從任何地方遠程遙控家里,借助于GSM我們只需支付極低的費用,而不需要自己搭建一個通信系統(tǒng),自己搭建通信系統(tǒng)需要極大的人力,物力且通信范圍有限,GSM作為覆蓋最為廣泛的移動電話系統(tǒng),可以很好的被我們所利用。

本設(shè)計核心模塊采用simcom公司的sim300模塊,具有相當(dāng)高的性價比。廣泛用于手機,PDA,無線數(shù)據(jù)傳輸?shù)阮I(lǐng)域。sim300是采用60Pin板板連接器的雙頻GSM/GPRS模塊解決方案。模塊具有工業(yè)標(biāo)準(zhǔn)化接口,功耗低,可通過GSM/GPRS 850/900/1800/1900MHz通信網(wǎng)絡(luò)傳輸語音、短信、數(shù)據(jù)和傳真。

本項目中家里的任何情況,在任何時刻,任何地點都能及時的通知到我們,讓我們隨時隨地的了解家里的情況。同時遠程手機可在異地通過發(fā)短信了解家里的情況,溫度、濕度、光照等等,同時家里發(fā)生異常,例如有外人闖入也可以通過GSM向遠程手機報告,如果家里有小孩,在外的父母也能通過GSM及時了解家里的情況,例如撥通電話,對小孩作必要的囑咐。GSM模塊的通信示意圖如圖3所示:

圖 3

1.2.2人機交互設(shè)計

(1)語音模塊

采用WT588D語音芯片的應(yīng)用框圖如下:

圖 4

三線串口控制模式由三條通信線組成,分別是片選 CS,數(shù)據(jù) DATA,時鐘 CLK,時序根據(jù)標(biāo)準(zhǔn) SPI 通信方式。通過三線串口可以實現(xiàn)對 WT588D語音模塊命令控制、語音播放。三線串口模式下,所有按鍵均無效。三線串口控制模式下的時序圖5如下:

圖 5

另外、由于直接使用WT588D驅(qū)動喇叭時的驅(qū)動能力不夠,需要外接語音放大器,本系統(tǒng)使用運放TDA2882來放大語音信號,放大電路如下圖6所示:

圖 6

(2)LCD顯示模塊

作為人機交互的重要模塊,lcd顯示采用avr開發(fā)板上面的lcd204,我們目前的項目顯示內(nèi)容主要是溫度,濕度,光線強度,天然氣濃度等,顯示的內(nèi)容比較少。同時,本次參賽的avr例程上面對lcd204有詳細的介紹,使用起來比較方便。

1.2.3傳感器檢測模塊

(1)紅外熱釋電探測模塊

熱釋電紅外傳感器是一種能檢測人或動物發(fā)射的紅外線而輸出電信號的傳感器。隨著激光、紅外技術(shù)的迅速發(fā)展,熱釋電晶體已廣泛用于紅外光譜儀、紅外遙感以及熱輻射探測器,它可以作為紅外激光的一種較理想的探測器。

本系統(tǒng)的設(shè)計采用的是HC-SR501人體紅外感應(yīng)模塊,其內(nèi)部傳感器芯片為LHI778。

系統(tǒng)中本模塊的工作原理如下圖7示:

圖 7

(2)MQ2氣體濃度檢測模塊

本系統(tǒng)中采用的可燃易爆氣體濃度檢測裝置是對液化氣、甲烷、丁烷、煙霧等都有較好的靈敏度的MQ2傳感器。

其靈敏度特性曲線如下圖8所示:

圖 8

本MQ2濃度檢測模塊的原理圖如下圖9所示:

圖 9

系統(tǒng)中MQ2濃度探測模塊的工作原理如下圖10示:

圖 10

(3)濕度傳感器

本設(shè)計采用的濕度傳感器是:HR31電阻型濕度傳感器。HR31濕敏電阻是采用有機高分子材料的濕度敏感元件,感濕范圍寬,長期使用性能穩(wěn)定。能夠達到精度5%RH增減的要求。

其阻抗特性如下圖11所示:

圖 11

本系統(tǒng)中濕度傳感器的工作原理如下圖12所示:

圖 12

(4)溫度傳感器

考慮到EVK1100板卡上面已經(jīng)安裝了溫度傳感器NCP18WF,為了開發(fā)的進度和成本,就沒有再買模塊,直接使用就可以了。

在系統(tǒng)中的電路原理圖如下圖13所示:

圖 13

(5)光照強度傳感器

與溫度傳感器類似,光線傳感器也是使用的EVK1100上面自帶的TEMT6000光線傳感器。其電路原理圖如下左圖14所示,特性原理圖如下右圖15所示:

圖 14圖 15

1.3軟件設(shè)計

1.3.1中斷

為了更好的提高系統(tǒng)效率,本系統(tǒng)充分的利用了AVR32單片機的中斷功能。

(1)定時器中斷

在定時中斷服務(wù)函數(shù)里面利用AD采集各種傳感器數(shù)據(jù)是一種常用的手段,本設(shè)計就是利用1.8s定時來采集各種室內(nèi)數(shù)據(jù)

定時器后臺中斷程序流程:定時器前臺主程序流程:

(2)串口中斷

在設(shè)計中,AVR單片機與GSM模塊的通信是利用串口進行的。由于用查詢方式接收串口數(shù)據(jù)會大大的降低系統(tǒng)性能實時,故串口接收部分利用串口中斷。

遠程用戶為了遠程監(jiān)視家里的情況,只需要向目標(biāo)板GSM發(fā)送短信,GSM收到短信后會向核心板AVR32串口發(fā)送數(shù)據(jù),當(dāng)AVR32串口接受到數(shù)據(jù)后,在串口中斷中把標(biāo)志位flag置1,同時把串口接受到得數(shù)據(jù)儲存到緩存中,主程序在定時器控制下,每隔1.8s檢測flag,當(dāng)檢測到flag等于1的時候,讀取緩存中的數(shù)據(jù),根據(jù)讀取到得不同數(shù)據(jù),作不用的處理,然后單片機AVR32通過串口向GSM發(fā)送相應(yīng)的室內(nèi)信息代碼,然后GSM通過短信向遠程用戶發(fā)送室內(nèi)檢測到的信息,例如溫度、濕度等等,從而高效的查詢家里的情況,達到遠程控制的功能,流程如下圖16。

圖 16

1.3.2語音部分

作為人機交互的重要平臺,語音處理部分主要是將各種傳感器采集到的參數(shù),通過語音提示用戶,語音部分的軟件框圖如下圖17所示,并通過發(fā)出警告的方式,提醒用戶改善居住環(huán)境。

圖 17

2 總結(jié)

本次項目設(shè)計時間相對緊迫,離最初的要求有一定的距離,但是總體效果還算令人滿意,實現(xiàn)了遠程用戶實時監(jiān)視家里環(huán)境,在家里環(huán)境發(fā)生異常的情況下,如有外人闖入,溫度、濕度、可燃氣體濃度發(fā)生異常時,及時的做出報警,同時通過GSM發(fā)送短信向遠程用戶發(fā)出警告,其語音模塊能夠準(zhǔn)備的根據(jù)當(dāng)時環(huán)境測得的情況,做出語音提示。

本次設(shè)計加強了我們動手、思考和解決問題的能力。在設(shè)計過程中,是心里老想著這樣的方法可以行得通的,但實際上,總是實現(xiàn)不了,因此耗費在這上面的時間也挺多的。但是到后面,我們又會換換方案,解決問題。感觸最深的就是:無論多么簡單的事情,一定要親自去做了才能做評價。想象中的簡單不等于實現(xiàn)的簡單。在本次設(shè)計當(dāng)中,我們的模塊調(diào)試用了相當(dāng)長的時間。本來以為很簡單,但是在實際調(diào)試過程中卻總是會遇到這樣那樣的問題。最后連調(diào)的時候,本來以為模塊調(diào)試通過了,連調(diào)就容易了,但是當(dāng)所有模塊連接在一起的時候就會因為相互的沖突而不能同時工作。所以又話了很長時間來調(diào)試系統(tǒng),經(jīng)過幾天不分晝夜的努力,我們終于完成了我們的系統(tǒng)。

在調(diào)試系統(tǒng)的過程中,遇到的問題真的很麻煩,比如在調(diào)試GSM SIM300模塊的過程中,需要通過avr單片機控制短信的接收和發(fā)送,但是,短信的接收過程中對于數(shù)據(jù)的采集,判斷,分析都是異常艱難的,需要從眾多的信息中提取出短信中的有效信息,就需要不斷地判斷,不斷地選擇。所以,在這個過程中會有很多莫名其妙的死機,但是,我們還是堅持了下來,通過串口,分別調(diào)試gsm和avr部分。不斷優(yōu)化我們的程序,最后達到了我們想要的結(jié)果。另外,在語音模塊的控制上面,我們選擇使用三線spi控制過程中,仍然遇到了不少的問題,比如,由于wt588d模塊上面的輸出,有busy信號,這對于實時查詢語音的播報情況十分重要,所以在調(diào)試這個語音模塊的過程中,始終想把這個忙信號用起來,但是,通過反復(fù)地調(diào)試,發(fā)現(xiàn)busy信號并不是隨語音的實時播報而一直顯示為高電平,反而只是在開始播報時會產(chǎn)生一個上升沿而已,所以,我們最后修改方案,不使用這跟信號線了。

總之,通過本次設(shè)計,我們又學(xué)到了不少知識。尤其是對AVR單片機又有了更深入的了解。通過本次大賽,我們對AVR32單片機的高級性能算是有了一個全新的認識。它的內(nèi)部Flash多達512KB,完全保證了程序的存儲。方便的基于優(yōu)先級的中斷管理,能讓我們快速的實現(xiàn)程序的設(shè)計。還有,不能不說集成開發(fā)環(huán)境AVR Studio 5.0真的很方便,尤其是里面的模塊化編程asf部分,在我們的設(shè)計過程中起到了很大的作用。

3 參考文獻

《信號與系統(tǒng)》,ALAN V.OPPENHEIM著,西安:西安交通大學(xué)出版社,1997年;

《數(shù)字圖像處理學(xué)》,元秋奇著,北京:電子工業(yè)出版社,2000年;

《模擬電子線路基礎(chǔ)》,吳運昌著,廣州:華南理工大學(xué)出版社,2004年;

《數(shù)字電子技術(shù)基礎(chǔ)》,閻石著,北京:高等教育出版社,1997年;

《數(shù)據(jù)結(jié)構(gòu)與算法》,張曉麗等著,北京:機械工業(yè)出版社,2002年;

《ARM&Linux嵌入式系統(tǒng)教程》,馬忠梅等著,北京:北京航空航天大學(xué)出版社,2004年;

《單片機原理及應(yīng)用》,李建忠著,西安:西安電子科技大學(xué),2002年;

附1:程序清單

/////////////////////////////////////////////////////////

//*************語音模塊頭文件***************************//

/////////////////////////////////////////////////////////

#ifndef _SOUND_H_

#define _SOUND_H_

#include "asf.h"

//IO口控制

#define GPIO_sound_control_Pin1 AVR32_PIN_PX23 //jidan0818 語音模塊IO:PX17

#define GPIO_sound_control_Pin2 AVR32_PIN_PX25 //jidan0818 語音模塊IO:PX17

#define GPIO_sound_control_Pin3 AVR32_PIN_PX27 //jidan0818 語音模塊IO:PX17

#define sound_cs GPIO_sound_control_Pin1 //PTAD_PTAD1

#define sound_clk GPIO_sound_control_Pin2 //PTAD_PTAD2

#define sound_data GPIO_sound_control_Pin3 //PTAD_PTAD0

//函數(shù)聲明

void init_sound_io(void);

void delay100us(unsigned char cnt);

void delay1s(unsigned char cnt);

void send_sound(unsigned char addr);

void sound_plus(void);

void sound_minus(void);

void sound_cycle(unsigned char addr);

void sound_stop(void);

void sound_test(void);

//各種報警語音聲明

void sound_wet_waring_high(void); //濕度過高報警

void sound_wet_waring_low(void); //濕度過低報警

void sound_temp_waring_high(void); //濕度過高報警

void sound_temp_waring_low(void); //濕度過低報警

void sound_sunshine_waring_high(void); //濕度過高報警

void sound_sunshine_waring_low(void); //濕度過低報警

void sound_gas_waring_high(void); //濕度過高報警

void sound_gas_waring_low(void); //濕度過低報警

void sound_people_waring(void); //濕度過高報警

void sound_temp(short int t ) ;

void sound_time(unsigned char hh,unsigned char mm,unsigned char ss);

void sound_sunshine(short int t );

void sound_wet(short int t );

void sound_gas(short int t ) ;

void sound_welcom(void);

#endif

/////////////////////////////////////////////////////////

//****************延時服務(wù)函數(shù)***************************//

/////////////////////////////////////////////////////////

//系統(tǒng)延時初始化函數(shù)

void delay_init(unsigned long fcpu_hz)

{

#ifndef FREERTOS_USED

s_fcpu_hz = fcpu_hz;

#endif

}

//系統(tǒng)ms延時函數(shù)

void delay_ms(unsigned long delay)

{

#if (defined FREERTOS_USED)

vTaskDelay( (portTickType)TASK_DELAY_MS(delay) );

#elif (defined NUTOS_USED)

NutSleep(delay);

#else

cpu_delay_ms(delay, s_fcpu_hz);

#endif

}

//系統(tǒng)us延時函數(shù)

void delay_us(unsigned long delay)

{

#if (defined FREERTOS_USED)

vTaskDelay( (portTickType)TASK_DELAY_MS(delay) );

#elif (defined NUTOS_USED)

NutSleep(delay);

#else

cpu_delay_us(delay, s_fcpu_hz);

#endif

}

/////////////////////////////////////////////////////////

//**********部分重要的服務(wù)函數(shù)***************************//

/////////////////////////////////////////////////////////

//播放存放語音的底層函數(shù)

相關(guān)閱讀

智能家庭離我們還有多遠?

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉