基于USB接口的VoIP手柄设计
引 言
VoIP是指将语音信号进行编码、压缩和分包等处理,通过IP网络进行传输,实现计算机一计算机、普通电话普通电话、计算机与普通电话之间进行话音通信的技术。现代数字信号处理技术和语音压缩编码技术的进步,在技术上保证了IP电话在Internet网上传输的可行性;而H.323标准的颁布和SIP协议的应用,使得IP语音业务能够在Internet网上迅速开展起来,并有望成为一种核心和关键技术。这种通信方式的经济性和软交换的特点,使它具有非常广阔的发展前景。
USB接口是一种应用在计算机领域的新型接口技术,最早由Compaq、Intel、Microsoft等多家公司在1994年11月共同提出的,其目的是用USB来取代PC现有的各种外围接口,使外围设备的连接具有单一化、即插即用、热插拔、速率高和易扩展等特点。本文介绍的基于PC终端USB接口的VoIP手柄(话机),就是利用USB接口的特点得以实现的。
1 VoIP手柄的方案设计
本机的实现包括硬件设计和软件编程两部分。
1.1 硬件总体方案
VoIP手柄的通话是通过USB接口来实现的,所以硬件主要包括USB接口芯片AN2131QC、语音处理芯片MCl45483,另外还包括拨号键盘部分、显示部分、电源处理部分等,其总体硬件框架结构如图l所示。其中拨号键盘主要采取编码方式,通过AN2131QC的I/O检测获得按键信息。显示部分为液晶显示,可以显示呼叫号码、呼叫状态、时间、日期和星期等信息。串行EEPROM的主要功能是存储制造商信息、产品信息和设备信息。当上电时,如果主控芯片的核检测到EEPROM连接在I2C总线上,将首先处理这些信息。
1.2 AN2131QC芯片应用介绍
本设计选择的控制芯片是EZ_USB系列的AN2131QC。此芯片提供了基于RAM的,允许无限制设置和升级的解决方案,支持全速USB总线吞吐量的传输。在芯片内核中提供大量的辅助指令,简化了编码,同时也加快了对USB特性的开发。芯片的简化结构如图2所示。AN2132QC内部有一个核:它由串行接口引擎(SIE)和USB接口两部分组成。SIE负责和USB收发器、USB接口进行数据交换,以实现串行数据的编/解码、差错控制、位填充等与USB协议相关的功能。
1.3 MCl45483语音芯片应用介绍
语音编码也是本设计的关键部分之一。语音编解码芯片选择的是MC145483,这款芯片的特点主要体现在具有2 s补偿的13位线性PCM编码/解码滤波器,实现语音信号的数字化和重构;工作电压为3 V,功耗为8 mW,待机功耗仅为O.01 mW,只需单电源供电,因此减少了双电源供电所带来的电源干扰问题,提高了语声质量;该芯片还可以调节增益,设计简单,具体实现如图3所示。此设计能够很好地满足VoIP手柄的高质量语音编/解码功能的要求。
2 软件功能的设计与实现
2.1 AN2131QC的USB自举启动
当AN213lQC芯片复位(RESET)后,AN2131QC将自举启动检查I2C总线上的EEPROM的存在。如果检测到EEPROM,自举启动就会首先读取EEPROM的第一个字节来决定枚举的模式。不同的枚举模式是由EEPROM首字节的数值来决定的,如表1所列。
在读取EEPROM的首字节之前,自举启动必须设置EEPROM的地址计数器为O。它通过发送一个控制字节来选择EEPROM,紧跟着一个O地址来设置内部EEP-ROM地址指针为0。然后它发送一个控制字节,并且开始读取第1个EEPROM字节。
2.2 AN2131QC的USB传输
AN213lQC的USB传输分为块传输、控制传输和中断传输。
USB规范允许块传输的最大数据包尺寸为8、16、32、64字节,中断数据l~64字节。AN2131QC提供了8个IN端点和8个OUT端点,每一个端点具有最大64字节的缓冲区空间。其中第2、4、6个IN和OUT端点可以和它紧接着的端点提供双缓冲区,允许8051在处理一个数据包的同时另外一个数据包在USB总线上传输,即6个"端点对"(USBPAIR寄存器)控制双缓冲。805l在初始化时没置14个端点有效位,并且通知AN213lQC核哪一个端点有效。缺省时端点O总是有效,块数据出现在RAM中。每一个块端点保留了64字节的RAM空间,l位计数寄存器,2位控制和状态寄存器。8051能读取状态寄存器中的一位来决定端点是否为"忙"。在端点的"忙"位被设置时,8051将不能读写端点缓冲区和字节计数寄存器。当一个端点为8051操作准备好时,AN2131QC设置一个中断请求位。AN2131QC向量中断系统根据端点自动传输控制,从中断服务子程序分离出中断请求来响应端点请求服务。
端点O是AN2131QC芯片中唯一的控制端点。尽管控制端点是双向的,AN2131QC仍然提供了2个64字节的缓冲区INOBuF和OUToBUF。另外有一个附加的8字节缓冲区,对端点O来说是唯一的,这个缓冲区保存着在控制传输过程中的SETUP阶段到达时的数据。
中断传输是一种特殊的块传输。AN2131QC控制端点O接收特殊的SETUP令牌,它是一种主机用来处理设备控制信号的传输。主机通过端点。发送一系列标准设备请求表。
- 实现WUSB设备控制器的设计考虑因素(09-12)
- 基于USB2.0的高速无线数传接收设备的数据接收存储方法(09-09)
- 四种短距离无线监控解决方案的性能对比(09-16)
- Wibree:一个可供选择的新无线联网技术(11-07)
- TI 单芯片手机多媒体电话解决方案(12-01)
- 蓝牙技术硬件实现模式分析(01-11)