《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 一種具有來電顯示及DTMF信號收發(fā)功能的智能控制模塊設(shè)計

一種具有來電顯示及DTMF信號收發(fā)功能的智能控制模塊設(shè)計

2008-11-25
作者:金 鷹, 劉 虎

  摘 要: 探討了FSK來電顯示技術(shù)及DTMF編解碼" title="編解碼">編解碼技術(shù),,給出了具有來電顯示和DTMF信號收發(fā)功能的智能控制模塊" title="控制模塊">控制模塊的硬件結(jié)構(gòu)和軟件流程。采用AT89C52單片機(jī)控制HT9032C,、MT8880等芯片,,設(shè)計實現(xiàn)了基于電話網(wǎng)的DTMF信號的收發(fā)以及來電信息的采集智能控制模塊,,并通過RS232接口與上位機(jī)" title="上位機(jī)">上位機(jī)通信,提出了軟硬件抗干擾的具體措施,。
  關(guān)鍵詞: 來電顯示,; 頻移鍵控; HT9032C,; MT8880

?

  隨著電信事業(yè)的迅速發(fā)展以用電話的普及程度的提高,,電話的用途不只局限于人與人之間的語音通信上,許多借助于電話和計算機(jī)網(wǎng)絡(luò)所進(jìn)行的功能擴(kuò)展已對社會生活產(chǎn)生越來越重要的影響,。
  來電顯示業(yè)務(wù),,其專業(yè)名稱為主叫識別信息傳送及顯示業(yè)務(wù),,簡稱CID(Calling Identity Delivery)。其原理是交換機(jī)在給用戶提供正常電話業(yè)務(wù)的同時,,按照一定的時序向用戶終端提供主叫號碼,、日期、時間等信息,,在用戶終端接收并顯示,。在監(jiān)控領(lǐng)域,可以利用電話網(wǎng)的現(xiàn)有通信資源組建基于電話網(wǎng)絡(luò)智能控制系統(tǒng),,利用DTMF信號傳輸控制數(shù)據(jù),遠(yuǎn)程控制監(jiān)控對象,,實現(xiàn)應(yīng)用于電話網(wǎng)絡(luò)的、基于來電顯示技術(shù)的智能控制,。
1 主要技術(shù)簡介
1.1 來電顯示技術(shù)
  來電顯示數(shù)據(jù)傳送有兩種制式:頻移鍵控(FSK)和雙音多頻(DTMF),。由于DTMF制式自身存在的缺點,它將逐步被FSK制式所取代,。
  在FSK制式中,來電信號的發(fā)送時序是在第一次振鈴與第二次振鈴之間,,根據(jù)信號格式的不同數(shù)據(jù)消息格式可以分為:單數(shù)據(jù)消息格式(Single Date Message Format)和復(fù)合數(shù)據(jù)消息格式(Multiple Date Message Format),。前者的結(jié)構(gòu)簡單,但可容納的信息內(nèi)容較少,;后者的結(jié)構(gòu)比較復(fù)雜,,可容納的信息內(nèi)容較多。
  各地數(shù)據(jù)消息格式可能不一樣,。經(jīng)實測,,筆者所在地使用復(fù)合數(shù)據(jù)消息格式,因此本模塊使用復(fù)合數(shù)據(jù)消息格式,。
復(fù)合數(shù)據(jù)消息格式如圖1所示,,它由同步信號" title="同步信號">同步信號、標(biāo)志信號,、消息類型(80H),、消息長度、若干參數(shù)消息(由參數(shù)類型,、參數(shù)長度,、參數(shù)字構(gòu)成)及校驗字等組成。其中,,參數(shù)類型有五種:01H,、02H、04H,、07H,、08H,。0lH表示來電日期和時間,02H表示主叫電話號碼,,04H表示主叫者的電話號碼或姓名(來自長途線路),,07H表示主叫姓名,08H表示話碼被有意隱藏而不能顯示,。

?


  數(shù)據(jù)包格式舉例:
  55H,,55H,55H……??????? ,;150對0,、1相間的同步信號
  80H,17H,,01H,,08H,30H,,36H,,30H,32H,,31H,,32H,32H,,
  35H,,02H,0BH,,31H,,33H,39H,,35H,,32H,33H,,34H,,36H,37H,,
  31H,,39H       ????;復(fù)合數(shù)據(jù)消息格式
  BCC校驗字??????????????? ,;復(fù)合數(shù)據(jù)消息的所有字符按
??? 256的模求和取補
  上例消息格式中:80H表示復(fù)合數(shù)據(jù)消息格式,;17H表示數(shù)據(jù)長度(從其后到校驗字之前)為23字節(jié),這個值是可變的,,它隨著各地的電話號碼長度的不同而變化,;01H表示第一消息類型,,即時間類型;08H表示第一消息類型數(shù)據(jù)長度,,月,、日、時,、分共8字節(jié),,且長度固定(本例為06月02日12時25分),采用ASCII碼表示,;02H表示第二消息類型,,即電話消息類型;0BH表示電話號碼長度,,為11位,,由于各地區(qū)的電話號碼長度不一致,其長度是可變的(本例為13952346719),。
1.2 DTMF技術(shù)
  DTMF是用兩個特定的單音頻組合信號來代表數(shù)字信號以實現(xiàn)其功能的一種編碼技術(shù),,它具有很強的抗干擾能力和較高的傳輸速度,可廣泛用于電話通信系統(tǒng)中,。雙音頻解碼電路是系統(tǒng)中的核心部分,,它的工作狀況直接決定了系統(tǒng)的可靠性。本設(shè)計中使用雙音頻解碼集成芯片MT8880來完成DTMF信號的收發(fā),。
  MT8880是MITEL公司生產(chǎn)的DTMF信號發(fā)送/接收芯片,該芯片功耗低,、集成度高,、可進(jìn)行編程控制、可與多種單片機(jī)接口完成DTMF信號發(fā)送,、接收,、檢測等功能。
2?硬件電路設(shè)計
  本智能控制模塊由MCU AT89C52,、FSK解碼芯片HT9032C,、DTMF編解碼芯片MT8880、RS232電平轉(zhuǎn)換芯片MAX232,、串行EEPROM芯片AT24C02,、看門狗芯片IMP813、模擬摘機(jī)電路,、電源電路等組成,。系統(tǒng)原理框圖如圖2所示。

?


  系統(tǒng)工作原理:在沒有振鈴的情況下,,HT9032C的RDET端輸出高電平,,當(dāng)有振鈴時,,RDET輸出低電平直到振鈴結(jié)束,RDET信號與單片機(jī)的P1.2相連,。當(dāng)有振鈴信號時,,單片機(jī)在第一次振鈴結(jié)束后,設(shè)置HT9032C的PDWN信號端為低電平,,使HT9032C脫離省電模式,,并接收FSK信號,在MCU接收數(shù)據(jù)經(jīng)校驗后,,將接收到的主叫來電號碼通過光耦經(jīng)MAX232電平轉(zhuǎn)換后送上位機(jī)(PC機(jī)),,若接收有錯,則向上位機(jī)發(fā)送錯誤數(shù)據(jù),。
  PC機(jī)驗證來電號碼有效后,,則向下位機(jī)(AT89C52)發(fā)送控制命令,下位機(jī)設(shè)置DTMF編解碼芯片MT8880內(nèi)的控制寄存器,,使其根據(jù)需要工作于DTMF編碼或解碼狀態(tài),。控制和接收數(shù)據(jù)由PC機(jī)處理,??撮T狗電路防止程序跑飛或死機(jī),AT24C02存儲所需電話號碼,。系統(tǒng)中,,MAX232和光耦采用隔離變壓器單獨供電。
3 軟件流程
  主程序中主要完成各芯片初始化,、波特率設(shè)置,、來電號碼接收、DTMF信號接收和發(fā)送,、串行EEPROM讀寫等工作,;接收來電號碼子程序中,主要完成振鈴檢測,、750ms延時,、檢測同步信號、接收來電號碼數(shù)據(jù),、向上位機(jī)發(fā)送數(shù)據(jù),。由于來電顯示接收涉及比較精準(zhǔn)的時序,因此在編程時應(yīng)特別注意時序問題,。本設(shè)計中,,MCU串口" title="串口">串口設(shè)置了兩種波特率,一種為1 200b/s,用于與HT9032C通信,,接收來電顯示數(shù)據(jù),;另一種為9 600b/s,用于與上位機(jī)的通信,。主程序流程圖和接收來電號碼子程序流程圖分別如圖3,、圖4所示。

?


4 模塊抗干擾措施及系統(tǒng)調(diào)試
  本模塊在電話網(wǎng)與PC機(jī)之間起橋梁作用,,因此軟件編程對時序要求比較嚴(yán)格,,解決模塊的抗干擾能力是本模塊的重點和難點問題,若不能很好地解決模塊的抗干擾能力,,將直接導(dǎo)致無法進(jìn)行FSK解碼或解碼經(jīng)常出錯,,或無法正確收發(fā)DTMF信號。系統(tǒng)的干擾源主要有以下幾種:電話線傳輸距離遠(yuǎn),,容易受外界電磁干擾,;電話線相對“大地”電阻很小,模塊和PC機(jī)相連受PC機(jī)“接地”影響,;電話線上并機(jī)使用比較常見,,模塊接收數(shù)據(jù)受并線話機(jī)影響。
  為了提高模塊的抗干擾能力,,主要從軟硬件兩方面去解決干擾源引起的解碼失效問題,。對于電磁干擾,主要從軟件編程上加以解決:檢測振鈴信號時,,采用延時并多次采樣的方法解決干擾問題,。如圖1所示的70ms高電平標(biāo)志信號最容易受電磁干擾,該信號檢測失效,,將引起串口接收啟動,,導(dǎo)致解碼失效。為了解決這類問題,,采用了檢測同步信號和嚴(yán)格定時的方法,也就是在檢測同步信號(30字節(jié)的01010101串)結(jié)束后,,精確延時65ms后再開串口中斷,,這大大提高了模塊的抗干擾能力。
  PC機(jī)“接地”干擾的原因是:計算機(jī)系統(tǒng)“地”與“大地”直接相連,,而電話線相對“大地”內(nèi)阻很小,,當(dāng)電話線上出現(xiàn)FSK或振鈴等交流信號時,信號被電容交流短路,,這將導(dǎo)致不能正確解碼或解碼出錯,。解決這一問題的辦法是:采用隔離電源對主控電路、RS232接口電路分別供電,效果很好,。
  本模塊中,,由于仿真器與PC機(jī)相聯(lián),PC機(jī)接“大地”,,串口由隔離電源供電,,因此系統(tǒng)調(diào)試時不會造成干擾的影響。否則,,不能調(diào)試,,這一點很重要。
  筆者在進(jìn)行模塊調(diào)試時發(fā)現(xiàn),,當(dāng)并線的電話沒有人使用時,,F(xiàn)SK解碼非常穩(wěn)定,但當(dāng)并線電話頻繁使用特別是第一次振鈴結(jié)束時,,并線電話一摘機(jī),,則經(jīng)常出現(xiàn)解碼失效。因此,,筆者建議,,本模塊應(yīng)專線專用,或要求在兩次振鈴期間不要摘機(jī),。
  接收DTMF信號之前,,必須對MT8880進(jìn)行初始化,否則其工作不正常,;然后將MT8880設(shè)置為BUST發(fā)送模式,,利用MCU模擬MT8880芯片的時序,發(fā)送數(shù)據(jù),,產(chǎn)生所需的DTMF信號,,通過接口電路將DTMF信號發(fā)送到電話線上。接收DTMF信號時,,將MT8880設(shè)置為接收模式,,利用MCU模擬MT8880芯片的時序,接收DTMF信號,。
  電話號碼存儲要用到EEPROM芯片AT24C02,,該芯片使用串行I2C總線方式,但AT89C52芯片沒有I2C總線接口,。為了存儲電話號碼,,要用AT89C52 P1.0、P1.1管腳模擬I2C總線接口時序,,以便能對該芯片正確讀,、寫,。但要注意,在連續(xù)多字節(jié)讀取時,,一次最多只能讀8個字節(jié),,多于8個字節(jié)時,要分兩次讀取,。
  本模塊基于電信網(wǎng)絡(luò)技術(shù)規(guī)范,,利用MCU控制FSK解碼芯片及DTMF芯片,實現(xiàn)主叫電話號碼識別,、DTMF數(shù)據(jù)收發(fā),,接收的來電號碼及收發(fā)的DTMF數(shù)據(jù)可通過RS232口送往上位PC機(jī),實現(xiàn)各種控制功能,。本文提出的智能控制模塊,,其串口采用隔離變壓器單獨供電,硬軟件上采用多種抗干擾措施,,性能穩(wěn)定,,可靠性高,最大的特點是具有RS232接口,,能方便地實現(xiàn)上下位機(jī)的通信,,實現(xiàn)基于來電顯示及DTMF技術(shù)的各種控制功能。

參考文獻(xiàn)?
[1]?徐玉峰,王珺艷,柴新禹.基于P89C668多功能智能報警控制系統(tǒng)的研制[J]. 電子技術(shù)應(yīng)用,,2005,31(11).
[2]?王萍,,林善明,劉玉宏.單片機(jī)控制MODEM實現(xiàn)電話遠(yuǎn)程報警[J].微計算機(jī)信息,,2002,,18(8).
[3]?楊穗,楊恢先.智能來電顯示器的設(shè)計[J].電子器件,,2005,,28(2).
[4]?趙太飛,趙珂.短消息電話中數(shù)據(jù)鏈路層的控制技術(shù).電子技術(shù)應(yīng)用,,2003,,29(1).

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。