基于LIN總線的倒車雷達系統的設計與實現
然而,由于CAN總線復雜的仲裁機制使其在低端市場的生產成本受到了挑戰;另外,在汽車使用中,其穩定性相比另一種專門應用于低端市場的LIN總線也存在一些不足[2]。
本設計正是基于以上的應用背景設計,與傳統的單獨倒車系統相比,在兼容性和汽車布線方面具有強大的優勢;同時與主流的CAN總線相比在成本和穩定性方面具有相當的優勢。所以LIN總線做為CAN總線的補充和輔助總線,在倒車雷達、車燈控制等低端的應用必將受到更加廣泛的關注。
1 系統的整體設計思路
本設計主要由超聲波測距和LIN總線通信兩部分組成。
(1)超聲波測距。由探頭、發射電路、接收電路、選頻電路和單片機處理組成。主要過程是:單片機產生20個0.5 ms脈沖信號,頻率為40 kHz,自動避過大約為2 ms的盲區時間,然后開始計時,脈沖原始信號為5 V,該信號經過運放放大后,可驅動超聲波發射探頭發出15 V、40 kHz的脈沖超聲波。由于接收頭與發射頭配對,因此,接收后可將超聲波調制脈沖變為交變電壓信號,經運算放大后加至高通有源濾波電路濾除低頻雜波,最后產生一個TTL電平的回波信號。該信號輸入到單片機產生外部中斷,停止單片機的定時器,然后讀出計時器的時間差,得到超聲波發射出去碰到阻礙物回射的時間差,再根據公式d=v*t/2得出距離障礙物的距離。原理框圖如圖1所示。
(2)LIN總線通信。將超聲波測距得到的數據通過LIN總線的方式發送出去,并產生不同頻率的報警提示,電路由LIN收發器、單片機和報警電路3部分組成。單片機接收超聲波測距電路傳回的數據,并對數據進行處理。當判斷到有障礙物的時候,通過報警電路產生報警提示。當距離障礙物較遠時,報警聲音的間斷比較緩慢;當距離障礙物較近時,報警聲音比較急促。數據部分則主要通過LIN總線收發器產生符合LIN總線協議標準的信號進行通信。其主要框圖如圖2所示。
2 超聲波測距模塊的設計
2.1 超聲波測距模塊的硬件設計
2.1.1 發射電路
發射模塊的主要作用是對超聲波發射探頭進行功率驅動,由單片機引腳輸出40 kHz的脈沖信號,經CD4049轉變成24 V電壓信號激勵超聲波探頭,從而產生頻率為40 kHz的超聲波并發射出去。
2.1.2 接收電路
前端放大電路:前置放大電路單元的作用是對有用的信號進行放大,并抑制其他的噪聲和干擾,從而達到最大信噪比,以利于后續電路的設計[3]。
帶通濾波電路:在傳感器接收的信號中,除了障礙物反射的回波外,總混有雜波和干擾脈沖等環境噪聲。而前端放大電路在放大有用信號的同時,也會將一部分的噪聲信號同時放大,并沒有提高輸入信號的信噪比[4]。由于集成運放的開環電壓增益和輸入阻抗均很高,輸出阻抗又低,構成有源濾波電路后仍具有一定的電壓放大和緩沖作用,所以采用有源濾波電路抑制無用頻率干擾信號[5]。
由于在本系統中,總噪聲包括在低頻段的室內環境噪聲和50 Hz工頻干擾,以及在高頻率段的接收機內部噪聲。故選用由TL082運算放大器以及外圍電阻電容構成的帶通濾波電路。經過此濾波電路后,40 kHz左右的有用回波信號被保留,而無用信號被削弱,為下一級的檢波電路提供較高信噪比的輸入信號。
2.1.3 檢測電路
接收傳感器輸出信號經過上述放大濾波電路后,就可以進行信號檢測。其目的是確定接收信號的到達時間,這是整個電路中的關鍵,因為它不僅決定系統的測量精度,還關系到整個系統是否能正常工作[6]。
2.2 超聲波倒車雷達的軟件設計
本系統采用了AT89S52單片機,用單片機匯編語言實現軟件編程。整個系統軟件功能的實現可以分為主程序、子程序、中斷服務子程序3個主要部分。
中斷服務程序響應單片機的外部中斷,在系統主程序中,發射的40 kHz脈沖信號遇到障礙物反射后,經接收檢測電路產生外中斷信號至單片機。在中斷服務程序中,首先進行必要的現場保護,再把進入中斷服務程序處的計數值讀出并對該數據進行處理,計算得到相應的距離值,同時轉換為十進制,最后送到輸出顯示。
定時器中斷子程序主要完成計時工作,由于51 μ單片機是16位定時器,最大計時時間為65 536 μs,當測量的距離很遠的時候,定時器就會發生溢出,所以必須對溢出中斷進行相應地設置才能使得單片機正常工作。同時由于電路的測量距離有限(最遠為5 m),當測量距離超出5 m時,接收探頭就不能檢測回波,即不能產出外部中斷,更不可能關閉定時器。
3 LIN總線模塊設計
3.1 硬件設計原理
整個節點的主控部分是由控制器AT89S52、LIN收發器TJA1020組成。本設計需要5 V、12 V電源,為了節省外接電源、簡化電路的外接線,采用了單電源設計,即系統的電源輸入為12 V,用于TJA1020的供電。另外,通過LM7805穩壓管12 V變為5 V,用于提供單片機和LCD液晶顯示屏的電源。單片機的P3.0(RXD)和P3.1(TXD)分別連接TJA1020的RXD、TXD管腳,用于發送接收數據,并把數據顯示在LCD上,TJA1020的LIN管腳接DB9針接口的7腳,而DB9針接口則可以直接與Kvaser LIN總線分析儀連接,便于與上位機進行直接通信。
評論