基于MC68HC908的VoIP电话终端的设计与实现

发布者:梦中徐来最新更新时间:2007-03-15 来源: 国外电子元器件关键字:USB  拓扑  编解码 手机看文章 扫描二维码
随时随地手机看文章
1 引言

随着网络的迅速普及和网速、带宽的大幅提高,越来越多的企业接入了宽带互联网。同时为了更有效地利用网络资源并降低长途电话费用,很多企业开始使用各种各样的VoIP产品。这些VoIP产品大概可以分为两类,一类是纯软电话,需要PC作为平台,不需要外部硬件设备,该类型产品投入很小;另一类是纯硬件的VoIP产品,不需要PC作为平台,接上网线就可以使用,但这种产品的投入较大。针对PC已成为现代办公室基本办公工具的现状,充分利用这个资源,设计了一种结合以上两类特点的VoIP电话,它与PC结合使用。利用PC的USB口供电,使软电话与传统电话相结合,这样,既具有软电话廉价的特点又具有传统电话方便使用的优点。利用这种低成本的VoIP电话并结合以太网建立企业级的VoIP网络,可为企业节省60%-80%的长途通信费用和交通费[I.2]。

2 网络拓扑及实现框图

假设某企业的现状为:总部在北京,在天津和上海各有一家办事处,总部和办事处都建立了自己的办公网络并且都接入Internet;企业内部的信息沟通非常频繁,以往都通过固定电话和E-mail联系。电话费用很高,E—mail又存在时间滞后的缺点;每位员工都拥有一台装有Windows操作系统的PC。为了利用现有资源,可以为每位员工配置一部VoIP电话,通过USB接口与PC连接,局域网的连接方式和网络拓扑如图1所示。各办事处的网内都需要一台代理服务器,这可以通过在一台普通PC上安装相应的服务器软件来实现。这样,通过对现有网络的简单配置便可以建立起跨省市的企业内部即时通信系统。图2是本文所设计的VoIP电话的实现框图。可以看出,VoIP电话部分主要完成语音采集和基于G.711的编解码。以及液晶显示、键盘信息处理等电话的基本功能。而利用PC强大的处理运算能力可以实现诸如G.729的语音压缩编码、RTP控制以及对SIP、TCP/UDP/IP等协议的封装。这样通过与PC相结合便可实现一种低成本的VoIP电话。

3 VoIP电话工作原理

VoIP电话的原理框图如图3所示,主要由4部分组成:微控制器、PCM编解码单元、键盘电路和液晶显示电路。电话工作过程如下:首先,通过话筒将模拟话音送入PCM编码器。经过编码输出的是符合G.711标准的64 kb/s的PCM码流,该码流在微控制器输出的位时钟(BCLK)和帧时钟(XSYNC)的控制下,以8位/帧的速度传送给微控制器,然后,控制单元再将接收到的数据缓冲存储,当缓冲区满时,将数据发送给USB控制器,最后通过USB把数据发送给PC。反之,USB控制器接收来自PC的数据,然后,控制单元把这些数据反向发送给PCM单元解码。最终还原成模拟信号并通过听筒输出。其中微控制器是整个电路的核心部分,它负责产生与PCM单元交换数据时的帧时钟和位时钟;运行液晶驱动程序显示相关状态信息;用软件消除按键抖动并对按键信息读取和处理;控制USB接口接收和发送音频数据;与PC之间相应控制信息的处理,如振铃、忙音、摘挂机检测等。键盘单元作为人机接口,通过微控制器的键盘中断接收来自外部的信息。该单元的连击处理、按键去抖都由微控制器通过软件来完成[3,4]

4 硬件设计要点

4.1 器件选择

由于本文设计的VoIP电话的特点是与PC结合使用,并且具有很低的成本,所以在器件选择上需要考虑既保证功能的实现又要尽可能降低成本。经过对比,选择Freescale公司的MC68HC 908JB8作为控制器。它是一款低功耗、高性能的8位MCU,具有较丰富的硬件资源。内部含有一个符合USB1.1标准的接口,传输速度为1.5 Mb/s,编码后的音频速率为64 kb/s,完全满足与PC通信的要求,其次,还具有8个键盘中断。利用其中的4个就可以完成4x4的矩阵式键盘设计[5]。PCM编解码器选用OKI公司的MSM7702—01,该器件采用3.3 V电压供电,具有低功耗、A/μ律可选、传送增益可调的特点[6]。LCD选择图形点阵模块LCM12232A,该模块具有122*32点阵格式。采用8位并行工作方式。

4.2 电源设计

由于整个VoIP电话供电来自PC的USB接口,其工作电压是+5 V,而MSM7702—01的供电电压是+3 V,故可以利用MC68HC908JB的片上调压器配合4.7 μF的耦合电容和0.1 μF的旁路电容产生+3 V电源,并由Vreg引脚输出到MSM7702—01。

4.3 时钟设计

HC908系列编程器内部采用6 MHz的时钟。如果电话内部也使用这个频率的时钟,则经过分频后不能获得准确的64 kHz的BCLK和8 kHz的XSYNC信号。时钟的不准确将造成PCM时序的偏差,从而可能引起数据传输错误,因此采用双时钟设计,也就是在线编程时通过跳线选择编程器上的6 MHz作为时钟源供MC68HC908JB写入程序,而当电话工作时则选择电话内部的2.048 MHz时钟源,该时钟源经过分频可以得到准确的64 kHz的BCLK和8 kHz的XSYNC信号,从而保证了PCM时序的准确性。

5 软件设计要点

5.1 同步时钟产生

同步时钟的产生是软件设计中的关键点。MSM7702—01的数据发送时序如图4所示,其中有两个时钟:BCLK和XSYNC。这两个时钟可以通过MSM7702一01内部的定时器TIM对BusClock(总线时钟)分频计数来产生。

BusClock由下式决定:

BusClock=fosc/2=2.048 MHz/2=1.024 MHz

其中fosc是外部时钟。由于BusClock较低,故可采用一分频,即将TSC(状态与控制寄存器)中PS2-PS0(分频选择位)设置为000。采用定时器的溢出中断工作模式,设置定时器溢出间隔为1/128 kHz,则TCHOL(计数寄存器)预置数为:

TCHOL=BusClock/128 MHz=1.024 MHz/128 kHz=(8)10=(00001000)2

这样,当定时器在BusClock的驱动下计数8次后,产生脉宽为1/128 kHz的脉冲。这是因为BCLK的周期为1/64 kHz,而其脉宽为1/128 kHz,故设置定时器每隔1/128 kHz溢出中断一次,在中断例程中交替设置高低电平,这样就可以得到BCLK。如果在中断例程中再使用一个初值为0的计数器,每计数16次则可以产生帧时钟XSYNC,这样MSM7702-01的发送时序就完全可以通过TIM的溢出中断模式来产生。接收时序与发送时序完全相同。不再单独说明。

5.2 PCM时序及其数据采集

整个程序采用查询式结构,分为主程序和中断程序。主程序包括端口、变量和内部寄存器初始化以及键盘信息采集、LCD显示和数据处理等。中断程序则包括键盘响应中断和TIM溢出中断,用于响应事件并对相应标志置位,然后将参数返回给主程序处理。由于TIM溢出中断程序用来产生PCM数据传输时序,它是整个程序的关键点,故着重说明。

程序流程如图5所示,在主程序初始化时已经将Counter(计数器)和端口PTB0、PTB2的初值均设为O。进入中断程序后计数器首先加1,然后判断端口PTB2的电平状态,将其设置为相反的电平(产生BCLK)。如果此时计数器Counter的值为1则需同时设置PTB0为高电平(产生XSYNC),根据器件数据手册的要求,tBCLK≤tXSYNC<100μs[6],故可以设计在TIM溢出3次后将PTB0置低(XSYNC大约持续23μs)。当Counter计数到16后说明一帧数据已经传输完毕,此时将Counter清零,下一次中断将开始下一帧数据的接收和发送。在每一帧内第一个BCLK上升沿到来时,PCM编码器将第一比特数据放到PCMOUT上,下一个上升沿再放第二个比特数据,如此循环8次后,可将一帧数据发送完毕,如图4中PCMOUT的时序。由于PCMOUT在BCLK的上升沿发送而PCMIN在BCLK的下降沿采集,从而接收和发送时序产生流程都可以由图5表示。

由于篇幅所限,主程序和键盘中断例程不一一说明。

6 结束语

以上设计的VoIP电话配合相应的PC机软件就可以满足企业、办事处间语音通信的基本要求,电话所具备的各种复杂功能还可以在此基础上进行扩充,比如电话号码薄、来电防火墙、来电指示、来去电号码存储等。该VoIP电话的特点是具有很低的硬件成本,同时具备了软电话的廉价和传统电话方便使用的优点,适合在企业内部与办事处之间大面积使用,故该设计在构建企业内部的初级VoIP综合业务网方面具有一定的工程应用价值。

关键字:USB  拓扑  编解码 引用地址:基于MC68HC908的VoIP电话终端的设计与实现

上一篇:基于电话线的系统远程升级方案
下一篇:基于ARM uCLinux的网络控制系统设计与实现

推荐阅读最新更新时间:2024-05-07 15:58

32 位ARM 嵌入式系统扩展USB 接口设计
  常用的主机与嵌入式外设的高速通信接口有LPT 并行口、USB、1394 及10/100M 以太网等接口。RS232 不适合高速数据传送,1394 接口需要专门的适配器接口成本过高,一般较少使用,USB 接口被广泛用于高、中、低不同速度设备与主机通信,USB2.0 的最高速度可达480Mb/s, 可传送高清晰数字视频码流,完全可以替代1394 接口,USB 与以太网接口相比,采用主从结构,有即插即用特性,驱动程序丰富,互操作性好等优点。 USB(Universal Serial Bus,通用串行总线)接口是1994 年Intel、Microsoft 等多家公司联合推出的计算机外设互连总线协议。USB 接口支持1.5Mb/s、
[嵌入式]
基于FPGA的USB2.0虚拟逻辑分析仪的设计
  引言   传统的逻辑分析仪体积庞大、价格昂贵、通道数目有限,并且在数据采集、传输、存储、显示等方面存在诸多限制,在很大程度上影响了其在实际中的应用。选用高性能的FPGA芯片进行数据处理,充分利用PC的强大处理功能,配合LabView图形化语言开发的虚拟逻辑分析仪,其数据处理和传输速率大大提高,适用性极大增强,其显示、操作界面和低廉的成本较之传统的逻辑分析仪具有极大的优势和发展前景。    工作原理   本设计选用Altera公司的Cyclone系列FPGA器件EP1C3进行数据采集和处理,外接SRAM,用于数据的存储。系统通过高性能的PIC单片机PIC18F6620完成与PC的通信,接收PC发出的触发、配置信息并控制系
[测试测量]
Fraunhofer MPEG音频编解码器解决方案为NXP带来更多选择
mp3技术的发明者,xHE-AAC和 MPEG-H音频标准的主要贡献者Fraunhofer IIS近日宣布恩智浦半导体将采用其MPEG音频SDK,该软件包涵盖了四代音频编解码器:传统的MPEG Layer-1/2/3和MPEG-H 3D音频编解码器以及最新的包含了xHE-AAC的AAC家族系列。它们将应用于恩智浦多媒体系统解决方案中,以提升诸如机顶盒、条形音箱以及智能扬声器等家庭娱乐产品的音频质量。 Fraunhofer IIS嵌入式系统音频部门负责人Nikolaus Färber博士表示: ”Fraunhofer IIS在音频编解码器的开发和优化领域拥有30多年的丰富经验,并已向全球超过1000家企业授权其软件。恩智浦的So
[物联网]
CS201 Type-C拓展坞音频芯片|CS201 USB音频设计方案|CS201设计资料
CS201是一款USB 声卡芯片,主要用于USB 耳机、USB麦克风、USB 音响、USBType-C拓展坞等USB 音频等系列的产品设计与开发当中。 CS201的参数和特性如下所示: 1 产品特点 CPU和灵活的IO  带DSP的32位高性能CPU 指示  程序存储器:内部2M位闪存  灵活的GPIO引脚,带可编程上拉和下拉电阻器;  支持GPIO唤醒或中断; 音频接口  95dB高性能立体声DAC 信噪比;  三通道高性能ADC 90dB信噪比;  立体声MIC放大器输入;  支持灵活的音频均衡器调整;  支持采样率8、11.025、12、16、22.05, 32、44.1和48KHz;  四通道立体声
[嵌入式]
CS201 Type-C拓展坞音频芯片|CS201 <font color='red'>USB</font>音频设计方案|CS201设计资料
基于LabVIEW德USB实时数据采集处理系统实现
  通用串行总线USB(Universal Serial Bus)作为一种新型的数据通信接口在越来越广阔的领域得到应用。而基于USB接口的数据采集卡与传统的PCI卡及ISA卡相比具有即插即用、热插拔、传输速度快、通用性强、易扩展和性价比高等优点。   USB 的应用程序一般用Visual C++编写,较为复杂,LabVIEW语言是一种基于图形程序的编程语言,内含丰富的数据采集、数据信号分析分析以及控制等子程序,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,易于调试、理解和维护,而且程序编程简单、直观。因此它特别适用于数据采集处理系统。利用它编制USB应用程序,把LabVIEW语言和USB总线紧密结合起来的数据采集系统将
[测试测量]
基于LabVIEW德<font color='red'>USB</font>实时数据采集处理系统实现
基于USB接口的数据采集与控制系统设计综合
   1 系统结构      利用ADuC845单片数据采集器件和CH341 USB接口器件构成的数据采集与控制系统的框图如图1所示。ADuC845完成模拟量数据采集、开关量的输入输出、控制电压和PWM控制信号输出,CH341USB接口器件完成PC机与ADuC845的数据传输。      ADuC845中的数据打包后经USB器件传送至PC机,利用 PC机的数据处理程序完成数据处理与分析,并将其显示在所设计的系统界面上。同时,将控制命令通过USB接口传送至ADuC845,实现对外围设备的控制。       2 USB通信接口电路      USB通信接口电路采用CH341器件,图2为其电路。图2中,P3是USB端口,USB总线
[测试测量]
基于<font color='red'>USB</font>接口的数据采集与控制系统设计综合
Diodes推出支持USB Type-C电力传输与快速用途切换的电源切换器
eeworld网消息,Diodes 公司推出的 DPS1133 单通道电源切换器是全球第一款高电压电源切换器,专为满足 USB Type-C™ 端口的所有严苛保护及快速用途切换需求所设计。此产品适用于各式各样的移动和桌上型运算装置与周边装置,还有消费型电子、移动通讯、工业及医疗市场等各种应用,如智能型手机、AR/VR 眼镜、机器人、车用信息娱乐及家电等。 DPS1133 特别设计用来保护 VBUS 与 USB Type-C 接头之间的线路,符合 USB 电力传输规格最新版 3.0 V1.1 所定义的快速用途切换 (FRS) 时序条件,并支持所有允许的 USB-C 端口操作模式:下行用途 (DFP)、上行用途 (UFP) 和双重
[半导体设计/制造]
使用数字隔离器对USB实现隔离的方法
早期的个人电脑以串行和并行端口作为与外部世界连接的标准接口。这些标准是从最早的大型计算机继承而来的。另一个可用的通讯标准RS-232接口,虽然速度慢,但因为可简单地实现所需要的鲁棒隔离,很适合医疗和工业环境。由于得到广泛使用并有良好的支持,人们容忍了其速度低和点对点的缺点。 USB接口已取代RS-232,成为个人电脑及其外设的标准端口,其特性几乎在所有方面都远远优于较老的串行端口。然而,对于要求隔离的医疗和工业应用,由于实现隔离的难度大且成本高,USB一直主要用作诊断端口和临时连接。 本文讨论了对USB实现隔离的各种方法。值得特别介绍的是,ADI公司现提供了一个新的可选方案——ADuM41601 USB隔离器。这一
[嵌入式]
使用数字隔离器对<font color='red'>USB</font>实现隔离的方法
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved