激光測距儀數(shù)據(jù)采集
摘要: 目的 實(shí)現(xiàn)激光測距儀數(shù)據(jù)采集.方法通過程序算法如實(shí)地描述激光測距儀的工作原理以實(shí)現(xiàn)正確的數(shù)據(jù)采集.結(jié)果給出了激光測距儀的硬件接口電路及程序流程.實(shí)現(xiàn)了數(shù)據(jù)采集.結(jié)論 在實(shí)際的硬件接口設(shè)計(jì)中,運(yùn)用程序算法如實(shí)地描述硬件外設(shè)工作原理的這種思維方法是一種解決問題的有效途徑,在工程實(shí)際中具有一定的借鑒意義.
0 引 言
激光測距儀廣泛地用于許多測距任務(wù)中,在其內(nèi)部有一個(gè)LED顯示器,用來顯示測得距離數(shù)據(jù),這
個(gè)數(shù)據(jù)顯示只有觀察者能看到,但激光測距儀上通常都提供一個(gè)供外接顯示屏或計(jì)算機(jī)系統(tǒng)的端,前者是為了使顯示值得到公正的見證(例如在測距考核中),后者是為射擊諸元計(jì)算的自動(dòng)化.這樣都需要設(shè)計(jì)接口.作者設(shè)計(jì)了它與8031單片機(jī)的接口.
1 激光測距儀接口信號特征及工作特點(diǎn)
1.1 激光測距儀接口信號特征
激光測距儀的數(shù)據(jù)接口是針對七段碼LED顯示器而設(shè)計(jì)的,其接口電平為標(biāo)準(zhǔn)的TTL 電平,數(shù)據(jù)
格式為并行數(shù)據(jù).這里僅就與8031單片機(jī)接口所需要的信號進(jìn)行分析.
激光測距儀數(shù)據(jù)接口提供了4根數(shù)據(jù)線,這4根數(shù)據(jù)線提供了七段碼LED 顯示 器的顯示碼,這個(gè)顯示碼為8421 BCD碼格式.為了描述方便,在此由高到低定義為d3 i ~ do.激光測距儀所顯示的數(shù)據(jù)每位對應(yīng)
個(gè)七段碼LED顯示器,作者所用的激光測 距儀有4個(gè)用于顯示距離數(shù)據(jù)的七段碼d0-d3LED 顯示器(陰極接法).顯然,激光測距儀采用了動(dòng)態(tài)掃描顯示,每一個(gè)七段碼LED 圖1 激光測距儀輸出信號時(shí)序顯示器都對應(yīng)了相應(yīng)的位選線.從顯示數(shù)據(jù) 。
的角度由高到低定義為c3~c0.這些位選線經(jīng)反相器來驅(qū)動(dòng)七段碼LED 顯示器,所以高電平有效.
當(dāng)無測距操作時(shí),位選線均為無效電平.昕以七段碼LED 顯示器不會(huì)被點(diǎn)亮;當(dāng)有測距操作時(shí),相
關(guān)信號的時(shí)序如圖1所示.
圖1中,位選線的正脈沖寬度均大約為160 gs,相鄰位選線正脈沖之間的間隔均大約為160 gs,所
以激光測距儀掃描顯示的一個(gè)周期大約為1.28 ms.
1.2 激光測距儀的工作特點(diǎn)
作者所用激光測距儀的測量范圍為(15O~ 5 000)ITI,當(dāng)所測距離不在此測量范圍內(nèi)時(shí),其位選線c0~c3均為無效電平;當(dāng)所測距離在此測量范圍內(nèi)時(shí),激光測距儀相關(guān)信號按圖1工作.
當(dāng)測得有效距離時(shí),激光測距儀的工作特點(diǎn)為:先顯示4個(gè)0,時(shí)間約為500 ms,然后顯示所測得
的有效距離數(shù)據(jù),時(shí)間約(2~3)S,然后停止顯示.
2 8031單片機(jī)接口設(shè)計(jì)
單片機(jī)的接口設(shè)計(jì)有很多種方法,可以采用中斷的方法,也可以采用查詢的方法.在該設(shè)計(jì)中,根據(jù)任務(wù)的具體情況作者采用了查詢的方法.其硬件連接方法如圖2所示.在實(shí)驗(yàn)階段,作者采用的單片機(jī)仿真器為廣州雙龍NICE—Ill,其使用的單片機(jī)為8031 HMOS型.從實(shí)驗(yàn)情況來看,激光測距儀在有數(shù)據(jù)輸出時(shí)與無數(shù)據(jù)輸出時(shí)其數(shù)據(jù)輸出接El的工作情況很不一樣.在無數(shù)據(jù)輸出時(shí),測得控制線端電平c0~c3均為0.9 V,這個(gè)電平不是標(biāo)準(zhǔn)的TTL 邏輯電平,單片機(jī)在讀取該電平時(shí),其值
有的為1,有的則為0與1交替變化,而其數(shù)據(jù)端電平dO-d3則保持標(biāo)準(zhǔn)的TTL邏輯低電平;在有數(shù)據(jù)輸出時(shí),其控制線與數(shù)據(jù)圖2 8031單片機(jī)與激光測距儀的接口Fig.
線電平輸出均為標(biāo)準(zhǔn)的TTL邏輯電平.由于激光測距儀的輸出電路結(jié)構(gòu)不得而知,所以無法分析其具
圖3 查詢式數(shù)據(jù)采集流程圖
Fig.3 Flow chart of data acquisition
體原因,分析其可能的原因是:其數(shù)據(jù)輸出接口電路在有數(shù)據(jù)驅(qū)動(dòng)時(shí)與無數(shù)據(jù)驅(qū)動(dòng)時(shí)其輸出阻抗不同,在有驅(qū)動(dòng)數(shù)據(jù)時(shí)其阻抗與單片機(jī)是匹配的,所以能夠正確地讀取數(shù)據(jù);而在無數(shù)據(jù)輸出時(shí),其阻抗與單片機(jī)是不匹配的,這樣,單片機(jī)所讀取的控制信息是不正確的.
根據(jù)以上分析,再結(jié)合激光測距儀的工作特點(diǎn),用以下程序算法可以解決其數(shù)據(jù)接口問題.
思路[2]:設(shè)置4個(gè)標(biāo)志位,分別對應(yīng)4位距離數(shù)據(jù)每位的采集情況,若沒有采集則設(shè)置為0,采集了則設(shè)置為1;另外再開辟4個(gè)字節(jié)的距離數(shù)據(jù)存儲(chǔ)空間,用于存儲(chǔ)所采集的距離數(shù)據(jù),并將之初始為0.讀取P1口,分離出控制碼,分別判斷是否為各位對應(yīng)的控制碼,4位距離數(shù)據(jù)由低位至高位的控制碼分別為0001,0010,0100,1000,這4位二進(jìn)制數(shù)7分別對應(yīng)c3~c0的數(shù)據(jù).若有效,則將距離數(shù)據(jù)存入對應(yīng)的存儲(chǔ)單元;若無效,則繼續(xù)查詢.當(dāng)采集后,將4位距離數(shù)據(jù)每位相加,如果為0,則全部重新初始化為0,重復(fù)上述過程;若不為0,則為有效的距離數(shù)據(jù).
顯然,該算法排除了無測距操作時(shí)位選線不穩(wěn)定的情況,因?yàn)樵谶@種情況下就算控制碼都有效,但
是所讀取的距離數(shù)據(jù)都為0,而這個(gè)距離數(shù)據(jù)可以判斷出是無效數(shù)據(jù),被舍棄.在有測距操作時(shí),若不在測距范圍內(nèi),這時(shí)的位選線電平是標(biāo)準(zhǔn)的TTL邏輯電平,與8031單片機(jī)是兼容的,而這時(shí)的位選線卻全部為無效,即讀取的控制碼均為無效的控制碼,也不會(huì)讀到數(shù)據(jù);若在測距范圍內(nèi),激光測距儀先送出4個(gè)0,由上述可知,這4個(gè)0是能夠排除的.這樣,就可以讀取正確的距離數(shù)據(jù)了.程序流程圖如圖
3所示.
3 結(jié)論
在激光測距儀的自動(dòng)化采集過程中,運(yùn)用程序算法如實(shí)地描述硬件外設(shè)工作原理的這種思維方法解
決了各種復(fù)雜問題,實(shí)現(xiàn)了激光測距儀的數(shù)據(jù)自動(dòng)化采集.在工程實(shí)際中,運(yùn)用軟件方法如實(shí)描述系統(tǒng)的工作原理,可以起到事半功倍的效果.
參考文獻(xiàn):
[1] 徐德衡.兵器操作教程[M].北京:解放軍出版社,1994.4.
[2] 李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天出版社.1999.3246—249.
[3] 任樹梅,蔣圣平,郝曉劍.用位置敏感傳感器進(jìn)行位移測試的技術(shù)研究[J].測試技術(shù)學(xué)報(bào),