邵黎陽 黃海興 劉奇石
【摘要】本設計用Altera公司的嵌入式處理器作為智能控制軟核,并結(jié)合TC53i短信接收模塊,通過調(diào)制解調(diào)器命令語言實現(xiàn)對家用電器的遠程控制。在本設計中,可以對現(xiàn)場環(huán)境溫濕度進行采集;手機可以和TC35i通信模塊實時通話,并通過發(fā)送設定好的短信息指令可以實現(xiàn)、電水杯的開啟與關(guān)閉等功能。還可以將當時的現(xiàn)場環(huán)境條件狀態(tài)通過短信的形式發(fā)送到指定的手機中,達到對操作的結(jié)果了如指掌的目的。
【關(guān)鍵詞】嵌入式處理器;TC35i通信模塊;遠程控制
隨著現(xiàn)代通信技術(shù)的迅速發(fā)展,家電的智能化和數(shù)字化也應運而生。因此,我們利用NiosII技術(shù)設計了一個遠程控制模塊,以實現(xiàn)家用電器的智能化。它使得人們可以通過手機或者互聯(lián)網(wǎng)在任何時候,任何地點對家中的各種電器進行遠程控制。
1.系統(tǒng)方案介紹
本設計利用FPGA平臺的Nios II軟核處理器,調(diào)用4個IP core,其中3個為通用IO接口,剩下的一個為異步串行通訊接口。以上所有IP core的管腳均需通過SOPC Builder文件定義,否則將無法與FPGA實際外部管腳相連。由于電熱杯的驅(qū)動電流較大,F(xiàn)PGA的輸出電流無法將其直接開啟,故需在電熱杯與FPGA之間加入以驅(qū)動電路以實現(xiàn)功能。驅(qū)動電路采用繼電器作為控制器件,可以控制交變電壓220V下的電器,從而實現(xiàn)低壓器件控制高壓器件的目的。系統(tǒng)功能結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)設計方案
2.硬件設計
2.1 FPGA_Cyclone_III_ EP3C16下載板
本設計采用搭載Altera公司推出的Cyclone III系列芯片EP3C16Q240C8N芯片作為核心處理器的EP3C16Q240C8N-FPGA/Nios II開發(fā)板進行設計。具有電源和時鐘設計完善;性能穩(wěn)定可靠、結(jié)構(gòu)緊湊美觀;板上乘載資源、周邊接口較多,可擴展性強;板上器件調(diào)試方便,配置容易;擴展靈活等特點[1]。
2.2 TC35i短信模塊
TC35i是德國SIEMENS(西門子)公司的一款雙頻900/1800MHz高度集成的GSM模塊[2]。它設計小巧、功耗很低,可以為很多通信應用提供經(jīng)濟高效的解決方案。本設計采用RS232的UART通信模式與FPGA下載板進行數(shù)據(jù)傳輸。
2.3 驅(qū)動電路
本設計采用家用電器(電熱杯)作為控制對象,利用繼電器來控制,而繼電器本身對于FPGA芯片而言就是一個功率器件,因此這個驅(qū)動電路就顯得尤為重要。電路如圖2所示。在驅(qū)動電路中加入二極管要起到保護三極管等驅(qū)動元件的目的。當三極管的控制端,即FPGA的控制I/O管腳電平由高變低時,流經(jīng)繼電器線圈的電流將迅速減小,這時線圈會產(chǎn)生很高的自感電動勢,與電源電流方向同向產(chǎn)生疊加,其電壓將加在c、e級兩端,會使三極管擊穿。采用8050三極管驅(qū)動繼電器動作;并聯(lián)上二極管后,即可將繼電器線圈中的自感電動勢限制在二極管的正向?qū)妷簝?nèi),此時二極管壓降為0.7V(硅管),從而達到避免擊穿三極管的目的。
圖2 繼電器原理圖
NPN型三極管8050的集電極最大電流為1.5A,其滿足電熱杯的額定工作電流1.36A,經(jīng)測試,此電路未發(fā)現(xiàn)異常。
3.軟件設計
Nios Ⅱ軟核內(nèi)部采用32位指令和數(shù)據(jù)總線,內(nèi)部有32個通用寄存器和32個外部中斷源;使用同樣的指令集架構(gòu)(ISA),100%二進制代碼兼容,設計者可以根據(jù)系統(tǒng)需求的變化更改CPU,且開發(fā)人員可以在Nios ⅡCPU 核內(nèi)增加硬件,用以執(zhí)行復雜運算任務,為時序要求緊張的軟件提供加速算法。[3]
3.1 Nios II嵌入式處理器設計
在Quartus下的SOPC Builder中建立軟核。設計軟核處理器時,CPU選用功能比較豐富的Nios II/f型,建立本設計所需的I/O軟核,選用數(shù)據(jù)為16位的動態(tài)隨機存儲器SDRAM,波特率為9600bps的串口(UART),JTAG UART以及EPCS Flash控制器。
圖3 軟核處理器原理圖
3.2 系統(tǒng)控制軟件流程圖
軟件流程圖如圖4所示,首先調(diào)用初始化函數(shù)對Nios II和液晶模塊進行初始化。對于液晶顯示器,初始化是必要的步驟,否則不能使用。在整個系統(tǒng)軟件的運行過程中,主要由三個判斷部分組成。每個部分都需要通過Nios II與AT命令配合使用,而AT命令需通過UART傳送到TC35i短信模塊中運行。故這三個判斷部分是整個系統(tǒng)軟件成功運行的關(guān)鍵所在。
3.3 模塊連接部分程序
本部分函數(shù)主要實現(xiàn)系統(tǒng)開機時的自動連接功能。當開發(fā)板上電時,會不斷從開發(fā)板的串口發(fā)送字符串“AT”。如果當TC35i短信模塊與開發(fā)板連接成功,其會通過串口回復字符串“OK”。當開發(fā)板接收到回復的字符串時,會對其進行判斷。如果接收到的字符串為“OK”時,通過液晶顯示“GSM...”,并給手機回發(fā)短信息“GSM is ok”示意連接成功,系統(tǒng)程序進入下一循環(huán)。如果沒有收到字符串“OK”,程序循環(huán),直到成功接收到字符串“OK”方可跳出循環(huán)。具體程序如下。
void send_message(void)
{ ?/////////////////////發(fā)送短信部分
pu8Ptr = u8GsmStr6; ? ? ? //AT+CMGS="+8615600157929"
UartSendMultiByte(pu8Ptr, 25);
Delay_ms(250);
pu8Ptr = u8GsmStr15;//短信內(nèi)容
UartSendMultiByte(pu8Ptr,13);
Delay_ms(250);
UartSendByte(0x1A);
Delay_ms(100);
UartSendByte(0x1D);
UartSendByte(0x0A);
for(numb=0;numb<100;numb++)
{
Delay_ms(100);
}
圖4 軟件流程圖
3.4 短信判斷部分程序
本部分函數(shù)主要實現(xiàn)判斷接收到的短信內(nèi)容,并根據(jù)不同的內(nèi)容跳轉(zhuǎn)到不同的循環(huán),從而實現(xiàn)諸如打開電熱杯、關(guān)閉電熱杯、點亮發(fā)光二極管與熄滅發(fā)光二極管的功能。在開發(fā)板與TC35i短信模塊連接正常的前提下,短信模塊在接收到字符串“+CMGS: 1”,68表示接收到的第1條信息。
void send_wenshidu(void)
{ ?/////////////////////發(fā)送短信部分
pu8Ptr = u8GsmStr6; ? ? ? ? ?//AT+CMGS=”+8615600157929”
UartSendMultiByte(pu8Ptr, 25);
Delay_ms(250);
pu8Ptr = u8GsmStr5; ? //短信內(nèi)容
UartSendMultiByte(pu8Ptr, 9);
UartSendByte((u8DHT11Data[0]/10)+ 48); //C
UartSendByte((u8DHT11Data[0]%10)+ 48);
UartSendByte(‘%);
pu8Ptr = u8GsmStr7; ? //短信內(nèi)容
UartSendMultiByte(pu8Ptr, 9); //UartSendByte(u8Temperature);
UartSendByte((u8DHT11Data[2]/10)+ 48); //C
UartSendByte((u8DHT11Data[2]%10)+ 48);
UartSendByte(‘c);
Delay_ms(250);
UartSendByte(0x1A);
Delay_ms(100);
UartSendByte(0x1D);
UartSendByte(0x0A);
for(numb=0;numb<100;numb++)
{
Delay_ms(100);
}
4.系統(tǒng)實現(xiàn)
將TC35i短信模塊通過串行總線與EP3C16可編程片上系統(tǒng)開發(fā)板相連,外圍電路板按預留接口連接完畢后,分別給TC35i和開發(fā)板接通電源。短暫等待后,可以觀察到液晶顯示出現(xiàn)如圖5所示的圖像,證明TC35i短信模塊已經(jīng)和EP3C16可編程片上系統(tǒng)開發(fā)板連接成功。連接成功后就可以向短信模塊發(fā)送控制信息,控制代碼有如下兩種,其意義分別為:OPEN將電熱杯打開;CLOSE將電熱杯關(guān)閉。由于“OPEN”與“CLOSE”兩種指令功能基本相同,故在此只說明“OPEN”指令的實現(xiàn)。首先系統(tǒng)采集周圍環(huán)境的溫濕度,GSM初始化并在液晶上顯示。通過手機向TC35i短息模塊發(fā)送內(nèi)容為“OPEN”的短息之后,液晶會顯示接收短信,如圖6所示。接收短信后,繼電器打開的同時液晶顯示工作狀態(tài)“turn on”。整個系統(tǒng)收到指令“OPEN”時,電熱杯開始工作。幾秒鐘后,手機會收到來自TC35i短信模塊的信息回復當前的環(huán)境溫濕度,如圖7所示。根據(jù)課題要求,整體功能實現(xiàn)如圖8所示。
5.結(jié)束語
本系統(tǒng)具有通過手機控制外圍硬件的能力??梢酝ㄟ^手機發(fā)送的控制信息與TC35i短信模塊通信,其短信內(nèi)容經(jīng)RS232串行總線傳輸?shù)紽PGA芯片,在其中進行數(shù)據(jù)分析,使不同的短信內(nèi)容實現(xiàn)不同的功能,最終實現(xiàn)對系統(tǒng)外圍電器進行控制。可以將控制結(jié)果和周圍環(huán)境溫濕度通過液晶顯示器顯示出來,并且可以在控制完成后給指定手機返回信息、報告控制情況和現(xiàn)場環(huán)境狀況,完成指定功能。嵌入式處理器發(fā)展前景廣闊,GSM通信網(wǎng)絡雖然不是目前最新的通信體系,但市場占有率依然巨大,二者結(jié)合體現(xiàn)了各自的優(yōu)勢,相信在今后的智能家電的舞臺上,會越來越多看到它們的身影。
參考文獻
[1]www.Altera.com.
[2]TC35i開發(fā)手冊.
[3]郝建國,倪德克,鄭燕,等編著.基于Nios II內(nèi)核的FPGA電路系統(tǒng)設計[M].電子工業(yè)出版社,2010,4.
[4]童詩白.模擬電子技術(shù)基礎(第4版)[M].北京高等教育出版社,2006.5.
[5]張鳳英,王剛.基于ARM7和GSM的短信息家電遠程控制系統(tǒng)設計[J].山西大同大學學報(自然科學版),2008,10.
[6]John G.Proakis.Digital Communications(Fifth Edition).Publishing House of Electronics Industry.2009,5.