• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于NiosⅡ的遠程家電控制系統(tǒng)的設計與實現(xiàn)

    2014-04-29 07:39:25邵黎陽黃海興劉奇石
    電子世界 2014年17期
    關(guān)鍵詞:遠程控制

    邵黎陽 黃海興 劉奇石

    【摘要】本設計用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.

    猜你喜歡
    遠程控制
    基于SMS的汽車遠程智能控制系統(tǒng)設計
    軟件導刊(2016年12期)2017-01-21 15:05:29
    智能可調(diào)節(jié)動作識別型節(jié)能風扇的設計
    水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
    一種基于單片機技術(shù)的家用電器遠程控制系統(tǒng)的設計
    基于物聯(lián)網(wǎng)的遠程紅外控制器
    基于Arduino UNO的智能插座設計
    鹽城地區(qū)設計項目與課堂遠程互動的方式方法研究
    基于GSM的遠程控制系統(tǒng)
    短波發(fā)射臺節(jié)目傳輸控制系統(tǒng)及技術(shù)改造
    科技視界(2016年17期)2016-07-15 14:45:42
    礦山機電設備遠程控制技術(shù)的應用分析
    长寿区| 怀安县| 乐东| 清水县| 逊克县| 朝阳区| 东乡| 三门峡市| 金昌市| 巴青县| 泰宁县| 固阳县| 芒康县| 永春县| 乃东县| 丁青县| 临高县| 伊春市| 新营市| 平罗县| 垣曲县| 偏关县| 子洲县| 南木林县| 莎车县| 克东县| 西安市| 紫金县| 巴南区| 小金县| 临沧市| 绥江县| 上饶县| 苏州市| 松溪县| 淮阳县| 内黄县| 黄浦区| 杭州市| 乌海市| 兴安县|