雷立勇


摘 要:游泳比賽電動(dòng)計(jì)時(shí)記分系統(tǒng)是一個(gè)實(shí)時(shí)信息處理系統(tǒng)。其中計(jì)時(shí)器CPU將Intel8279芯片的工作設(shè)置為傳感器矩陣方式,不間斷地對(duì)外部64個(gè)機(jī)械壓力傳感器的動(dòng)作進(jìn)行檢測、計(jì)時(shí)與計(jì)算出需要的數(shù)據(jù)。從而得到一種精確檢測多個(gè)傳感器狀態(tài)發(fā)生改變的時(shí)點(diǎn)的解決辦法。
關(guān)鍵詞:實(shí)時(shí);8279;傳感器陣列;精確;方法
DOI:10.16640/j.cnki.37-1222/t.2016.08.203
1 工作原理
比賽用游泳電子計(jì)時(shí)計(jì)分系統(tǒng)是一個(gè)實(shí)時(shí)信息處理系統(tǒng)。其中計(jì)時(shí)器不間斷地對(duì)外部機(jī)械壓力傳感器的動(dòng)作進(jìn)行檢測和計(jì)時(shí)。在每條泳道兩端都分別有3類機(jī)械壓力傳感器在捕捉運(yùn)動(dòng)員的動(dòng)作信號(hào),這3大類共64個(gè)機(jī)械壓力傳感器產(chǎn)生的脈沖信號(hào)經(jīng)計(jì)算機(jī)記錄、運(yùn)算處理,得到運(yùn)動(dòng)員的成績和名次,并將這些數(shù)據(jù)打印與公告。
系統(tǒng)為達(dá)到精確記錄成績的目的,就要求計(jì)時(shí)器對(duì)外部每一個(gè)傳感器的動(dòng)作精確檢測,檢測時(shí)間精度大于千分之一秒,對(duì)于時(shí)間間隔為1ms的32個(gè)傳感器的產(chǎn)生的脈沖序列不能有遺漏,而且檢測電路還能有效分辨兩個(gè)傳感器之間時(shí)間間隔大于等于0.5ms的動(dòng)作信號(hào)。
2 設(shè)計(jì)思路
系統(tǒng)用來采集運(yùn)動(dòng)員動(dòng)作信號(hào)的機(jī)械壓力傳感器都是符合國際游泳聯(lián)合會(huì)有關(guān)規(guī)則的,它們?cè)陂]合與打開時(shí)都不可避免的會(huì)出現(xiàn)抖動(dòng),所以數(shù)字處理電路需要對(duì)輸入脈沖信號(hào)進(jìn)行轉(zhuǎn)化延展整形,根據(jù)數(shù)據(jù)的性質(zhì),采用傳感器的脈沖信號(hào)下降沿或上升沿作為有效檢測時(shí)點(diǎn)。Intel8279工作在傳感器矩陣方式時(shí),F(xiàn)IFO/傳感器RAM用作傳感器存儲(chǔ)器,它存放著傳感器矩陣中的每一個(gè)傳感器狀態(tài),即存儲(chǔ)器中的每一位對(duì)應(yīng)著外部傳感器的工作狀態(tài)。經(jīng)過轉(zhuǎn)化延展整形的脈沖波形輸入8279的回復(fù)線RL0RL7, RL0RL7的內(nèi)容直接被送往相應(yīng)的傳感器RAM(即FIFO存儲(chǔ)器)。若檢測出傳感器有變化,IRQ信號(hào)就變?yōu)楦唠娖剑駽PU申請(qǐng)中斷。CPU響應(yīng)8279的中斷后即可得到任一傳感器動(dòng)作的具體時(shí)間。
為了精確記錄外部傳感器動(dòng)作的時(shí)點(diǎn),系統(tǒng)在設(shè)計(jì)時(shí)要考慮以下幾個(gè)問題:
(1)機(jī)械壓力傳感器產(chǎn)生的脈沖信號(hào)轉(zhuǎn)化延展整形后的時(shí)間延遲;(2)Intel8279輸出的掃描信號(hào)頻率;(3)Intel8279發(fā)出中斷申請(qǐng)到計(jì)時(shí)器CPU響應(yīng)中斷的時(shí)間間隔長短。
圖1為Intel8279的SL0~SL2經(jīng)3-8譯碼器輸出的掃描信號(hào)y0~y7的波形,掃描信號(hào)的頻率為3.906KHZ;
圖2為Intel8279發(fā)出中斷申請(qǐng)到主處理器響應(yīng)中斷的波形,中斷申請(qǐng)到響應(yīng)中斷的最大延時(shí)為50us;
3 軟件設(shè)計(jì)
中斷部分是本系統(tǒng)的關(guān)鍵, Intel8279掃描到傳感器狀態(tài)發(fā)生變化并申請(qǐng)中斷,主處理器響應(yīng)中斷后中斷處理程序要求用最少的時(shí)間完成對(duì)中斷時(shí)點(diǎn)的保存與傳感器RAM內(nèi)容的保存,數(shù)據(jù)處理與運(yùn)算放在主程序中。
4 總結(jié)
本文基于Intel8279芯片的傳感器陣列工作方式,對(duì)外部多達(dá)64個(gè)開關(guān)脈沖信號(hào)進(jìn)行檢測與精確計(jì)時(shí),使系統(tǒng)的計(jì)時(shí)精度可以超過千分之一秒,而且也保證能捕捉到最多32個(gè)外部機(jī)械壓力傳感器在相鄰1ms相繼產(chǎn)生狀態(tài)變化時(shí)的脈沖信號(hào),本設(shè)計(jì)器件運(yùn)用少,節(jié)能、準(zhǔn)確、操作簡便,同時(shí)運(yùn)行穩(wěn)定,可靠性較高,運(yùn)用本設(shè)計(jì)的游泳電子計(jì)時(shí)記分系統(tǒng)已經(jīng)在許多國際、國內(nèi)大賽中使用,取得較好的成績與聲譽(yù)。同時(shí)運(yùn)用本設(shè)計(jì)也可以為多路開關(guān)信號(hào)狀態(tài)發(fā)生改變的時(shí)點(diǎn)進(jìn)行精確檢測提供一種解決方法。
參考文獻(xiàn):
[1]汪德彪.MCS-51單片機(jī)原理及接口技術(shù)[M].高等教育出版社,2007.
[2]茹國寶.單片機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書[J].武漢:武漢大學(xué)電子信息學(xué)院,2007.