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