當(dāng)前大多數(shù)汽車出廠時(shí)都安裝了遙控鑰匙系統(tǒng)。但要給自己的老式、配件難尋的“傳統(tǒng)”愛車也裝上一套該怎么辦呢?
MAXQ?系列微控制器采用低噪聲設(shè)計(jì),是整合包括RF接收器在內(nèi)的模擬電路的最佳方案。本文討論了用MAXQ3212微控制器和MAX1473接收器設(shè)計(jì)遙控鑰匙(RKE)接收器時(shí)所需要的元件。
系統(tǒng)綜述
遙控鑰匙系統(tǒng)由一個(gè)鑰匙鏈發(fā)送器和一個(gè)裝在車內(nèi)的接收器構(gòu)成。圖1為系統(tǒng)示意圖。(注意,MAXQ3212是MAXQ3210的派生產(chǎn)品,MAXQ3210也可用于本設(shè)計(jì))。
圖1. RKE系統(tǒng)同時(shí)需要鑰匙鏈發(fā)送器和接收器。
協(xié)議
根據(jù)制造商、型號(hào)以及出廠時(shí)間的不同,遙控鑰匙的協(xié)議差異極大。對(duì)這種售后市場項(xiàng)目來說,使用可編程微控制器恰到好處。本文中,我們隨意選用了8400bps曼徹斯特編碼的數(shù)字?jǐn)?shù)據(jù)流(參見曼徹斯特編碼說明欄),并采用ASK方式以433MHz進(jìn)行發(fā)射。若要使用FSK或不同的發(fā)射頻率,必須用不同的接收器芯片替換MAX1473。關(guān)于Maxim接收器的更多詳細(xì)信息,請(qǐng)?jiān)L問無線、射頻和電纜IC。
曼徹斯特編碼
每個(gè)數(shù)據(jù)位至少由一個(gè)信號(hào)跳變來表示,從而實(shí)現(xiàn)數(shù)據(jù)流自同步。圖2給出了0和1的表示符號(hào),這里選擇下降沿為0,上升沿為1。
圖2. 0:下降沿編碼;1:上升沿編碼。
串形數(shù)據(jù)通常先發(fā)送LSB。如圖3所示,ASCII字符“A” (41h, 0100.0001b)以1000.0010b的形式發(fā)送。可以通過連接0和1的編碼構(gòu)成整個(gè)編碼序列。
圖3. 通過連接0和1的編碼完成ASCII “A”的編碼。
鑰匙鏈
由于我們著重考慮RKE系統(tǒng)的接收器,所以選用兩個(gè)評(píng)估板(EV kit)構(gòu)成發(fā)送器:DS89C450-KIT和MAX7044EVKIT。這些評(píng)估板可以并排安裝在一個(gè)殼體內(nèi),充電電池位于下方(圖4)。鑰匙鏈體積有些大,但作為演示發(fā)送器還是不錯(cuò)的。如使用天線,發(fā)送距離超出標(biāo)準(zhǔn)鑰匙鏈幾個(gè)數(shù)量級(jí)。注意:需在屏蔽的實(shí)驗(yàn)室環(huán)境下使用本發(fā)送器,并且要遵守標(biāo)準(zhǔn)規(guī)程,如輸出功率限制等。
圖4. 鑰匙鏈發(fā)送器采用兩個(gè)并排安裝的評(píng)估板構(gòu)成。
數(shù)據(jù)流
當(dāng)按下鑰匙鏈上的按鈕時(shí),將發(fā)送前同步碼,隨后依次是發(fā)送器ID,計(jì)數(shù)值以及鑰匙數(shù)據(jù)(圖5)。按鈕釋放前,發(fā)送器一直重復(fù)該序列過程,同時(shí)還需要一個(gè)軟件去抖程序。在我們的實(shí)例代碼中,這是簡單地通過短暫關(guān)閉接收器實(shí)現(xiàn)的。實(shí)際的系統(tǒng)還會(huì)將部分?jǐn)?shù)據(jù)加密,防止車輛被盜。一般由車體控制模塊(BCM)進(jìn)行解密。
圖5. 鑰匙鏈發(fā)送前同步碼、ID、計(jì)數(shù)值和鑰匙碼。
接收器
接收器由并排安裝在一起的MAXQ3212 8位微控制器和MAX1473接收器組成,如圖6所示。圖7為裝好的電路板。側(cè)邊的連線接到汽車的BCM上。在該演示板中,我們使用一個(gè)專用的MAXQ3212端口引腳以9600bps發(fā)送異步串行數(shù)據(jù)。圖8給出的MAXQ代碼可實(shí)現(xiàn)簡單的位模擬串口。
看大圖 (PDF, 146kB)
圖6. 接收器包括MAXQ3212和MAX1473。
圖7. RKE接收器電路板上安裝了MAXQ3212和MAX1473。
圖8. 可以用簡單的端口引腳產(chǎn)生串口輸出。
軟件
接收器軟件測(cè)量接收信號(hào)強(qiáng)度、等待和同步至前同步碼、解碼數(shù)據(jù)流并通過串口傳輸數(shù)據(jù)。
信號(hào)強(qiáng)度測(cè)量
測(cè)量信號(hào)強(qiáng)度與曼徹斯特解碼這一主要任務(wù)無關(guān)。MAX1473接收器提供一個(gè)模擬接收信號(hào)強(qiáng)度指示器(RSSI),我們對(duì)此信號(hào)進(jìn)行測(cè)量。MAXQ3212內(nèi)置一個(gè)模擬比較器(比較VREF和CMPI輸入),并可以在定時(shí)器輸出引腳上產(chǎn)生脈寬調(diào)制信號(hào)(PWM)。圖9示出了由比較器和PWM構(gòu)建ADC的方法。我們將RSSI信號(hào)送到MAXQ3212比較器的VREF。然后將定時(shí)器編程為PWM模式,如果對(duì)該P(yáng)WM進(jìn)行適當(dāng)濾波,就可產(chǎn)生DAC輸出。該DAC連接到比較器的另一個(gè)輸入CMPI。比較器隨后比較信號(hào)電平,如果信號(hào)匹配,我們就在沒有專用硬件ADC的情況下成功進(jìn)行了模數(shù)轉(zhuǎn)換。
軟件中我們沒有采用逐次逼近法(這會(huì)造成DAC信號(hào)重復(fù)大幅度擺動(dòng),因而建立時(shí)間更長),而是選擇了斜率ADC。從一個(gè)合理的最小值開始,DAC輸出緩慢增加,直到比較器指示匹配狀態(tài)。
圖9. 使用MAXQ3212上的比較器測(cè)量模擬信號(hào)強(qiáng)度。
RF信號(hào)解碼器
MAX1473提供一路數(shù)字信號(hào)輸出(DATAOUT)。由于RF噪聲一直存在,無論鑰匙鏈實(shí)際上是否在發(fā)送數(shù)據(jù),該引腳都將連續(xù)轉(zhuǎn)換狀態(tài)。為將該噪聲與信號(hào)區(qū)分開來,MAXQ微控制器必須采用一個(gè)小型狀態(tài)機(jī),測(cè)量上升沿和下降沿信號(hào)之間的時(shí)間,以識(shí)別前同步碼。測(cè)量邊沿間隔的最有效方法是使用中斷。MAXQ可編程為上升沿或下降沿觸發(fā)中斷。我們將中斷設(shè)置為“上升沿”觸發(fā),開始測(cè)量。一旦探測(cè)到上升沿,我們復(fù)位并重啟定時(shí)器,同時(shí)將中斷觸發(fā)邊沿設(shè)置為“下降”沿。到下降沿時(shí),中斷處理程序讀取定時(shí)器的值。圖10給出了一個(gè)代碼段,該代碼段讀取和復(fù)位定時(shí)器,然后轉(zhuǎn)換中斷觸發(fā)信號(hào)的極性。
如果邊沿間隔與8400bps數(shù)據(jù)率(加/減一個(gè)合理的容限)匹配,并檢測(cè)到協(xié)議所指定的同步脈沖數(shù),則微控制器軟件狀態(tài)機(jī)切換到接收模式,開始解析余下的數(shù)據(jù)包。
圖10. 邊沿檢測(cè)和定時(shí)完全可以采用中斷驅(qū)動(dòng)方式實(shí)現(xiàn)。
結(jié)論
MAXQ微控制器系列采用低噪聲設(shè)計(jì),能夠與Maxim的RF器件出色地整合到一起,而基本不會(huì)干擾RF信號(hào)??梢园l(fā)郵件到 micro.software@dalsemi.com (English only),索取本文闡述的演示發(fā)送器和接收器的代碼和電路原理圖。
評(píng)論
查看更多