無(wú)線通信是人們現(xiàn)代日常生活的一部分,在辦公室、學(xué)?;蚣彝サ葓?chǎng)所,都在接觸無(wú)線通信設(shè)備,如筆記本電腦、打印機(jī)、攝像機(jī)、手持設(shè)備、照明控制器和家電設(shè)備等。這些設(shè)備的復(fù)雜程度與它們執(zhí)行的任務(wù)類(lèi)型有關(guān),其中許多家庭自動(dòng)化的無(wú)線應(yīng)用采用小型微控制器和少量代碼執(zhí)行簡(jiǎn)單的任務(wù),更加追求低成本、單一性和微型化。在目前眾多的網(wǎng)絡(luò)" title="無(wú)線網(wǎng)絡(luò)" target="_blank">無(wú)線網(wǎng)絡(luò)技術(shù)中,ZigBee技術(shù)作為一種新興的無(wú)線網(wǎng)絡(luò)技術(shù),近兩年在工業(yè)控制、消費(fèi)電子等領(lǐng)域以及科研開(kāi)發(fā)中得到了眾多的關(guān)注和使用,而且越來(lái)越顯示出它的強(qiáng)勁應(yīng)用勢(shì)頭。ZigBee是一種低功耗、短距離和低速的無(wú)線網(wǎng)絡(luò)技術(shù),工作在2.4 GHz國(guó)際免執(zhí)照的頻段,在IEEE標(biāo)準(zhǔn)上它和無(wú)線局域網(wǎng)、藍(lán)牙同屬802家族中的無(wú)線個(gè)人區(qū)域網(wǎng)絡(luò)。
通常的ZigBee無(wú)線控制器節(jié)點(diǎn)是以一個(gè)高端微控制器為核心,再配合無(wú)線收發(fā)器構(gòu)成的。本文將設(shè)計(jì)一個(gè)新型的、低成本的、使用ZigBee無(wú)線技術(shù)的精簡(jiǎn)型無(wú)線控制器,比如用于空調(diào)遙控,整個(gè)目標(biāo)應(yīng)用板上的元器件極少,走線極少,體積極小。該設(shè)計(jì)只采用三個(gè)電子芯片:一個(gè)低端微控制器(MC9S08QG8)、一個(gè)RF收發(fā)器(MC13192)和一個(gè)16×2的LCD,其他需要的元器件為電阻和按鍵之類(lèi)的無(wú)源器件。
1 器件選擇
為了實(shí)現(xiàn)工業(yè)或家電無(wú)線控制應(yīng)用低成本的目標(biāo),首要任務(wù)是選擇合適的微控制器(MCU)和無(wú)線收發(fā)器。FREESCALE半導(dǎo)體公司(飛思卡爾,前身為Mo-torola半導(dǎo)體部)的各檔微控制器在國(guó)內(nèi)嵌入式控制領(lǐng)域獲得了越來(lái)越多的應(yīng)用。它最新推出的MC9S08QG低端微控制器系列,其處理內(nèi)核、片上外圍設(shè)備、節(jié)電功能和開(kāi)發(fā)工具等,構(gòu)成了成本、能源、效率敏感的控制應(yīng)用的理想解決方案。采用MC9S08QGx微控制器系列,不僅開(kāi)發(fā)的費(fèi)用可明顯減少,最終生產(chǎn)階段的成本也可大幅下降。在開(kāi)發(fā)階段,一些高級(jí)調(diào)試功能,包括CodeWarrior全功能工具鏈和ProcessorExpert工具包等都是免費(fèi)贈(zèng)送的。在生產(chǎn)階段,內(nèi)部時(shí)鐘源模塊、模擬電路和E2PROM模擬則減少了對(duì)諸如晶振或諧振器、模擬比較器、串行E2PROM等外部器件的需求,否則這些外部器件都是印制電路板上必不可少的。
本無(wú)線控制器設(shè)計(jì)的核心器件即選擇FREESCALE該系列中的僅有16引腳的MC9S08QG8,它是采用高性能、低功耗的HCS08內(nèi)核的飛思卡爾8位微控制器系列中具有很高的集成度的器件,內(nèi)置8KB FLASH存儲(chǔ)器,512 B RAM,SCI/SPI/IIC接口,8位模/數(shù)定時(shí)器模塊,A/D模塊等。MC9S08QG8
MCU集成了通常只有較大、較昂貴的元器件才具有的性能,包括背景調(diào)試系統(tǒng)以及可進(jìn)行實(shí)時(shí)總線捕捉的內(nèi)置在線仿真(ICE)功能,具有單線的調(diào)試及仿真接口(BDM),還包括一個(gè)可編程的16位定時(shí)器/脈沖寬度調(diào)制(PWM)模塊(TPM),是同類(lèi)產(chǎn)品中最靈活、又最經(jīng)濟(jì)的模塊之一。
另一個(gè)主要芯片為無(wú)線收發(fā)器,同樣選擇Frees-cale半導(dǎo)體公司的MCl3192,它是FREESCALE公司推出的符合ZigBee標(biāo)準(zhǔn)的新型射頻芯片。其工作頻率是2.405~2.480 GHz,該頻帶劃分為16個(gè)信道,每個(gè)信道占用5 MHz的帶寬;采用直接序列擴(kuò)頻的通信技術(shù),數(shù)據(jù)傳輸速率為250 Kb/s。MCl3192具有一個(gè)優(yōu)化的數(shù)字核心,有助于降低MCU處理功率,縮短執(zhí)行周期。為了適應(yīng)低功耗的要求,芯片除了接收、發(fā)送和空閑三種工作狀態(tài)外,還有三種低功耗運(yùn)行模式:
掉電模式 此模式下芯片電流小于1μA;
睡眠模式 此模式下電流在3μA左右;
休眠模式 此模式下電流約為35μA。
芯片采用可編程功率輸出模式,發(fā)送功率為O~4 dBm,接收靈敏度可以達(dá)到-92 dBm,傳輸距離為30~70 m。由于MC13192的低功耗特性以及SPI通信接口,它與MC9S08QG8微處理器配合用于解決電池供電設(shè)備的低電壓、低功耗應(yīng)用以及通信控制等,是十分適合的。
至于其他外圍器件則可選用通用的,比如液晶顯示器使用16×2的字符型LCD,按鍵按最終的工藝要求配用,這部分的電路應(yīng)用是成熟技術(shù)。
2 無(wú)線控制器的總體構(gòu)建
基于前述主要器件的選擇考慮,本文實(shí)現(xiàn)的無(wú)線控制器原理框圖如圖1所示。
用來(lái)在收發(fā)器和微控制器之間交換數(shù)據(jù)的接口主要為串行外設(shè)接口(SPI)。微控制器MC9S08QG8通過(guò)SPI接口(4線)對(duì)MCl3192的內(nèi)部寄存器進(jìn)行讀寫(xiě)操作,從而完成對(duì)MCl3192的控制和數(shù)據(jù)通信。該接口可以讀寫(xiě)收發(fā)器的配置、狀態(tài)和控制寄存器。SPI接口還可以讀寫(xiě)位于收發(fā)器內(nèi)部的RAM,用于通過(guò)RF發(fā)送和接收數(shù)據(jù)。另一個(gè)用于收發(fā)器和微控制器間通信的信號(hào)是中斷請(qǐng)求(IRQ)信號(hào)。IRQ腳由收發(fā)器進(jìn)行處理。當(dāng)收發(fā)器的狀態(tài)寄存器發(fā)生變化時(shí),IRQ腳會(huì)產(chǎn)生下降沿跳變。IRQ產(chǎn)生后,微控制器要做的第一件事就是讀取狀態(tài)寄存器,確定產(chǎn)生中斷的特定事件。
微控制器MC9S08QG8通過(guò)通用I/O接口GPIO完成與液晶顯示器和按鍵的連接,其中LCD數(shù)據(jù)線和按鍵輸入線設(shè)計(jì)成多路分時(shí)復(fù)用的(共4線),LCD的控制線由MCU單獨(dú)提供(共3線)。
BDM程序下載和在線調(diào)試僅占用MCU的單線1線,在設(shè)計(jì)之初是必須的,但當(dāng)調(diào)試下載完成后,該引線也可當(dāng)做普通I/O使用或備用。
3 硬件電路的具體設(shè)計(jì)
根據(jù)前面器件選擇和總體構(gòu)建的考慮,本文完成的無(wú)線控制器具體設(shè)計(jì)電路如圖2所示。其中MC9S08QG8微控制器(MCU)的大部分管腳具有多重功能,電路設(shè)計(jì)中,即以MC9S08QG8為核心,實(shí)現(xiàn)各種控制。
各部分的供電電源為低電壓3 V,可用兩節(jié)7號(hào)電池供電。MCU的時(shí)鐘電路無(wú)需外接晶振,直接使用MCU內(nèi)部自帶的時(shí)鐘;MCU的RST和BKGD引腳用于BDM接口的連接,完成程序下載后可另作它用,比如MCl3192的中斷信號(hào)IRO就接至PTA3/RST/IRQ復(fù)用;圖2中MCl3192收發(fā)器其他外圍電路使用數(shù)據(jù)手冊(cè)提供的工作所需的最低硬件要求。MCU與MCl3192的連接按照標(biāo)準(zhǔn)SPI方式連接,MCU為主機(jī),MCl3192為從機(jī),通過(guò)MOSI,MISO,SPSCK信號(hào)線可以配置收發(fā)器,并發(fā)送和接收數(shù)據(jù)。同時(shí)也可以通過(guò)SPI配置收發(fā)器提供的定時(shí)器和GPIO引腳,將其用于其他的目的。收發(fā)器的片選CE信號(hào)由MCU的通用I/O口PTB5進(jìn)行選通。收發(fā)器要切換運(yùn)行模式(接收、發(fā)送、半休眠、休眠或空閑)還需要另外一個(gè)信號(hào),該信號(hào)稱為RXTXEN,由MCU的通用I/O口PTB7進(jìn)行處理。MCU與MCl3192之間的數(shù)據(jù)傳輸模式可采用流模式,每次收發(fā)一個(gè)字(16 b),都通過(guò)中斷由MCU控制處理,這樣可以最大限度地保證了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。
16×2 LCD的RS,R/W,E信號(hào)由MCU通用I/O口PTB的三個(gè)引腳進(jìn)行控制,實(shí)際上可以將R/W直接接低電平,或者軟件控制使始終為低點(diǎn)平,因?yàn)閼?yīng)用時(shí)只需對(duì)LCD做命令、數(shù)據(jù)寫(xiě)入;數(shù)據(jù)線采用LCD的4線訪問(wèn)形式,即只用DB4~DB7,由MCU的PTA0~PTA3提供;背光電源BKL+,BKL-不接,以減少功耗。4個(gè)按鍵也接在MCU的PTA0~PTA3,與LCD數(shù)據(jù)線復(fù)用,按鍵的上拉電阻使用MCU內(nèi)部配置的,無(wú)需外接上拉以減省元件。同時(shí)當(dāng)?shù)却幚戆存I時(shí),MCU將按鍵輸入直接配置成按鍵輸入中斷,也減少了硬件連接和軟件復(fù)雜度,按鍵發(fā)生時(shí)MCU自動(dòng)轉(zhuǎn)去讀取按鍵輸入及按鍵處理,當(dāng)要進(jìn)行LCD顯示時(shí),MCU又將復(fù)用線臨時(shí)配置成數(shù)據(jù)輸出,配合LCD控制信號(hào)完成LCD的內(nèi)容顯示。
MCU的8 KB FLASH和512 B的存儲(chǔ)器資源對(duì)于一般的無(wú)線控制是足夠的,另外,設(shè)計(jì)中還會(huì)用到MCU的定時(shí)器資源,通過(guò)定時(shí)比較器生成一般無(wú)線控制應(yīng)用中都需要的定時(shí)時(shí)間,通過(guò)軟件編程可以方便地實(shí)現(xiàn)。
4 無(wú)線控制功能示例
以上設(shè)計(jì)方案適用于多種無(wú)線控制應(yīng)用,如空調(diào)、智能風(fēng)扇等的無(wú)線控制。在此方案基礎(chǔ)上還可以擴(kuò)展出更復(fù)雜的無(wú)線控制應(yīng)用,因?yàn)镸CU還有少量口線(比如再增加一個(gè)設(shè)備開(kāi)關(guān)按鍵)、MCl3192還有很多接口如它自帶的GPIO、定時(shí)器等都是可利用資源;同時(shí)此方案其實(shí)仍然可以精簡(jiǎn),比如不需要顯示的無(wú)線控制應(yīng)用,就可省去LCD顯示器。