智能电话终端设计
扫描二维码
随时随地手机看文章
介绍一种智能电话终端系统的设计与实现。系统以微处理器为控制中心,可实现终端功能设置、信息输入,通过调制解调器进行信息接收与发送的控制,以及信息的显示及存储等功能。
关键词:智能电话;调制解调器;信息处理
and Technology, Shanghai 200093, China)
系统框图见图1。该系统的核心是主控模块,主要由微处理器构成,控制整个系统软硬件的运行。一方面处理各部分外围电路的控制信息,另一方面完成接收和需要发送的信息的智能化处理,其功能具备可扩展性,为以后功能进一步加强保留软件接口;存储模块包括外部RAM、EPROM存储器和相应的掉电保护电路,用于存放系统运行中需要处理、交换的数据,同时还用于存储接收到的或需要发送的数据信息;EPROM主要用于存放系统软件及存放汉字字库;键盘输入模块用于接收来自用户的输入数据,包括控制信息和数据信息,它是用户对该系统的输入接口;LCD模块由LCD显示器及相关控制电路组成,可以显示中文、英文、数字和各类字符,它是该系统对用户的输出接口。MODEM模块由一片嵌入式MODEM芯片及相关外围电路组成。一方面用于调制由主控模块送来的数据,将数字信息转化为模拟信号,送入前端电话接口模块DAA电路;另一方面将DAA电路接收的模拟信号转化为数字信号,并交给主控模块进一步处理。它是所有信息的进出口,起着至关重要的作用。
(1)物理层负责各实体之间物理的数据位流的传送。此系统中应用Z02215 MODEM芯片作为数据收发的调制解调器,该芯片功能强大,因此外围电路极为简单。Z02215是Zilog公司新开发的单片嵌入式MODEM芯片,它带有集成的控制器,数据泵和模拟前端,在公共交换电话网(PSTN)上运行,Z02215适用V.22bis,V.22,V.23(Ninitel),V.21,Bell 212A,Bell 202,Bell 202T和Bell 103等MODEM标准[1]、[2]。Z02215提供全面的、可选择的和可编程的语音产生和检测。完全满足物理层数据传输的硬件要求。
(2)链路层将提供一个可靠的数据传输机制[3]。要实现的功能包括:电话语音通路和消息通信通路的建立、来电显示、消息发送时的打包、接收数据时的解包功能、数据校验、重发控制等。下面是为保证数据被可靠地发送和接收所建立的数据包格式及通信协议。
帧格式:字间隔+起始位+数据(8位,先发送低位后发送高位)+奇校验
字间隔:≥2bit,固定为1;起始位:1个bit,固定为0;数据:1个byte(8个bits);奇校验:1个bit。
包格式:数据(16bytes)+序列号(1byte)+校验(1byte)。
数据:如果数据长度不足16个bytes,则用0x20补齐;序列号:采用连续累加的方式,从1~255,不能为0;校验位:所有数据和序列号相加(不包括校验本身)再求补;接收方检查校验位;如果所有的数据相加等于0(包括校验位)则校验正确。
包的确认信息格式(1字节):
FFH:正确接收,作为确认信号;00H:错误接收,作为重发信号。
采用半双工的传输方式,上行下行均使用1200bps。另外,为保证数据的可靠传输,在每次发送数据包之前,最少发送10ms的1,作为同步码。
(3)消息层,规定了消息及命令的格式及确认信息的格式。上层下发的数据为16bytes的数据包,由发送端程序负责增加序列号和校验,由接收程序负责检查序列号和校验。底层程序确保所提交的数据包的正确和顺序。
发送端:在发送完一个完整的数据包(总共18个bytes)后,发送端等待150ms,如果没有接收到确认信号或收到重发信号,则将重发该数据包。如果收到确认信号则立即发送下一个数据包。
接收端:在接收到第一个有效的数据后的200ms内若收不到一个完整的数据包,或者校验错误,则接收端发出错信息,如果接收的数据包的序列号和上一次数据包的序列号相同则抛弃这个数据包。
接收端校验:接收端有2种校验来确保数据的正确:一个是每个byte内的奇校验,用来确保单个byte的正确性;另一个是包校验,确保整个包的完整性。
发送端重发:如果按以上发送过程重复发送3次后,依然没有接收到确认信号,则认为该次通讯失败,向上层上报发送失败的消息,交由上层处理。