一種汽車雙向遙控門鎖系統(tǒng)的實現
摘 要:本文介紹了基于射頻SoC nRF9E5的無線收發(fā)系統(tǒng)框架、各個組成部分、工作方式和配置方法。在此基礎上,設計了由nRF9E5和4位點陣式LCD模塊構成的一種簡單的雙向遙控門鎖顯示系統(tǒng)。
關鍵詞:雙向遙控門鎖;無線收發(fā)系統(tǒng);LCD
引言
汽車遙控車門開關(remote keyless entry,RKE)已經成為汽車不可或缺的部分。RKE對于提高汽車的防盜性和控制性有重要意義。以往設計的單向RKE 系統(tǒng)由一個控制端與一個執(zhí)行端組成,這種系統(tǒng)最大的不便是只有用戶發(fā)送信息給車門,而車門無法將自己的信息反饋給用戶,這就使得用戶無法知道汽車的狀況,給汽車的安全帶來隱患。此外,由于系統(tǒng)由電池供電,降低功耗也是一個比較大的問題。為了解決這兩個問題,本文設計了一個基于無線收發(fā)芯片nRF9E5和LCD芯片12864-12實現的雙向RKE系統(tǒng)。
圖1 雙向RKE系統(tǒng)構成
圖2 nRF9E5與 點陣式LCD接口示意圖
圖3 上位機收發(fā)程序流程
圖4 下位機收發(fā)程序流程
nRF9E5功能介紹
nRF9E5 是Nordic 公司 推出的系統(tǒng)級RF芯片,其內置nRF905 43 3/868/915 MHz收發(fā)器、8051 兼容微控制器和4 輸入10 位80ksps ADC,其內置nRF905 收發(fā)器與nRF905 芯片的收發(fā)器一樣, 可以工作于ShockBurst(自動處理前綴、地址和CRC)方式。內置電壓調整模塊, 最大限度地抑制噪聲, 為系統(tǒng)提供1 . 9 ~3.6V 的工作電壓。
nRF9E5 的片內微控制器有1 個和8051相同的串口,可以用定時器1 和定時器2 來作為異步通信的波特率產生器。微處理器中含有256B的數據RAM和512B的ROM,此外, 還擴展了2 個數據指針, 以方便于從XRAM 區(qū)讀取數據。上電復位或軟件復位后, 處理器自動執(zhí)行ROM引導區(qū)中的代碼。用戶程序通常是在引導區(qū)的引導下, 從EEPROM加載到1個4KB的RAM中, 這個4KB的RAM也可用于存儲數據。
nRF9E5片內集成了收發(fā)器,它可以通過內部并行端口或內部SPI與其它模塊進行通信,具有同單片射頻收發(fā)器nRF905 相同的功能。收發(fā)器通過片內的并行端口或S P I與微控制器通信。nRF9E5收發(fā)器由1 個完整的頻率合成器、1 個功率放大器、1 個調節(jié)器和2 個接收器組成。輸出功率、頻道和其它射頻參數可通過對特殊功能寄存器RADIO(0xA0) 編程進行控制。在發(fā)射模式下,射頻電流為11mA,接收模式下為12.5mA。為了節(jié)能, 可通過程序控制收發(fā)器的開/ 關。
雙向RKE系統(tǒng)硬件組成
雙向RKE系統(tǒng)由數據終端和主收發(fā)器兩大部分組成。其中數據終端是用戶隨身攜帶的,可以理解為一種遙控鑰匙,而主收發(fā)器是安裝在車門內的,用于開啟車門。數據終端和主收發(fā)器之間的數據通信是通過nRF9E5來進行的。由于nRF9E5內置微控制器且所傳輸的數據量不是很大,因此在RKE系統(tǒng)中既不需要另外附加微控制器,也不需要擴展其它的存儲器,使得系統(tǒng)硬件構造非常簡單。整個雙向RKE系統(tǒng)如圖1所示。
其中主收發(fā)器和數據終端都可以通過RS-232或者USB接口與PC相連,可以實現PC與nRF9E5之間的通信,這樣就可以通過PC將數據終端要顯示的字符(報警信息)以ASCII的形式寫入到數據終端的內存中,當汽車需要報警時,數據終端就將這些報警信息提出來,然后通過LCD顯示出來。同時可以通過PC將所有命令預先固化到硬件中,到時用戶只需要通過手中的按鍵操作就可以實現數據的雙向傳送。
在用戶端的數據終端中,由于采用的LCD為4位點陣式液晶顯示器,此顯示模塊內部的控制和驅動器都是由CMOS電路組成,CMOS電路是低功耗器件,而nRF9E5也是采用CMOS結構,故可以省去單片機與顯示模塊之間的驅動電路,直接將兩者相連。其硬件接口連接如圖2所示。按圖中接口,上電時,LCD自動復位為8位數據總線、單行顯示方式,顯示器的左8位點亮,右8位熄滅。在初始化程序中須用指令將LCD設置成4位數據總線、雙行顯示方式,使顯示的左8位和右8位都處在工作狀態(tài)。
此外,對于nRF9E5而言,其最大的優(yōu)點是具有載波檢測功能。當收發(fā)器準備發(fā)送數據時, 它首先進入接收方式并探測所工作的信道是否空閑。載波檢測的標準一般比靈敏度低5 dBm,比如,靈敏度為-100 dBm,載波檢測功能探測低至-105 dBm 的載波。也就是說,載波低于-105 dBm,載波檢測信號為低(一般為0),高于-95 dBm,則載波檢測信號為高(一般為VDD),介于-105~-95 dBm 之間, 載波檢測信號可能為低也可能為高。這個特性很好避免了同一工作頻率下不同發(fā)射器數據包之間的碰撞,有效地防止了信號的干擾。提高了無線鑰匙收發(fā)的穩(wěn)定性。
此外,在系統(tǒng)中還需加一簡單的蜂鳴器。當系統(tǒng)需要報警時,蜂鳴器就發(fā)出響聲,而此時報警信息就會在LCD上顯示出來。
系統(tǒng)軟件設計
通信協(xié)議
要實現上鎖/開鎖及安全報警功能,就必須完成數據終端和主收發(fā)器之間的無線數據通信。整個系統(tǒng)的各個部分都是服務于無線數據傳輸這個目的。所以, 在整個系統(tǒng)的軟件設計中, 無線數據的傳輸為最重要部分。無線傳輸以數據幀的方式進行,數據幀的格式如表1所示。
前導碼主要用于防止有用數據被干擾;ID主要用來標志特定汽車的信息,以便正確辨認,如果ID不匹配,數據幀就會被忽略;信息碼用來表示用戶的操作,這些操作包括上鎖、開鎖、顯示警報等。當用戶發(fā)送相應命令時,就分別執(zhí)行上鎖、開鎖,而當用戶超出收發(fā)范圍時,主收發(fā)器能夠自動發(fā)送警告信息;校驗碼則用于檢驗接收的數據是否正確,不正確時,需重發(fā)數據幀。
軟件流程
由于數據終端和主收發(fā)器之間的通信是雙工的,所以在實際系統(tǒng)運行時,數據的傳輸方向也是不斷變化的。為此,要實現雙方協(xié)調通信,就必須設計出一個比較適合的收發(fā)次序。為了更好地說明程序流程,在這里將用戶那邊的數據終端定為上位機,而將車內的主收發(fā)器定為下位機。上位機和下位機收發(fā)流程如圖3、圖4所示。
結語
采用nRF9E5構成的雙向RKE系統(tǒng)中的無線數據傳輸部分不需要外置微控制器,也不需要外擴存儲器;當和點陣式LCD相連時,也不需要外置驅動器,這就大大地降低了系統(tǒng)的復雜性。此外系統(tǒng)中采用的都是耗能較低的模塊,這在一定程度上實現了系統(tǒng)低功耗的要求。本文所設計的雙向RKE系統(tǒng)可以提高數據傳輸的安全性,而配上顯示器就能更直觀地反映汽車的狀態(tài)。不過系統(tǒng)也有不完善的地方,如果在系統(tǒng)中再加一個DAC,配上揚聲器就可以更加直觀地把汽車的信息反饋給用戶。此外,如果在車門里再加一個壓力傳感器,就可以極大地防止汽車遭到人為地破壞,進一步提高汽車的安全性。