新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 来电解码器及其在客户关系管理中的应用

来电解码器及其在客户关系管理中的应用

作者:时间:2012-01-07来源:网络收藏

引言

来电显示业务给广大的电话用户带来了很大的方便,在企业的系统中,当有客户打来电话时,若能在接听电话前将来电客户的详细资料在计算机上自动显示出来,使企业能够有针对性地对客户提供服务,这将拉近企业与客户之间的距离,提高客户对企业的忠诚度。为实现此功能,应在接听电话前将来电号码识别出来并自动传入计算机,再利用数据库查询技术将与该来电号码相关联的客户资料显示在计算机上。

将来电号码传入计算机的方法一般有两种,一是利用具有来电显示功能的MODEM[1],二是通过自行设计来电传送。采用自行设计的来电,由于其功能单一,从造价上来讲比购买MODEM便宜许多,更适合在中小企业的系统中应用。

本文介绍了一种利用单片机AT89C2051和FSK解码芯片HT9032C设计的FSK来电,该解码器与计算机的串口相连,由串口供电,可将FSK制式传送的来电信息传入计算机,向计算机传送数据的格式与MODEM的传送格式尽可能保持了一致。

1 FSK主叫信息的传送

1.1 我国FSK制式来电显示标准简介

我国目前现行的来电显示标准有FSK制式和DTMF制式两种,从实际应用情况看采用FSK制式的比较多。根据我国FSK制式来电显示标准[2],在挂机状态下,主叫信息数据的传送是在第一次铃流与第二次铃流间传送的,一个完整的消息帧由信道占用信号、标志信号、数据信息和校验字组成。所传数据的格式分为单数据消息格式(SDMF)和复合数据消息格式(MDMF),其中单数据消息格式所传数据内容简单,只有日期、时间、来电号码,在我国普遍使用,其数据信息由以下字段组成:消息类型、消息长度、消息字(包括月、日、时、分和主叫号码)。每个消息字的传送由1个起始位、8个数据位、1个停止位构成,相当于异步串行传输方式,传输速率为1200bps。关于更详细的规定可参考文献[2],在此不再赘述。

1.2向计算机传送来电信息的格式

若采用具有来电显示功能的MODEM将来电信息传送到计算机,应事先利用AT命令设置CID=1或VCID=1启动该功能。当有来电时,MODEM会向计算机串口发送以下格式的ASCII码信息(CR>表示换行):

RING CR>

DATE=MMDD CR>

TIME=HHMM CR>

NMBR=******** CR>

这里RING表示有振铃; DATE后面的是来电的日期(月和日);TIME后面的是来电的时间(小时和分钟);NMBR后面的是来电号码。

本文的来电解码器与计算机通信的数据传送格式与上面介绍的MODEM的格式相同,尽量保持了与MODEM的兼容性。计算机方软件可通过分析从串口传来的数据串得到客户来电时间和号码。

2 FSK来电解码器的设计原理

2.1 HT9032C的功能简介

来电解码器的核心器件是单片机AT89C2051和FSK解码芯片HT9032C。HT9032C是Holtek半导体公司的一款FSK解码芯片[3],其可自动识别出消息帧中的信道占用信号和标志信号,并将数据信息和校验字通过DOUTC引脚输出,其解码时序如图1所示,图中的Cooked DATA即为去掉信道占用信号和标志信号后的数据信息和校验字。

图1. HT9032C的解码时序

2.2 系统结构与工作原理

来电解码器的电路原理图如图2所示。

图2. 来电解码器电路原理图

2.2.1 振铃检测

电路中利用光耦TLP521进行振铃检测, AT89C2051设置定时器T0的定时时间为1ms,在定时中断服务程序中对P3.5的电平高低进行检查,当有振铃信号时P3.5为低电平,否则为高电平。为去除干扰的影响,振铃检测规则可定义为:无振铃时若连续2次检测到低电平认为是振铃开始,已振铃时若连续50次(相当于50ms)检测到高电平认为是一次振铃结束。

2.2.2 解码控制

设置AT89C2051的串口工作模式为:1个起始位、8个数据位、1个停止位,传输率1200bps,使其与HT9032C的数据传输模式相同。 AT89C2051在检测到第一次振铃结束后,将P1.6(即HT9032C的PDWN)置低,使HT9032C开始解码并传送数据信息,AT89C2051将接收到从DOUTC引脚传出的来电数据信息和校验字,数据接收完毕后,将P1.6置高,完成一次解码过程。

通过对接收到的数据进行分析,可获得来电时间、号码等信息,AT89C2051再将这些信息组织成一定格式,通过TxD发往计算机串口,电路中的MAX232芯片负责TTL电平与RS-232电平的转换。

2.2.3 串口供电

解码器电源可由计算机串口提供,通过软件编程,可使计算机在打开串口后置RTS和DTR为正电压,这时RTS和DTR的电压处于+5V到+15V之间,一般在+10V左右,每根接口线可提供8mA的电流,总共可提供约16mA的电流[4]

令AT89C2051工作在空闲模式下,其消耗的电流在5mA以下,HT9032C解码时典型工作电流为3.2mA,因此由计算机串口提供的电源完全能够满足系统要求。

2.2.4 “看门狗”实现

由于系统采用计算机串口供电,串口状态由关闭变为开启时可使系统上电复位,系统的“看门狗”功能就是利用这一特点通过软件实现的。

将单片机的主程序设计为一个循环结构,在此循环内设计一段程序每隔1s向计算机串口发送一个确认字符(本设计定义的确认字符为C5H,以免和 ASCII码混淆)。计算机在任意2s时间间隔内没收到确认字符,可认为单片机程序跑飞,这时可关闭串口,停止对系统的供电,1s后重新开启串口,使系统上电复位。

2.3 软件实现

解码器软件分为两部分,一部分为单片机的控制程序,另一部分为计算机方的控制程序。

单片机程序分又为三模块:主程序、定时器中断服务程序、串行中断服务程序。其中主程序负责系统初始化、向计算机发送各种数据等,定时器T0的中断服务程序主要负责振铃检测和PDWN引脚电平的控制。串口中断服务程序主要负责接收从HT9032C发送的信息并保存到缓冲区中供主程序使用,限于篇幅,本文省略了程序的流程图。

计算机方的程序主要功能是进行“看门狗”操作和从串口接收、识别来电信息。为方便用户进行二次开发,开发了一个ActiveX控件完成这些功能。

3 在系统中的应用

该来电解码器已被应用到某体检中心的客户关系管理系统中,在该系统中,每个体检客户与一个客户号相对应,系统数据库中保存有电话与客户号对应表、客户基本信息表及其他与业务相关的数据表,当有客户来电时系统在对应表中查询出与此次来电号码相对应的客户号,若查询结果唯一则直接显示该客户的信息及工作窗口,若查询结果不唯一(可能有多个客户保留同一个电话号码)则显示所有对应客户的简要信息列表供操作员选择和进一步操作。该系统数据库采用SQL Server 2000,经过一年多的使用系统运行良好。

4 结论

该解码器电路简单、成本低、运行可靠,适合应用于中小企业的客户关系管理系统或其他相关系统中。

本文作者创新点:实现了来电信息向计算机的传送,采用串口供电解决了解码器供电问题,“看门狗”功能没有通过硬件电路而采用软件方法实现,既简化了电路,又降低了制造成本。

参考文献:

[1] 李善姬. 一种简单实用的电话报警系统的设计[J]. 微计算机信息, 2006, 5-2:89-91

[2] 电话主叫识别信息传送及显示功能的技术要求和测试方法. 邮电部技术规定, 1997

[3] HT9032C/HT9032D Calling Line Identification Receiver Date Sheet, Holtek Semiconductor Inc..

[4] Axelson Jan. 串行端口大全[M]. 北京:中国电力出版社. 2001



评论


相关推荐

技术专区

关闭