梁 攀,許華榮,吳飛斌,韓 軍
(1.廈門理工學(xué)院電氣工程與自動化學(xué)院,福建廈門 361000;2.中國科學(xué)院海西研究院泉州裝備制造研究所,福建泉州 362000)
確保輪胎壓力正常是汽車安全行駛的重要保障之一,輪胎壓力監(jiān)測系統(tǒng)(TPMS)利用安裝在車輛輪胎內(nèi)部的胎壓傳感器將壓力、溫度等信息通過無線信號發(fā)送到駕駛室的顯示終端上,胎壓異常時則發(fā)出警示信號,在行車安全性上起到了重要作用[1]。TPMS要準確指示故障輪胎所在位置則需要接收端將傳感器和其實際的安裝位置匹配以實現(xiàn)輪胎定位。輪胎定位的方法有多種,采用傳統(tǒng)的方法會在傳感器內(nèi)部提前寫入位置信息并在外部標注該傳感器安裝時所對應(yīng)的位置[2],在輪胎換位或傳感器更換時需使用對應(yīng)位置的傳感器重新安裝,過程較繁瑣;間接式TPMS可利用采集到的輪速信號結(jié)合神經(jīng)網(wǎng)絡(luò)對輪位進行識別,該方法需對每輛車采集數(shù)據(jù)進行處理和大量的訓(xùn)練[3];基于場強的定位技術(shù)可根據(jù)信號強弱判斷傳感器安裝距離,結(jié)合加速度區(qū)分左右輪位從而實現(xiàn)輪胎定位[4-5],但在電磁干擾嚴重或同側(cè)并排安裝多個傳感器時易導(dǎo)致定位失敗。針對輪胎數(shù)目較多布局復(fù)雜的情況,為確保定位可靠且易于操作,使用近距離低頻通信實現(xiàn)輪位匹配的方法[6]可有效運用于商用車輛。
本文以SP370胎壓檢測傳感模塊為數(shù)據(jù)采集對象,利用其低頻喚醒特性,設(shè)計出可低頻配置胎壓傳感器輪位的嵌入式手持終端,同時可實時查看包括輪胎氣壓、溫度、加速度及模塊電壓在內(nèi)的相關(guān)參數(shù),方便在現(xiàn)場能確保傳感器的安裝可靠性。
該手持設(shè)備以STM32F103微控制器作為控制核心,射頻數(shù)據(jù)接收部分選用TDA5235多頻段高靈敏度接收芯片。SP370胎壓傳感模塊發(fā)回的數(shù)據(jù)經(jīng)射頻芯片處理后再送入微控制器,接收到的數(shù)據(jù)可以寫到由W25Q64構(gòu)成的存儲模塊中,也可以交由液晶觸摸屏顯示,方便用戶實時查看。在交互界面上用戶可以通過點擊相應(yīng)按鈕發(fā)送指令給胎壓傳感模塊,還可使用USB接口將保存到存儲模塊中的數(shù)據(jù)導(dǎo)入到電腦以備查看。系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。
在有干擾的情況下,選擇射頻接收芯片的主要考慮因素是其高靈敏度和高穩(wěn)定性[7]。本設(shè)計中選擇的TDA5235無線接收芯片具有低功耗、高靈敏度性能,支持多頻段ASK/FSK調(diào)制及雙相編碼。接收器采用超外差/低中頻架構(gòu),經(jīng)二次下變頻可良好地抑制鏡像通道頻率,能迅速適應(yīng)頻率變化,完全集成的∑-Δ小數(shù)N分頻頻率合成器可實現(xiàn)10.5 Hz的高分辨率頻率合成,內(nèi)部器件的高度集成,使其應(yīng)用電路只需較少的外圍元件。微控制器只需通過SPI接口即可實現(xiàn)對TDA5235的配置。芯片的應(yīng)用電路設(shè)計如圖2所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
圖2 TDA5235應(yīng)用電路圖
圖2中,帶寬為330 kHz的陶瓷濾波器SFECF10M7EA00用于完成第一中頻頻率為10.7 MHz的選擇,當考慮設(shè)計成本時,可使用π型LC濾波器代替或者直接采用以中頻頻率為274 kHz的單下變頻機制處理接收到的信號。天線阻抗匹配采用L型匹配網(wǎng)絡(luò),根據(jù)實際的分析調(diào)試,匹配網(wǎng)絡(luò)中采用的電感值為39 nH,電容值為0.5 pF時,可將天線阻抗匹配到50 Ω達到最佳的接收效果。
為保證手持設(shè)備與傳感器的通信質(zhì)量,并將通信范圍限定在有效距離內(nèi)。系統(tǒng)采用能有效穿透混凝土、塑膠等非磁性材料的低頻磁場,對傳感器實現(xiàn)近距離喚醒[8]。低頻磁場的發(fā)送采用LC串聯(lián)諧振電路,考慮到發(fā)射線圈在同一位置產(chǎn)生的磁場強度與線圈半徑成正比,因此電路設(shè)計中低頻天線選用DO5022P-333ML電感,該電感屬鐵氧體磁芯線圈電感,有較大的線圈半徑和品質(zhì)因素。模塊工作時,由微控制器引腳輸出的編碼數(shù)據(jù)送入TC4422的輸入引腳,TC4422可持續(xù)輸出最大為2 A的電流信號,在編碼信號的作用下電路開始諧振,產(chǎn)生低頻磁場,并且經(jīng)過功率放大后確保了有效的通信距離[9]。低頻信號發(fā)送的電路原理圖如圖3所示。
圖3 低頻信號發(fā)送電路圖
顯示界面采用3英寸TFT彩屏,微控制器和彩屏驅(qū)動器通過MIPI DBI Type B規(guī)范連接,16位并行數(shù)據(jù)傳輸有效地保證了數(shù)據(jù)幀的及時刷新。屏幕按鍵采用電容式觸摸屏實現(xiàn),支持多點觸控,MCU只需要通過I2C接口即可獲取觸摸點位置。LCD觸摸顯示屏接口設(shè)計如圖4所示。
系統(tǒng)的軟件功能較為復(fù)雜,良好的人機交互界面需要整個系統(tǒng)有較高的實時性,因此在軟件設(shè)計上采用將整個系統(tǒng)劃分為多個任務(wù),由FreeRTOS實時內(nèi)核進行調(diào)度。系統(tǒng)中,按照數(shù)據(jù)的處理流程將系統(tǒng)分為了顯示數(shù)據(jù)刷新、低頻信號發(fā)送、射頻信號接收、屏幕觸摸檢測、USB數(shù)據(jù)傳輸這幾個不同的模塊,模塊之間通信采用事件驅(qū)動機制和消息驅(qū)動機制相結(jié)合的方法,保證了系統(tǒng)的可靠性和實時性。圖5為程序結(jié)構(gòu)整體框圖。
圖4 觸摸顯示屏接口原理圖
圖5 程序結(jié)構(gòu)框圖
圖5中,F(xiàn)reeRTOS系統(tǒng)根據(jù)各任務(wù)中的信號量以及延時周期判斷是否解除任務(wù)阻塞并在就緒任務(wù)中挑選優(yōu)先級高的任務(wù)執(zhí)行。其中STemWin界面顯示任務(wù)為核心任務(wù),負責(zé)接收觸摸檢測任務(wù)發(fā)送的觸摸位置并做出界面刷新,同時還根據(jù)指令參數(shù)調(diào)用相應(yīng)的子程序。從圖5可以看出射頻信號接收處理、低頻信號發(fā)送、USB數(shù)據(jù)存儲3個子程序依賴于STemWin界面顯示任務(wù)為其提供的程序運行環(huán)境,而FatFS文件系統(tǒng)則為數(shù)據(jù)的讀寫提供了支持。
射頻接收模塊的初始化在系統(tǒng)上電之后完成,系統(tǒng)正常工作時完成數(shù)據(jù)包的接收后就會進入硬件中斷對數(shù)據(jù)進行循環(huán)冗余校驗。在確保數(shù)據(jù)的正確性后,由程序釋放信號量,此時上層程序模塊獲取信號量,從阻塞狀態(tài)轉(zhuǎn)入運行態(tài)隨即對數(shù)據(jù)格式進行解析,最后通過STemWin將數(shù)據(jù)顯示到屏幕上供用戶查看。數(shù)據(jù)接收流程如圖6所示。
圖6 數(shù)據(jù)接收子程序流程圖
低頻信號通過串聯(lián)諧振電路產(chǎn)生,其傳輸比特率為3 906 bit/s,載波頻率為125 kHz,采用開關(guān)鍵控調(diào)制,曼徹斯特編碼?;鶐盘柕漠a(chǎn)生由程序控制完成,微控制器引腳按編碼規(guī)則和電路諧振條件輸出方波,部分數(shù)據(jù)位的編碼波形示意圖如圖7所示,編碼波形頻譜如圖8所示,可見頻譜分布滿足設(shè)計要求。
圖7 單極性曼徹斯特編碼波形
圖8 低頻信號頻譜
3.3.1 液晶屏驅(qū)動
非直接訪問型LCD驅(qū)動文件的編寫內(nèi)容包括基本的描點、畫線、繪制圖像等功能函數(shù),LCD_X_Config和LCD_X_DisplayDriver函數(shù)用于建立STemWin和液晶屏板級驅(qū)動間的聯(lián)系。GUIConf.c和GUI_X_FreeRTOS.c文件分別用于提供界面內(nèi)存管理和操作系統(tǒng)相關(guān)的函數(shù)接口[10]。
3.3.2 文件系統(tǒng)驅(qū)動
FatFs是一款開源的文件系統(tǒng)模塊,支持多卷、多種扇區(qū)大小,并且支持實時操作系統(tǒng),當使用扇區(qū)對齊的方式進行讀寫訪問時,可以有效提高讀寫效率[11]。本設(shè)計中FATFS操作的存儲對象是SPI Flash,該存儲芯片內(nèi)部有128個塊,每個塊包含16個扇區(qū),每扇區(qū)大小4 KB,總?cè)萘繛? MB。
文件系統(tǒng)的功能裁剪配置均在ffconf.h文件中完成。在diskio.c文件中對底層驅(qū)動編寫,需要完成disk_status,disk_initialize,disk_read,disk_write,disk_ioctl,get_fattime 6個接口函數(shù)。當使能FATFS模塊的可重入功能時,需在ffsystem.c文件中編寫與所使用操作系統(tǒng)相關(guān)的信號量管理函數(shù),實現(xiàn)互斥信號量的創(chuàng)建、刪除、釋放、獲取功能。
3.3.3 USB驅(qū)動
手持設(shè)備采用USB連接PC主機能方便地實現(xiàn)數(shù)據(jù)導(dǎo)出,無需復(fù)雜的外圍硬件電路設(shè)計,利用STM32F103微控制器上集成的USB2.0外設(shè)并編寫相關(guān)驅(qū)動即可實現(xiàn)該功能。USB協(xié)議定義了層層包含的多種描述符,最上層的為設(shè)備描述符,依次為配置描述符、接口描述符、端點描述符以及字符串描述符等其他描述符[12]。這些描述符為USB主機提供了數(shù)據(jù)傳輸?shù)幕拘畔?。在usb_desc.c文件中完成大容量存儲設(shè)備不同描述符基本信息的配置,主要描述符的詳細配置說明如表1所示。USB數(shù)據(jù)的收發(fā)則通過端點完成,在usb_conf.h文件中為USB大容量設(shè)備設(shè)置2個批量傳輸端點,一個控制端點,mass_mal.c文件中編寫的SPI Flash底層讀寫驅(qū)動則供USB批量傳輸端點讀寫時調(diào)用。
表1 USB描述符說明
為驗證手持設(shè)備的功能實現(xiàn)情況和設(shè)計方案的可行性,首先使胎壓傳感模塊上電之后處于低速發(fā)送模式,然后通過手持設(shè)備上的喚醒按鈕發(fā)送低頻信號將其設(shè)置為每s發(fā)送1次數(shù)據(jù),手持設(shè)備顯示接收到的數(shù)據(jù)即可驗證其雙向通信的有效性。通過在不同距離下對傳感器低頻喚醒,當?shù)皖l模塊采用5 V電壓工作時測量到的喚醒距離始終維持在40 cm左右,因此在使用該設(shè)備時不會對其他較遠距離處的傳感器造成誤喚醒。輪胎位置編號可根據(jù)每個胎壓傳感模塊唯一的ID和實際安裝位置靈活分配。胎壓傳感模塊在被分配到輪位編號后便存儲到芯片內(nèi)部,同時也將本身的ID和輪位編號一起發(fā)送給接收設(shè)備,數(shù)據(jù)接收端根據(jù)不同的輪位編號即可判端胎壓傳感模塊的安裝位置,通過手持設(shè)備上顯示的輪位編號則可以判斷此前的設(shè)置是否成功,最終實現(xiàn)輪胎定位功能。測試設(shè)備如圖9所示,其中標識1處為胎壓傳感模塊,標識2處為手持設(shè)備。測試結(jié)果如圖10所示,基于STemWin的人機交互界面顯示了在室內(nèi)環(huán)境下從胎壓傳感器獲取到的相關(guān)參數(shù)。
圖9 實驗設(shè)備
圖10 測試結(jié)果
為了測試手持設(shè)備和傳感器之間的射頻通信質(zhì)量,通過手持設(shè)備喚醒胎壓傳感器后,手持設(shè)備進入數(shù)據(jù)包接收狀態(tài)并每20 min統(tǒng)計1次該時間段內(nèi)的丟包率,5 h內(nèi)的實驗統(tǒng)計結(jié)果如圖11所示,丟包率始終保持在2%以下,具有良好的接收性能。
圖11 丟包率測試
使用該手持設(shè)備可提高胎壓監(jiān)測系統(tǒng)在多輪胎情況下安裝的便捷性,適用于單個傳感器更換時輪胎定位及輪胎換位時所有輪胎的重新定位。全文完成了手持終端的總體設(shè)計,對重要的應(yīng)用電路進行了詳細的闡述,軟件框架和主要驅(qū)動的編寫也一并做了詳細的分析。通過實驗驗證了該設(shè)備滿足實際操作要求,具有廣泛的應(yīng)用前景,同時也可供其他嵌入式無線類設(shè)計參考。