首页>>科技 >>内容

arm实现智能来电显示器功能,ARM实现智能来电显示器

发布时间:2023-09-10 10:58:41编辑:温柔的背包来源:

很多朋友对arm实现智能来电显示器功能,ARM实现智能来电显示器不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

arm实现智能来电显示器功能,ARM实现智能来电显示器

介绍

目前,在中国的电话网络交换机中有两种传送CID(主叫身份传送(CID ))的方式。FSK(频移键控)是最常用的方式,DTMF(双音多频)是另一种方式。基于ARM的主叫号码显示的实现方法,利用CID芯片HT9032C解调FSK码,同时可以实现电话主叫号码的液晶显示、E2PROM存储和语音播报功能。以SPI串行接口智能显示键盘控制芯片ZLG7289A为核心设计的键盘电路可以实现信息检索和删除。

本文详细介绍了系统的硬件电路设计和软件流程。实践表明,该显示器外围设备少,抗干扰能力强,使用方便。1系统硬件设计

1.1系统总体设计整个系统由五部分组成,即:(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’(120012)Hz、逻辑‘0’(220022)Hz、传输速率为1200 bit /s的FSK信号解调为串行异步二进制数据。当检测到有效载波信号时,CDET触发下降沿。在DOUT管脚输出所有信号,包括频道占用信号、符号信号和呼叫者识别信号;DOUTC引脚仅输出呼叫者识别信号。

HT9032C与ARM9之间的具体硬件连接如图2所示。图cid芯片HT9032C与ARM9之间硬件连接的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集成到单个封装中,降低了系统成本,并减少了对电路板空间的要求。其看门狗功能为微控制器提供保护。通过对监控系统进行编程,当系统出现故障时,它会自动以复位信号做出响应。X25045的存储器部分是4096位(512 8)串行E2PROM。(CMOS的关键控制部分。

ZLG7289A用于控制三个按钮:“删除”、“向上”和“向下”,分别用于删除和查阅来电信息。2主叫识别信息的两种数据格式终端交换机向被叫用户发送主叫识别信息。数据传输时序如图3所示。图3主叫识别信息数据传输序列符号的时间值:第一次振铃和数据传输之间的-0.5 ~ 1.5 s时间间隔。B C-2.9 s数据传输时间包括信道占用信号和标志信号。

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) .

(1) 单数据消息格式(SDMF)。

单数据消息格式由消息头和消息体组成,这种格式的结构简单,可容纳的信息内容较少,如: 呼叫序号、呼叫建立日期和时间及主叫号码。消息头由消息类型和消息长度组成,它们均为8 bit.消息类型的值用来识别消息的特征,消息长度指明后面所跟的消息字的长度。

消息体包括交换机需传给终端用户的消息,消息体可容纳1255 个8 bit 的消息字,每个字用8 bit 带校验位的7 位编码字符集表示。其消息格式如图4 所示。

图4 单数据消息格式组成图

(2) 复合数据消息格式(MDMF)。

这种格式的结构比较复杂,可传送的信息包括除单数据格式内容外还有主叫用户的姓名等。复合数据消息格式也是由消息头和消息体组成,不同的是,复合数据的消息体由一个或多个小的参数消息组成,参数消息也具有参数头和参数体。参数头包括参数类型和参数长度,它们均为8 bit,参数类型值用来识别后续参数字,参数长度指明参数体中参数字的数目。

复合数据消息格式允许不同特征产生的不同消息在同一个帧中传送。在此不再详述。

3 系统软件流程设计

系统软件由四部分组成,分别为主程序,中断0 程序,中断1 程序和串口中断程序。

主程序及各程序功能介绍如下。

(1) 主程序开始初始化系统各功能芯片,设置串行通信的波特率,从E2PROM 中读存储的来电信息,并显示最后一条信息; 然后开中断0 循环等待振铃信号。程序流程图如图5 所示。

图5 主程序流程图

(2) 外部中断0 服务程序。

当有振铃信号来时,便触发外部中断0 服务程序。

若判断为第一次振铃,则开外部中断1,判断是否有有效解调FSK 信号。

(3) 外部中断1 服务程序。

当判断有有效信号来时,便触发外部中断0 服务程序。若判断为第一次振铃,则打开串口中断,准备接收解调为串行异步二进制数据的来电信息。

(4) 串口中断程序。

在串口服务程序中不断记录缓冲器SUBF 中的数据,存储并显示当前信息。

4 实验数据分析

串口输出的字符串为:0x800x180x320x000x310x310x300x380x330x300x310x300x330x340x300x310x350x320x310x360x370x360x300x310x360x370xEF经过分析,0x80 表示此消息数据为复合数据消息格式,0x18 表示数据长度,后面则表示时间为2011 年08 月30 日10 时34 分,来电号码为01521760167,校验字为0xEF.所有数据和(包括校验位) 按256 的模求和为00,证明收到的数据完全正确。

以上知识分享希望能够帮助到大家!