基於HT9032C的新型來電顯示器設計

引言

  據調查,市場上現有的來電顯示器大致可以分爲兩類:一類是普通來電顯示器;另一類是可以和上位機連接的高端來電顯示設備。在單數據消息格式下,前者只能顯示主叫號碼、呼叫日期、時間等主叫識別信息,由於不能顯示主叫用戶的姓名,給用戶的使用帶來諸多不便。後者除了上述功能外,還具有主叫用戶姓名顯示、來電彈屏、語音報號、通話錄音等多種功能,但需要上位機,待機耗電,且價格昂貴,適用範圍受到一定的侷限。
  本設計通過對原有的普通來電器加以改進,增加了液晶顯示模塊和語音報號芯片。在單數據消息格式下,該來電顯示器不僅可以顯示主叫號碼、呼叫日期、時間,而且可以顯示主叫用戶的姓名,使被叫用戶輕鬆地知道來電者的身份,方便用戶選擇接聽。該來電顯示器對有350個以下電話號碼的用戶最爲實用,可以大大提高工作效率,具有很高的實用價值。
  1 系統硬件設計
  1.1 系統總體設計
  本系統採用Atmel公司的增強型單片機AT89S52作爲控制芯片。如圖1所示,系統由4個部分組成:FSK信號解調部分、來電信息顯示部分、按鍵部分和語音播放部分。系統結構如圖1所示。

  1.2 系統各組成部分具體設計
  1.2.1 FSK信號解調部分
  採用H0ltek公司生產的FSK解碼芯片HT9032C。HT9032C是接收物理層主叫識別信息的低功耗CMOS集成芯片。它滿足Bell 202和CCITT V.23 1200 b/sFSK數據傳輸標準,同時能檢測振鈴和載波。電話線經過接口電路接到HT9032C的TIP、RING、RDETl和RDET2引腳。當有振鈴信號到來時,HT9032C的腳觸發下降沿。在第1次和第2次振鈴之間,HT9032C把邏輯“1”=(1200±12)Hz、“O”=(2 200±22)Hz,傳輸速率爲1200 b/s的FSK信號解調成串行異步二進制數據。當檢測到有效載波信號時,觸發下降沿。在DOUTC腳只輸出主叫識別信號;而在DOUT腳輸出包括信道佔用信號(由一組300個連續的O和1交替組成,第1位爲0,最後1位爲1,在通話狀態下信道佔用信號不發送),標誌信號(由180個<掛機狀態下>或80個<通話狀態下>標誌位<邏輯1>組成,即持續的高電平),以及主叫識別信號的所有信號。各腳的時序波形如圖2所示。在VSS=0 V,VDD=5 V,晶振爲3.58 MHz,工作溫度Ta=0-70℃時,測得tDOSC=2ms,tSUPD≥15 ms,tDAQ=14ms,tDCH≥8 ms。


 HT9032C與AT89S52的硬件連接電路如圖3所示。HT9032C的引腳接AT89S52的外部中斷1,當有振鈴信號時,腳觸發外部中斷1。HT9032C的引腳接AT89S52的外部中斷O,當檢測到有效解調後的主叫識別信號時,腳觸發外部中斷0。HT9032C的DOUTC引腳接AT89S52的串行接地引腳。當檢測到振鈴和有效載波信號時,便打開串口中斷,接收解調的FSK信號,得到來電信息。

  HT9032C解調出的FSK基帶信號送入AT89S52的捕獲中斷,信號的傳送速率爲1200 b/s,所以AT89S52設定波特率爲1200 b/s,利用串口對信號進行採集,由此得到O、1比特流。將其按10位合成字節信息,每個字節起始位是1,結束位爲O,中間8位爲信息。最後根據主叫識別的單數據消息格式提取所需的消息字,得到來電日期與來電號碼。
  1.2.2 來電信息顯示部分
  採用帶漢字字庫的YBl2232-Z液晶顯示模塊,用來顯示主叫用戶姓名、主叫號碼、日期、時間等信息。判斷到來電信息後,可依次取出各個信息並相應進行顯示。YBl2232-Z與AT89S52的連接如圖4所示。

 

1.2.3 按鍵部分
  由於AT89S52具有8 KB在系統可編程Flash存儲器、256字節RAM和32位I/O口線,所以該系統無需增加額外的存儲器和按鍵控制部分。AT89S52的8 KB Flash存儲器除了存儲系統程序外,還可以存儲至少350個用戶的姓名和電話號碼。按鍵(DEL、UP、DOWN分別用於刪除、查閱主叫信息。)直接與AT89S52相連,用軟件實現按鍵消抖。
  1.2.4 語音播放部分
  採用錄放一體化的高保真單片固態語音集成電路ISD1420實現自動語音播放來電號碼。ISD1420內部有128 KB的E2PROM用於存放語音信息,並可分成1 60段,每段存儲O.125 s的語音信息,總共可存儲20 s的信息。語音分段的信息是由ISD1420的地址線A0~A7的值決定的。在錄製過程中,將可能要播放的語音庫按每個O.5 s的單位進行錄製。每個漢字或數字的語音信息對應一個地址。在判斷到來電號碼後,依次給定A0~A7的值就能構成一句話,從而播放來電號碼。
  2 系統軟件設計
  系統的軟件主要實現HT9032C FSK解調信號的採集、數據處理、來電用戶姓名查詢、來電信息數據顯示、語音報號功能。主程序流程如圖5所示。

  3 數據記錄
  3.1 數據分析
  HT9032C解碼輸出比特信號爲:

 

  其寫成字符串爲:Ox04,Oxl4,0x30,0x38,0x33,Ox30,Ox3l,0x30,Ox33,Ox34,0x30,Ox31,Ox33,0x38,Ox33,Ox34,Ox31,Ox34,0x32,Ox33,0x32,Ox37,0xEF
  經過分析,此消息數據爲單數據消息格式,來電顯示的時間爲08月30日lO時34分,來電號碼爲013834142327,校驗字爲OxEP。所有數據(包括校驗位)和按256的模求和爲00,證明收到的數據完全正確。 
 3.2 上電時序
  設計中,爲了確保FSK解碼芯片正常工作,需要PDWN引腳在VDD上電和晶振振盪穩定後,才能拉低,否則會導致復位不良。如果PDWN外接RC電路,可適當加大C值,以延長PDWN下降的時間。圖6爲C=0.1μF,R=81 kΩ時,VDD、PDWN和晶振X1的波形。其中,VT爲輸入低限門檻電壓。

  結語
  本文采用模塊化設計方案設計了一種來電顯示器。其電路簡單,性能可靠,且功耗低。該產品在試用中,收到了很好的效果,大大提高了用戶的工作效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章