胡敦利,程凱鑫
?
基于電力載波通信的智能家居控制器設計
胡敦利,程凱鑫
摘要:介紹了控制器的硬件組成和軟件設計原理。介紹了一種基于電力載波通信技術的ARM9嵌入式智能家居控制器的組成和工作原理。采用以ARM9為內核的處理器S3C2440為核心處理器,嵌入μC/OS-II實時操作系統。采用LonWorks總線技術建立LonWorks網絡,實現系統信息交互。通信模塊選用PL3120電力線智能收發器,通信介質為電力線。
關鍵詞:電力載波;嵌入式;LonWorks 總線
程凱鑫(1989-),男,邢臺,北方工業大學,碩士研究生,研究方向:智能家居,北京,100144
電力載波通信是電力系統特有的通信方式,其利用電力線為通信介質,通過載波的方式進行信息傳輸[1]。與其它通信方式相比較,電力載波通信具有安裝、維護方便和無需重新布線的優點,為通信系統的實現提供了很大的方便。嵌入式系統是以應用為中心,軟、硬件可裁剪,適用于對功能、可靠性、成本、功耗等綜合性嚴格要求的專用系統設計。
本文采用LonWorks電力載波通信方式,采用ARM9嵌入式微處理器設計智能家居控制器,充分利用兩者的長處,達到控制器安裝無需重新布線,軟件、硬件裁剪、添加簡單方便,低功耗、低成本的要求。
本文設計兩種控制器,門禁控制器和家電監測控制器。控制器硬件框架圖如圖1所示:

圖1 門禁控制/電能監測控制器硬件框架圖
電源模塊提供3.3V、5V和12V直流電源,門禁控制/家電監測模塊分別負責門禁管理和監測家電工作狀態,S3C2440核心模塊為主控制器,電力載波通訊模塊負責網絡通訊。
1.1S3C2440核心模塊
本次采用天嵌科技TQ2400核心板設計S3C2440核心模塊。TQ2440核心板采用S3C2440處理器,主頻400MHz,板載64MBSDRAM、256MBNandFlash和2MBNorFlash[2],同時集成晶振和3.3V轉1.25V電源。在該核心板下,通過添加JTAG、復位、串口、USB和RTC電路組成S3C2440核心模塊,然后再通過GPIO接口實現門禁控制器和家電監測控制設計。
1.2電力載波通訊模塊
采用埃施朗公司的PL3120智能收發器作為通信主芯片,其內部集成3個處理單元和一個電力線收發器。電力線收發器采用BPSK調制,具有雙載波頻率,當主頻率收到干擾后,自動切換到預備頻率上工作[3],如圖2所示:

圖2 網絡接口電路
在圖2中,電力線經過耦合電路與PL3120相連。其中VA為12V電源,為信號功率放大提供電壓驅動。TXOUT發送網絡信號,RXIN接收網絡信號。圖2中L、N分別連接電力線的火線和零線。
S3C2440與PL3120通過232串口進行通訊。S3C2440 的IO工作電壓為3.3V,PL3120的工作電壓為5V,所以兩者的通訊必須經過電壓轉化。本文采用德州儀器的TXB0104雙向電壓電平轉化器為電壓轉換芯片。TXB0104是一款4路雙向電平轉換器,可以為1.2V、1.5V、1.8V、2.5、3.3V 及5V等各種節點電壓提供通用低電壓雙向轉換功能。VCCA可以接受的電壓范圍為1.2V至3.6V,VCCB可接受電壓范圍為1.65V至5.55V[4]。在使用時,VCCB的電壓不能小于VCCA電壓。該芯片內置上拉電阻,無需外接上拉電阻。串口通訊原理圖如圖3所示:

圖3 串口通訊原理圖
其中TXD1和RXD1分別接在S3C2440的UART1的發送和接收引腳上(GPH4和GPH5)。
1.3門禁控制電路
門禁控制電路包括讀卡器電路、電控鎖控制電路和火災、門磁監測電路。本設計采用的讀卡器是PAR-100A。該讀卡器發射頻率為13.56MHz,工作電壓9V~15V,工作電流60mA,讀卡時間小于0.1秒,輸出格式為18位~58位韋根信號。讀卡器電路原理圖如圖4所示:

圖4 讀卡器電路設計
VDD12V為讀卡器供電,WG0和WG1為讀卡器韋根信號輸出,EINT2和EINT3分別接S3C2440外部中斷2和外部中斷3(GPF2和GPF3)。
電控鎖控制電路,DA0和DA1外接電控鎖,如圖5所示:

圖5 火災報警與門磁監測電路
火災和門磁監測電路,如圖6所示:

圖6 電控鎖電路
DA2和DA外接火災報警器,DA4和DA5外接門磁,EINT0和EINT1分別接S3C2440外部中斷0和外部中斷1 (GPF0和GPF1)。
1.3家電監測電路
家電監測電路采用ADE7753作為電力采集芯片,采集電壓和電流信息,從而計算電路功率,監測家電狀態。ADE7753與S3C2440之間采用SPI通信方式進行通訊。家電監測電路原理圖如圖7所示:

圖7 家電監測電路原理圖
V1P和V1N接電流互感器,V2P和V2N接電壓互感器。ADE7753工作電壓為5V,需要經過TXB0104低壓轉換實現與S3C2440的SPI通訊。
軟件設計包括PL3120網絡通訊程序和S3C2440主控程序設計兩個部分。
2.1PL3120網絡通訊設計
采用NeuronC編程語言設計,完成網絡通訊功能,然后通過串口實現與S3C2440的通訊。程序流程如圖8所示:

圖8 網絡通訊程序流程圖
定義網絡變量和IO對象,指定火災報警網絡變量為優先網絡變量,可以優先訪問通道,定義IO8為串口輸入、IO10為串口輸出,波特率4800bit/S。
2.2S3C2440主控軟件設計
筆者根據不同的控制器分別設計門禁主控軟件和家電監測主控軟件。本文以門禁控制器為例,介紹軟件設計。
μ C/OS-II介紹與移植
μ C/OS-II是一個實時內核,可用于8位、16位和32位處理器。其主要特點包括:代碼公開,便于移植;可固化、可裁剪;占先式,總是運行就緒條件下優先級最高的任務;多任務,可管理64個任務;可確定性,函數調用和服務的執行時間可確定,不依賴與任務的多少[5]。
在μ C/OS-II源代碼中,os_cpu.h、os_cpu.c和os_cpu_a.s是與CPU硬件環境相關的代碼。其中,os_cpu.h中定義了與CPU相關的數據類型、變量和宏;os_cpu.c定義了與CPU有關的所用函數,如堆棧初始化函數、任務切換函數和時鐘中斷函數等等;os_cpu_a.s中是與底層硬件有關的匯編語言
代碼。在移植過程中,必須根據S3C2440的硬件環境對os_cpu.h、os_cpu.c和os_cpu_a.s進行修改。然后,通過配置os_cfg.h指定系統功能函數,實現系統內核裁剪[6]。
2.3應用程序設計
程序中包括4個中斷事件,中斷優先級由高到低依次為:火災事件、門磁事件、刷卡事件和串口事件。程序劃分為3個任務,報警任務,刷卡任務和串口數據處理任務。其中報警任務完成火災報警和門磁報警,具有最高任務優先級;刷卡任務負責判斷卡號和開門;串口任務完成串口數據處理的工作,任務優先級最低。門禁主控程序流程圖如圖9所示:

圖9 主控程序流程圖
采用該方案設計的智能家居控制器,在實驗室中完成系統測試。門禁控制器完成對刷卡卡號、門狀態、火警信息的實時監控、管理,家電監測控制器完成家電工作電壓、電流的監測和工作狀態監控和管理。系統中所有控制器采集的信息上傳至上位機,并存儲在上位機數據庫中。上位機可完成信息顯示、管理和對下位機控制器的操控。脫離上位機時,各個控制器可以獨立運行,控制器與控制器之間的信息交互不受影響。
參考文獻
[1] 周淑華.LonWorks電力載波技術應用研究與實踐[J].儀器儀表標準化與計量,2011,5:33-35.
[2] 周林兵,楊玲玲,朱滔.基于TQ2440的物流攬件數據采集系統的設計[J].電子設計工程,2013,22:133-134.
[3] 呂豪杰,吳建德.基于LonWorks控制網的路燈監控系統[J].照明工程學報,2010,21(2):49-53.
[4] 德州儀器全新電壓轉換器件[J].電于技術應用,2007,10(2):32.
[5] 宋延昭.嵌入式操作系統介紹及選型原則[J].工業控制計算機,2005,18(7):41-42.
[6] 陳浩,郭利進.嵌入式電動汽車電池管理系統設計[J].電源技術.2013,37(8):1429-1434.
收稿日期:(2015.04.09)
作者簡介:胡敦利(1976-),女,晉中,北方工業大學,副教授,研究方向:現場總線,北京,100144
文章編號:1007-757X(2015)12-0038-03
中圖分類號:TP391
文獻標志碼:A