王 鵬,韓躍平,文洪奎 ,景冰潔
(1.中北大學 信息與通信工程學院,太原 030051;2.東方久樂汽車電子(上海)股份有限公司,上海 200000)
汽車工業是國家一大支柱產業,汽車行業涉及眾多科技技術,安全氣囊控制、防撞系統、車窗防夾等等,汽車眾多技術的國產化任重道遠。汽車產品實現國產化,涉及到諸多專利技術,大部分的專利權在國外,即使現有的尾門控制系統有許多經濟實用的技術或方法,但專利昂貴,并且國外及外資企業實行專利保護與技術封鎖,所以國產汽車自主知識產權的國有化,應用于吉利等國產汽車上,具有重要的國民經濟意義。釋放客戶雙手,基于接近感應的腳部動作識別來控制尾門是當前汽車尾門控制的研究熱點,腳踢控制器是汽車后尾門自動控制的核心部分。
當前國內裝配有腳踢功能的汽車車型,大部分都是由麥格納國際、博澤集團、貝肯霍夫等汽車零件龍頭企業作為產品供應商,這就導致了國內汽車腳踢功能的裝配成本高、普及程度低的現狀。為此,設計了一種基于PSoC和LIN總線的汽車腳踢控制器,利用PSoC可編程嵌入式系統控制器內部專用的電容感應模塊來實現電容的快速測量與處理,通過LIN總線通信將準確的尾門請求信號發送至BCM,實現汽車尾門的腳踢控制。
PSoC內部集成了豐富的模擬和數字模塊,外圍電路功能都可以在芯片內部完成,降低了系統成本及復雜性,極大提高了開發效率[1]。汽車腳踢控制器需由PSoC主控制器和2個腳踢傳感器共同組成,系統測量框圖如圖1所示。

圖1 系統測量框圖Fig.1 System measurement diagram
由系統測量框圖可知,安裝于汽車后保險杠內壁的腳踢傳感器進入活躍狀態后,經由電容信號輸入電路的濾波降噪,PSoC主控制器內部集成的專用電容感應模塊會通過掃描2個腳踢傳感器采集到2組表示腳踢傳感器感應磁場區域內電容變化的數據,主控制器觸發算法,通過對2組電容數據進行處理,判斷是否為指定的踢腳動作所引發,產生準確的后尾門請求信號,采用LIN總線通信方式實現腳踢控制器與BCM信息交互,完成汽車尾門的腳踢控制,給用戶帶來智能化體驗。
兩個腳踢傳感器在汽車后保的安裝位置如圖2所示,上方傳感器定義為腳踢傳感器2,近地傳感器定義為腳踢傳感器1。
電容板兩塊相鄰的覆銅之間存在著寄生電容CP,當把其中一塊覆銅連接到PSoC的模擬I/O上,另一塊連接到地上,當有導體接近電極時,導體和覆銅之間產生新的電容,這些電容等于并聯在CP上,隨著導體的遠近產生的電容會發生變化,則可通過電容的變化檢測導體的存在與動作。

圖2 腳踢傳感器安裝示意圖Fig.2 Kick sensor installation diagram

式中:ε0為空氣介電常數;εr為極板之間介質的相對介電常數;A為極板的有效面積,m2;d為兩極板間距,m。
CF為導體電容,當腳踢傳感器感應到導體存在,導致式中d,A發生改變,電容量CF也就跟著改變,再基于一定的測量電路將其轉化為電壓、電流或頻率等電信號輸出,就能夠根據輸出的電信號來判斷被測物理量的大小。在控制器的設計過程中,用戶可以單獨調整電容感應的靈敏度,從而調整腳踢傳感器磁場感應區域[2-3]。
傳感器墊片與導體之間的電容值為
PSoC芯片內部集成了數據采集需要的各種數字、模擬模塊和通信接口,使得傳感器采集板所需的外圍芯片大為減少,硬件電路大為簡化[4-5]。本設計的硬件電路主要包括PSoC主控芯片連接電路和LIN通信電路等。
選用Cypress公司PSoC系列32位ARMCortex-M0內核的CY8C4240AXI單片機,引腳P1_2、P1_3連接腳踢傳感器,在編譯過程中被配置為CSD(CapSense Sigma Delta)模塊輸入端。單片機內部存儲著腳踢控制器的控制程序、LIN協議控制程序。引腳P3_0、P3_1作為通用異步收發協議(UART)所定義的串行異步接口與LIN收發器通信。
LIN是一種低成本的串行通信網絡,用于實現汽車中的分布式電子系統控制,LIN的目標是為現有汽車網絡(例如CAN總線)提供輔助功能[6-7]。LIN總線收發器是連接LIN協議控制器和物理總線之間的接口,在LIN網絡中是主機節點和從機節點所必需的器件[8-9]。采用TJA1028芯片進行LIN通信收發器接口設計,作為PSoC主控制器與LIN總線之間的物理連接。
腳踢模塊的軟件部分主要包括PSoC的CSD模塊和LIN Slave模塊。腳踢控制模塊程序流程如圖3所示。

圖3 腳踢控制器程序流程Fig.3 Kick controller program flow chart
根據腳踢控制模塊程序流程可知,首先要進行的是端口、CSD傳感部件參數等初始化,具體設置如表1所示。

表1 控制器的閾值參數Tab.1 Controller threshold parameter
初始化成功后,在腳踢傳感器感應磁場區域發生電容變化,傳感器處于活躍狀態,控制器掃描2個腳踢傳感器后,得到2組具有上升沿和下降沿的表示電容變化的信號,稱之為傳感器數據(raw)。控制器通過傳感器數據與電容模塊基準線的差值得到傳感器信號(differ)。
在控制器的設計過程中,規定在距離后汽車保險杠約10 cm左右,平腳深踢動作是標準的踢腳動作,執行時間為2 s。控制器進入正常工作模式后,觸發算法得到2組變化的傳感器數據與傳感器信號,按時間將腳部動作分割為踢入與踢出兩部分,以此主觀地對傳感器數據與傳感器信號進行離散化,給定 n 個數據點(xi,yi)(i=0,1,...,n-1),用直線 y=ax+b來做回歸分析,其中a,b為回歸系數,采用最小二乘法來確定,使式(2)的值達到最小:

根據極值原理,a與b滿足下列方程:

從而解得:

踢入、踢出過程中傳感器數據的斜率按照式(3)、式(4)進行計算,x為存儲時間,y為傳感器數據,判斷是否為標準腳踢信號的算法分三步。
第一步 針對所設計的標準踢腳動作與傳感器的安裝方式,傳感器1感應到的電容變化始終比傳感器2的變化更明顯,故sum-differ1與sum-differ2差值為真,sum-differ為傳感器信號值的累加和。
第二步 針對兩腳踢傳感器所感應到的動作是否唯一,a1-rasing與a2-rasing的差值應小于兩上升斜率差值閾值,其中a1-rasing、a2-rasing為踢入、踢出過程中傳感器數據的上升沿斜率。
第三步 針對標準踢腳動作特性,判斷腳部在傳感器感應區域進入和離開的方式是否相似。a1-rasing與a1-falling的差值、a2-rasing與a2-falling的差值應小于上升沿與下降沿斜率差值閾值,其中a1-fallinga、a2-falling為踢入、踢出過程中傳感器數據下降沿斜率的絕對值。
所有判斷都通過后,控制器判定該信號為標準腳踢信號,產生后尾門請求信號,通過LIN總線通信方式發送給BCM;如果任意一條不通過,控制器會在3 s之后進入低功耗工作模式。
腳踢控制系統采用BCM作為主機模式,腳踢控制器作為從機模式,通過LIN總線把二者連接起來組成一個小的LIN網絡。腳踢模塊作為LIN通信網絡中的從機節點,負責接收和響應報文,從機節點的流程如圖4所示,首先對涉及的變量、輸入輸出端口以及驅動函數初始化。然后主機節點BCM采集本地各控制開關的狀態產生控制指令,并將指令發送轉換為LIN報文,通過LIN網絡發送給從機節點腳踢模塊,PSoC控制器接收到與自己相關的報文后對報文進行拆解、解讀,根據獲得的指令判斷是否發出后尾門請求信號。

圖4 LIN通信流程Fig.4 LIN communication flow chart
腳踢控制器作為從機進行信號幀定義主要有3幀,BCM_1(0x30)包括汽車行車模式信號,運車模式、停車模式等;BCM_2(0x31)包括了汽車各個狀態信號,車型配置字信號等;HFA(0x39)包括了腳踢與主機BCM通信所需的腳踢信號與異常信號,腳踢信號、傳感器脫落信號等。
PSoC的LIN Slave模塊會發送一個 “響應錯誤”的狀態來報告自己的狀態,BCM對腳踢控制器的“響應錯誤”進行檢測[10],當接收到“響應錯誤”的值為“1”時,BCM將響應的故障診斷代碼設置為測試失敗;當接收到“響應錯誤”值為“0”時,該診斷代碼被設置為通過。當腳踢傳感器感應到標準踢腳動作后,產生正確的后尾門請求信號,若LIN總線通信通過,則腳踢信號發送至BCM,后尾門自動開啟;若通信失敗,則進入通信失敗狀態,4 s后模塊進入低功耗模式。
腳踢控制器主要有2種工作模式,正常工作模式和低功耗工作模式。低功耗工作模式下,PSoC主控制器處于睡眠模式,系統整體能耗極低,對汽車安全具有重要意義。汽車在一般狀態下腳踢控制器都處于低功耗工作模式,在腳踢傳感器進入活躍狀態后,進行控制器喚醒判斷,進而進入正常工作模式。
針對控制器的喚醒判斷,觸發算法后,每20 ms采集1次傳感器數據與傳感器信號,連續采集10次,通過對這2組數據的算法分析,判斷腳踢控制器是否滿足喚醒條件,該算法主要有2條原則:
(1)傳感器感應順序的判斷,即腳踢傳感器1的傳感器數據始終高于腳踢傳感器2的傳感器數據;
(2)判斷通過2個傳感器每次采集到的differ值始終高于喚醒閾值。
如果2條原則都滿足,認為模塊滿足喚醒條件,喚醒后進入正常工作狀態,觸發判斷是否為標準踢腳信號的算法;如果任一條原則未滿足,則模塊不喚醒,維持低功耗工作狀態。
根據上述測量原理搭建測試裝置,以驗證系統一致性和后尾門請求信號的準確性。在裝置下方進行多種模擬工況下的傳感器數據與傳感器信號的采集,可以看到控制器通過腳踢傳感器可以穩定地識別標準踢腳動作的發生,圖5~圖7分別為標準腳踢(平腳深踢)工況、干擾踢腳(平腳深橫掃)工況、人在裝置后方走動工況3種常見工況的傳感器數據。由圖5可以看出,人路過的過程中未能喚醒模塊。由圖6、圖7可以看出,實驗裝置在檢測到腳部動作深橫掃和平腳深踢的過程中,腳踢控制器正常喚醒。

圖5 人走動Fig.5 Human walking

圖6 平腳深橫掃Fig.6 Flat foot sweep

圖7 平腳深踢Fig.7 Flat foot kick
在腳踢控制器由低功耗模式切換為正常工作模式后,對引起該變化的原因進行分析,判斷是否為標準踢腳動作所誘發,由表2分析可知,在平腳深踢的動作下,sum-differ1與sum-differ2差值為真,a1-rasing與a2-rasing的差值小于兩上升沿斜率差值閾值,a1-rasing與 a1-falling的差值、a2-rasing與a2-falling的絕對值差值小于上升沿與下降沿斜率差值閾值,符合標準踢腳信號的判斷條件,故腳踢信號置位為01;在平腳深橫掃的動作下,sum-differ1與sum-differ2差值為真,a1-rasing與a2-rasing的差值大于兩上升沿斜率差值閾值,a1-rasing與a1-falling的差值、a2-rasing與a2-falling的絕對值差值小于上升沿與下降沿斜率差值閾值,不符合標準踢腳信號的判斷條件,故腳踢信號不置位。

表2 閾值計算結果Tab.2 Threshold calculation result
連續重復進行標準的踢腳動作,即腳從外側天線下方伸展到內側天線下方并在2 s內收回。多次實驗結果表明,腳踢控制器在不同工作模式下性能穩定,腳踢傳感器在感應到滿足閾值的電容變化后,控制器會喚醒,萬用表測量工作電流可知,休眠靜態電流為125 μA,喚醒后工作電流為4.1 mA;實驗過程中,只有在標準踢腳動作發生后,PLIN上位機界面可以觀察到HFA_R_OperReq信號發生置位。
采用LIN總線報文顯示軟件來模擬BCM與腳踢控制器的通信,打開PLIN-View Pro,導入LDF文件后,打開LIN通信,在控制器感應到標準踢腳動作后,可以檢測到HFA信號幀的腳踢信號HFA_R_OperReq置位為01,如圖8所示。

圖8 LIN總線報文Fig.8 LIN bus message
設計了一種基于PSoC和LIN總線的汽車腳踢控制器。利用32位單片機CY8C4240AXI的專用電容感應模塊,將傳感器感應到的電容變化量進行處理,開發設計簡單、成本低、體積小、性能穩定。采用TJA1028芯片進行LIN通信收發器設計,當腳踢模塊感應到正確的踢腳動作后,將準確的后尾門請求信號通過LIN通信方式發送至BCM,實現對后尾門的控制,通信穩定。腳踢控制器處于休眠模式時,功耗低,環境適應力強,未具有良好的功耗模式轉換功能。實際實驗表明,該控制器能夠準確的識別踢腳動作,產生后尾門開關請求信號,正確的控制后尾門,可達到實際應用要求。