摘 要:在內(nèi)置模擬前端" title="模擬前端">模擬前端的單片機PIC16F639的基礎(chǔ)上設(shè)計出一種可低頻喚醒" title="低頻喚醒">低頻喚醒的TPMS發(fā)射機,,它通過低頻信號獲取操作指令信息,,再通過高頻信號將測量數(shù)據(jù)發(fā)射出去。實現(xiàn)了TPMS發(fā)射機與駕駛員的雙向通信,,提出了具體的硬件與軟件設(shè)計方案。
關(guān)鍵詞:TPMS? 低頻喚醒? PIC16F639
?
??? TPMS(Tire Pressure Monitoring System)是胎壓檢測系統(tǒng)的英文縮寫形式,。這種系統(tǒng)的原理是通過安裝在輪胎內(nèi)的傳感器檢測輪胎壓力,、溫度等參數(shù),并通過無線方式實時準確地將測量值傳送給接收裝置,,駕駛員通過液晶顯示器了解車輛的輪胎狀況,,可有效降低因爆胎引發(fā)交通事故的幾率。
傳統(tǒng)的胎壓檢測系統(tǒng)一般采用定時喚醒或加速度喚醒的方式延長胎內(nèi)發(fā)射裝置的使用壽命,,駕駛員對胎內(nèi)壓力檢測系統(tǒng)的啟動,、暫停、檢測方式無法進行控制,。同時,,在傳統(tǒng)胎壓檢測系統(tǒng)中,將輪胎的定位信息寫入輪胎內(nèi)發(fā)射系統(tǒng)" title="發(fā)射系統(tǒng)">發(fā)射系統(tǒng)的ID中,,如果更換輪胎則需要對定位信息重新設(shè)置,,否則系統(tǒng)無法正確反映輪胎位置。采用可低頻喚醒的TPMS,,駕駛員可對檢測系統(tǒng)的工作狀態(tài)進行控制,,通過設(shè)定輪胎的檢測順序,就可以解決輪胎的定位問題,。
1 發(fā)射系統(tǒng)原理與解決方案
從圖1可知,,發(fā)射系統(tǒng)主要由胎內(nèi)傳感器、信號處理模塊,、高頻發(fā)射模塊" title="發(fā)射模塊">發(fā)射模塊和LF接收模塊組成,。其基本工作原理是:系統(tǒng)接收到低頻喚醒信號后,根據(jù)信號調(diào)理與譯碼所得指令調(diào)整系統(tǒng)的工作狀態(tài),胎內(nèi)傳感器將檢測量傳輸給MCU,,再通過發(fā)射模塊以433.9MHz載頻發(fā)送出去,。
?
?
1.1 傳感器
本系統(tǒng)選用Freescale公司的MPXY8020A型硅壓阻式壓力傳感器,其內(nèi)部包括壓力,、溫度傳感器,,具有電源管理和數(shù)據(jù)輸出功能??赏ㄟ^S0,、S1引腳控制其工作模式,每隔3s通過OUT引腳發(fā)出370?滋s寬度的喚醒脈沖,,約每52min通過/RST引腳發(fā)出一個復(fù)位脈沖[1],。
1.2 信號處理與低頻接收模塊
Microchip公司的PIC16F639是一款帶有三通道模擬前端(AFE)的MCU,其模擬前端特性由MCU固件控制,。由于使用方便,,該器件可用于多種智能低頻檢測和雙向通訊應(yīng)用中。因其具有工作電壓范圍寬,、待機電流小,、工作電流低等特點[2],十分適合應(yīng)用于胎壓檢測,。其集成的三通道模擬前端可檢測低至1mV(峰-峰值)的125kHz輸入信號" title="輸入信號">輸入信號,,具有三個天線連接引腳。通過連接指向X,、Y和Z方向的三個天線,應(yīng)答器可隨時接收來自任意方向的信號,,從而降低因天線的方向性而造成信號丟失的可能性,。各天線引腳的輸入信號的檢測是相互獨立的,并隨后相加,。通過對配置寄存器進行編程,,每個輸入通道可以被單獨使能或禁止。被使能的通道越少,,器件的功耗就越小,。
1.3 高頻發(fā)射模塊
?發(fā)射模塊采用Maxim公司的MAX1479,可發(fā)射300MHz~450MHz的ASK和FSK數(shù)據(jù),,在FSK模式下采用Manchester碼可達到20kbps的數(shù)據(jù)速率,。該芯片具有低電源電流(ASK模式下為6.7mA,F(xiàn)SK模式下為10.5mA),,僅200?滋s的啟動時間等優(yōu)點,,非常適合應(yīng)用于低功耗設(shè)計[3]。
2 TPMS發(fā)射系統(tǒng)硬件設(shè)計
TPMS發(fā)射系統(tǒng)硬件主要由發(fā)射芯片MAX1479、單片機PIC16F639和傳感器MPXY8020A構(gòu)成,,如圖2所示,。模塊發(fā)射頻率為MAX1479外接晶振頻率的32倍頻,即需外接13.56MHz振蕩器,。MODE引腳接高電平,,為FSK調(diào)制模式。CLK0和CLK1引腳可以設(shè)置CLKOUT頻率輸出引腳的輸出頻率,。DEV0,、DEV1、DEV2引腳可為FSK調(diào)制模式設(shè)置頻率偏移,,當(dāng)DIN引腳為高電平時,,PAOUT輸出高頻信號至天線。PIC16F639內(nèi)置了三通道模擬前端,,由于低頻發(fā)射基站與接收模塊位置相對固定,,只需安裝一個低頻接收天線即可。接收天線為鐵氧體磁芯線圈,,電感量為7.1mH,,并聯(lián)220pF電容后,可在125kHz處諧振,,并聯(lián)諧振阻抗最大,,當(dāng)發(fā)射線圈與接收線圈相互平行,即可最大限度地拾取有用信號,。每個通道內(nèi)還具有一個調(diào)節(jié)電容,,可用來調(diào)節(jié)外部天線。此電容可通過寄存器配置電容大小,,最大63pF,,可1pF步進調(diào)整。LCCOM引腳為三通道的公共地,。單片機使用內(nèi)部已校準的8MHz振蕩器,,可通過寄存器中IRCF位配置分頻系數(shù),分頻后可得到低至31kHz的時鐘頻率,。傳感器與單片機采用SPI串口方式連接,,可以通過配置S1、S0引腳使傳感器工作于待機,、測量壓力,、測量溫度和讀數(shù)據(jù)這四個狀態(tài)。OUT引腳連接至RA1引腳,,并每隔三秒發(fā)出喚醒脈沖,,PORTA口電平變化引發(fā)中斷,,將單片機從休眠模式喚醒。
?
3 發(fā)射系統(tǒng)軟件設(shè)計
3.1 RF傳輸協(xié)議
RF信號的傳輸采用曼徹斯特編碼,,即一個數(shù)字信號值在每一個比特位周期內(nèi)作高,、低電平之間的切換,前半周期高電平后半周期低電平表示數(shù)字1,,而先低后高表示數(shù)字0,。MAX1479的 FSK模式最大數(shù)據(jù)傳輸率為20kbps,在本系統(tǒng)中采用9.6kbps的數(shù)據(jù)率,。RF數(shù)據(jù)幀格式如表1所示,。
?
????(1)前導(dǎo)位:由連續(xù)的31個數(shù)字1接一個數(shù)字0組成,前導(dǎo)位可以使接收器識別出有效的RF信號,,并可使接收器與發(fā)射信號頻率同步,,因此可補償發(fā)射機振蕩頻率的誤差。前導(dǎo)位的位數(shù)可以不固定,,位數(shù)長的前導(dǎo)位有利于提高接收器的靈敏度,,而位數(shù)短的前導(dǎo)位有利于節(jié)省發(fā)送端功耗。
??? (2)發(fā)射機ID:每個發(fā)射機都有惟一的ID號碼,,32位的長度可極大地避免出現(xiàn)兩個相同ID的情況,。
?? ?(3)壓力值:壓力值采用8位無符號數(shù)表示,每一位代表2.5kPa,。
??? (4)溫度值:溫度值采用8位無符號數(shù)表示,,最低可測溫度為零下40度,每一位代表0.8度,。
??? (5)狀態(tài)位:包括電池低壓檢測數(shù)據(jù),、傳感器的工作模式信息。
??? (6)校驗和位:校驗和長度為8位,。其產(chǎn)生的方法是,,發(fā)送時,對所有數(shù)據(jù)求異或結(jié)果再取反作為校驗和,;接收時,對所有數(shù)據(jù)連同校驗和求異或求反,,結(jié)果為0表示正確,,否則錯誤,丟棄數(shù)據(jù)包,。
3.2 LF傳輸協(xié)議與軟件流程
??? LF信號的傳輸也采用曼徹斯特編碼,。由于PIC16F639模擬前端輸入調(diào)制頻率最高為4kHz,所以選擇1kHz作為LF輸入信號的數(shù)據(jù)頻率。LF數(shù)據(jù)幀格式如表2所示,。
?
(1)AGC穩(wěn)定時間:這是一個持續(xù)的高電平脈沖,,可將AFE從休眠模式喚醒,,AGC模塊可以自動調(diào)整過強的輸入信號電壓,使之達到后續(xù)電路可接受的水平,,AGC穩(wěn)定時間后,,AGC穩(wěn)定于輸入信號電平。如果AGC穩(wěn)定時間不符合要求,,AFE將被軟復(fù)位,。
??? (2)喚醒濾波器脈沖:喚醒濾波器用來使能LFDATA輸出并喚醒單片機,但前提條件是在LC輸入引腳接收到特定的脈沖序列,。這樣可以防止由于噪聲或不想要的輸入信號等原因而致使AFE喚醒單片機,。喚醒濾波器脈沖的高持續(xù)時間和低持續(xù)時間分別由OEH、OHL位決定,,通過SPI口編程,。
??? (3)命令位:8位數(shù)據(jù)中的第1位將引起PORTA電平變化中斷使單片機從休眠模式喚醒,剩余的7位數(shù)據(jù)作為命令代碼,。單片機通過定時采集RA4引腳電平,,獲得相應(yīng)數(shù)據(jù),并通過與單片機預(yù)定義值進行匹配,,產(chǎn)生相應(yīng)動作狀態(tài),。
??? (4)校驗位:采用奇校驗方式,即當(dāng)數(shù)據(jù)中1的個數(shù)為奇數(shù)時,,則校驗位為0,;否則校驗位為1。
??? (5)結(jié)束位:用兩個連續(xù)的數(shù)字0表示結(jié)束位,,結(jié)束位采用NRZ編碼格式,。
圖3是PIC16F639檢測低頻信號流程圖。當(dāng)單片機上電后,,可以通過SPI口對AFE的8個寄存器進行設(shè)置,。打開PORTA電平變化中斷后進入休眠模式。當(dāng)LC輸入引腳檢測到輸入信號,,輸入的AGC穩(wěn)定時間電平超過20mV時將置位AFE狀態(tài)寄存器AGCACT位,。如果輸入信號不到20mV,則不會激活A(yù)GC,。由于只使用一個模擬通道,,因此當(dāng)檢測到輸入信號時,只置位WAKEY位,。若AFE被喚醒后,,超過16ms沒有信號輸入,則軟復(fù)位將使AFE重新回到休眠狀態(tài),。如果未使能喚醒濾波器,,則后續(xù)接收到的信號將被AFE認為是有用信號,,并直接從LFDATA引腳以數(shù)字量輸出。否則,,后續(xù)信號必須滿足喚醒濾波器的時序脈沖要求,。如果不滿足,且超過32ms沒有正確信號輸入將置/ALERT引腳低,,并返回到休眠狀態(tài),。如果滿足,則通過LFDATA引腳喚醒單片機并輸出數(shù)據(jù),。單片機根據(jù)譯碼數(shù)據(jù)被重新配置,。
?
3.3 發(fā)射模塊基本程序流程
當(dāng)系統(tǒng)上電復(fù)位后,PIC16F639首先執(zhí)行初始化命令,,隨后進入休眠等待狀態(tài),,如圖4(a)所示。當(dāng)檢測到傳感器喚醒脈沖或LF的輸入信號時,,系統(tǒng)退出休眠狀態(tài),。檢測到傳感器喚醒脈沖后,若滿足數(shù)據(jù)檢測條件,,則單片機通過配置傳感器S1,、S0模式選擇引腳 ,控制傳感器檢測壓力及溫度,,并將讀取的數(shù)據(jù)通過SPI口傳至PIC單片機,,判定是否滿足配置發(fā)射條件,系統(tǒng)默認的發(fā)送條件是30秒發(fā)送一次,,但也可以通過低頻喚醒指令自行設(shè)置發(fā)射信號的時間間隔,。當(dāng)測量的壓力與溫度變化量超過閾值時,系統(tǒng)則會自動修改發(fā)送條件至快速發(fā)射模式,,即將發(fā)射數(shù)據(jù)時間間隔縮短到800ms,,使駕駛者可以實時掌握輪胎狀態(tài),及時采取防范措施,。當(dāng)發(fā)射完成后,,系統(tǒng)再次進入休眠狀態(tài),以上基本流程如圖4(c)所示,。如果系統(tǒng)被LF信號喚醒后,,則首先對LF輸入的曼徹斯特編碼信號進行譯碼,根據(jù)譯碼信息重新配置發(fā)射條件與數(shù)據(jù)檢測的時間間隔,,也可以控制TPMS發(fā)射系統(tǒng)的啟動和暫停,如圖4(b)所示,。
?
?可低頻喚醒的TPMS發(fā)射系統(tǒng)具有低成本,、低功耗,、高集成度、具有雙向通信功能的特點,,這使它比傳統(tǒng)TPMS更具市場競爭力,。隨著TPMS在中國的普及,該系統(tǒng)將具有較大的推廣價值,。
參考文獻
[1] ?Freescale Corporation. MPXY8020A Data Sheet[R].
[2] ?Microchip Corporation. PIC12F635/PIC16F636/639 Data?Sheet[R].
[3] ?Maxim Corporation. MAX1479 Data Sheet[R].