使用Blackfin处理器设计您自己的VoIP解决方案

描述

简介

网络语音协议(VoIP)的时代就在这里,将电话和数据通信结合在一起,提供低流量的分组语音和传真数据 - 成本互联网链接。从威廉希尔官方网站 交换到分组交换网络的转变,现在以极快的速度继续,正在鼓励远远超出简单语音传输的应用,包含其他形式的数据,并允许它们通过相同的基础设施进行传输。

嵌入式系统设计人员面临的VoIP挑战是选择一种经济高效,易于部署且跨市场可扩展的处理解决方案。 “甜点”嵌入式解决方案方法是设计一个平台,该平台可以实现低通道数的基本VoIP解决方案,同时保留足够的增值功能和服务容量,如视频,音乐,成像和系统控制。下面的讨论表明,ADI公司的Blackfin处理器系列提供了这样一个极具吸引力的解决方案。

什么是VoIP?

今天的语音网络 - 例如 public交换电话网(PSTN) - 利用数字交换技术在呼叫者和接收者之间建立专用链路。虽然此连接仅提供有限的带宽,但它确实提供了可接受的质量水平,而没有复杂编码算法的负担。

VoIP替代方案使用 Internet协议(IP)发送数字化通过Internet或专用网络进行语音通信。 IP 数据包由一系列包含控制头和数据有效负载的数字组成。标头提供数据包的网络导航信息,有效负载包含压缩的语音数据。

虽然威廉希尔官方网站 交换电话处理整个消息,但基于VoIP的数据传输是基于数据包的,因此数据的块 打包(分成单位为传输),压缩并通过网络发送 - 并最终在指定的接收端重新组装。关键是不需要发送器和接收器之间的专用链接。

分组化是传输数据的良好匹配(例如,JPEG文件或电子邮件)跨网络,因为交付属于非时间关键的“尽力而为”类别。网络有效地从同一媒体上的多个源移动数据。然而,对于语音应用来说,“尽力而为”是不够的,因为当数据包通过网络传输时的可变长度延迟会降低接收端的解码音频信号的质量。出于这个原因,VoIP协议通过QoS(服务质量)技术,专注于管理网络带宽,以防止延迟降低语音质量。

打包语音数据涉及向数据添加报头和报尾信息块。必须减少打包开销(由此过程引入的额外时间和数据)以最小化添加的延迟(通过系统的时间延迟)。因此,该过程必须在最小化传输延迟和最有效地使用网络带宽之间实现平衡 - 较小的大小允许更频繁地发送分组,而较大的分组需要更长的时间来构成。另一方面,较大的数据包会在较大的语音数据块中分摊报头和报尾信息,因此它们比较小的数据包更有效地使用网络带宽。

从本质上讲,网络会导致数据速率传输变化很大。这种变化称为 jitter ,通过缓冲数据包足够长的时间来消除,以确保最慢的数据包及时到达,以正确的顺序进行解码。当然,较大的抖动缓冲器会导致更多的整体系统延迟。

如上所述,延迟表示通过IP系统的时间延迟。 单向延迟是指从单词发出到呼叫另一端的人听到单词的时间。 往返延迟只是两个单向延迟的总和。延迟值越低,会话的声音就越自然。对于北美的PSTN电话系统,往返延迟小于150毫秒。

对于VoIP系统,单向延迟高达200毫秒被认为是可以接受的。 VoIP系统中延迟的最大因素是网络和呼叫两端的网关。 语音编解码器(编码器 - 解码器)增加了一些延迟 - 但相比之下这通常很小(<20 ms)。

当语音网络应用程序中的延迟很大时,主要挑战是取消回声并消除重叠。 回声消除直接影响感知质量;当往返延迟超过50毫秒时变得很重要。当单向延迟超过200毫秒时,语音重叠成为一个问题。

因为语音对话过程中大部分时间都是“死时间” - 在没有说话者说话的情况下 - 编解码器会利用在这些间隔期间不传输任何数据。这种“静音压缩”技术可检测语音活动,并在没有语音活动时停止传输数据,而是产生“舒适”噪音,以确保在没有人说话时线路不会显得死亡。

在标准的PSTN电话系统中,由于各种原因会降低降低感知质量的回声。两个最常见的原因是威廉希尔官方网站 交换网络中的阻抗不匹配(“线路回波”)以及电话中麦克风和扬声器之间的声学耦合(“声学回声”)。当网络中存在双线到四线转换时(例如,模拟信号被转换为T1系统),线路回波很常见。

因为VoIP系统可以链接到PSTN ,他们必须能够处理线路回声,而IP电话也可能成为声学回声的牺牲品。回声消除器可以进行优化,以在线路回声,声学回声或两者上进行操作。取消的有效性直接取决于所用算法的质量。

回声消除器的一个重要参数是它运行的数据包的长度。简而言之,回声消除器保留了传输信号的副本。在发送信号之后的给定时间内,它寻求从返回的反射信号中相关和减去发送的信号 - 当然,该信号被延迟并且幅度减小。为了实现有效取消,通常使用标准相关窗口大小(例如,32 ms,64 ms或128 ms)就足够了,但可能需要更大的尺寸。

新兴和当前基于VoIP的应用程序

由于整个高速网络(而不是专用信道)被用作传输机制,因此VoIP系统的主要优点是每个通信会话的成本更低。此外,VoIP呼叫允许网络运营商避免与威廉希尔官方网站 交换电话网络相关的大多数互连费用;完成VoIP电话呼叫所需的额外基础设施很少,因为它使用现有的家用或商用个人计算机(PC)网络。降低成本的另一个原因是数据网络运营商通常没有使用所有可用带宽,因此额外的VoIP服务目前会产生无关紧要的额外成本开销负担。

VoIP用户倾向于将他们的连接视为“免费”,因为他们可以随时随地拨打世界任何地方的电话,每分钟只需几美分。虽然他们也向互联网服务提供商支付月费,但它可以通过数据和语音服务进行摊销。

除了相对于威廉希尔官方网站 交换域的低成本外,还有许多IP服务的新功能变得可用。例如,PSTN上的来电可以自动重新路由到用户的VoIP电话,只要它连接到网络节点即可。这种安排明显优于全球手机,因为不涉及漫游费用 - 从VoIP的角度来看,最终用户的位置无关紧要;它被简单地视为另一个网络连接点。这在无线局域网(LAN)可用的情况下尤其有用;支持IEEE标准802.11的VoIP手机允许在全球Wi-Fi热点进行对话,而无需担心不匹配的通信基础设施和传输标准。

到目前为止,与IP语音相关的所有内容都进行了扩展其他形式的基于数据的通信也是如此。毕竟,一旦数据被数字化和打包,内容的性质就没那么重要了,只要它被适当地编码并用足够的带宽解码即可。因此,VoIP基础设施便于实现全新的网络化实时应用,例如:

视频会议

远程视频监控

模拟电话适配器

多播

即时消息

游戏

电子白板

更接近查看VoIP系统

图1显示了VoIP系统的关键组件:信令过程,编码器/解码器,传输机制和交换网关。

Blackfin处理器

信令过程涉及创建,维护和终止节点之间的连接。

为了降低网络带宽要求,音频和视频在传输之前进行编码并在接收期间解码。此压缩和转换过程受音频和视频流的各种编解码器标准控制。

压缩数据包通过由一个或多个传输协议控制的网络移动。 交换网关确保数据包集在目的地与另一个基于IP的系统或PSTN系统互操作。在最终目的地,数据包集被解码并转换回音频/视频信号,此时它通过接收器的扬声器和/或显示单元播放。

OSI(开放系统互连)七层模型(图2)指定了网络框架。如果通信会话有两方,则每个数据生成的数据从顶部开始,经历任何所需的配置和通过层处理,并最终传送到物理层以通过介质传输。在目的地,处理反向进行,直到最后重新组装数据包并将数据提供给第二个用户。

会话控制:H.323与SIP

VoIP系统的第一个要求是会话控制协议,以建立在线状态并定位用户,以及设置,修改和终止会话。目前有两种广泛使用的协议。从历史上看,这些协议中的第一个是H.323 *,但SIP(会话启动协议)正在迅速成为主要标准。让我们来看看每个人所扮演的角色。

国际电信联盟(ITU)H.323

H.323是最初为实时多媒体开发的ITU标准(语音)和视频)会议和补充数据传输。它已迅速发展以满足VoIP网络的要求。从技术上讲,它是许多必需和可选的网络和媒体编解码器标准的容器。 H.323的连接信令部分由H.225协议处理,而H.245支持特征协商。

SIP(会话发起协议)

SIP定义由IETF(互联网工程任务组)根据RFC 3261开发。它是专门为IP电话和其他互联网服务开发的 - 尽管它在很多方面与H.323重叠,但它通常被认为是一种更简化的解决方案。

< p> SIP与SDP(会话描述协议)一起用于用户发现;它提供功能协商和呼叫管理。 SDP本质上是用于在会话通知和邀请期间描述流媒体的初始化参数的格式。 SIP / SDP对有点类似于H.323标准中的H.225 / H.245协议集。

SIP可以在只有两个端点且没有服务器基础结构的系统中使用。但是,在公共网络中,使用特殊代理和注册服务器来建立连接。在这样的设置中,每个客户端向服务器注册自己,以便允许呼叫者从因特网上的任何地方找到它。

传输层协议

上面的信令协议负责用于跨网络配置多媒体会话。建立连接后,通过利用一个或多个数据传输协议(如UDP或TCP)建立网络节点之间的媒体流。

UDP(用户数据报协议)

UDP是一种网络协议,仅覆盖广播的数据包。没有确认在另一端收到了数据包。由于无法保证传输,因此当网络上存在峰值负载时,语音传输将无法与UDP单独工作。这就是为什么像RTP这样的媒体传输协议通常在UDP之上运行的原因。

TCP(传输控制协议)

TCP使用客户端/服务器通信模型。客户端请求(并由其提供)网络中的另一计算机(服务器)的服务。每个客户端请求都是单独处理的,与之前的任何请求无关。这可确保“免费”网络路径可供其他渠道使用。

TCP会创建较小的数据包,这些数据包可以通过Internet传输,并在呼叫的另一端由TCP层接收,这样数据包就会“重新组合”回原始消息。 IP层解释每个数据包的地址字段,使其到达正确的目的地。

与UDP不同,TCP确保在接收端完全接收数据包。但是,它通过允许数据包重新传输来实现这一点,这会增加对实时数据没有帮助的延迟。对于语音,由于重传而导致的延迟分组与丢失的分组一样糟糕。由于这一特性,TCP通常不被认为是实时流媒体传输的适当传输。

图2显示了TCP / IP Internet模型及其相关协议如何与各种层进行比较和利用OSI模型。

Blackfin处理器

媒体传输

如上所述,直接通过传输协议发送媒体数据对于实时通信来说效率不高。因此,媒体传输层通常负责以有效的方式处理此数据。

RTP(实时传输协议)

RTP为实时分组化音频和视频数据提供传送服务。它是通过IP网络传输实时数据的标准方法。该协议驻留在UDP之上,以最小化数据包报头开销 - 但需要付出代价;无法保证可靠性或数据包排序。与TCP相比,RTP的可靠性较低 - 但它在数据包传输中的延迟较小,因为其数据包头开销远小于TCP(图3)。

Blackfin处理器

为了维护在给定QoS级别的情况下,RTP对发送的每个数据包使用时间戳,序列编号和传递确认。它还支持许多纠错方案,以提高稳健性,以及加密数据包的一些基本安全选项。

图4比较了UDP,RTP和TCP的性能和可靠性。

Blackfin处理器

RTCP(RTP控制协议)

RTCP是一种补充协议,用于传递控制信息,例如发送和丢失的数据包数,抖动,延迟和端点描述。它对于管理会话时基和分析RTP流的QoS非常有用。它还可以为RTP数据包的有限重传提供反向信道。

媒体编解码器

VoIP堆栈的顶部是处理传输的实际媒体的协议。可能有相当多的音频和视频编解码器可以馈入媒体传输层。最常见的样本可以在本文最后一页的侧栏中找到。

许多因素有助于确定编解码器的可行性 - 包括如何有效地利用可用的系统带宽,它如何处理数据包丢失,以及与之相关的成本,包括知识产权使用费。

Blackfin VoIP Collateral

与利用两个处理器内核提供的传统VoIP嵌入式解决方案不同VoIP功能,Blackfin处理器在统一核心架构中提供融合解决方案,允许语音和视频信号处理与RISC MCU处理同时处理网络和用户界面需求。这种在单个融合处理器上提供完整VoIP功能的独特能力提供了统一的软件开发环境,更快的系统调试和部署,以及更低的整体系统成本。

例如,ADSP-BF537 Blackfin处理器系列为VoIP部署提供了必要的集成度和性能,以及低功耗。它具有多个集成串行端口(用于无缝连接到音频模数(A / D)和数模(D / A)转换器),外部存储器控制器,用于LCD或视频编码器/解码器连接的并行外设接口(PPI),以及10 / 100BaseT以太网MAC。如有必要,可通过外部存储器接口安装第二个以太网MAC。

完整的通信渠道(包括语音和网络堆栈)使用的处理带宽不到75 MIPS。由于ADSP-BF537的性能高达600 MHz,因此有必要在多媒体压缩或解压缩等功能的基础上,在VoIP产品组合中提供大量可用的处理器“马力”。相比之下,竞争的专用VoIP选择通常是性能受限的,并且几乎没有提供功能或差异化的能力。

对于VoIP应用,基于Blackfin的设计针对高质量,低通道数的VoIP解决方案 - 具有处理空间,以适应音乐,视频和图像传输等附加功能,以及整体系统控制。以下是可用VoIP产品的样本,从开源解决方案到大批量OEM参考设计:

Blackfin / Linphone

Blackfin VoIP系统可以使用open-design设计源代码软件基于μClinux,它是流行的GNU / Linux操作系统的嵌入式版本。一个这样的通用公共许可证(GPL许可)IP电话包,称为基于SIP套件的Linphone,已经移植到用于Blackfin处理器的μClinux,允许Blackfin参考设计与任何SIP通信兼容的端点。在具有适当SIP服务器和网关基础结构的公共网络中,该系统甚至可用于连接PSTN节点上的电话。对于语音编码和解码,Linphone目前的Blackfin实现支持:G.711(A-law和m-law), GSM (全球移动通信系统)和 Speex < / em>音频压缩格式。

Blackfin Linphone参考设计中使用的主要组件是:

Linux TCP / IP网络堆栈:包括必要的传输和控制协议,例如TCP和UDP。

Linphone:主要的VoIP应用程序,包括基于Blackfin的G.711和GSM编解码器实现。它包括用于桌面PC的图形用户界面(GUI)和用于非图形嵌入式系统的简单命令行应用程序。

oRTP:一个实现为Linphone开发并根据LGPL许可证发布的RTP协议栈。

oSIP:根据LGPL许可证发布的SIP协议的线程安全实现。

Speex:Speex编解码器的开源参考实现。针对定点Speex实现的Blackfin特定优化已经回馈到主线代码分支。

Unicoi Systems基于Blackfin的融合语音网关

Fusion语音网关(图5) )是Unicoi Systems的完整语音网关/终端适配器参考设计。凭借在单核Blackfin处理器上运行的路由器功能和全功能SIP电话,Fusion Voice Gateway可以加快终端适配器的上市时间。

Fusion Voice Gateway功能强大的功能,包括G.168回声消除和多个G.7xx语音编解码器。 Fusion参考设计还包括全功能的电话和路由器功能,它结合了互联网路由器,4端口以太网交换机和VoIP网关功能。

Unicoi Systems基于Blackfin的Fusion IP电话

<来自Unicoi Systems的Fusion IP电话是一个完整的软件/芯片解决方案,提供支持当前和新兴IP电话标准的全功能平台,并具有产品差异化的扩展功能。

Fusion IP电话参考设计降低了BOM成本以及与开发IP电话相关的时间和复杂性。该参考设计软件围绕ADSP-BF536设计,提供关键处理(例如,实时操作系统,呼叫管理器,语音算法,全双工免提电话的回声消除),通信协议(TCP / IPv4 / v6,SIP) ,RTP等)以及构建基本或高级IP电话所需的外围功能(LCD和键盘控制器等)。

Blackfin BRAVO VoIP参考设计

模拟设备Blackfin BRAVO TM VoIP和可视电话参考设计是OEM制造功能丰富,高性能,低成本VoIP桌面电话,可视电话和电话适配器的完整系统解决方案。这些设计包括用于VoIP应用的全套软件,全部由一整套应用程序接口(API)控制,用于定制和控制核心系统功能。

用于音频,这些设计支持多个G.7xx音频编解码器,符合G.168标准的网络回声消除和声学回声消除功能,可提高音频清晰度。可选地,RF收发器可以包括在设计中以提供无线音频能力。这些设计支持符合H.323和SIP标准的软件堆栈。

在视频方面,BRAVO宽带音频/视频通信参考设计(图6)提供高达每秒30帧的通用中间格式(CIF)彩色视频,包括支持ITU标准H.263和H.264视频编解码器,画中画,带叠加的高分辨率图形,alpha和色度键控以及防闪烁过滤

Blackfin处理器

结论

显然,VoIP技术有可能彻底改变人们的沟通方式 - 无论是在家还是在工作,插入或不受限制,视频功能还是只是简单的心胸。 Blackfin处理器的功能和多功能性,与各种标准一起使用,将使VoIP在嵌入式环境中越来越普遍,在许多尚未体验这项激动人心的技术优势的市场中创造增值功能。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分