無線通信是人們現(xiàn)代日常生活的一部分,在辦公室、學(xué)校或家庭等場所,都在接觸無線通信設(shè)備,如筆記本電腦、打印機、攝像機、手持設(shè)備、照明控制器和家電設(shè)備等。這些設(shè)備的復(fù)雜程度與它們執(zhí)行的任務(wù)類型有關(guān),其中許多家庭自動化的無線應(yīng)用采用小型微控制器和少量代碼執(zhí)行簡單的任務(wù),更加追求低成本、單一性和微型化。在目前眾多的無線網(wǎng)絡(luò)技術(shù)中,ZigBee技術(shù)作為一種新興的無線網(wǎng)絡(luò)技術(shù),近兩年在工業(yè)控制、消費電子等領(lǐng)域以及科研開發(fā)中得到了眾多的關(guān)注和使用,而且越來越顯示出它的強勁應(yīng)用勢頭。ZigBee是一種低功耗、短距離和低速的無線網(wǎng)絡(luò)技術(shù),工作在2.4GHz國際免執(zhí)照的頻段,在 IEEE標(biāo)準上它和無線局域網(wǎng)、藍牙同屬802家族中的無線個人區(qū)域網(wǎng)絡(luò)。
通常的ZigBee無線控制器節(jié)點是以一個高端微控制器為核心,再配合無線收發(fā)器構(gòu)成的。本文將設(shè)計一個新型的、低成本的、使用ZigBee無線技術(shù)的精簡型無線控制器,比如用于空調(diào)遙控,整個目標(biāo)應(yīng)用板上的元器件極少,走線極少,體積極小。該設(shè)計只采用三個電子芯片:一個低端微控制器(MC9S08QG8)、一個RF收發(fā)器(MC13192)和一個16×2的LCD,其他需要的元器件為電阻和按鍵之類的無源器件。
硬件電路的具體設(shè)計
根據(jù)前面器件選擇和總體構(gòu)建的考慮,本文完成的無線控制器具體設(shè)計電路如圖2所示。其中MC9S08QG8微控制器(MCU)的大部分管腳具有多重功能,電路設(shè)計中,即以MC9S08QG8為核心,實現(xiàn)各種控制。
圖 無線控制器應(yīng)用原理圖分為三部分:MC9S08QG8 MCU所需的基本連接;MCl 3192無線收發(fā)器的連接;16×2 LCD和4個按鍵的連接。
各部分的供電電源為低電壓3 V,可用兩節(jié)7號電池供電。MCU的時鐘電路無需外接晶振,直接使用MCU內(nèi)部自帶的時鐘;MCU的RST和BKGD引腳用于BDM接口的連接,完成程序下載后可另作它用,比如MCl3192的中斷信號IRO就接至PTA3/RST/IRQ復(fù)用;圖2中MCl3192收發(fā)器其他外圍電路使用數(shù)據(jù)手冊提供的工作所需的最低硬件要求。MCU與MCl3192的連接按照標(biāo)準SPI方式連接,MCU為主機,MCl3192為從機,通過 MOSI,MISO,SPSCK信號線可以配置收發(fā)器,并發(fā)送和接收數(shù)據(jù)。同時也可以通過SPI配置收發(fā)器提供的定時器和GPIO引腳,將其用于其他的目的。收發(fā)器的片選CE信號由MCU的通用I/O口PTB5進行選通。收發(fā)器要切換運行模式(接收、發(fā)送、半休眠、休眠或空閑)還需要另外一個信號,該信號稱為RXTXEN,由MCU的通用I/O口PTB7進行處理。MCU與MCl3192之間的數(shù)據(jù)傳輸模式可采用流模式,每次收發(fā)一個字(16 b),都通過中斷由MCU控制處理,這樣可以最大限度地保證了數(shù)據(jù)傳輸?shù)膶崟r性。
16×2 LCD的RS,R/W,E信號由MCU通用I/O口PTB的三個引腳進行控制,實際上可以將R/W直接接低電平,或者軟件控制使始終為低點平,因為應(yīng)用時只需對LCD做命令、數(shù)據(jù)寫入;數(shù)據(jù)線采用LCD的4線訪問形式,即只用DB4~DB7,由MCU的 PTA0~PTA3提供;背光電源BKL+,BKL-不接,以減少功耗。4個按鍵也接在MCU的PTA0~PTA3,與LCD數(shù)據(jù)線復(fù)用,按鍵的上拉電阻使用MCU內(nèi)部配置的,無需外接上拉以減省元件。同時當(dāng)?shù)却幚戆存I時,MCU將按鍵輸入直接配置成按鍵輸入中斷,也減少了硬件連接和軟件復(fù)雜度,按鍵發(fā)生時MCU自動轉(zhuǎn)去讀取按鍵輸入及按鍵處理,當(dāng)要進行LCD顯示時,MCU又將復(fù)用線臨時配置成數(shù)據(jù)輸出,配合LCD控制信號完成LCD的內(nèi)容顯示。MCU的8 KB FLASH和512 B的存儲器資源對于一般的無線控制是足夠的,另外,設(shè)計中還會用到MCU的定時器資源,通過定時比較器生成一般無線控制應(yīng)用中都需要的定時時間,通過軟件編程可以方便地實現(xiàn)。