关键词:CTSI协议 C-BUS DTMF FSK CAS
引言
移动电话推出的短信息服务经市场检验,取得了很好的经济效率和社会效益。固定电话能不能也推出类似的服务,从而实现传统电话的增值呢?最近提出的固网短信技术恰好满足了运营商的这一需求。建立在模拟线上的中文信息终端服务接口规范CTSI协议,为信息电话与服务在模拟话音线上进行双向数据通信提供了标准。它规定了上行使用DTMF(双音多频)或FSK(频移键控)信号及下行使用FSK信号,服务器与终端之间通过CAS(服务器发生终端的提示音)信号的发送和回应来互相确认。项国Consumer Microcircuits Limited公司推出的CMX860芯片,其内部集成有FSK发送/接收器、DTMF发送器和CAS检测器,可直接应用于我国的固网短信系统。
图1 CMX860内部功能框图
1 CMX860
CMX860是一种通用的电话信令收发器,两个独立的通道LINE端和PHONE端通过模拟开关的切换可分别独立工作于各自的信号收发模式。它是由一台主机μC通过一个叫做C-BUS(公开总线)的串行接口来控制的,这与大多数通用的μC串行接口是兼容的。
它的发送和接收方式是独立可编程的。例如,接收器部分作为一个调制解调器运行时,接收信号便馈入一个带通滤波器以滤去不想要的信号,并提供固定的折中线路均衡;具有“零功率”待机模式,在待机模式下,C-BUS、振铃检测、摘机检测、RDRVN依然有效;当有振铃或摘机时,会产生中断信号以提醒主机进行相应的操作。
CMX860采用11.059 2MHz时钟振荡器,在运行时的最低工作电压为2.7V,有三种封装形式:28引脚SOIC(CMX860D1)、28引脚TSSOP(CMX860E1)和28引脚SSOP(CMX860D6)。可由电话线馈电提供工作所需电压,而不需接额外电源。CMX860芯片的内部功率框图如图1所示。
XTALN:晶体振荡器输出;
XTAL/CLOCK:晶振电路或外部时钟源输入;
SERIAL CLOCK:C-BUS串行时钟输入端;
COMMAND DATA:C-BUS串行数据输入端
REPLY DATA:三态C-BUS串行数据输出,不传送数据时,输出为高阻;
CSN:片选输入;
IRQN:中断申请输出,低有效,无效时为高阻,需外接一上拉电阻;
Vbias:VDD/2偏压,应靠近该脚通过电容旁路到AVSS;
RDRVN:继电器驱动输出,低有效;
DVSS:数字地;
AVSS:模拟地
DVDD:数字电源;
AVDD:模拟电源;
RD、RT:振铃检测的两个施密特触发器输入端;
HD、HT:摘机检测的两个施密特触发器的输入端;
LINERXF:LINE端接收放大器的输出;
LINERXN:LINE端接收放大器的反向输入;
LINERXP:LINE端接收放大器的正向输入;
LINETXN:LINE端发送驱动器的反向输出;
LINETXP:LINE端发送驱动器的正向输出;
PHONERXF:PHONERXN、PHONERXP、PHONETXN、PHONETXP:与上述LINE端五引脚相对应的PHONE端。
图2 CMX860应用电路
2 CMX860在固网短信电话中的应用
正确控制CMX860 DTMF信号的发送、FSK信号的接收、CAS信号的是实现固网短信系统的关键。
(1)CTSI协议简介
CTSI协议层可分为三层:物理层、链路层、消息层。
①物理层负责服务器与终端之间物理的数据单元(数据位流)的传送,即它们的调制和解调的编码方式、电气特性、传送要求。规定下行数据采用FSK二进制异步串行方式传送;上行数据采用DTMF或FSK方式传送。其中DTMF分短音模式和确认音模式等类型。CAS是服务器发送终端的提示音,时长80~85ms。
②链路层提供可靠听数据传送机制。下行FSK信息包格式如下:
同步引导串 | 信息类型 | 信息长度 | 信息包编号 | 信息内容 | 校验和 |
同步引导串:由8个同步前导字符(0x550)+一个同步结束字符构成,终端读到至少5个同步前导字符和同步结束字符后,可认为同步建立。
信息类型:指明信息内容的类型,为和其它相关协议保持关联,此处取值(0x84)。
信息长度:信息包编号的字节数(=1)加信息内容的字节数。
信息包编号:取值(0x01)。
信息内容:由消息层组织,可含一条或多条CTSI操作命令,最大长度不大于254字节。
校验和:用于数据传送过程的侦错,取值为:该数据包中除同步引导串之外的所有字节的和,按256取模,再取补得到的值。
③消息层定义了信息包的格式、信息(命令)的格式和回送信息的格式。
(2)硬件电路
图2是应用8051 MCU控制CMX860实现固网短信终端系统的应用电路,该电路已在我公司研制的信息电话中得到成功的应用。图2中,将CMX860的三条C-BUS信号线(SERIAL CLOCK、COMMAND DATA、REPLY DATA)及片选线接到8051的P1口上,将其中断申请输出端接到8051的外部中断端,因而对CMX860的指令操作可通过对P1口I/O线的控制直接完成。
C8~C10、R2~R6、D1~D4组成了振铃检测电路,在对控制寄存器进行适当设置后,当振铃到来,会触发外部中断处理。DTMF信号的发送、FSK信号的接收、CAS信号的检测 是CMX860通过用户线接口电路来完成的。
(3)软件设计
CMX860的内部寄存器号外部MCU之间的数据、控制和状态信息是通过C-BUS串行总线来传送的,因此,对C-BUS的控制是对CMX860芯片编程的关键所在。这里介绍一个检查C-BUS操作时序是否正确的简单方法。芯片初始化后RDRVN引脚是高电平,当通过C-BUS对GENRAL CONTROL寄存器的b9位写入1后,如果该引脚变成低电平,则证明对C-BUS的控制时序是正确的。
标准型信息终端平台提供的主要业务有:短消息、信息查询、信息点播与订阅等。图3给出了其中一项,即自动接收消息下载的程序流程图。
图3 自动接收短消息下载的程序流程图
结语
实际应用表明,CMX860功能强,易操作、控制使用灵活、工作稳定可靠,将其应用于固网短信系统,可以成功完成短消息的发送、接收,信息的点播、订阅。此外,它还能应用于互联网设备、远程仪表读出和机顶盒等系统中