趙國(guó)樹(shù),周黎英,翟力欣
(1.金陵科技學(xué)院智能科學(xué)與控制工程學(xué)院,南京211169;2.金陵科技學(xué)院機(jī)電工程學(xué)院)
基于MT3108跳碼芯片的無(wú)鑰匙門(mén)禁系統(tǒng)設(shè)計(jì)*
趙國(guó)樹(shù)1,周黎英2,翟力欣1
(1.金陵科技學(xué)院智能科學(xué)與控制工程學(xué)院,南京211169;2.金陵科技學(xué)院機(jī)電工程學(xué)院)
本文介紹了基于MicroTiVo公司的MT3108芯片和Microchip公司PIC18F4520單片機(jī)的無(wú)鑰匙智能門(mén)禁系統(tǒng)。MT3108跳碼編碼芯片采用了橢圓曲線(xiàn)密碼(ECC)算法,使門(mén)禁系統(tǒng)安全性更強(qiáng)。闡述了系統(tǒng)流程圖、各電路的工作原理及加密解密的過(guò)程,測(cè)試結(jié)果顯示,該設(shè)計(jì)滿(mǎn)足了實(shí)際應(yīng)用的需求。
MT3108;PIC18F4520;跳碼;門(mén)禁系統(tǒng)
隨著汽車(chē)電子技術(shù)的不斷發(fā)展和加密技術(shù)的日新月異,既滿(mǎn)足使用的方便性,又具有防盜竊的可靠性的技術(shù)在不斷地推陳出新。傳統(tǒng)的固定碼方案防盜能力差,目前幾乎完全被淘汰。分組滾動(dòng)碼方案(KeeLoq),采用了16位計(jì)數(shù)器,最快可在幾秒內(nèi)被破解,原因在于其編碼規(guī)律容易被專(zhuān)用解碼器獲知,存在安全漏洞。
本文將跳碼技術(shù)應(yīng)用在遙控門(mén)禁系統(tǒng)中,將跳碼芯片MT3108作為編碼器,系統(tǒng)由電子鑰匙(E-Key)、門(mén)控終端、中央控制器(簡(jiǎn)稱(chēng)中控器)組成,并采用PIC18F4520單片機(jī)完成軟件解碼和鎖具的控制。軟件編程采用MPLAB作為開(kāi)發(fā)環(huán)境,使用C語(yǔ)言編程,提高了可移植性。
本設(shè)計(jì)分為鑰匙終端和車(chē)載電路兩部分。車(chē)載電路周期性地主動(dòng)發(fā)送LF編碼信號(hào),尋找在1~2 m的距離內(nèi)是否有合法的鑰匙。LF信號(hào)周期一般為幾百ms,頻率為125 kHz。一旦鑰匙處于1~2 m內(nèi),便可接收到低頻編碼信號(hào),對(duì)數(shù)據(jù)進(jìn)行判斷以檢驗(yàn)其合法性。如果編碼是有效的,則跳碼芯片MT3108對(duì)當(dāng)前指令或默認(rèn)指令進(jìn)行加密,加密后的指令通過(guò)315 MHz的射頻調(diào)制信號(hào)發(fā)射出去。車(chē)載射頻接收電路對(duì)接收到的315 MHz的調(diào)制信號(hào)進(jìn)行解調(diào),PIC18F4520單片機(jī)負(fù)責(zé)對(duì)解調(diào)后的數(shù)據(jù)進(jìn)行軟件解碼,得出具體的指令,從而對(duì)鎖具進(jìn)行控制。系統(tǒng)結(jié)構(gòu)原理圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)原理圖
智能鑰匙的硬件主要用來(lái)接收LF信號(hào),并把輸入的指令加密后通過(guò)高頻載波發(fā)射出去,下面詳細(xì)介紹硬件原理。
2.1 智能鑰匙模塊
智能鑰匙模塊由125 kHz低頻接收電路、MT3108跳碼編碼電路及315 MHz發(fā)射電路組成。
(1)125 kHz低頻接收電路
圖2中L1、L2、L3正交放置,均由7.2 mH電感、220 pF的電容及100 kΩ的電阻構(gòu)成頻率為125 kHz的RLC諧振選頻電路。
導(dǎo)納:
圖2 125 kHz低頻接收電路
在沒(méi)有接收到125 kHz低頻信號(hào)時(shí),電感相當(dāng)于短路,流過(guò)1 kΩ電阻的電流約為0.93 μA,X+與X-壓差<1 mV,而當(dāng)攜帶鑰匙接近1~2 m時(shí),電路發(fā)生諧振,阻抗為100 kΩ,此時(shí)X+與X-壓差約100 mV,Y+、Y-及Z+、Z-亦是如此。如圖2所示。
電壓比較單元采用了低功耗單電源比較器MAX9075、MAX9077,耗電僅3 μA,其失調(diào)電壓為1 mV,即輸入電壓的切換點(diǎn)為1 mV,因此互為正交的三個(gè)線(xiàn)圈中任何一個(gè)接收到低頻信號(hào)后,XO、YO及ZO中至少有一個(gè)將跳變?yōu)楦唠娖?,從而使得Q4~Q6中至少有一個(gè)導(dǎo)通,LF_DAT跳變?yōu)楦唠娖?,如同按鍵被按下一樣,實(shí)現(xiàn)自動(dòng)觸發(fā)按鍵。如圖2所示。
(2)編碼及射頻發(fā)射電路
MT3108芯片通過(guò)3 V紐扣電池供電。如圖3所示,跳碼芯片MT3108提供了內(nèi)置的按鍵接口S0~S3,內(nèi)部為每個(gè)引腳配置了下拉電阻。無(wú)鍵按下或者不在125 kHz接收范圍內(nèi)時(shí),MT3108失電,以降低功耗。當(dāng)用戶(hù)按鍵或近距離低頻諧振自動(dòng)觸發(fā)按鍵時(shí),S3為高電平,NMOS管Q3導(dǎo)通,使得PMOS管Q1導(dǎo)通,MT3108的VDD得電,觸發(fā)芯片發(fā)送相應(yīng)按鍵所要表述的鍵值的PWM波,通過(guò)315 MHz發(fā)送電路發(fā)送出去。
2.2 車(chē)載電路設(shè)計(jì)
車(chē)載模塊分為低頻發(fā)送電路、射頻接收電路及中央控制電路。為查詢(xún)鑰匙是否在1~2 m范圍內(nèi),車(chē)載模塊總是每隔幾百ms發(fā)送頻率為125 kHz的低頻編碼信號(hào),并接收射頻信號(hào),將解調(diào)后的編碼送給中控單片機(jī)驗(yàn)證,再控制門(mén)鎖。
(1)低頻發(fā)射電路
低頻發(fā)射電路由TN8118驅(qū)動(dòng)芯片和串聯(lián)LC諧振電路構(gòu)成。該芯片輸出阻抗只有7 Ω,使得輸出回路的品質(zhì)因素大大提高。TN8118放大來(lái)自單片機(jī)的125 kHz的低頻信號(hào)的功率,當(dāng)LC串聯(lián)諧振電路頻率與PWM頻率一致時(shí),通過(guò)電感的電流最大,發(fā)送的信號(hào)最強(qiáng)。低頻發(fā)射電路如圖4所示。
(2)射頻接收模塊
315 MHz接收模塊采用超高頻、低噪聲無(wú)線(xiàn)數(shù)據(jù)傳輸模塊GW-R5C1,體積小,一致性好,傳輸速率最高為20 kbps。引腳2接PIC單片機(jī)引腳RA5。射頻接收電路如圖5所示。
(3)中控單元
門(mén)控終端用于接收電子鑰匙發(fā)來(lái)的跳碼信息,然后進(jìn)行解密,并發(fā)送至中控器請(qǐng)求驗(yàn)證。中控器包括微處理器PIC18F4520、矩陣鍵盤(pán)、存儲(chǔ)器、門(mén)鎖驅(qū)動(dòng)等。它接收門(mén)控終端發(fā)來(lái)的請(qǐng)求驗(yàn)證消息,進(jìn)行驗(yàn)證、記錄開(kāi)門(mén)信息、更新門(mén)狀態(tài),并根據(jù)驗(yàn)證結(jié)果發(fā)送開(kāi)門(mén)信號(hào)給相應(yīng)的開(kāi)鎖機(jī)構(gòu)。中央控制電路如圖6所示。
圖3 跳碼芯片及315 MHz發(fā)射電路
圖4 低頻發(fā)射電路
3.1 跳碼芯片對(duì)數(shù)據(jù)的加密
MT3108使用前必須對(duì)芯片內(nèi)部64字節(jié)的EEPROM進(jìn)行編程,在其中保存所有配置信息和加密參數(shù)。
若遙控有鍵按下,則MT3108上電并被喚醒,延時(shí)消抖后獲取按鍵信息。若所有鍵被按下,則進(jìn)入學(xué)習(xí)模式;否則,取得按鍵信息,并加密同步計(jì)數(shù)值、識(shí)別碼和按鍵信息形成跳碼。無(wú)按鍵但距離接近1~2 m時(shí),LF電路發(fā)來(lái)的串行數(shù)據(jù)也可以觸發(fā)加密電路形成跳碼。
圖5 射頻接收電路
即使連續(xù)兩次按鍵一樣,發(fā)送的跳碼信息也會(huì)不同。一次發(fā)送完成后,如該按鍵還處于按下?tīng)顟B(tài),則發(fā)送數(shù)據(jù)結(jié)構(gòu)中的RPT位置1。傳輸?shù)木幋a數(shù)據(jù)共86位,第一部分44位未加密信息包括RPT位(1位)、VLOW位(1位)、按鍵信息(4位)和用戶(hù)序列號(hào)(16位)順序組合得到。第二部分16位隨機(jī)數(shù)信息是由均是16位的隨機(jī)數(shù)和系統(tǒng)序列號(hào)按位異或后得到的。第三部分是經(jīng)過(guò)加密運(yùn)算后得到的48位跳碼信息。加密前的48位數(shù)據(jù)由2部分組成:第1部分由均是16位的隨機(jī)數(shù)和系統(tǒng)序列號(hào)按位異或后得到;第兩部分由相同的32位隨機(jī)數(shù)和32位同步計(jì)數(shù)器值按位異或后生成。編碼數(shù)據(jù)格式如表1所列。
表1 編碼數(shù)據(jù)格式
圖6 中央控制電路
PWM數(shù)據(jù)傳輸?shù)母袷剑洪_(kāi)頭為由EEPROM確定數(shù)量(設(shè)為n)的引導(dǎo)碼,占空比為1/6,共6n×TE寬度;接著是長(zhǎng)度為10TE寬度的低電平數(shù)據(jù)頭;然后是實(shí)際編碼信息,每位長(zhǎng)度為3TE,格式為1X0,X=0表示高電平,X=1表示低電平,總長(zhǎng)度為3TE×86=258 TE;最后是30 TE的低電平警戒位。
PWM數(shù)據(jù)傳輸格式如圖7所示。
圖7 PWM數(shù)據(jù)傳輸格式
3.2 軟件解碼
根據(jù)PWM數(shù)據(jù)格式,首先判斷接收引導(dǎo)碼。若低電平寬度大于5Te_max、高電平寬度>Te_max,則認(rèn)為是非數(shù)據(jù)信號(hào),合格的引導(dǎo)碼高低電平比例為1:5,由于傳輸過(guò)程中存在變形,可將門(mén)限提高至1:2~1:7。
if((rec_l_cnt>(2* rec_h_cnt))&&(rec_l_cnt<(7* rec_ h_cnt)))
receiver_flg=1; //接收到引導(dǎo)碼
由于引導(dǎo)碼有多個(gè),則找到引導(dǎo)碼后需跳過(guò)其余的引導(dǎo)碼,并等待寬度為10TE的低電平數(shù)據(jù)頭,然后再接收實(shí)際數(shù)據(jù)信息(86位)。
接收86位數(shù)據(jù)信息時(shí),為接收方便,可先收取前80位的數(shù)據(jù),最后6位的數(shù)據(jù)單獨(dú)接收。接收時(shí),分別獲取高電平時(shí)間rec_h_cnt和低電平時(shí)間rec_l_cnt。若rec_h_ cnt<rec_l_cnt,則接收的數(shù)據(jù)為1,否則為0,逐次移位存在數(shù)組receive_dat[0]~receive_dat[10]中,receive_dat [10]存放的是最后6位,需要右移2位右對(duì)齊。
對(duì)接收到的數(shù)據(jù)進(jìn)行解密:由于接收到的PWM波跳碼數(shù)據(jù)高地位與解碼庫(kù)內(nèi)部解碼所需數(shù)據(jù)相反,因此需要交換receive_dat[0-3]數(shù)據(jù)位置。
for(i=0;i<3;i++){
data_buf=receive_dat[i];
receive_dat[i]=receive_dat[5-i];
receive_dat[5-i]=data_buf;
}
將receive_dat[8]、receive_dat[9]的數(shù)據(jù)位置互換,然后提取PWM波中的USN數(shù)據(jù),即可用于解密。調(diào)用解密庫(kù)函數(shù)decrypt()進(jìn)行解碼,解碼流程如圖8所示。
decrypt((uchar*)(&receive_dat[8]),(uchar*)receive_dat);
解碼后的CNT可用于數(shù)據(jù)驗(yàn)證以提高安全性,根據(jù)用戶(hù)序列號(hào)正確性進(jìn)行開(kāi)門(mén)操作。
本文分析了基于MicroTiVo公司的MT3108芯片和微芯公司的PIC18F4520單片機(jī)的無(wú)鑰匙智能汽車(chē)門(mén)禁系統(tǒng)的硬件和軟件設(shè)計(jì),針對(duì)門(mén)禁系統(tǒng)的安全性設(shè)計(jì),開(kāi)發(fā)了一款門(mén)禁系統(tǒng)。主要特點(diǎn):
①交互通信的125 kHz低頻感應(yīng)距離為1.5 m,高頻通信距離為70~80 m。
② 鑰匙體積小,功耗低。靜態(tài)功耗約3.2 μA,動(dòng)態(tài)功耗約4 mA。
圖8 解碼流程
③跳碼芯片采用了公匙跳碼算法,提高了安全性。
本設(shè)計(jì)確保了每次密碼的唯一性,密碼不易被盜取,可廣泛應(yīng)用于車(chē)輛、廠(chǎng)房、辦公等安防領(lǐng)域。
[1]孫楓舒,單武,陳勇,等.新型汽車(chē)防盜鑰匙系統(tǒng)設(shè)計(jì)[J].研究與開(kāi)發(fā),2011(12):90-92.
[2]倪龍,和軍平,林廖軍.交互式無(wú)線(xiàn)汽車(chē)智能鑰匙系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(5):1136-1138.
[3]薛巨峰,喬鵬.基于KEELOQ技術(shù)的遙控門(mén)禁系統(tǒng)的實(shí)現(xiàn)[J].集成電路應(yīng)用,2013,39(2):45-47.
Keyless Access Control System Based on Hopping Code Chip MT3108
Zhao Guoshu1,Zhou Liying2,Zhai Lixin1
(1.School of Intelligent Science and Control Engineering,Jinling Institute of Technology,Nanjing 211169,China;2.School of Mechanical and Electrical Engineering,Jinling Institute of Technology)
This paper introduces the design of a keyless access control system based on MT3108 of MicroTiVo company and the microcontroller PIC18F4520 of Microchip company.The hopping code chip MT3108 uses elliptic curve cryptography(ECC)algorithm which strengthens the security of access control system.This paper elaborates flow chart of the system,working principle of the hardware and the process of encryption and decryption.The result shows that the design meets the demand of practical application.
MT3108;PIC18F4520;hopping code;access control system
TN92
A
楊迪娜
2014-11-11)
本課題收到江蘇高校自然科學(xué)基金12KJB580003資助。