高承志,馬建倉
(西北工業(yè)大學 電子信息學院,陜西 西安 710129)
家庭照明系統(tǒng)與人民的生活密切相關,大部分家庭依然采用普通開關,開關只能控制一組燈具,且現有的無線遙控開關使用壽命比較短,一般2~3年。設計一種新的無線遙控開關,可以實現對照明系統(tǒng)進行控制,同時有效提高使用壽命便于人們放心安全使用是非常有必要的。文中以日常電燈的無線控制為研究對象,采用Silicon Laboratories研制的Si1000[1]無線收發(fā)芯片,設計一種可靠性高、節(jié)電便捷的無線遙控開關。Si1000其內部集成C8051f9xx低功耗單片機以及Si4432射頻模塊,利用此芯片設計了頻率為433.92 MHz的無線電燈遙控開關,結構簡單,性能穩(wěn)定,以實現電燈多路控制的功能,亦可應用于其他應用場合。
無線遙控多路開關由手持遙控器和接收控制實現單元組成,系統(tǒng)組成框圖如圖1所示。
圖1 系統(tǒng)總體框圖Fig.1 Block diagram of system
無線遙控多路開關工作原理如下:首先通過按鍵電路輸入對應功能按鍵信號,內部單片機對所輸入按鍵信號進行信息編碼,同時加入地址編碼信息,這樣就形成帶有地址編碼信息和相應的電燈開關控制狀態(tài)信息的編碼脈沖信號,然后進行調制,調制后的信號再經過放大和調諧處理后由射頻發(fā)射電路發(fā)射出去;無線電接收電路接收到手持遙控器發(fā)射出來的載波調制信號對其進行解調,對其地址碼進行驗證確認,如果遙控地址碼相匹配,則對編碼脈沖信號進行解碼得到數據,由Si1000內部的單片機對開關電路進行控制,由管腳輸出相應的高低電平控制電路,從而實現無線電燈控制。否則,不進行解碼,單片機控制電路無反應[2-3]。
Silicon Labs公司推出的Si1000[1]芯片系列,集成了超低功耗C8051f9xx單片機及無線射頻模塊,當處理器進行數據的有關操作時,可以提供非常低的工作電流,從而降低功耗,Si1000低功耗的特性使得其工作電壓為0.9~3.6 V,完全可以用電池進行供電。Si1000[1]系列無線微控制器內部集成了25 MHz的8051內核、EZRadioPRO系列略低于1 GHz的RF收發(fā)器件、最大64 kB的Flash以及最高12 bit分辨率的ADC。同時Si1000內部的FLASH存儲器具再在編程能力,便于用戶進一步開發(fā)使用,采用C2接口進行軟硬件的聯(lián)合調試,方便快捷。
如圖2所示為無線遙控發(fā)射單元電路原理圖。整個電路以Si1000[1]為核心,無線遙控器可劃分為供電單元、信號處理單元、編程單元和天線。手持遙控器采用電池供電,無線遙控發(fā)射單元的主要功能是在Si1000內部MCU的控制下采集按鍵電路的狀態(tài)信息,對狀態(tài)信息進行編碼,同時內部模塊再按照相應的數據包格式加入相應前導碼、同步字、數據長度和校驗位,然后進行FSK調制,調制后信號經放大調諧,由發(fā)射天線發(fā)射出去。
圖2 無線遙控發(fā)射單元Fig.2 Wireless remote transmission unit
如圖3所示為無線遙控接收單元電路原理圖。無線遙控接收單元可劃分為供電單元、無線接收單元、信號處理單元、編程單元和控制實現單元。接收單路供電單元采用變壓器穩(wěn)壓芯片組成,Si1000供電電壓為1.8~3.6 V,無線接收單元采用匹配濾波網絡,接收433.92 MHz的諧波,并將接收到的信號送入單片機進行處理;信號處理和編程單元以Si1000內置單片機進行處理,Si1000內部集成的C8051f9xx低功耗單片機,通過軟件設置對接收單元送來的信號進行解調,核對地址碼信息是否匹配,如匹配則進行譯碼,由單片機對所得信息進行處理,由端口輸出對控制單元發(fā)送信號,從而最終實現無線控制;否則電路無響應[4-5]。
圖3 無線遙控接收單元Fig.3 Wireless remote control receiving unit
系統(tǒng)的軟件采用模塊化設計,功能模塊主要包括:芯片參數初始模塊,無線發(fā)射模塊,無線接收模塊等。系統(tǒng)采用C2接口編程,Si1000的 C2DATA、C2CLK端口、VCC和 GND與JTAG接口的4個端口相連。
無線收發(fā)模塊之間的通信是以數據包的形式進行的,本無線遙控系統(tǒng)采用的數據包格式如表1所示。一個數據包由前導碼、同步字、數據長度、數據和校驗位等組成。前導碼用于將發(fā)射和接收單元進行很好的同步,即找到一幀數據的起始位置,由幾組10101010組成的,共有8n位,n的大小由用戶編程決定;同步字是為了更好的進行同步以便找到幀頭,同步模式的標志碼就是設定好的同步字。數據攜帶的是按鍵信息,即每個按鍵的編碼。最后是校驗位,用于對幀數據進行檢驗來檢測數據的正確,在實際應用中可根據實際情況進行取舍。無線發(fā)射模塊采用這樣的數據包將數據發(fā)送出去。
表1 數據包格式的定義Tab.1 Definition of the packet format
Si1000內部含有C8051FXX和射頻模塊,故其內部可以完成信號調制、信號解調、數據編碼和數據解碼等,硬件自動添加前導碼、同步字、數據長度和數據校驗位。上電后程序完成Si1000的參數初始化以及SPI接口和射頻的初始化后,配置寄存器寫入相應的初始化RF控制字,系統(tǒng)初始化及參數配置完畢之后,檢測引腳nIRQ的電平,若為低電平則表示系統(tǒng)轉變?yōu)榻邮漳J讲⒁呀洐z測到數據包,通過寄存器4BH讀取數據包長度信息,打開“有效包中斷”和“數據包中斷”,禁止將其他的中斷,系統(tǒng)接收數據并處理[6]。
本無線電控制系統(tǒng)設置同步模式的標志碼為0x2DD4,接收模塊一旦檢測到這個同步字就進行同步接收數據。等待中斷產生,nIRQ引腳變?yōu)榈碗娖剑邮諗祿?,同時讀取中斷標志位復位nIRQ引腳,使nIRQ引腳變?yōu)楦唠娖綘顟B(tài)以準備下一次中斷觸發(fā)的檢測;通過接收到的數據,首先確認地址信息,若匹配則對其進行譯碼,從碼字判斷電燈控制狀態(tài),再由Si1000內置單片機進行相應處理并輸出對應控制信號,從而實現控制功能,否則電路無反應。
文中根據現在存在的問題及設計要求,采用Si1000這一集成芯片,設計了一套無線通信控制系統(tǒng),具有方便、快捷、低功耗和使用壽命長等優(yōu)點,并進行了軟硬件調試,在有限的條件下,證明了設計的可行性,同時文中僅以日常照明控制為例,但是此系列芯片未來可以在工業(yè)生產、門禁系統(tǒng)、智能家居等方面進一步推廣應用。
[1]Silicon Labs.Si1000 Wireless MCUs Datasheet[EB/OL].(2010-03-21)http://www.silabs.com/products/wireless/wirelessmcu/Pages/Si1000.aspx.
[2]周慶華,陳龍,張海鵬.無線電遙控多路開關系統(tǒng)的設計[J].測控技術,2003(11):30-32.ZHOU Qing-hua,CHEN Long,ZHANG Hai-peng.Design of a wireless remote control multiplex switch system[J].Measurement and Control Technology,2003(11):30-32.
[3]李曉輝,任艷君.四路無線遙控開關系統(tǒng)的設計與實現[J].現代電子技術,2007(12):66-68.LI Xiao-hui,REN Yan-jun.Design and realization of four channels switch system on wireless remote control[J].Modern Electronics Technique,2007(12):66-68.
[4]包海濤.嵌入式SoC系統(tǒng)開發(fā)與工程實例[M].北京:北京航空航天大學出版社,2009.
[5]童長飛.C8051f系列單片機開發(fā)與C語言編程[M].北京:北京航空航天大學出版社,2005.
[6]單海東,盧東貴.基于Si1000無線微控制器的無線射頻測溫系統(tǒng)的設計[J].電氣時代,2010(8):120-122.SHAN Hai-dong,LU Dong-gui.Radio frequency temperature measurement system design of wireless micro controller based on Si1000[J].Electric Age,2010(8):120-122.