引 言
IP电话是利用国际互联网Internet为语音传输的媒介,实现语音通信的一种全新的通信技术。其通信费用的低廉(有人称之为廉价电话),节省带宽;智能化;开放的体系结构;多媒体业务的集成。IP电话网络支持语音、数据、图像的传输,为将来全面提供多媒体业务打下了基础。IP电话是未来“三网合一”的一项服务,有望成为下一代电信基础设施结构的核心,使未来各电信业务综合在同一IP网络上成为可能,导致语音、数据、图像的融合和未来电信市场的重组,并带来新的经济模式和价值链。IP电话的主要特点是语音在Intenet传输;技术难点是语音的解压缩和打包传输,因为不可能原原本本地把原始语音信息从Internet上发送出去,这样会占用太大的带宽。语音信号必须经过处理,转换成适合在IP网络上传输的IP数据包。这个过程需要先进行数字编码,转换成PCM码,然后经过专门的DSP芯片进行数据压缩,最后再打上IP包的标记,形成IP数据包的形式,以适合IP网络上的传输宽带。目前,IP电话的标准主要有ITU-T的H.323和IETF的SIP。H.323主要在电信网络上实现多媒体业务制订,技术很成熟;而SIP是基于动态的Internet模式建网,是基于软交换技术的面向网络会议和电话的简单信令协议。我国主要采用H.323标准。在H.323系列标准中,音频压缩编码有G.711、G.723和G.729等。本文介绍基于51单片机控制的IP电话的系统设计工作原理。
1 系统硬件构成
本系统采用51单片机作为主控芯片,语音处理芯片采用以色列AudioCodes公司生产的AC48801,可缩短开发时间和减少经费,硬件框图如图1所示。
1.1 AC48801芯片
AC4880l是Audio Codes公司生产的一种专用语音处理芯片,具有低比特率的语音压缩编码、解压和传真等多种功能。芯片内部集成了一个16位的DSP,其中固化有芯片本身所提供的各种编码操作格式,使开发者不用另外进行解压缩算法的研究,只需要根据它的HPI接口进行相关的配置既可工作。除此之外,该芯片还有以下特点:
◇支持G.729A、G.727、G.726、G.711等多种语音压缩编码;
◇语音/传真/数据自动转换;
◇损毁封包自动修复;
◇呼叫ID产生和检测,呼叫进程和用户定义语音检测和产生;
◇兼容G.168的25ms回声消除;
◇DTMF的检测和产生;
◇A律/μ律可选的C0DEC接口。
AC48801接口如图2所示。
AC48801提供了语音接口与外面的CODEC相连,由PCMIN、PCMOUT、PCMCIK、PCMFS四根信号线组成。PCMIN接收CODEC进来的PCM编码,相反PCMOUT是转送PCM编码到CODEC进行解压还原成模拟信号;PCMCLK和PCMFS分别是2.048 MHz位同步时钟和8kHz的帧同步时钟,均可以设置由AC4880l内部提供。AC48801还提供8位数据HPI接口。由于AC4880l是16位的DSP,所以主控每次对AC48801操作都是连续进行2字节的读写过程,HI/LO信号显示当前操作是高8位还是低8位;HRS0、HRSl信号组合对三个寄存器(控制寄存器HPIC,地址寄存器HPIA,数据寄存器HPID)操作;HR/w信号控制当前的读写,高电平表示主控芯片要进行读操作,低电平表示主控芯片要进行写操作;HRD信号为读锁存,HWR信号为写锁存,在它们的下降沿锁存HI/LO、HR/w、HRS0、HRSI等信号,所以在每次对。HI/LO、HR/W、HRS0、HRSI设置前都将HRD或HWR先置1,设置完成后再置O,然后所进行的设置马上生效;CS是片选信号;HINT是DSP对主控的中断。
1.2主控芯片
主控芯片主要对AC48801、ENC28J60、sLIC设置和监控,并实时进行数据处理。由于主控芯片要处理的数据不是很大,采用速度稍微快些,性能较好的51内核的单片机就可以完成工作。这里使用STC89系列的单片机,最高工作频率可达90 MHz,处理8 kb/s(G.729)数据流已绰绰有余。另外,支持AC48801工作的内核代码和程序代码放在EEPROM里。因为这两个代码不经常用,只有在系统上电时,才由主控芯片通过HPI接口送到SRAM,所以EEPROM采用带IZC接口的24C1024。这样接口方便,制板布线也很容易。
1.3 CODEC接口芯片
CODEC芯片负责对DSP解压后送来的PCM数据进行解码,还原成模拟信号并滤波后,送到用户接口芯片SLIC;同时,CODEC芯片还负责将SLIC送来的模拟语音信号进行PCM编码并送到DSP进行压缩。本设计中用的CODEC芯片TCM29C13是单通道PCM编解码器,带有滤波功能。它工作的位同步时钟PCMCLK和PCMFS帧同步时钟由AC48801提供。
1.4 用户线接口电路(SLIC)
用户线接口电路是SODES和模拟设备的接口。设计中采用的是Intersil公司生产的HC55181用户线接口电路(SLIC)芯片,特点如下:
◇能传输多种振铃信号,可通过逻辑电平来控制器件的工作状态;
◇带有CODEC振铃接口,2-4线转换功能;
◇振铃峰值电压幅度可达到95 V;
◇具有内部关断和指示报警功能;
◇可自动检测用户摘机或挂机;
◇使用外部元件较少。
1.5 EN028J60芯片
ENC28J60是美国微芯公司新推出的28引脚独立以太网控制器,采用SPI接口和主控芯片相连,具有占位小,成本低,使用方便等特点,接口如图3所示。ENC28J60主要功能包括:内置10Mbps以太网物理层器件(PHY)及媒介接人控制器(MAC),可按业界标准的以太网协议可靠地收发信息包数据;特殊的过滤器,包括Microchip的可编程模式匹配过滤器,可自动评价、接收或拒收MagicPacket、单播(unicast)、多播(multicast)或广播(broadcast)信息包,以减轻主控单片机的处理负荷;业界标准的串行通信端口,低至18引脚的8位单片机也具有网络连接功能;可编程8 KB双端口SRAM缓冲器,以高效的方式进行信息包的存储、检索和修改,减轻主控单片机的内存负荷。该缓冲存储器提供了灵活可靠的数据管理机制。
2 工作流程
系统上电,主控芯片要对各个部分进行初始化。
①初始化ENC28J60,配置相关寄存器,设置缓冲区。
②主控芯片首先从24C1024读取内核代码和程序代码,通过HPI放到SRAM里,然后发出AC48801初始化命令和运行命令。AC48801给出摘机音,然后AC48801检测到DTMF信号并通知主控芯片,主控芯片读取DTMF信号并打成IP包通过RJ45发送出去,同时给AC48801拨号音;建立连接后AC48801按照G.729标准进行解压缩运算,每10ms和主控芯片交换1次数据。同样,若主控芯片收到的IP包有DTMF信号,就给AC48801发出DTMF命令,给出振铃信号。
结语
本文采用51单片机、AC48801与ENC28J60构成的IP电话具有成本低,开发周期短的特点。对以太网控制器的设计有较好的参考价值。