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