电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

VoIP ATA设计中的考虑因素及方案比较

来源:<a href='http://bbs.hqew.com/viewthread.php?tid=113274' target='_blank'>zhanghuadong</a> 作者:华仔 浏览:1232

标签:

摘要: 下一代模拟电话适配器(ATA)将需要认真处理目前尚未解决的指配和安全问题。设计者需要检查这些要求对硬件和软件产生的影响并保证使现有的平台对这些有待证实的考虑具有可扩展能力。本文将探讨在VoIP ATA设计中需要考虑的一些因素并对相关硬件和软件供应商所提供的方案做出评价。 宽带无疑为实现VoIP的大众市场扫清了障碍,但最大的影响因素是硬件和软件技术的进步。为满足用户和运营商对质量、价格和性能方面

   下一代模拟电话适配器(ATA)将需要认真处理目前尚未解决的指配和安全问题。设计者需要检查这些要求对硬件和软件产生的影响并保证使现有的平台对这些有待证实的考虑具有可扩展能力。本文将探讨在VoIP ATA设计中需要考虑的一些因素并对相关硬件和软件供应商所提供的方案做出评价。
    宽带无疑为实现VoIP的大众市场扫清了障碍,但最大的影响因素是硬件和软件技术的进步。为满足用户和运营商对质量、价格和性能方面的期望和要求,人们已经付出了很大的努力。在过去的几年里已经出现了一些芯片组、固件和信令协议,这些进步使实现VoIP的承诺可能在今天成为现实。
    让我们看一下ATA。这个设备以最基本的形式使VoIP得以实现。人们把ATA设计成一种与家庭微波产品、VCR或应答器功能水平相同的设备。与任何其它产品相比,这类产品面临着更多的设计挑战。由于没有可以向消费者提供帮助的专业安装人员或网络工程师,这类产品必须具有极高的鲁棒性。这些产品的价格还必须足够低。这些要求需要工程小组付出艰苦努力才能得到满足。
   硬件设计的考虑因素
   要生产出成本效益高并具有长话级音质的产品,消费级VoIP ATA的硬件开发商需要权衡许多因素。内核处理器选择是第一个或许也是最关键的决策,这个器件将决定主要的材料成本并决定外部设备、非易失性存储和运行期间的数据存储等基本功能。

   取决于对某个专用处理器的熟悉程度,设计者可能会选择使用某个熟悉的处理器并与面向语音处理(如压缩、解压缩和回声消除)的外部DSP组合在一起。设计者通常使用32位RISC处理器来处理TCP/IP和会话启动协议(SIP)等网络和信令协议。虽然使用某个单纯RISC处理器既处理语音也处理控制功能是可能的,但这很可能只能使用某个简单的编解码器来支持单一语音信道。
双处理器内核的实现给工程师带来更大的灵活性并具有使用单一封装所带来的其它优势。一个例子是使用带有RISC内核和DSP内核的处理器。在市场上可以找到各种低成本处理器,但这类双内核器件目前推动着现有消费类VoIP产品领域许多方面的发展。双内核环境确实要求进行双处理器软件开发、调试和处理器间通讯管理并将加重软件开发负担。大多数半导体制造商为这个过程提供辅助工具。
   另一个可选方案是使用带有双执行单元但只有单一指令管道的RISC/DSP处理器。RISC/DSP方案可以同时支持语音处理和网络协议功能而不需要处理器间通讯。因而,这种方式可以消除RISC和DSP之间的通讯开销并有助于保证良好的声音质量。大多数语音处理算法需要循环使用乘法累加(MAC)和其它数学运算。使用带有片上内存、单周期MAC指令、零开销循环、柱式位移器和模量寻址的全功能DSP可以极大地提高系统性能。因为不再需要分立的DSP,集成的RISC/DSP处理器消除了分立DSP的成本、降低了整体设计复杂性,另外,还可以缩短上市时间。
   片上外设也是设计出高成本效益VoIP产品的关键。例如,如果片上带有双10/100Mbps以太网MAC则不再需要外部以太网控制器并保证产品可以扩展到多端口LAN/WAN配置。大多数双MAC器件包含无需CPU干预而自动转交以太网帧的集成型以太网网桥,对于不带有集成路由器或防火墙功能的简单器件,CPU可以专注于路由等其它任务。以大约200 MIPS的速度运行的处理器也能以接近线速支持网络路由、NAT和防火墙功能。商用级器件需要强加密功能和用于对称密码的集成硬件加速。因而,随着时间的推移,消息摘要(message digest)将变得日益重要。
   带有发送和接收FIFO的脉冲编码调制(PCM)接口允许设计者把各种音频编解码器、用于VoIP适配器音频编解码器与SLIC一体化器件无缝地连接起来。
    内存子系统在VoIP产品设计中扮演着重要角色。我们可以把内存子系统分解成4个元件:指令和数据高速缓存、DSP内存、闪存和SDRAM。大型的片上指令和数据高速缓存可以使内核处理器以全速运行,而同高速缓存相关的多路器件可以提高击中率(hit rate)。虽然需要使用闪存和SDRAM等外部内存来完成程序存储、代码执行和运行期间的数据存储,专用的片上DSP内存有助于保持程序参数和片上语音采样数据从而保持处理吞吐量。设计者应该寻找为外部SDRAM和闪存提供无胶合接口,并切记16位定长指令集处理器比32位或变长指令集处理器的代码密度高。必须指出,由于代码密度最终决定外部存储器需求,对OEM用户来说,较低的密度意味着较低的成本。
   系统设计者可以使用的一种更加先进的技术是基于系统级封装(SiP)的产品。这是一种复杂的封装技术,它向用户提供了一种把SDRAM和闪存与处理器裸片堆叠在单独BGA封装中的方案。除了减小PCB尺寸之外,SiP技术还有许多其它优点。通过消除外部存储元件和外部总线,这种技术可以降低PCB的复杂性并改进PCB的可靠性,同时确保EMI和开关噪声最小。这样可以设计出具成本效益的产品并减轻对存储器元件供货情况的担心。
  DSP算法
    DSP的主要任务是处理语音编解码算法。语音数据压缩是节省网络带宽必不可少的。为了实现互操作,典型的VoIP产品支持几种常见的ITU编解码器(如G.711、G.723.1、G.726和G.729A)。
   这些编解码器是在位速率、实现复杂性和语音质量之间折衷的产物。例如,长话级质量编解码器G.711是一种简单的编解码器,它使用速度低于1MIPS的DSP但占用64kbps的网络带宽并需要负担用于RTP、UDP和IP报头的开销。G.723.1只使用5.3或6.3kbps的网络带宽(包含开销)并提供接近长话级的音质,但它消耗更多的DSP资源(MIP和内存)。G.726支持多个位速率(16-40kbps),G.729A支持8kbps,这两种编解码器都提供近长话级话音且对DSP资源要求相对较低。
   以降低DSP负载为目标的编解码器设计优化可以使VoIP产品支持更多的语音信道且无需使用更快的处理器或增加处理器数量。要保证高水平音质和符合ITU标准需验证编解码器的位准确度。使用一种高度复杂的编解码器和一种实时操作系统和联网协议,按照多级流水线设计、以200MHz运行且性能达到260MIPS的RISC/DSP处理器可以支持三个语音流信道。除了编解码器之外,还需要线回声消除和声学回声消除算法来至少消除由SLIC混合阻抗失配导致的近端回声和某些情况下的远端回声。
   OEM厂商可以从许多软件供应商那里得到针对各种各样平台的大部分编解码器许可。这些许可给予OEM使用某个编解码算法特定实现方案的权力。。
   除了最基本要求之外,一些处理器也提供片上IPSec加速器来减轻处理器内核执行VPN数学运算的负担。典型的例子有DES、3DES、MD5、SHA-1加速器,可以使用这些产品来实现安全通讯系统和支持语音的高性能安全路由器。
    软件方面的考虑因素
    所有器件都需要操作系统。虽然可以使用自行开发的操作系统、传统的RTOS或简单的任务转换开关,但需要经历漫长的开发和测试过程并需要做好不断维护代码库的思想准备。如果使用符合各种标准的操作系统,你就可以把精力集中在保持产品个性化上,而你的代码在下一代产品中复用的比例也会大大提高。
   有多种操作系统可供选择,但请记住,不论对于哪一种消费类产品,价格都是至关重要的。这通常把所有第三方专利操作系统(如VxWorks)排除在外并促使你把目光投向Linux、uClinux和其它开放资源的嵌入式操作系统。这些操作系统基本上能以合理的存储器空间向你提供完整且符合标准的联网堆栈和广泛的微控制器支持,但对它们进行配置和部署有时没有现成的方案。
   成熟的操作系统可以带来很多好处,一个极好的例子是向ATA加入第二个以太网端口而产品硬件只发生很小变化。虽然在硬件上这是一个相对较小的设计变化,但导致从端点到路由器之间的软件发生了巨大的改变。因而,实现DHCP服务器、NAT、PAT、PPPoE、网桥、MAC或IP寻址克隆等功能将需要某种形式的QoS和防火墙堆栈。这正是成熟的操作系统确实优于自行开发或专有操作系统的地方,对于后两者,每个组件都代表额外的成本。
   QoS和延迟时间
  在消费类VoIP中讨论最多的话题也许是服务质量(QoS)。虽然除消费类VoIP订户之外还有许多其它实现策略想法,理解QoS的限制和意图是非常重要的。由于最终要在公共网络上进行传输,VoIP服务易于产生延迟抖动或数据包丢失等各种类型的中断,这些中断将会影响服务质量。虽然对于数据传输而言这并不是一个焦点问题,但要满足用户对长话级音质期望,ATA必须配备有效的抖动缓冲器。QoS只能辅助但无法完全解决这个问题。
   QoS意味着给“高优先级”数据包加标志以免由于“低优先级”传输产生的拥挤造成延时或数据包丢失。实现这个目标的一种理想方法是非常简单地在ATA和宽带连接之间使用带宽保留协议(如RSVP)。通过从宽带连接申请预定数量的带宽,音频流在本地不会遇到瓶颈,从而质量得到更好的保证(但只是在它进入公共互联网之前)。
    另一个同QoS相关的问题是同数据包的大小有关的延迟。在低质量ADSL的128kb上行连接中,最大长度为1,500字节的以太网帧需占用接近2个语音帧的时间长度。为解决这个问题,直接连接到宽带调制解调器的带有集成NAT和集成路由器功能的ATA器件可以在VoIP呼叫期间减少MSS(最大片规模)或在外发数据包信息流中周期性地插入断点,从而不管数据负载是否沉重都可以插入语音包。类似地,对于ATA正在传送数据流、终止或启动数据包的情况,该器件可以使用流量整形方法。这包括对某些特殊类型的数据包进行带宽限制并在其它等待发送的数据包之前优先发送对时间有严格要求的数据包。这种方式允许对数据包进行动态分类,包括最小最大带宽及进入和输出数据流的优先级。如果发生数据包丢失,被激活的位于两端的TCP流控制机制将降低发送速率。
   许多的互联网结构也将对嵌入在TCP数据包报头ToS域中的“提示”做出响应。数据包的“区分服务(DiffServ)”类别被用来表明应如何来处理数据包,通过授予和产生这个域我们可以获得一些QoS。路由器将使用DiffServ域把语音包放置在更高优先级的队列中,从而保证它们得到更大比例的可用带宽和经历更少的延迟和丢失。
   我们可以以多种方式来完成流量整形。流量整形的HTB理论及其它方法几乎可以使用任何准则把数据包分成各种队列。使用“标记”和“桶”的概念以及基于类的系统和过滤器,HTB允许对数据流进行复杂的颗粒控制。HTB允许最小和最大带宽分配。它也允许“较低”优先级队列暂时从较高优先级队列借用当前并未使用的带宽。HTB的主要优点之一是队列被组织成“树”,每个分类从父节点继承带宽限制,从而有能力以高度颗粒化的方式对流量施加控制。这是使用成熟的操作系统而不是定制或专有RTOS的另一个优点。
   防火墙和穿越技术
   NAT已经使互联网发展到IPv4不可能达到的水平。当试图达到在一个或多个NAT防火墙后面的终端用户设备时,穿越NAT也是需要解决的最具挑战性问题。NAT有4个典型的类型:全圆锥(cone)、地址受限的圆锥、端口受限的圆锥和对称NAT,穿越它们的方法包括ALG、媒体隧道、第三方代理或STUN。因为提供ALG、隧道或第三方代理的前提条件是与NAT或其它设备进行合作,要把这种方案在消费类设备中推广是极不现实的,因而作为ATA制造商,我们正在依靠自己的力量来解决NAT问题。
    STUN是得到最广泛应用的方案并可以穿越大多数NAT防火墙。STUN使用一种轻量级UDP协议并使用外部STUN服务器来识别NAT防火墙所完成的变换种类。然后,在特定UDP连接上,它将确切地识别出NAT已经选定要做的用于RTP或SIP的变换。这些信息是在没有NAT防火墙专门合作的情况下收集得到的,此后这些信息被用于建立SIP和RTP进程。虽然实际上所有消费者都假定设备使用某种圆锥NAT,但在公司环境中更可能遇到的是对称NAT。在这个情况下,需要使用ALG或本地代理。
   指配和管理
    目前,VoIP供应商使用两种策略来解决VoIP ATA的配置问题,一种是在付运之前进行预配置,另一种是自动指配(通常使用TFTP)。应该指出,非常类似于由运营商对SIP标准所作的定制信令修正, 每个服务供应商都有自己独特的指配模式。从可伸缩性的角度看,预配置是不现实的,在这里,现在来分析一下远程指配设备需要满足哪些要求。
   一般来说,配置信息将包含SIP UID、呼叫者ID、口令、用户申请的功能和所有其它账号信息(可能包括E911要求的地点信息)。VoIP供应商也将需要发现服务器信息(包括SIP代理服务器、固件升级服务器、媒体和功能服务器)。另外,需要给定QoS容许度、固件修改、振铃形式、定时器和计数器的参数和变量。最切合实际的实现方式是把从收到的设置文件解析出的数值馈送给后端MIB数据库。然后,这个数据库可以提取合适的资源并把所做的改变应用到该设备。
    另外,使用脚本也可以得到基本相同的结果,但在可移植能力和扩展能力上很可能要付出代价。消费类产品和运营商产品具有不同的管理需求。虽然运营商倾向于希望得到可以同其现有的NMS相结合的设备,用户却要求基于网络的工具且几乎不使用简单网络管理协议(SNMP)。而且,这也是数据库架构优于其它方案之处,这种架构允许多个入口点并可以保持一个有组织的结构。
      鲁棒性和升级
   由于用户将ATA看成是适配器,所以,必须保证ATA的鲁棒性。要解决这个问题,在更高端嵌入式设备(如机顶盒)中设计者可以奢侈地使用能够存储多个图片的存储器资源。在发生失败时,这些设备在图片之间进行仲裁从而降低失败风险。在小型嵌入式设备上,数据存储器占据整个材料成本的很大一部分。
   将这些因素结合在一起,开发者可以通过把闪存分割成每一个都包含若干冗余图像的功能块来保证相同的鲁棒性,但不能马上把失败自动切换的内存开销从两倍降低到某个较小的系数。按照这种形式进行分割,一个与使用PKI的数字签名相结合的非常低水平仲裁器和一个看门狗定时器(而不是使用前面提到的良好分割)可以识别并隔离损坏的或未授权的甚至可能是恶意的新固件。可以把这个设备设计成在各种固件升级失败的情况下(如在消除完全冗余的闪存的成本的过程中)正常工作,满足Cable Lab的要求。可以把该器件设置成在只有启动代码保持工作的灾难性失败事件发生时转入第二“灾难恢复”模式,在这个模式下,低水平启动代码将尝试寻找一组外部图像。
   分割闪存还有另外一个优点。因为闪存的每个分割部分都可以独立升级,故可以只对需要升级的部分进行升级,并可以在不完全替换固件的情况下增加特性或实现本地化。这种方式可以节省带宽,更为重要的是可以加快成千上万的现场设备升级的速度

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67