引言
目前我国电话网交换机传送主叫识别信息CID(Calling IdenTIty Delivery) 有两种方式,较常用的是FSK(频移键控) 方式,另一种是DTMF(双音多频) 方式。基于ARM 的来电号码显示器的实现方法利用CID 芯片HT9032C 来解调FSK 码,同时可实现液晶显示、E2PROM存储和语音播报电话主叫号码等功能,以SPI 串行接口智能显示键盘控制芯片ZLG7289A 为核心设计的键盘电路可实现查阅、删除信息。文章详细介绍了系统的硬件电路设计和软件流程。实践表明,显示器外围器件少,抗干扰能力强,使用方便。
1 系统硬件设计
1.1 系统总体设计
整个系统由5 部分组成,分别是: (1) FSK 信号解调; (2) 来电号码语音播报; (3) 显示来电; (4) 存储来电信息; (5) 按键控制部分。具体如图1 所示。
图1 系统组成框图
1.2 系统各组成部分设计
(1) FSK 信号解调。
CID 芯片HT9032C 解调器是台湾HOLTEK 公司生产的双列直插、低功耗的接收物理层主叫识别信息的CMOS 集成电路FSK 解调芯片,它能满足Bell 202 和CCITT V.23 标准,实现1200 波特率FSK数据传输标准,且能检测铃流和载波,电话线经过接口电路接到HT9032C 的TIP,RING,RDET1 和RDET2脚,当有振铃信号来时,HT9032C 的RDET 脚触发下降沿。在第一次和第二次振铃之间HT9032C 把逻辑"1" (1200 ± 12) Hz、逻辑"0" (2200 ± 22) Hz、传输速率为1200 bit /s 的FSK 信号解调成串行异步二进制数据。当检测到有效载波信号,CDET 触发下降沿。在DOUT 脚输出包括信道占用信号、标志信号和主叫识别信号的所有信号; 在DOUTC 脚只输出主叫识别信号。
HT9032C 与ARM9 的具体硬件连线如图2 所示。
图2 CID 芯片HT9032C 与ARM9 的硬件连线
HT9032C 的RDET 引脚接MCU 的外部中断0,当有振铃信号时,RDET 脚触发外部中断0 服务程序。
HT9032C 的CDET 引脚接MCU 的外部中断1,当检测到有效解调后的主叫识别信号,CDET 脚触发外部中断1 程序。HT9032C 的DOUTC 引脚接MCU 的串行中断。当检测到振铃和有效载波信号,便打开串口中断,接收解调的FSK 信号,得到来电信息。
(2) 来电号码语音播报。
采用录放一体化的高保真单片固态语音集成电路ISD1420 实现自动语音播放来电号码。其内部有128K 的E2PROM 用于存放语音信息,并可分成160段,每段信息为0.125 s,总共可存储20 s 的信息。语音分段的信息是由ISD1420 的地址线A0 ~ A7 的值决定的。在录制过程中将可能要播放的语音库按每个0. 5 s 的单位进行录制,每个汉字或数字的语音信息对应到一个地址。在检测到来电号码后,依次给定A0 ~A7 的值就能构成一句话,播放来电号码。
(3) 显示来电。
液晶显示模块LCD 用来显示主叫号码、日期、时间等信息。LCD 接收到来电信息后即依次取出各个信息并进行显示。
(4) 存储来电信息。
采用允许三总线工作的串行外设接口(SPI) 芯片X25045 作为存储器。此芯片把看门狗定时器、电压监控和E2PROM 集成在单个封装内,降低了系统成本并减少了对电路板空间的要求; 其看门狗功能提供了对微控制器的保护,通过编程监控系统,当系统发生故障时自动以RESET 信号作出响应; X25045 的存贮器部分是CMOS 的4096 bit(512 × 8) 串行E2PROM.
(5) 按键控制部分。
采用ZLG7289A 控制3 个按键: "DEL"、上"UP"、下"DOWN"分别用于删除、查阅主叫信息。
2 主叫识别信息的两种数据格式
终端交换机向该被叫用户传送主叫识别信息数据传送时序如图3 所示。
图3 主叫识别信息数据传送时序
符号时间值:
A-0.5 ~ 1.5 s 第一次振铃结束与数据传送开始之间的时间间隔。
B + C-2.9 s 传送数据的时间包括信道占用信号Channel Seizure Signal 和标志信号Mark Signal.
D-0.2 s 数据传送结束与第二次振铃开始之间的时间隔。
E-1 s 铃流。
B + C + D-3.1 s 各时段可根据具体情况定。
信道占用信号和标志信号的目的是提示电话终端准备接收数据,校验字是用作差错检查。信道占用信号是由一组300 个连续的"0"和"1"交替的位组成,其第一个比特为"0",最后一个比特为"1".在通话状态下,信道占用信号不发送。标志信号是由180 个(在挂机状态下) 或80 个(在通话状态下) 标志位(逻辑"1") 组成,标志位由0 ~ 10 个逻辑"1"组成。
每个数据字之前先行一位"0"作为起始位,在最后加一位"1"作为结束位,每个数据字的最低位先发送。这样,实际每个字占10 bit,即1PXXXXXXX0 (P为奇偶校验位) .数据传送时,信道占用信号发送后接收标志信号。主叫识别数据格式有两种: 单数据消息格式(SDMF) 和复合数据消息格式(MDMF) .
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)