一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

使用Blackfin 处理器设计您自己的VoIP解决方案-稍后添加增强功能

来源:analog 发布时间:2024-03-25

摘要: 互联网协议语音(VoIP)的时代已经到来,它将电话和数据通信结合在一起,通过低成本的互联网链路提供分组语音和传真数据流。

互联网协议语音(VoIP)的时代已经到来,它将电话和数据通信结合在一起,通过低成本的互联网链路提供分组语音和传真数据流。从电路交换到分组交换网络的转变,目前正在以极快的速度继续进行,这鼓励了远远超出简单语音传输的应用程序,包括其他形式的数据,并允许它们在同一基础设施上传输。

嵌入式系统设计人员面临的挑战是选择一种具有成本效益、易于部署和跨市场性能可扩展的处理解决方案。“最佳点”嵌入式解决方案方法是设计一个平台,可以实现低信道数的基本VoIP解决方案,同时保留大量增值功能和服务的容量,如视频、音乐、成像和系统控制。下面的讨论表明,来自Devices的Blackfin处理器家族提供了这样一个有吸引力的解决方案。

什么是VoIP?

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

VoIP替代方案使用互联网协议(IP)通过互联网或专用网络发送数字化语音流量。一个IP包由一串数字组成,其中包含一个控制头和一个数据有效载荷。报头为报文提供网络导航信息,负载包含压缩后的语音数据。

当电路交换电话处理整个消息时,基于voip的数据传输是基于分组的,因此数据块被打包(分成传输单元),压缩并通过网络发送-最终在指定的接收端重新组装。关键是在发射器和接收器之间不需要专用链路。

打包非常适合在网络上传输数据(例如,JPEG文件或电子邮件),因为传输属于非时间关键的“尽力而为”类别。网络在同一媒介上有效地从多个来源传输数据。然而,对于语音应用程序,“尽力而为”是不够的,因为数据包在网络中传输时的可变长度延迟会降低接收端解码音频信号的质量。出于这个原因,VoIP协议通过QoS(服务质量)技术,专注于管理网络带宽,以防止因降低语音质量而导致的延迟。

对语音数据进行打包包括向数据块中添加头信息和尾信息。必须减少分组开销(该过程引入的额外时间和数据),以尽量减少增加的延迟(通过系统的时间延迟)。因此,该过程必须在最小化传输延迟和最有效地利用网络带宽之间取得平衡——较小的大小允许更频繁地发送数据包,而较大的数据包需要更长的时间来编写。另一方面,较大的数据包将头和尾信息分摊到更大的语音数据块上,因此它们比较小的数据包更有效地使用网络带宽。

就其本质而言,网络会导致数据传输速率发生相当大的变化。通过将数据包缓冲足够长的时间,以确保最慢的数据包及时到达,以便按正确的顺序解码,可以消除这种称为抖动的变化。当然,更大的抖动缓冲区会导致更大的整体系统延迟。

如上所述,延迟表示通过IP系统的时间延迟。单向延迟是从一个词被说出到另一端的人听到它的时间。往返延迟只是两个单向延迟的总和。延迟值越低,对话听起来就越自然。对于北美的PSTN电话系统,往返延迟小于150ms。

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

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

因为在语音对话期间经过的大部分时间是“死时间”——在此期间没有说话者说话——编解码器通过在这些间隔内不传输任何数据来利用这种沉默。这种“静音压缩”技术检测语音活动,并在没有语音活动时停止传输数据,而是产生“舒适”噪声,以确保线路在没有人说话时不会出现死线。

在标准的PSTN电话系统中,由于各种原因可能会发生降低感知质量的回声。两个最常见的原因是电路交换网络中的阻抗不匹配(“线路回波”)和电话中麦克风和扬声器之间的声学耦合(“声学回波”)。当网络中有两线制到四线制转换时(例如,将信令转换为T1系统),线路回波很常见。

由于VoIP系统可以连接到PSTN,因此它们必须能够处理线路回波,而IP电话也可能成为声学回波的受害者。回声消除器可以优化为在线回波,声学回波,或两者兼而有之。消去的效果直接取决于所用算法的质量。

回音消除器的一个重要参数是它所操作的数据包的长度。简而言之,回声消除器保留了传输信号的副本。在信号发出后的一段给定时间内,它试图将发射信号与返回的反射信号相关联并相减——反射信号当然是延迟的,幅度减小了。为了实现有效的消除,通常使用标准的相关窗口大小(例如,32毫秒、64毫秒或128毫秒)就足够了,但可能需要更大的尺寸。

新兴和当前基于voip的应用

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

VoIP用户倾向于认为他们的连接是“免费的”,因为他们可以在世界上任何地方拨打电话,只要他们想要,每分钟只要几分钱。虽然他们每月也要向互联网服务提供商支付费用,但这笔费用可以摊销到数据和语音服务上。

除了相对于电路交换领域的低成本之外,IP服务的许多新特性也变得可用。例如,只要用户的VoIP电话连接到网络节点,PSTN上的来电就可以自动重路由到该用户的VoIP电话。这种安排明显优于全球手机,因为没有漫游费——从VoIP的角度来看,最终用户的位置是无关紧要的;它仅仅被看作是另一个网络连接点。这在无线局域网(LANs)可用的情况下特别有用;支持ieee标准802.11的VoIP手机允许在全球Wi-Fi热点进行对话,而无需担心不匹配的通信基础设施和传输标准。

到目前为止,关于ip语音的所有讨论都延伸到其他形式的基于数据的通信。毕竟,一旦数据被数字化和打包,内容的性质就不太重要了,只要它被适当地编码和解码,并有足够的带宽。正因为如此,VoIP基础设施促进了一套全新的网络实时应用,例如:

  • 视频会议

  • 远程视频监控

  • 电话适配器

  • 多播

  • 即时消息

  • 游戏

  • 电子白板

详细了解VoIP系统

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


图1所示 (a)简化表示可能的IP电话网络连接。(b)端点之间的信令和传输流。

信令过程包括创建、维护和终止节点之间的连接。

为了减少对网络带宽的要求,音频和视频在传输前进行编码,在接收时进行解码。这种压缩和转换过程由音频和视频流的各种编解码器标准控制。

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

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

会话控制:H.323与SIP

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

国际电信联盟H.323

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

SIP(会话发起协议)

SIP由IETF (Internet Engineering Task Force)在RFC 3261下定义。它是专门为IP电话和其他互联网服务开发的,尽管它在许多方面与H.323有重叠,但它通常被认为是一种更精简的解决方案。

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

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

传输层协议

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

用户数据报协议

UDP是一种网络协议,只覆盖广播出去的数据包。在另一端没有收到数据包的确认。由于传输不能保证,当网络上有峰值负载时,语音传输仅使用UDP将不能很好地工作。这就是为什么像RTP这样的媒体传输协议通常运行在UDP之上的原因。

TCP(传输控制协议)

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

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

与UDP不同,TCP保证在接收端完全接收数据包。然而,它通过允许数据包重传来实现这一点,这增加了对实时数据没有帮助的延迟。对于语音来说,由于重传而延迟的数据包与丢失的数据包一样糟糕。由于这个特点,TCP通常不被认为是实时流媒体传输的合适传输方式。

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


图2 开放系统互连和TCP/IP模型。

媒体传输

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

实时传输协议

RTP为实时打包的音视频数据提供交付服务。这是在IP网络上传输实时数据的标准方式。该协议位于UDP之上,以最小化数据包报头开销,但这是有代价的;没有可靠性或包排序的保证。与TCP相比,RTP不太可靠,但它在数据包传输中的延迟更短,因为它的数据包头开销比TCP小得多(图3)。


图3 RTP帧的报头结构和有效载荷。

为了保持给定的QoS级别,RTP对发送的每个数据包使用时间戳、序列号和交付确认。它还支持许多增强健壮性的纠错方案,以及用于加密数据包的一些基本安全选项。

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


图4 性能vs可靠性。

RTCP (RTP控制协议)

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

媒体编解码器

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

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

Blackfin VoIP抵押品

与传统的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参考设计:

黑鳍白鲑/ Linphone

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

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

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

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

oRTP:为Linphone开发的RTP栈的实现,并在LGPL许可下发布。

oSIP:在LGPL许可下发布的SIP协议的线程安全实现。

Speex:Speex编解码器的开源参考实现。针对定点Speex实现的blackfin特定优化已被贡献回主线代码分支。

Unicoi系统基于blackfin的融合语音网关

融合语音网关(图5)是来自Unicoi系统的完整语音网关/终端适配器参考设计。凭借路由器功能和全功能的SIP电话在单核Blackfin处理器上运行,Fusion语音网关允许终端适配器快速上市。


图5 来自Unicoi系统的基于blackfin的融合语音网关。

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

Unicoi Systems基于blackfin的融合IP话机

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

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

Blackfin BRAVO VoIP参考设计

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

对于音频,这些设计支持多种G.7xx音频编解码器,g .168兼容的网络回波消除和声学回波消除,以增强音频清晰度。可选地,射频收发器可以包括在设计中,以提供无线音频功能。该设计支持H.323和sip兼容的软件堆栈。

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


图6 Blackfin BRAVO宽带音频/视频通信参考设计,功能图。

结论

很明显,VoIP技术有可能彻底改变人们的交流方式——无论他们是在家里还是在工作中,是插电还是不插电,是视频还是单纯的音频。Blackfin处理器的强大功能和多功能性,与各种标准一起工作,将使VoIP在嵌入式环境中越来越普遍,在许多尚未体验到这种令人兴奋的技术优势的市场中创造增值功能。


*确切地说,会话控制和发起的任务在H.225.0和H.245的域中,它们是H.323伞形协议的一部分。

媒体编解码标准

音频编解码器

G.711

g .711是在64 kbps信道上对电话音频进行编码的国际标准,于1988年推出,是本文介绍的选项中最简单的标准。G.711中使用的唯一压缩是压缩(使用m-law或A-law标准),它将每个数据样本压缩为8位字,产生64 kbps的输出比特率。H.323标准规定G.711必须作为语音通信的基准。

G.723.1

G.723.1是一种基于代数编码激发线性预测(ACELP)的双比特率编解码器,于1996年发布,目标是VoIP应用。G.723.1的编码时间框架为30毫秒。每个帧可以编码为20字节或24字节,从而分别转换为5.3 kbps或6.3 kbps的流。通过语音活动检测和舒适噪声的产生可以有效地降低比特率。编解码器提供了良好的免疫网络缺陷,如丢失帧和比特错误。G.723.1适用于视频会议应用,根据多媒体通信的H.324国际标准家族的描述。

G.729

1996年发布的另一种语音编解码器是低延迟的G.729音频数据压缩算法,它将语音分成10毫秒的帧。它使用一种称为共轭结构ACELP (CS-ACELP)的算法。G.729通过10毫秒帧将8 kHz采样的16位信号压缩为8 kbps的标准比特率,但它也支持6.4 kbps和11.8 kbps的速率。此外,它还支持语音活动检测和舒适噪音生成。

GSM

GSM语音编解码器在世界各地的移动电话系统中得到使用。这些标准的管理机构是欧洲电信标准协会(ETSI)。自GSM全速率(GSM- fr)标准问世以来,该领域的标准不断发展。该标准使用CELP的变体,称为规则脉冲激发线性预测编码器(RPELPC)。输入语音信号被分成20毫秒的帧。每一帧被编码为260位,从而产生13 kbps的总比特率。免费的GSM-FR实现可以在某些限制下使用。

Speex

Speex是一种为语音编解码器设计的开源/免费软件音频压缩格式,由Xiph.org发布,其目标是成为一个完全无专利的语音解决方案。与许多其他语音编解码器一样,Speex基于带有残余编码的CELP。它可以将8khz, 16khz和32khz的线性PCM信号编码为2kbps到44kbps的比特率。Speex对网络错误具有弹性,并且支持语音活动检测。除了允许可变比特率外,Speex还具有立体声编码的独特功能。源代码可从Speex.org获得,其中包括用于窄带压缩的汇编级优化,以及基于blackfin的回声消除器。

视频编解码器

H.261

该标准于1990年制定,是第一个广泛使用的视频编解码器。它引入了将一帧分割成16 × 16的“宏块”的思想,这些宏块在帧之间被跟踪以建立运动补偿向量。它主要针对在ISDN线路(p × 64kbps,其中p的取值范围为1 ~ 30)上的视频会议应用。输入帧通常是CIF (352 × 288),每秒30帧(fps),输出压缩帧占用64kbps到128kbps的10fps分辨率。虽然今天仍在使用,但H.263已在很大程度上取代了它。然而,H.323规定H.261必须作为视频通信的基线。

h .

这种编解码器在视频会议中无处不在,在任何比特率下都优于H.261。输入源通常是四分之一通用中间格式(QCIF) (176 × 144)或CIF (30 fps),输出比特率可以低于28.8 kbps (10 fps),以获得与H.261相同的性能。因此,H.261需要一条ISDN(综合业务数字网络)线路,而H.263可以使用普通电话线。H.263用于终端市场,如视频电话和网络监控,它在基于ip的应用程序中很流行。

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: