基于SOPC的蓝牙以太网语音网关的设计

发布时间:2010-8-7 14:34    发布者:lavida
关键词: SoPC , 蓝牙 , 以太网 , 语音网关
1. 引言  

近年来,随着蓝牙芯片成本的不断降低,应用进一步扩大,所有蓝牙终端设备接入并享受网络服务的可能性变得越来越大。另一方面,网络应用越来越广泛,其中热点之一即是分组语音技术。分组语音技术将语音信号转化为一定长度和速率的数字化语音包,以存储转发的方式进行交换和传输。蓝牙技术作为解决“最后10米”的无线传输技术,必将是无线个域网(Wireless Personal Network,WPAN)的首选技术。结合蓝牙技术和分组语音技术,可以使支持蓝牙的终端设备通过安全的无线链路,与蓝牙语音网关建立连接,通过以太网交换到目的蓝牙语音网关,然后与对方终端建立无线链路,完成语音的远距离传输。  

传统的蓝牙—以太网适配器通常使用ACL链路与蓝牙器件建立连接,将串行接口UART输出的数据转换成以太网帧,以实现以太网适配,这样仅能传输普通数据,无法传输语音。本文从另一方面入手,研究如何实现语音数据到以太网的协议转换,并利用网络交换语音。设计了IIS(Inter-IC Sound Bus)控制器IP核,根据需要接入的蓝牙终端多少,灵活配置IIS控制器个数,从而实现多个蓝牙终端经以太网双向语音通信。  

SOPC(System on Programmable Chip)是Altera最先提出的概念,其实质是SOC技术,与其它的SOC技术相比,特点在于可编程性,即利用FPGA的可编程性进行SOC设计。通过将验证好的IP核即知识产权核嵌入FPGA中,可以大大缩短开发周期,同时提高开发成功率。在本设计中,使用SOPC的优势在于配置灵活,满足不同接入容量的需求。  

2. 总体方案  

语音网关由二部分组成:蓝牙模块和SOPC系统,如图1所示。  

  
众所周知,1个蓝牙终端可以与其它蓝牙终端建立7个ACL链路和1个SCO链路,只有后者能用于传输实时语音,所以蓝牙网关的容量取决于内部蓝牙模块的数目。蓝牙模块采用CSR公司提供的集成蓝牙基带和射频部分的单芯片模块BluetoothCore3-Multimedia External(以下简称BC03)。BC03基于Bluecore03芯片,并提供IIS/PCM、SPI、UART/USB、PIO接口。Bluecore03内嵌16位RISC微处理器,可作为简单的嵌入式控制器及蓝牙链路控制器,运行蓝牙软件协议及高层应用程序。  

SOPC系统主要包括1片FPGA、2片8Mb SRAM、1片128Mb SDRAM、1片64Mb Flash、1片EPCS4串行配置器件(4Mb)和1片以太网控制器LAN91C111。  

3. 硬件方案  

本节由二部分组成,首先介绍Nios II系统开发流程,然后是IIS的IP核设计。  

3.1 构建NIOS II SOPC系统  

Nios II系列嵌入式处理器使用32位的指令集结构(ISA),是建立在第一代16位Nios处理器基础上的,最高可支持64位数据操作,定位于广泛的嵌入式应用。Nios II处理器包括三种内核:快速的(Nios II/f)、经济的(Nios II/e)和标准的(Nios II/s)内核。快速型(Nios II/f)处理器性能最高,但比经济型(Nios II/e)处理器多消耗25%资源。使用Altera的Quartus II 软件、SOPC Builder 工具以及Nios II 集成开发环境(IDE),可以轻松的完成基于Nios II 处理器的嵌入式系统开发。  

其中,SOPC builder内嵌在Quartus II集成环境中,允许用户以图形化方式选择CPU、存储器、标准外设和用户定义外设。本设计中,标准外设中没有IIS控制器,所以要单独设计用户外设。SOPC Builder主要生成两种文件:一种是.ptf文件,NIos II IDE根据它编译C/C++等软件;另一种是HDL文件,可以是VHDL语言,也可以是Verilog语言,提供给Quartus II,作为整个SOPC项目的一部分。Quartus II软件对HDL文件进行编译、综合、布局布线,生成硬件映像文件,然后使用ByteBlaster线缆通过JTAG下载到开发板中的Cyclone芯片中,完成硬件平台。再利用Nios II IDE编写应用程序,下载到Flash中运行、调试。  

3.1 IIS控制器IP核设计  

IIS是串行数字音频总线,目前很多音频芯片都提供对IIS的支持。BC03模块为了支持双工通信,设置了帧同步(WS)、时钟(CLK)、和输入/输出数据线,可以作为master提供帧同步和时钟,也可以作为slave接收外部提供的帧同步和时钟。  

这里使用Verilog硬件描述语言设计IIS控制器。为了实现双工通信就要分别设计接收器和发送器,它们拥有各自独立的缓冲区,共享Avalon接口,如图2所示。  

显然,要设计IIS控制器,首先得解决采样、存储问题。因此,按照IIS时序标准,设计前端的接收器,从串行比特流中提取有效语音数据组成32 bit的并行数据,然后,存储在异步FIFO中,这里设置FIFO深度为1024,宽度为32 bit。然后经过Avalon总线加入SOPC系统。  
  
Avalon是Altera公司专门为解决SOPC系统中各外设互联而设计的总线接口标准,其与一般总线的不同之处在于可裁剪,指外设可以选择Avalon总线标准信号的子集作为自己的接口信号,比如时钟、地址、数据、片选和读/写信号,就可以构成一个基本接口。而本设计中,如果采用基本接口,由于语音数据的传输速率远远低于CPU的工作速度,造成CPU的长时间等待,浪费资源,所以必须采用流量控制。  

Avalon总线中支持流量控制的信号允许slave对master发起的传输进行约束,即只有当slave准备好接收数据或者有数据要发送时,传输才开始。为了实现流量控制,slave可以使用以下信号中的一个或多个:readyfordata、dataavailable和endofpacket。当slave没有准备好接收数据时,声明readyfordata无效;反之,声明readyfordata有效。当slave没有准备好要发送的数据时,声明dataavailable无效;反之,声明dataavailable有效。endofpacket没有固定的含义,需要通信双方事先约定,可以表示一帧结束,或者通知master某个事件发生。  

4. Nios II软件设计  

Nios II系统软件主要实现蓝牙数字语音数据和以太网帧的转换。软件运行在FPGA芯片内的Nios II处理器上,编程可使用汇编语言和C/C++语言,程序基于嵌入式Lightweight TCP/IP协议栈和实时操作系统?C/OS-II[4],它们都集成在Nios II IDE开发环境里。图3描述了Nios II软件的数据流。  

  
数据输入输出任务调用DMA控制器,与底层的硬件驱动交互。管理任务和以太网通信任务各自拥有一个消息队列,前者分析处理数据帧中的控制信息,后者建立SOCKET连接并收发数据。DHCP任务自动获取IP地址,如果超时而没有得到响应,则分配事先定义的IP地址,无论是哪种方式,此任务都仅运行一次,最终释放某一信号量,使其它任务不被阻塞,然后删除自己。  

由于蓝牙模块数目较多,数据吞吐量较大,因此为每一个蓝牙模块分别设置接收/发送缓冲区来暂存数据。每个缓冲区大小4K,依次为接收缓冲区RXBUF0~RXBUFx和发送缓冲区TXBUF0~TXBUFx。为了提高系统性能,采用DMA控制器将数据从IIS接收器接收数据,暂存在接收缓冲区中;同理,将以太网数据从发送缓冲区传输到IIS发送器也是由DMA控制器完成,这样大大减轻了CPU的负担,使其专注于以太网传输。  

5. 实际测试及结论  

IIS IP核使用Verilog语言描述,在Altera公司Cyclone系列FPGA芯片EP1C20F400C8硬件平台实现,表1列出了EP1C20F400C8的基本参数,表2列出了IP核综合结果。  

  
本文介绍的基于SOPC的蓝牙-以太网语音网关具有如下特点:  

1) 系统具有很强的灵活性。这是本文设计的语音网关的最大特点,根据网关最大语音通道个数配置IIS控制器模块。由于微处理器采用Altera公司的Nios II,能够灵活调配系统资源,并且克服了采用其它处理器中存在的接口速率瓶颈问题,适应实时语音处理的要求;  
2) 系统具有很高的集成度。由于Nios II具有丰富的接口资源,而?C/OS-II具有很高可裁剪性,Lightweight TCP/IP协议栈体积非常小,可以实现系统的集成化;  
3) 系统具有很强的实时性。在设计硬件和软件时都充分考虑了系统的实时性。硬件采用IIS控制器和DMA控制器完成语音数据输入/输出,保证了“硬实时”;操作系统采用?C/OS-II实时操作系统保证了“软实时”。  

本文作者创新点:和传统的蓝牙以太网适配器不同,本文研究如何通过蓝牙语音数据到以太网的协议转换,实现分组语音通信;设计了IIS IP核,根据系统容量要求,即同时可以支持的蓝牙终端数目,配置IIS控制器个数,具有高效灵活的特点。
本文地址:https://www.eechina.com/thread-20088-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表