摘 要: 提出了一款新型的基于ZigBee技術的多功能電動車遙控電子鎖的設計。從硬件架構和軟件設計兩方面分析了遙控電子鎖的工作原理。產品能夠實現開鎖、鎖車、無鑰匙啟動、防盜等功能。
關鍵詞: 多功能;遙控電子鎖;ZigBee;無線網絡
近幾年,隨著ZigBee技術的發展,無線通信和無線傳感網絡正在向人們生活的各個方面滲透。它不僅應用到建筑和家庭自動化、工業監控、無線傳感器網絡,而且越來越多地應用到日常生活中。由于世界能源的匱乏及環境污染的影響,國家在進一步提倡使用電動車,藉此,電動車會慢慢普及,隨之相關的遙控電子鎖技術顯得尤為重要。現有的電動車電子鎖是采用單片機和無線發射模塊共同實現的。若使用ZigBee技術設計電子鎖時就只需使用CC2430片上系統就可以了,不再需要單獨的射頻芯片,其集成度高,降低了系統的復雜性。CC2430無線單片機待機時電流小于0.6 μA,在32 kHz晶體時鐘下運行,電流消耗小于1 μA,使用紐扣電池壽命可以長達10年。本文研制了一種基于ZigBee芯片CC2430片上系統的電動車遙控電子鎖,并采用了睡眠/喚醒機制,大大降低了整個系統的功耗;系統軟件編程通過了IAR7.30B環境的測試。
1 CC2430簡介
CC2430是Chipcon公司生產的并沿用了以往的CC2420芯片的結構,在單個芯片上集成了ZigBee射頻前端、內存和微控制器。CC2430的休眠模式和轉換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應用。其主要特點是高性能、低功耗的8051微控制器內核;適應2.4 GHz頻段IEEE 802.15.4的RF收發器;極高的接收靈敏度和強大的抗干擾性能;具備在各種供電方式下的數據保持能力;掉電方式下,電流消耗只有0.9 μA,外部中斷或者實時鐘(RTC)能喚醒系統;掛起方式下,電流消耗小于0.6 μA,外部中斷能喚醒系統;電源電壓范圍寬(2.0~3.6 V);高級加密標準(AES)協處理器;2個支持多種串行通信協議的USART;1個IEEE 802.15.4媒體存取控制(MAC)定時器;1個通用的16位和2個8位定時器;支持硬件調試。CC2430具有兩個工作頻率,一個是32 MHz的正常工作頻率,一個是32.768 kHz的睡眠工作頻率。本設計采用了睡眠/喚醒機制,當遙控器和電動車電子鎖正常通信時,工作頻率為32 MHz,而當遙控器和電動車電子鎖都處于睡眠狀態時,工作頻率為32.768 kHz,這樣可以降低系統的功耗。
2 硬件設計
遙控電子鎖系統包括兩部分:第一部分是遙控器,此部分硬件有CC2430、按鍵電路、3 V的紐扣電池。第二部分是電動車主控電路:此部分的硬件有CC2430控制核心、輸出驅動與控制電路。控制電路主要是由繼電器、電機等構成。
2.1遙控器的硬件設計
遙控器的硬件框圖如圖1所示,由CC2430、LED、天線、按鍵電路組成。LED用來指示系統的工作狀態,一共有3個按鍵,分別為:開鎖鍵、關鎖鍵(尋車鍵)、無鑰匙開啟鍵(即不需要鑰匙也一樣能使電動車啟動)。按鍵值是通過幾個電阻的分壓值來判斷的,通過P0.7口連接到ADC,經ADC采樣后去觸發中斷。
2.2 主控電路的硬件設計
主控電路的硬件框圖如圖2所示,包括CC2430、LED、蜂鳴器、輸出驅動電路及控制器電路。輸出驅動電路由兩個三極管的放大作用來實現。其控制器電路由繼電器、電機及電磁鐵等組成。遙控器通過按鍵值傳來不同的信號a(鎖車信號)、b(開鎖信號)、c(無鑰匙開啟信號)。a信號一方面被蜂鳴器接收電路接收,使蜂鳴器開始報警,指示燈閃爍,進入警戒狀態;而同時又被另一控制器電路接收,輸出信號控制繼電器1工作,使電磁鐵動作和電動機正轉,實現上鎖。此功能還可以當作是尋車功能來使用。b信號被蜂鳴器電路接收后解除警報狀態,另一方面又被控制器電路接收,使繼電器2工作,控制電磁鐵和帶動電動機反轉,實現開鎖。c信號被蜂鳴器接收,使蜂鳴器開始鳴響,而控制電路使啟動繼電器工作吸合(啟動繼電器與電按鑰匙并聯),電瓶電流從繼電器的閉合觸電傳到主控制器,如此,電動車就被啟動了,實現了無鑰匙開啟功能。其系統框圖如圖3所示。
3 軟件設計
軟件部分包括硬件的初始化程序、協議棧初始化程序、數據的接收和發送程序。接收程序運行于電子鎖接收節點當中,接收來自遙控器發送節點傳來的數據信息,如:開鎖、鎖車、開啟等信息。應用程序和協議棧都被下載到CC2430的閃存中。
3.1 遙控器的軟件設計
首先初始化所有要用到的硬件,如:ADC、DMA、I/O等,然后調用aplInit()函數來初始化協議棧。因為發射節點擔負的是協調器的角色,首先得定義工作頻率和網絡號,然后調用apl Form Net Work()來嘗試建立網絡。其定義為:
#define LRWPAN_DEFAULT_CHANNEL 11
#define LRWPAN_DEFAULT_PANID 0x1347
默認的個人局域網的PANID號是1347,協調器掃描所有被ZCD_NV_CHANLIST參數制定的通道和選擇一個最小能量的通道。如果有2個或2個以上的最小能量通道,則協調器選擇在ZigBee網絡中存在序號最小的通道。所以此設計中在信道定義為可選的最小的11信道。然后協調器將選擇用默認的個人局域網的PANID。建立好網絡后,遙控器發送“加入網絡”信號,若收到主控節點的應答信號,則表示網絡建立成功,進入遙控狀態;如果沒有收到則進入到睡眠/喚醒狀態。發射節點程序的流程圖如圖4所示。遙控器的按鍵值是通過CC2430的ADC對幾個電阻的分壓值采樣而得到的,然后通過DMA傳到TXFIFO緩存中,最后通過射頻前端發送出去。當遙控器的喚醒鍵按下時,紅色的LED燈閃一下,表明自己被喚醒了;而當接收到主控節點的應答信號時,綠色的LED燈閃爍一下,說明電子鎖已經被喚醒。當開鎖、鎖車、開啟鍵按下時,紅色LED燈閃一下,而綠燈閃時則表明主控節點已經完成了相應的動作。
3.2 主控節點的軟件設計
當接收節點上電后,接收模塊主程序也首先開始初始化所有用到的硬件,然后就初始化協議棧,若LED燈閃爍一下,表明程序已經進入到等待遙控器發來信息并開始無線檢測監聽,如果收到“加入網絡”數據時,則開始判斷是否是“開鎖、鎖車、啟動”按鍵,進而進行相關的操作。若是“開鎖鍵”,則蜂鳴器響一下,并置開鎖狀態;如不是,則接著判斷是否是“啟動鍵”,若是則置啟動狀態,蜂鳴器響。如不是再接著判斷是否是“鎖車鍵”,是則置鎖車狀態,蜂鳴器響,指示燈亮,否則進入到無線偵聽狀態。沒有收到“加入網絡”數據,則進入喚醒/睡眠狀態的判斷。接收節點的程序流程圖如圖5所示。然后根據遙控器節點中已經定義好的網絡號和信道號來同樣定義主控節點,這樣才能完成正常的通信功能,才能保證兩節點可靠的傳輸數據,因為只有它們自己才知道頻號和網絡號,外在的控制信號不能控制鎖的動作。
傳統的電動車的安全加密都是采用固定編碼或滾動編碼技術,而ZigBee本身就有非常嚴密安全的加密機制,其采用的是AES加密標準,ZigBee技術針對不同的應用,提供了不同的安全服務。這些服務分別施加在MAC層、NWK層和APL層上,其對數據的安全保護是在CCM*模式下執行AES-128加密算法。CCM*是CCM的增強版本,它包含CCM的所有特征,并提供加密和完整性檢測的功能,CCM模式是由計數器模式和密碼塊鏈接消息鑒權代碼模式相結合構成的。使用基于CCM*模式的安全級別來保護輸入輸出幀,是最基本的ZigBee 安全性需求。另外,與其他安全模式不同,CCM*模式對于所有CCM*安全級別只使用一個密鑰,也就是說,由于ZigBee棧使用CCM*模式,MAC、NWK、APL層可重復使用相同密鑰。
本文的創新點是基于ZigBee技術及睡眠/喚醒機制在電動車遙控電子鎖方面的應用,此設計采用的是成都無線龍的CC2430的開發套板,軟件程序和協議棧都是在IAR7.30B的環境下通過調試的,通過協議分析儀對數據包的序列號、源地址、目的地址、數據包長度和傳輸時間等重要參數進行監控、分析。因為本設計采用的是點對點的數據傳輸方式,傳輸的距離較遠,經試驗傳輸距離可達到100 m以上,而且系統功耗低,大大延長了電池的使用壽命。并且其系統組成所需的硬件少,從而組成設備不但體積小,而且方便輕巧。
參考文獻
[1] 高守瑋,吳燦陽.ZigBee技術實踐教程[M].北京:北京航空航天大學出版社,2009:100-106.
[2] 呂釗欽,薛彥全,沈景新,等.多功能電動車遙控電子鎖設計[J].農業裝備與車輛工程,2010(2):39-41.
[3] 蔡凡弟.電子遙控電路及其應用[J].電子世界,1995(2):45-48.
[4] 李文仲,段朝玉.ZigBee無線網絡技術入門與實戰[M].北京:北京航空航天大學出版社,2007.