基于HT9032C的新型來電顯示器設(shè)計(jì)
據(jù)調(diào)查,市場(chǎng)上現(xiàn)有的來電顯示器大致可以分為兩類:一類是普通來電顯示器;另一類是可以和上位機(jī)連接的高端來電顯示設(shè)備。在單數(shù)據(jù)消息格式下,前者只能顯示主叫號(hào)碼、呼叫日期、時(shí)間等主叫識(shí)別信息,由于不能顯示主叫用戶的姓名,給用戶的使用帶來諸多不便。后者除了上述功能外,還具有主叫用戶姓名顯示、來電彈屏、語(yǔ)音報(bào)號(hào)、通話錄音等多種功能,但需要上位機(jī),待機(jī)耗電,且價(jià)格昂貴,適用范圍受到一定的局限。
本設(shè)計(jì)通過對(duì)原有的普通來電器加以改進(jìn),增加了液晶顯示模塊和語(yǔ)音報(bào)號(hào)芯片。在單數(shù)據(jù)消息格式下,該來電顯示器不僅可以顯示主叫號(hào)碼、呼叫日期、時(shí)間,而且可以顯示主叫用戶的姓名,使被叫用戶輕松地知道來電者的身份,方便用戶選擇接聽。該來電顯示器對(duì)有350個(gè)以下電話號(hào)碼的用戶最為實(shí)用,可以大大提高工作效率,具有很高的實(shí)用價(jià)值。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)采用Atmel公司的增強(qiáng)型單片機(jī)AT89S52作為控制芯片。如圖1所示,系統(tǒng)由4個(gè)部分組成:FSK信號(hào)解調(diào)部分、來電信息顯示部分、按鍵部分和語(yǔ)音播放部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
1.2 系統(tǒng)各組成部分具體設(shè)計(jì)
1.2.1 FSK信號(hào)解調(diào)部分
采用H0ltek公司生產(chǎn)的FSK解碼芯片HT9032C。HT9032C是接收物理層主叫識(shí)別信息的低功耗CMOS集成芯片。它滿足Bell 202和CCITT V.23 1200 b/sFSK數(shù)據(jù)傳輸標(biāo)準(zhǔn),同時(shí)能檢測(cè)振鈴和載波。電話線經(jīng)過接口電路接到HT9032C的TIP、RING、RDETl和RDET2引腳。當(dāng)有振鈴信號(hào)到來時(shí),HT9032C的腳觸發(fā)下降沿。在第1次和第2次振鈴之間,HT9032C把邏輯“1”=(1200±12)Hz、“O”=(2 200±22)Hz,傳輸速率為1200 b/s的FSK信號(hào)解調(diào)成串行異步二進(jìn)制數(shù)據(jù)。當(dāng)檢測(cè)到有效載波信號(hào)時(shí),觸發(fā)下降沿。在DOUTC腳只輸出主叫識(shí)別信號(hào);而在DOUT腳輸出包括信道占用信號(hào)(由一組300個(gè)連續(xù)的O和1交替組成,第1位為0,最后1位為1,在通話狀態(tài)下信道占用信號(hào)不發(fā)送),標(biāo)志信號(hào)(由180個(gè)<掛機(jī)狀態(tài)下>或80個(gè)<通話狀態(tài)下>標(biāo)志位<邏輯1>組成,即持續(xù)的高電平),以及主叫識(shí)別信號(hào)的所有信號(hào)。各腳的時(shí)序波形如圖2所示。在VSS=0 V,VDD=5 V,晶振為3.58 MHz,工作溫度Ta=0-70℃時(shí),測(cè)得tDOSC=2ms,tSUPD≥15 ms,tDAQ=14ms,tDCH≥8 ms。
HT9032C與AT89S52的硬件連接電路如圖3所示。HT9032C的引腳接AT89S52的外部中斷1,當(dāng)有振鈴信號(hào)時(shí),腳觸發(fā)外部中斷1。HT9032C的引腳接AT89S52的外部中斷O,當(dāng)檢測(cè)到有效解調(diào)后的主叫識(shí)別信號(hào)時(shí),腳觸發(fā)外部中斷0。HT9032C的DOUTC引腳接AT89S52的串行接地引腳。當(dāng)檢測(cè)到振鈴和有效載波信號(hào)時(shí),便打開串口中斷,接收解調(diào)的FSK信號(hào),得到來電信息。
HT9032C解調(diào)出的FSK基帶信號(hào)送入AT89S52的捕獲中斷,信號(hào)的傳送速率為1200 b/s,所以AT89S52設(shè)定波特率為1200 b/s,利用串口對(duì)信號(hào)進(jìn)行采集,由此得到O、1比特流。將其按10位合成字節(jié)信息,每個(gè)字節(jié)起始位是1,結(jié)束位為O,中間8位為信息。最后根據(jù)主叫識(shí)別的單數(shù)據(jù)消息格式提取所需的消息字,得到來電日期與來電號(hào)碼。
1.2.2 來電信息顯示部分
采用帶漢字字庫(kù)的YBl2232-Z液晶顯示模塊,用來顯示主叫用戶姓名、主叫號(hào)碼、日期、時(shí)間等信息。判斷到來電信息后,可依次取出各個(gè)信息并相應(yīng)進(jìn)行顯示。YBl2232-Z與AT89S52的連接如圖4所示。
[!--empirenews.page--]
1.2.3 按鍵部分
由于AT89S52具有8 KB在系統(tǒng)可編程Flash存儲(chǔ)器、256字節(jié)RAM和32位I/O口線,所以該系統(tǒng)無(wú)需增加額外的存儲(chǔ)器和按鍵控制部分。AT89S52的8 KB Flash存儲(chǔ)器除了存儲(chǔ)系統(tǒng)程序外,還可以存儲(chǔ)至少350個(gè)用戶的姓名和電話號(hào)碼。按鍵(DEL、UP、DOWN分別用于刪除、查閱主叫信息。)直接與AT89S52相連,用軟件實(shí)現(xiàn)按鍵消抖。
1.2.4 語(yǔ)音播放部分
采用錄放一體化的高保真單片固態(tài)語(yǔ)音集成電路ISD1420實(shí)現(xiàn)自動(dòng)語(yǔ)音播放來電號(hào)碼。ISD1420內(nèi)部有128 KB的E2PROM用于存放語(yǔ)音信息,并可分成1 60段,每段存儲(chǔ)O.125 s的語(yǔ)音信息,總共可存儲(chǔ)20 s的信息。語(yǔ)音分段的信息是由ISD1420的地址線A0~A7的值決定的。在錄制過程中,將可能要播放的語(yǔ)音庫(kù)按每個(gè)O.5 s的單位進(jìn)行錄制。每個(gè)漢字或數(shù)字的語(yǔ)音信息對(duì)應(yīng)一個(gè)地址。在判斷到來電號(hào)碼后,依次給定A0~A7的值就能構(gòu)成一句話,從而播放來電號(hào)碼。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件主要實(shí)現(xiàn)HT9032C FSK解調(diào)信號(hào)的采集、數(shù)據(jù)處理、來電用戶姓名查詢、來電信息數(shù)據(jù)顯示、語(yǔ)音報(bào)號(hào)功能。主程序流程如圖5所示。
3 數(shù)據(jù)記錄
3.1 數(shù)據(jù)分析
HT9032C解碼輸出比特信號(hào)為:
其寫成字符串為:Ox04,Oxl4,0x30,0x38,0x33,Ox30,Ox3l,0x30,Ox33,Ox34,0x30,Ox31,Ox33,0x38,Ox33,Ox34,Ox31,Ox34,0x32,Ox33,0x32,Ox37,0xEF
經(jīng)過分析,此消息數(shù)據(jù)為單數(shù)據(jù)消息格式,來電顯示的時(shí)間為08月30日l(shuí)O時(shí)34分,來電號(hào)碼為013834142327,校驗(yàn)字為OxEP。所有數(shù)據(jù)(包括校驗(yàn)位)和按256的模求和為00,證明收到的數(shù)據(jù)完全正確。
3.2 上電時(shí)序
設(shè)計(jì)中,為了確保FSK解碼芯片正常工作,需要PDWN引腳在VDD上電和晶振振蕩穩(wěn)定后,才能拉低,否則會(huì)導(dǎo)致復(fù)位不良。如果PDWN外接RC電路,可適當(dāng)加大C值,以延長(zhǎng)PDWN下降的時(shí)間。圖6為C=0.1μF,R=81 kΩ時(shí),VDD、PDWN和晶振X1的波形。其中,VT為輸入低限門檻電壓。
結(jié)語(yǔ)
本文采用模塊化設(shè)計(jì)方案設(shè)計(jì)了一種來電顯示器。其電路簡(jiǎn)單,性能可靠,且功耗低。該產(chǎn)品在試用中,收到了很好的效果,大大提高了用戶的工作效率。