- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于HT9032C的新型来电显示器设计
摘要:为了使用户快捷地知道主叫用户的身份,设计了一种新型来电显示器(CID)。该显示器采用查询的方式在单数据消息格式下显示主叫用户姓名,提高了设备的时效性。本文详细介绍了系统各组成部分的硬件设计电路,给出了软件流程和实验数据。实验证明,该系统能够快速、准确地显示来电的主叫用户姓名和其他来电信息。
引言
据调查,市场上现有的来电显示器大致可以分为两类:一类是普通来电显示器;另一类是可以和上位机连接的高端来电显示设备。在单数据消息格式下,前者只能显示主叫号码、呼叫日期、时间等主叫识别信息,由于不能显示主叫用户的姓名,给用户的使用带来诸多不便。后者除了上述功能外,还具有主叫用户姓名显示、来电弹屏、语音报号、通话录音等多种功能,但需要上位机,待机耗电,且价格昂贵,适用范围受到一定的局限。
本设计通过对原有的普通来电器加以改进,增加了液晶显示模块和语音报号芯片。在单数据消息格式下,该来电显示器不仅可以显示主叫号码、呼叫日期、时间,而且可以显示主叫用户的姓名,使被叫用户轻松地知道来电者的身份,方便用户选择接听。该来电显示器对有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 1200b/sFSK数据传输标准,同时能检测振铃和载波。电话线经过接口电路接到HT9032C的TIP、RING、RDETl和RDET2引脚。当有振铃信号到来时,HT9032C的脚触发下降沿。在第1次和第2次振铃之间,HT9032C把逻辑"1"=(1200±12)Hz、"O"=(2 200±22)Hz,传输速率为1200b/s的FSK信号解调成串行异步二进制数据。当检测到有效载波信号时,触发下降沿。在DOUTC脚只输出主叫识别信号;而在DOUT脚输出包括信道占用信号(由一组300个连续的O和1交替组成,第1位为0,最后1位为1,在通话状态下信道占用信号不发送),标志信号(由180个<挂机状态下>或80个<通话状态下>标志位<逻辑1>组成,即持续的高电平),以及主叫识别信号的所有信号。各脚的时序波形如图2所示。在VSS=0V,VDD=5V,晶振为3.58MHz,工作温度Ta=0-70℃时,测得tDOSC=2ms,tSUPD≥15ms,tDAQ=14ms,tDCH≥8ms。
HT9032C与AT89S52的硬件连接电路如图3所示。HT9032C的引脚接AT89S52的外部中断1,当有振铃信号时,脚触发外部中断1。HT9032C的引脚接AT89S52的外部中断O,当检测到有效解调后的主叫识别信号时,脚触发外部中断0。HT9032C的DOUTC引脚接AT89S52的串行接地引脚。当检测到振铃和有效载波信号时,便打开串口中断,接收解调的FSK信号,得到来电信息。
HT9032C解调出的FSK基带信号送入AT89S52的捕获中断,信号的传送速率为1200b/s,所以AT89S52设定波特率为1200b/s,利用串口对信号进行采集,由此得到O、1比特流。将其按10位合成字节信息,每个字节起始位是1,结束位为O,中间8位为信息。最后根据主叫识别的单数据消息格式提取所需的消息字,得到来电日期与来电号码。
1.2.2 来电信息显示部分
采用带汉字字库的YBl2232-Z液晶显示模块,用来显示主叫用户姓名、主叫号码、日期、时间等信息。判断到来电信息后,可依次取出各个信息并相应进行显示。YBl2232-Z与AT89S52的连接如图4所示。
1.2.3 按键部分
由于AT89S52具有8KB在系统可编程Flash存储器、256字节RAM和32位I/O口线,所以该系统无需增加额外的存储器和按键控制部分。AT89S52的8KB Flash存储器除了存储系统程序外,还可以存储至少350个用户的姓名和电话号码。按键(DEL、UP、DOWN分别用于删除、查阅主叫信息。)直接与AT89S52相连,用软件实现按键消抖。
1.2.4 语音播放部分
采用录放一体化的高保真单片固态语音集成电路ISD1420实现自动语音播放来电号码。ISD1420内部有128KB的E2PROM用于存放语音信息,并可分成160段,每段存储0.125s的语音信息,总共可存储20s的信息。语音分段的信息是由ISD1420的地址线A0~A7的值决定的。在录制过程中,将可能要播放的语音库按每个0.5s的单位进行录制。每个汉字或数字的语音信息对应一个地址。在判断到来电号码后,依次给定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=81kΩ时,VDD、PDWN和晶振X1的波形。其中,VT为输入低限门槛电压。
结语
本文采用模块化设计方案设计了一种来电显示器。其电路简单,性能可靠,且功耗低。该产品在试用中,收到了很好的效果,大大提高了用户的工作效率。
作者:高万兵 王忠庆 任一峰 中北大学 来源:《单片机与嵌入式系统应用》2010年第3期