信息電話機(jī)關(guān)鍵模塊的研究與應(yīng)用
2 信號(hào)采集模塊方案設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/87724.htm作為對(duì)輸出數(shù)據(jù)的研究,經(jīng)由MC14LC5447解調(diào)后的信號(hào)為異步串行信號(hào),而且數(shù)據(jù)速率為1 200 bps,可使用單片機(jī)的串口模式1來(lái)進(jìn)行數(shù)據(jù)接收,算法請(qǐng)見參考文獻(xiàn)[1]。單片機(jī)除了進(jìn)行數(shù)據(jù)采集,將串行數(shù)據(jù)包解包外,還將數(shù)據(jù)復(fù)原。
主中斷程序大部分都在循環(huán)等待串口程序的中斷響應(yīng),首先需要接收的是來(lái)電顯示包的長(zhǎng)度字段,接收到長(zhǎng)度字段的好處就在于可以動(dòng)態(tài)地接收來(lái)電數(shù)據(jù)包,而不必每次都等待接收固定的長(zhǎng)度。雖然來(lái)電顯示包長(zhǎng)度不可能大于某個(gè)固定長(zhǎng)度,但根據(jù)來(lái)電數(shù)據(jù)包的長(zhǎng)度字段,動(dòng)態(tài)接收數(shù)據(jù),使采集的數(shù)據(jù)更容易處理,而且位于數(shù)據(jù)包尾的干擾信號(hào)也可以再次濾除,從而減輕其他程序的負(fù)荷。
當(dāng)然,在此也可以通過(guò)單片機(jī)將數(shù)據(jù)分離出來(lái)并進(jìn)行處理,但為了包的可分析性,單片機(jī)除了數(shù)據(jù)采集外,不做其他的工作。
某一次獲取的數(shù)據(jù)如下:
圖4 數(shù)據(jù)采集模塊原理
圖4給出了數(shù)據(jù)采集模塊的原理,MC14LC5447的DOC信號(hào)輸出連接到AT89C2051的第2引腳處(串行輸入端口);MC14LC5447的RDO信號(hào)輸出連接到AT89C2051的第6引腳處(AT89C2051的外部中斷0);AT89C2051的第9引腳連接到MC14LC5447的第7引腳(PWRUP),來(lái)控制MC14LC5447的開與關(guān)。AT89C2051第7引腳連接到USB設(shè)備狀態(tài)輸出口,第1 引腳也連接到USB設(shè)備的狀態(tài)輸出口,第11引腳連接到USB設(shè)備的狀態(tài)輸入口,數(shù)據(jù)線連接到USB設(shè)備的并行數(shù)據(jù)輸入口。其中第12、第13引腳需要外接上拉電阻。
利用單片機(jī)實(shí)現(xiàn)的方案較數(shù)字邏輯電路的方案有許多優(yōu)點(diǎn)。主要有出錯(cuò)幾率小,有存儲(chǔ)控制功能,方便,更換靈活等。
利用存儲(chǔ)轉(zhuǎn)發(fā)方案提高了數(shù)據(jù)傳輸?shù)陌踩?。由?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/USB203">USB203無(wú)USB的中斷功能,所以接收數(shù)據(jù)只能用程序循環(huán)的方式來(lái)實(shí)現(xiàn),但不恰當(dāng)?shù)厥褂醚h(huán)會(huì)增加系統(tǒng)的負(fù)擔(dān)。
3 電話信號(hào)處理模塊設(shè)計(jì)
摘掛機(jī)信號(hào)可以由電話機(jī)叉簧線路取得。
經(jīng)過(guò)檢測(cè),叉簧上共有兩路信號(hào): 一路為22~27 V的正弦波信號(hào),位于叉簧第5、6引腳;另一路為15~20 V的負(fù)正弦波信號(hào),位于叉簧第3、4引腳。第1、2引腳為信號(hào)輸出。當(dāng)叉簧上的彈片沒(méi)有被壓下時(shí),第1、2引腳與第5、6引腳連通,信號(hào)為正交流信號(hào),此時(shí)表示摘機(jī);當(dāng)掛機(jī)時(shí),叉簧上的彈片被壓下,此時(shí),第1、2引腳與第3、4引腳連通,第1、2引腳上的信號(hào)為負(fù)交流信號(hào)。將此信號(hào)轉(zhuǎn)換為邏輯0、1電平,即摘機(jī)時(shí)信號(hào)為邏輯1,掛機(jī)時(shí)信號(hào)為邏輯0,電路原理如圖5所示。
圖5 叉簧信號(hào)處理原理
通過(guò)分壓電路與二極管進(jìn)行濾波,負(fù)半周信號(hào)將被二極管濾除。由于10 MΩ的電阻分壓,使得輸出電平在1 V左右。經(jīng)過(guò)測(cè)試,USB狀態(tài)輸入引腳需要1.6 V以上才認(rèn)為輸入信號(hào)為邏輯1,而低于1.6 V的將被認(rèn)為是邏輯0。
摘機(jī)輸入信號(hào)為正弦波,通過(guò)整流濾波電路后,能輸出2.6 V左右的電平信號(hào)給USB設(shè)備,信號(hào)為穩(wěn)定的邏輯1。
掛機(jī)信號(hào)為負(fù)值的正弦波,通過(guò)整流濾波電路后,能輸出260 mV的電平信號(hào)給USB設(shè)備,信號(hào)為穩(wěn)定的邏輯0。
4 USB傳輸模塊設(shè)計(jì)
USB傳輸模塊使用USB203作為傳輸接口,如圖6所示。使用此模塊的好處是,它為并串轉(zhuǎn)換的傳輸模塊,而且有4位控制信號(hào)輸入和4位控制信號(hào)輸出,并提供了DLL庫(kù)文件,為二次開發(fā)提供了方便;但是此設(shè)備并沒(méi)有使用中斷控制方式,因此讀取數(shù)據(jù)將是本系統(tǒng)的瓶頸。然而在本系統(tǒng)內(nèi)并未用到大量的數(shù)據(jù)采集,數(shù)據(jù)長(zhǎng)度僅僅為26位,即使為其他長(zhǎng)度的復(fù)合來(lái)電顯示數(shù)據(jù)包,長(zhǎng)度也不會(huì)大于1 000位,所以是否為高速傳輸在此并不重要。本系統(tǒng)使用USB的原因在于,USB的簡(jiǎn)單易用和支持熱插拔,這對(duì)于使用RS232通信口的設(shè)備較有優(yōu)勢(shì);另外USB使用5 V電源,可以為外接設(shè)備提供電源,節(jié)省了外接設(shè)備的電源部分,從而減小了外接設(shè)備的體積。
圖6 USB傳輸模塊電路原理
圖7 USB接口程序算法流程圖
在DLL中需要建立USB_CID函數(shù),無(wú)參數(shù),直接返回處理后的來(lái)電數(shù)據(jù)包中的來(lái)電號(hào)碼,而且在無(wú)號(hào)碼時(shí)將相應(yīng)的錯(cuò)誤代碼返回。在此要注意的是,雖然單片機(jī)程序?yàn)榭勺冮L(zhǎng)度存儲(chǔ),但依然有錯(cuò)誤產(chǎn)生,原因是來(lái)電顯示數(shù)據(jù)包的發(fā)送。當(dāng)一次來(lái)電時(shí),數(shù)據(jù)包會(huì)在第一和第二振鈴間,如果呼叫者掛斷電話,那么來(lái)電數(shù)據(jù)包將不再發(fā)送;或者被叫者拿起電話也將丟失來(lái)電數(shù)據(jù)包,那么來(lái)電包將被存儲(chǔ)一部分,單片機(jī)在不重啟的情況下將繼續(xù)等待接收。當(dāng)下一個(gè)來(lái)電到達(dá)時(shí),這個(gè)新的來(lái)電數(shù)據(jù)包將被繼續(xù)存儲(chǔ),直到滿足第一個(gè)來(lái)電數(shù)據(jù)包的長(zhǎng)度時(shí),才結(jié)束接收,那么整個(gè)數(shù)據(jù)包將被接口程序獲取并判斷是否出錯(cuò)。如果是復(fù)合包,那么在來(lái)電號(hào)碼數(shù)據(jù)包前出錯(cuò)的情況將被排除,但是如果在來(lái)電數(shù)據(jù)號(hào)碼數(shù)據(jù)包內(nèi)出錯(cuò),那么接收到的號(hào)碼將被發(fā)送,顯示的可能是亂碼,其算法流程如圖7所示。表 1給出了狀態(tài)字的定義。
表1 狀態(tài)字定義
5 結(jié)論
信息電話USB接口設(shè)計(jì),是來(lái)電顯示電話與計(jì)算機(jī)的接口和相關(guān)的數(shù)據(jù)采集系統(tǒng),是運(yùn)用接口技術(shù)、計(jì)算機(jī)軟件技術(shù)實(shí)現(xiàn)來(lái)電號(hào)碼等相關(guān)信息在計(jì)算機(jī)上的顯示或存儲(chǔ),并可以根據(jù)基本信息進(jìn)行來(lái)電號(hào)碼的分類統(tǒng)計(jì)。這些數(shù)據(jù)對(duì)相關(guān)部門服務(wù)質(zhì)量和效率的提高將起到重要的作用,同時(shí)還可以為相關(guān)決策部門及時(shí)提供參考信息。
本裝置完成數(shù)據(jù)采集和數(shù)據(jù)傳送,而且通過(guò)軟件接口完成對(duì)相關(guān)數(shù)據(jù)的分離。詳細(xì)地研究了來(lái)電顯示技術(shù),單片機(jī)程序編制和使用VC++編寫DLL。本裝置不但可以嵌入到電話內(nèi),還可以作為單一的模塊來(lái)使用,所以該系統(tǒng)有廣泛的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 常波,朱全銀. 來(lái)電顯示電話機(jī)USB接口數(shù)據(jù)采集與處理[J].陜西理工學(xué)院學(xué)報(bào),2007,23(3): 11-14.
[2] 王辛之,鐘愛琴,王雷,等.AT89系列單片機(jī)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.
[3] 尹勇,王洪成.單片機(jī)開發(fā)環(huán)境μVision2使用指南及USB固件編程與調(diào)試[M]. 北京:北京航空航天大學(xué)出版社,2004.
[4] 陳啟美,丁傳鎖.計(jì)算機(jī)USB接口技術(shù)[M].南京:南京大學(xué)出版社,2003.
[5] 馬偉.計(jì)算機(jī)USB系統(tǒng)原理及其主/從機(jī)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2004.
[6] Gary Legg.Usb Goes Wireless[OL].http://www.techonline.com/community/tech_topic/Bluetooth/37308,2004.
[7] Bellcore Caller ID specification[OL].http://www.epanorama.net,1991.
[8] 如何用單片機(jī)實(shí)現(xiàn)FSK來(lái)電顯示解碼[OL].http://www.softexam.cn/tech/catasecond.asp?catalogf=4&catalogs=15.
朱全銀(副教授),主要研究方向?yàn)樾畔⒓夹g(shù)研究與應(yīng)用。
評(píng)論