摘 要: 本文介绍了基于Winbond的W925E240专用来电显示(CID)芯片的信息话机的实现,详细讨论了其硬件电路和软件系统的设计。这是一种低成本信息话机的设计方案,样机已调试成功并经过了完整的功能测试,具有较大参考价值。
关键词:信息话机 ;短消息中心(SMC) ;W925E240 ;数据链路层 ; 固定短信
引言
信息话机是中文固定短信终端(CPE),主要功能是与短消息中心(SMC,又叫综合信息系统IIS)配合完成短信息的收发,另外还可实现E-mail的收发、信息点播等功能。自从1999年以来,我国就一直在修订完善相关规范标准,目前已有深圳、上海、江苏、江西等多个省份开通了固定短信业务(又称家家e业务),固定短信也逐渐为人们所熟悉和接受。
本文所给出的信息话机是采用Winbond的W925E240作为主控制器,可以实现普通语音通话、短信收发、中文信息点播等功能。W925E240的CID功能模块包括FSK解码器、DTMF接收器、终端设备提示信号(CAS)检测器和振铃检测器,内置了DTMF/FSK发生器(1200bps),利用该芯片可以很容易地实现短信服务(SMS)功能,省去了很多外围单元电路,是目前性价比很高的一种信息话机实现方案。
硬件系统设计
系统原理框图
图1是整个信息话机的实现框图,由微控制器、键盘模块、液晶显示模块、普通话音处理模块和大容量闪存构成。微控制器是整个系统的核心,在软件的支持下一起完成大部分功能。键盘模块用微控制器的并口来扩展,采用中断方式实现高效的编码。液显模块选用S6B0724控制器的点阵型图象LCD显示模块,支持中文显示。LCD液显和键盘模块作为人机交互接口,提供友好的操作界面。普通话音处理模块用来处理音频信号,和普通话机里的电路基本一样。存储器选用Winbond的128K
字节的W29C011A闪存芯片,用来存放用户输入的设置信息、收发的短信和从SMC下载的点播定制信息,具有存取速度快、容量大的特点。
图1 系统原理框图(略)
微控制器
W925E240是一款基于8051CPU核8位高集成度微控制器,工作电压2.2-5.5V,双晶振工作模式(3.58MHz和32.768kHz),共100个引脚,采用QFP封装。W925E240内部资源丰富,有256K字节E2PROM,8K字节片上RAM(用MOVX访问),5组I/O口(其中P0口只能开漏输出,P1~P4的输出模式可控制),11个中断源,1个13/14位分频器,1个比较器,1个看门狗和2个13/16位定时器,还有65个特殊功能寄存器(SFR)用来控制实现芯片的各项功能。CID功能模块符合Bell202标准和ITU-T
V.23标准,这样不须设计专门的电路来提供DTMF和FSK信号的物理通道就可以实现其发送和接收及电话的通话功能,大大节省了设计成本。
各模块连接关系
图2是微控制器与各模块的芯片引脚连接图,主要给出了各芯片之间的数据流关系,而控制信号脚位定义则如表1所示。
图2 模块引脚连接图(略)
表1:控制引脚定义(略)
键盘模块用P1口来实现,利用中断扫描方式可以设计出十分高效的键盘而不需要用任何驱动芯片。P1.0~P1.6做为键盘的行线,P1.7是INT3.3,用作中断输入,与键盘的7根列线通过一个三极管与反相器相连。这样,一个7
7的键盘只需要8个引脚资源就可实现。在平时P1.0~P1.6处于高电平上拉输出态,P1.7为中断输入态,当有任意键按下时,P1.7为低电平引起中断,程序进入键盘中断服务。关中断进行延时消抖后将P1.0~P1.6依次设为上拉输出高电平(同时其他引脚为输入态),然后通过读取P1.7,若为低电平则当前行上有键按下,接下来判断是哪一列。先将其他引脚上拉输出低电平,而后依次将它们设为输入模式,为高电平的即为所在列。
液晶显示模块只需要单向的从P4口接收显示数据,读写信号的定义见表1。这是一款点阵型图象显示模块,支持中文显示。
闪存的大小为128K字节,要用17根地址线,从图2可以看出,低8位地址利用锁存器将P4口进行地址数据分时复用, 高9位用P3口和P2.0。这样设计电路对编程来说也很方便。闪存用来存放预置信息(如固定音乐铃声)、用户设置信息、接收的信息和从SMC点播下载的信息。
软件系统设计
通信控制流程
短信系统主要是在PSTN的模拟话音线上传送数据消息,消息按信息流向可分为上传消息、下传消息和点播消息。上传消息是用户通过CPE发起呼叫向SMC发送的消息,下传消息则反之,点播消息是CPE发起呼叫并以交互的方式从SMC获得的消息。整个系统分为物理层、数据链路层和表示层三层。
物理层为数据链路层提供服务,使数据链路层消息能在话音频带内传送。它使用DTMF信号和速率为1200Baud的FSK信号进行连接和传送,一般下行信号采用FSK方式,上行信号采用DTMF信号或FSK信号方式(具体由当地SMC决定,但CPE对这两种方式都要提供支持)。DTMF信号又分为非编码方式和编码方式,非编码方式的字符其含义就是本身,没有携带其他信息,如'A'就表示是'A',这是由芯片硬件支持的,规定可发送的DTMF字符集就是'0'~'9'、'#'、'*'、'A'~'D'共16个字符。而编码方式就是用这16个字符对中英文等所有信息进行编码,将每个字节分成两个十六进制的值,分别由两个DTMF信号来表示。如'A'就表示值0DH(1101)。在发送中DTMF信号需要持续一段时间且两个DTMF信号之间要有一定的时间间隔。
数据链路层是为表示层服务的,进行数据打包解包、差错控制和时序控制等以提供可靠的数据传送,是整个系统的核心。数据包有FSK信息包、DTMF命令响应消息包(编码与非编码)等类型,不同的包有不同的帧格式。差错控制采用停止等待协议,通过消息序列号来实现差错控制。同时SMC还用重发机制(一般2次)来确保在偶然的故障后仍有可保持连接状态。由于短信的收发是建立在CID的基础上,所以数据链路层还要能通过控制物理层来实现对话音通路的控制、来电显示等功能控制。要注意的是和普通来电显示不同,收发短信要求先设置好SMC接入号码和SMC来电号码以进行身份验证后与SMC连接上。
数据链路层的建立是以CAS(终端提示信号)音的确认为标志的。上传消息的流程是这样的:首先摘机拨SMC接入号码建立起物理链接,SMC向下发送CAS音,CPE接收到后回送CAS_ACK,若SMC在规定时间内收到就表示链路建立起来可以进行消息数据包的传送。下传消息的流程要复杂一些,CID信息是在第一声铃声(应屏蔽掉)和第二铃声之间(振铃检测是始终存在),然后对CID信息进行分析,若为SMC来电号码的CID,则摘机等待SMC的CAS音以最后进行链路的建立。
表示层的信息交互都是由SMC发送命令开始的,即CPE通过解释和执行SMC下发的指令,用回送返回值的方式进行交互。CPE不主动发送内容给SMC,即使是CPE的主动服务申请,也是通过SMC发出服务询问指令后递交。
程序实现
整个系统采用C语言和汇编语言混合编程、模块化方式,系统主流程图见图3。其中底层的FSK和DTMF的收发模块和延时子程序用汇编语言编写,由于这一部分与固定短信没有关系,所以即使是没有开通家家e的地方也可接入PSTN网与电信交换机进行联调。短信收发模块与家家e的设计采用与PC机后台联调的方式进行,PC机选用东进公司的短信系统开发平台建立SMC的模拟环境。考虑到存储容量和液晶显示模块的特点,中文汉字采用12
12点阵字库,西文采用12 6点阵字库。固定音乐铃声存储在闪存中,这需要另外写一个专门的写闪存程序将音乐预置到闪存中。
图3 系统主流程图(略)
小结
本信息话机功能强大,支持中英文和数字符号输入,采用大液晶显示屏(5行 10列),屏幕亮度可任意调节,支持短信群发,除了FSK/DTMF双制式兼容来电显示外,还根据芯片的存储容量实现了个性化振铃、游戏、记事本、计算器和日历等功能。目前,随着我国各省逐渐开通家家e短信业务,越来越多的企业都已加入到信息话机以及SMC服务器的开发行列之中。本系统由于采用了去年最新推出的功能强大的CID专用芯片,减少了很多外围电路,大大降低了设计成本,是一种很值得选择的低成本实现方案。
|