基于AT89C52的多超聲信號(hào)融合處理系統(tǒng)設(shè)計(jì)
關(guān)鍵字:多通道;超聲測(cè)距;信息融合
1 引言
在移動(dòng)機(jī)器人超聲測(cè)距導(dǎo)航系統(tǒng)中,單一的超聲波傳感器因其發(fā)射角等固有的不足難以完成對(duì)環(huán)境的全面探測(cè)。因而在實(shí)踐中,常常用到大量的超聲傳感器陣列。
然而,專門針對(duì)這種情況設(shè)計(jì)的數(shù)據(jù)采集處理平臺(tái)卻很少。同時(shí),在遠(yuǎn)距離測(cè)量時(shí),超聲回波信號(hào)很微弱并受到了較大噪聲干擾。在這種情況下,傳統(tǒng)的基于電路方法的超聲測(cè)距儀很難實(shí)現(xiàn)回波的提取,常常造成誤判。而已有的基于PC機(jī)的數(shù)據(jù)采集卡卻又帶來(lái)了便攜性和適用性差的問(wèn)題[1]。
本文介紹的基于單片機(jī)的數(shù)字信號(hào)采集處理系統(tǒng),針對(duì)上述情況,采用了八通道設(shè)計(jì)以適合多超聲傳感器信號(hào)的采集,并引入了數(shù)字信號(hào)處理算法,通過(guò)對(duì)超聲回波信號(hào)的數(shù)字處理,可以精確地檢測(cè)回波,完成高精度測(cè)距的任務(wù)。另外基于該平臺(tái)進(jìn)行的多傳感器數(shù)據(jù)融合處理使得移動(dòng)機(jī)器人可以獲得更準(zhǔn)確的環(huán)境信息,提高了環(huán)境感知的能力。
2 系統(tǒng)硬件電路設(shè)計(jì)
圖1 系統(tǒng)結(jié)構(gòu)框圖
如圖1所示,系統(tǒng)的主要硬件組成包括:前端微弱信號(hào)調(diào)理模塊、A/D轉(zhuǎn)換模塊、微控制器模塊、存儲(chǔ)器模塊、串行通訊模塊以及擴(kuò)展模塊等。多個(gè)超聲波換能器獲取的回波信號(hào)輸入系統(tǒng)后,經(jīng)過(guò)各自前端調(diào)理電路處理,采樣轉(zhuǎn)化為數(shù)字信號(hào),然后存放至系統(tǒng)SRAM芯片中。AT89C52單片機(jī)從SRAM芯片中讀取數(shù)據(jù)并進(jìn)行回波提取處理以及多通道融合處理,最后根據(jù)需要將處理結(jié)果通過(guò)RS-232標(biāo)準(zhǔn)接口送往上位PC機(jī)。同時(shí),PC機(jī)的控制指令也可以通過(guò)該接口傳送給單片機(jī)。
2.1微弱信號(hào)調(diào)理電路
在一般情況下,超聲回波信號(hào)十分微弱,轉(zhuǎn)換電信號(hào)的幅值也較小,必須采用高增益的放大電路。同時(shí),復(fù)雜的工作環(huán)境又使得超聲回波信號(hào)中包含了較多的噪聲干擾。因此在設(shè)計(jì)調(diào)理電路時(shí),既要進(jìn)行信號(hào)的放大又要做適當(dāng)?shù)臑V波處理。
由于系統(tǒng)要對(duì)多個(gè)超聲傳感器信號(hào)進(jìn)行同步處理,因而設(shè)計(jì)了八通道并行的調(diào)理電路。每一個(gè)通道如圖2所示。電路采用兩級(jí)AD公司的高性能、超低失調(diào)電壓運(yùn)算放大器OP07串連實(shí)現(xiàn)信號(hào)的放大,并采用LM741芯片完成低通濾波處理。其中,在信號(hào)放大的第二級(jí)上設(shè)計(jì)了兩個(gè)精密電位器R5和R6,其功能分別用于放大倍數(shù)和零點(diǎn)漂移的調(diào)整,以適合信號(hào)的下一步處理。
圖2 微弱信號(hào)調(diào)理電路
超聲回波信號(hào)經(jīng)過(guò)調(diào)理電路后,八個(gè)輸出端(通道一至通道八)將依次連接到A/D轉(zhuǎn)換器的八個(gè)模擬信號(hào)輸入端,以完成信號(hào)的模數(shù)轉(zhuǎn)換處理。
2.2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路采用了MAXIM公司推出的8位8通道高速模數(shù)轉(zhuǎn)換芯片MAX158[2]。該芯片具有轉(zhuǎn)換速度快、功耗低、精度高等特點(diǎn)。每通道轉(zhuǎn)換時(shí)間僅為2.5μs,能夠滿足移動(dòng)機(jī)器人導(dǎo)航時(shí)實(shí)時(shí)信號(hào)處理的要求。
MAX158芯片的外部模擬信號(hào)輸入端AIN1-AIN8分別連接八路來(lái)自信號(hào)調(diào)理電路的超聲回波信號(hào),DB0-DB7端為轉(zhuǎn)換結(jié)果的三態(tài)數(shù)據(jù)緩沖輸出端,連接AT89C52單片機(jī)的八位數(shù)據(jù)線。 端為片選信號(hào)輸入端,片選信號(hào)來(lái)自單片機(jī)的P1.4腳。REF+和REF-為參考電壓的正負(fù)極輸入端(分別對(duì)應(yīng)全為1和全為0的輸出),連接 +5V標(biāo)準(zhǔn)電壓和GND。A0-A2端控制了芯片內(nèi)部的多路開(kāi)關(guān)。MAX158根據(jù)這三個(gè)端口的輸入信號(hào)選擇通道,并對(duì)此通道模擬量進(jìn)行跟蹤和保持。
MAX158芯片提供了兩種不同的工作方式,即MODE0和MODE1。系統(tǒng)采用MODE1流水線讀數(shù)方式,工作時(shí)序如圖3所示:一個(gè)讀信號(hào)(置 端和 端為低電平)會(huì)啟動(dòng)一個(gè)新的轉(zhuǎn)換,并隨即取走上一次轉(zhuǎn)換的結(jié)果。兩個(gè)讀信號(hào)至少間隔2.5μs以保證數(shù)據(jù)的轉(zhuǎn)換和讀取。 端在 端或 端的上升沿轉(zhuǎn)為高電平,并在一次轉(zhuǎn)換過(guò)程結(jié)束時(shí)出現(xiàn)低電平。
2.3 微控制器模塊
系統(tǒng)采用的AT89C52型單片機(jī)內(nèi)含8KB的Flash程序存儲(chǔ)器、256字節(jié)的RAM、具有32根I/O 線、3個(gè)可編程定時(shí)器[3]。相比其他類型單片機(jī)而言,AT89C52單片機(jī)具有較多的片內(nèi)資源, 既保證了數(shù)據(jù)處理代碼的存儲(chǔ)空間,又能夠在很少外圍電路的情況下構(gòu)成功能完善的信號(hào)采集系統(tǒng)。系統(tǒng)部分電路連接如圖4所示。
圖4 系統(tǒng)部分電路連接圖
2.4 存儲(chǔ)器模塊
由于系統(tǒng)要實(shí)時(shí)采集多路傳感器信號(hào),對(duì)數(shù)據(jù)存儲(chǔ)要求較大。因此我們選用了可存儲(chǔ)256K*8位信息的DCM8256芯片。DCM系列高速數(shù)據(jù)不揮發(fā)存儲(chǔ)器,具有體積小巧,讀/寫速度快(小于100ns、可達(dá)50ns),讀/寫方式簡(jiǎn)單的優(yōu)點(diǎn),可在-40℃-+85℃溫度下可靠工作,并且即使在有特殊干擾的情況下(如強(qiáng)磁場(chǎng)、電源急劇反復(fù)波動(dòng)等),也能達(dá)到萬(wàn)無(wú)一失保存數(shù)據(jù)的效果,因而十分適合移動(dòng)機(jī)器人野外作業(yè)的需要。
由于AT89C52單片機(jī)的最大尋址空間為64K,而DCM8256的空間為256K,因而要對(duì)尋址進(jìn)行擴(kuò)展。地址擴(kuò)展的方式有兩種,一種方法是DCM8256的低16位地址直接與MPU的地址線相連,而高兩位地址由硬件邏輯實(shí)現(xiàn);另一種方法是利用MPU的I/O口進(jìn)行擴(kuò)展。第一種方法雖然占用I/O資源較少,但電路復(fù)雜,需要額外的硬件。系統(tǒng)采用第二種方法,如圖4右半部分所示,將DCM8256芯片的A16端和A17端分別連接到AT89C52單片機(jī)的P1.6端和P1.7端,片選信號(hào)接到P1.5端上。尋址操作可以通過(guò)簡(jiǎn)單的軟件編程來(lái)實(shí)現(xiàn)。
2.5 串口通訊模塊
在移動(dòng)機(jī)器人超聲測(cè)距導(dǎo)航系統(tǒng)中,超聲測(cè)距的結(jié)果要上傳至移動(dòng)機(jī)器人的主處理器,由其控制機(jī)器人采取相應(yīng)的對(duì)策;主處理器也要發(fā)送指令控制超聲數(shù)據(jù)的采集和處理。因此單片機(jī)和主處理器之間的通訊是整個(gè)系統(tǒng)不可或缺的一個(gè)組成部分。
在我們的系統(tǒng)中,AT89C52單片機(jī)為下位機(jī),移動(dòng)機(jī)器人主處理器為上位機(jī),二者通過(guò)RS-232串行口接收或上傳數(shù)據(jù)和指令。在此,系統(tǒng)使用了集成電平轉(zhuǎn)換芯片MAX232來(lái)進(jìn)行RS232C/TTL 電平轉(zhuǎn)換。MAX232的引腳11和引腳12直接和AT89C52的TXD、RXD串行口連接,引腳13和引腳14與RS232連接[4]。
另外,由于超聲測(cè)距系統(tǒng)受環(huán)境因素影響較大,在測(cè)量時(shí)要考慮到環(huán)境溫度、自身速度等相關(guān)信息。對(duì)此系統(tǒng)額外采用了擴(kuò)展模塊設(shè)計(jì),在電路中集成了溫度、速度測(cè)量的電氣處理模塊,方便信息的綜合分析。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要由單片機(jī)處理軟件和PC機(jī)監(jiān)控軟件兩部分組成。
3.1 單片機(jī)軟件設(shè)計(jì)
單片機(jī)軟件主要實(shí)現(xiàn)數(shù)據(jù)的采集和存儲(chǔ)、回波的數(shù)字處理以及串口通訊等功能。主流程框架如圖5所示。根據(jù)超聲波測(cè)距具有的周期性特點(diǎn),系統(tǒng)通過(guò)PC機(jī)設(shè)定單片機(jī)的采集周期。運(yùn)行一次采集存儲(chǔ)子程序即完成一個(gè)周期的采集,然后系統(tǒng)調(diào)用數(shù)據(jù)處理子程序進(jìn)行回波信號(hào)的數(shù)字處理,并根據(jù)串口命令使用通訊子程序?qū)⒔Y(jié)果發(fā)送至PC機(jī)。
圖5 單片機(jī)軟件主框架 圖6 采集存儲(chǔ)子程序流程
在采集存儲(chǔ)子程序中,每次模數(shù)轉(zhuǎn)換結(jié)束時(shí)對(duì)SRAM頻繁的開(kāi)關(guān)操作會(huì)占用系統(tǒng)很大的時(shí)空開(kāi)銷,影響系統(tǒng)的實(shí)時(shí)性。對(duì)此,系統(tǒng)采用了增設(shè)緩沖區(qū)的方法。每次A/D轉(zhuǎn)換結(jié)束,數(shù)據(jù)被送往開(kāi)辟在單片機(jī)內(nèi)部的緩沖區(qū)而不是立即寫入外存。當(dāng)八個(gè)通道采集完一輪后,再將緩沖區(qū)的內(nèi)容一起寫入外部存儲(chǔ)器(流程如圖6所示)。這樣,在保證采樣頻率一致的前提下有效的提高了系統(tǒng)的實(shí)時(shí)性。
3.2 PC機(jī)軟件設(shè)計(jì)
系統(tǒng)監(jiān)控軟件使用VC++6.0語(yǔ)言開(kāi)發(fā),它的作用是通過(guò)串口命令控制單片機(jī)工作,并抽象硬件設(shè)計(jì),為移動(dòng)機(jī)器人導(dǎo)航提供環(huán)境信息。
應(yīng)用該軟件,可以實(shí)現(xiàn)PC機(jī)對(duì)單片機(jī)的參數(shù)及命令設(shè)定、數(shù)據(jù)查詢、數(shù)據(jù)存取以及曲線繪制等功能,并可以通過(guò)對(duì)數(shù)據(jù)的進(jìn)一步融合處理,實(shí)時(shí)獲取障礙物的距離、位置等信息,完成當(dāng)前作業(yè)環(huán)境的建模,實(shí)現(xiàn)環(huán)境感知。軟件的運(yùn)行界面如圖7所示。
4 小結(jié)
圖7 軟件運(yùn)行界面
本系統(tǒng)專門針對(duì)移動(dòng)機(jī)器人導(dǎo)航時(shí)的多超聲傳感器信息融合應(yīng)用而設(shè)計(jì)。經(jīng)實(shí)驗(yàn)證明,系統(tǒng)簡(jiǎn)單實(shí)用、穩(wěn)定可靠,完全達(dá)到設(shè)計(jì)目的。
本文作者創(chuàng)新點(diǎn):(1)結(jié)合移動(dòng)機(jī)器人多超聲測(cè)距的實(shí)際,設(shè)計(jì)了多通道的融合處理系統(tǒng),軟硬件簡(jiǎn)單明了,工作可靠,特別適合多傳感器信息融合應(yīng)用。(2)良好的噪聲抑制能力和較高的測(cè)量精度。由于超聲回波信號(hào)十分微弱并含有噪聲,S/N較小,抗干擾性不強(qiáng)。以往基于模擬電路設(shè)定閾值來(lái)判斷回波的做法往往會(huì)受到噪聲信號(hào)的干擾而造成誤判。本系統(tǒng)使用數(shù)字信號(hào)處理方法,將超聲回波數(shù)字處理,減少了誤判的概率,解決了高噪聲背景下的回波識(shí)別問(wèn)題,增加了系統(tǒng)的可靠性。(3)系統(tǒng)基于單片機(jī)設(shè)計(jì),電路板設(shè)計(jì)合理緊湊,使得系統(tǒng)具有良好的便攜性,相比于基于PC機(jī)的數(shù)據(jù)采集卡更加適合移動(dòng)機(jī)器人應(yīng)用。(4)良好的抗干擾能力。通過(guò)PCB 板上的一些設(shè)計(jì)及工控機(jī)箱來(lái)加強(qiáng)對(duì)電磁干擾、電壓擾動(dòng)的適應(yīng)能力, 能夠適應(yīng)惡劣的工作環(huán)境。
參考文獻(xiàn):
[1]曹茂永,王霞.超聲測(cè)距數(shù)字信號(hào)采集系統(tǒng)[J].電測(cè)與儀表,2000,37(8):26-27
[2]MAXIM.CMOS High-Speed 8-Bit ADCs with Multiplexer and Reference MAX158[Z].1996
[3]王幸之,鐘愛(ài)琴等.AT89系列單片機(jī)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社2004:20-21
[4]高澤利,李穎.六通道數(shù)據(jù)采集及處理系統(tǒng)的研制[J].微計(jì)算機(jī)信息,2005,21(9-1): 94-97
評(píng)論