牟海维+田博文+徐佳琦+黄颖
文章编号: 10055630(2014)03023405
收稿日期: 20131223
基金项目: 黑龙江省教育厅科技项目(12511004)
作者简介: 牟海维(1963),男,教授,主要从事测试技术及信息处理方面的研究。
摘要: 采用FPGA为控制核心的多功能音乐控制系统,对声卡的数据进行光纤传输,通信符合AES10协议。通过FPGA的强大功能对其数据进行编解码,再与多达32个音频设备(包括左右声道)进行IIS协议通信。本设备完成了多功能音乐控制设备的功能,并在Quartus II环境下做了综合与仿真,达到了预期稳定的效果,为将来的音乐与计算机的有机结合提供了良好的平台。
关键词: FPGA; AES10协议; 光纤传输; IIS协议
中图分类号: TH 741.4文献标志码: Adoi: 10.3969/j.issn.10055630.2014.03.010
Research on multifunction music control system
based on the AES10 optical bus
MU Haiwei, TIAN Bowen, XU Jiaqi, HUANG Ying
(College of Electronic Science, Northeast Petroleum University, Daqing 163318, China)
Abstract: This paper introduces the multifunction music control system with FPGA as the control center. The sound card data transmission using optical fiber, is in compliance with AES10 protocol, encoding and decoding through powerful capabilities of FPGA, and then with up to 32 audio devices (including left and right channels) connected via IIS protocols. The device implements a multifunction music control device prototype, makes a series of simulation, achieves the desired stabilizing effect, and provides a good platform for the combination of music and the computer in the future.
Key words: FPGA; AES10 agreement; optical fiber transmission; IIS agreement
引言光纤通信越来越多地应用到通信领域,与FPGA(field programmable gate array)技术的结合更是成为通信系统领域的主流,它的高速、稳定等优势使得多路、多向信号的传输成为可能[1]。本设计采用的AES10(audio engineering serial)协议被广泛推荐用于音频信号传输中,它有着极高的编码效率,从而在时钟固定的情况下,最大限度地传输数据。本文采用FPGA技术,应用硬件描述语言实现AES10协议与IIS协议的转换,从而控制多通道音频设备的运行。1总体设计方案本系统由光纤传输、光纤接收、FPGA数据编解码、AD/DA音频设备驱动等部分组成。声卡数据通过光纤发射和接收数据,数据采用ASE10协议,速率为125 Mbit•s-1。接收采用AFBR5803AQZ型号发射接收头,它常用于以太网的光纤传输中,传统速率为100~125 Mbit•s-1,符合本设计的要求。FPGA是本设计的核心,采用VHDL语言编程,实现AES10的串行总线数据与多路、多通道的IIS总线之间的转换。音频输出设备采用CS4334型号DA芯片,音频输入设备采用CS5334型号AD芯片。整体结构框图如图1所示。
图1总体结构框图
Fig.1The structure diagram
光学仪器第36卷
第3期牟海维,等:基于AES10光纤总线多功能音频控制系统的研究
2AES10通信协议
2.1AES10协议结构AES10协议描述了一个串行多通道音频数字接口[2],简称MADI(multichannel audio digital interface)。协议规定了同轴电缆或光纤的28、56、64个通道等三种格式。音频取样频率为32~96 kHz。只支持单点发射、单点接收。每个通道包含32个比特位,其中最高4位分别为有效位(validity)、用户位(user)、状态位(status)和奇偶校验位(parity)。中间24位为数据位,因此数据的最高分辨率可达24位,若数据不够24位,剩余位可以空缺或者被人为分配若干控制位,而低4位则控制通道的使能和控制左右声道。通道的结构图如图2所示。
图2AES10通道数据结构图
Fig.2Block diagram of AES10 channel data
2.2光纤通信技术光纤通信作为一个新兴科技已经在通信领域中脱颖而出,以其频带宽、功耗低、传输距离长、抗电磁干扰等优势在现代通信中起着举足轻重的作用。本设计采用AFBR5803AQZ型号光纤收发器来传输声卡与FPGA之间的通信数据,其异步传输速率可达到100~125 Mbit•s-1。它的光学性能良好,符合FDDI(fiber distributed data interface)标准,被广泛应用在以太网和光纤接口中[3]。
2.34B/5B编码
AES10协议之所以传输效率高,根本原因是利用了4B/5B方式编码。4B/5B编码在百兆以太网
表14B/5B编码表
Tab.1The code table of 4B/5B
4 bit数据5 bit数据4 bit数据5 bit数据000011110100010010000101001100110011001010100101010110001110101101110111010001010110011010010101011110111011011001110111011100011101111111111101
和光纤通信中被广泛应用,它具有编码效率高、易实现等优势。通信过程中常常需要在接收到的数据中提取同步时钟,以保证设备之间的同步,所以整个数据流中要尽可能多地产生跳变,即保证不会产生过多连续的高电平或过多的连续低电平。因而数据的跳变对整个数据转换显得尤为重要。4B/5B的转换方式是将原本4位数据转换成5位数据,5位数据有32种组合方式,但要保证每5位数据中不多于3个低电平,并且不少于2个高电平。这样不仅达到了数据流对跳变的要求,而且其转换效率高达80%,保证了传输效率。目前,国际上通用的编码规则如表1所示。
2.4AES10编码方法在编码过程中,先将每个通道的32位数据分解成8组4位码,再通过4B/5B方式转换成5位码,这样原本32位的数据变成了40位进行传输。在传输过程中,通道与通道之间要适当地加入一些同步符号。这些同步符号没有固定的插入点,并且相邻通道间的同步符号数量也不固定,是由用户自行安排的。国际上默认的同步符号为11000 10001,它区别于4B/5B的编码结果,从而实现数据的同步[4]。在标准传输链路中的数据频率应该符合以下三种范围:(1)音频信号32~48 kHz,56通道。(2)音频信号32~48 kHz,64通道。(3)音频信号64~96 kHz,28通道。本设计采用64通道,每个通道的音频数据频率为48 kHz。链路上总的信号速率为125 Mbit•s-1。3FPGA设计与仿真
3.1FPGA设计结构本设计采用的FPGA处理器是Altera公司的Cyclone II系列EP2C8芯片[5],整体设计采用VHDL语言编程,并且在Quartus II 9.0开发平台上综合及仿真。FPGA整体结构图如图3所示。
图3FPGA内部功能结构图
Fig.3Structure of FPGA internal function
FPGA实现声卡与音频设备的连接,首先要提取声卡上的数据同步时钟,根据同步时钟进行AES10解码,然后进行串并转换,最后根据IIS协议将数据传给音频接口。同时,FPGA将另一路IIS协议的音频数据转化成串行数据,并进行AES10编码传入声卡。
图4同步时钟提取
Fig.4Synchronous clock extraction3.2同步时钟提取在声卡通信中,每个消息和数据都是通过一连串的码元序列来传输的,所以在接收过程中需要知道帧数据的起止时刻,指令位和数据位的位置等。这就要求接收端要有同步时钟,而同步时钟的性能好坏会直接影响系统的性能。本设计采用数字锁相的方式提取同步时钟,首先用FPGA产生一个鉴相器,将接收到的信号与本地时钟分频以后的时钟做相位比较。若二者有相位差,鉴相器将用此相位差信号去调整同步信号的相位,直至相位差到零为止。其结构框图如图4所示。
3.3FPGA编解码及仿真AES10协议的核心是4B/5B编解码,作为一种高性能的串行标准,其根本思想是将4 bit数据和 5 bit数据相互转换,并且根据协议找出指令与数据[6]。从编码的种类上看4B/5B编码属于数据字符编码和控制字符编码,基于VHDL语言的4B/5B编码结构图如图5所示。
图54B/5B编码结构图
Fig.5Code structure of 4B/5B
data_in为串行数据输入引脚,CONTROL模块将其分解成若干5 bit数据,每组数据通过SJFJ模块的OUTY[4:0]输出。其中CLK引脚为输入时钟,通过控制ENA使能引脚来实现数据的分解。再由Four_Five功能块进行4B/5B转换,DIN[4:0]为数据输入引脚,DOUT[3:0]为数据输出引脚。编解码的仿真波形如图6所示,CLK0为时钟输入信号,CLK2为数据输入信号。仿真时选取了一个通道的数据4B/5B解码,OUT引脚为数据输出引脚。
图64B/5B仿真波形图
Fig.6Simulation waveform of 4B/5B
FPGA将采集到的声卡数据通过IIS总线传送到音频设备中,同时还可以将音频设备的信号接收回来,再转化成声卡可识别的数据。为了减少引脚的数目,IIS总线由三根串行线组成,即数据、字同步、位同步。图7为32路IIS(左右通道)的功能模块。
图7IIS功能模块图
Fig.7Diagram of IIS function module
对一路IIS信号进行仿真,得到了如图8所示的仿真波形图。其中SCLK信号为位同步信号,LRCK为字同步信号,Data为数据信号。
图8IIS仿真波形图
Fig.8Simulation waveform of IIS
4结论本设计详细介绍了基于FPGA的音乐控制平台的开发过程以及仿真结果,着重研究了AES10的通信过程,实现了计算机与音频设备的多路通信。通过软件仿真与实验,总线速率达到了125 Mbit•s-1,音频信号无明显失真,并且稳定度较高,达到了良好的通信效果,满足了设计之初的要求,为将来的音乐与计算机的有机结合提供了帮助。参考文献:
[1]周学勋.基于FPGA的100BASETX工业以太网中继器的设计与实现[J].2011,19(16):167169.
[2]李欣,管绍军,胡晓天.基于FPGA的光纤通信系统的设计与实现[J].电子设计工程,2012,20(8):8587.
[3]韩红霞,曹立华,刘帅师.基于FPGA的光纤通信系统中帧同步头检测设计[J].电光与控制,2006,13(4):9092.
[4]于瀛洁,郭路,周文静.数字全息位相拼接实验研究[J].光学仪器,2011,33(4):5559.
[5]葛鹏,刘涛,李奇.基于FPGA+ADSP的线阵CCD非接触测量系统[J].光学仪器,2008,30(5):14.
[6]殷刚,周军.光纤共聚焦显微镜内窥镜活体内实时成像系统的设计和研究[J].
3.1FPGA设计结构本设计采用的FPGA处理器是Altera公司的Cyclone II系列EP2C8芯片[5],整体设计采用VHDL语言编程,并且在Quartus II 9.0开发平台上综合及仿真。FPGA整体结构图如图3所示。
图3FPGA内部功能结构图
Fig.3Structure of FPGA internal function
FPGA实现声卡与音频设备的连接,首先要提取声卡上的数据同步时钟,根据同步时钟进行AES10解码,然后进行串并转换,最后根据IIS协议将数据传给音频接口。同时,FPGA将另一路IIS协议的音频数据转化成串行数据,并进行AES10编码传入声卡。
图4同步时钟提取
Fig.4Synchronous clock extraction3.2同步时钟提取在声卡通信中,每个消息和数据都是通过一连串的码元序列来传输的,所以在接收过程中需要知道帧数据的起止时刻,指令位和数据位的位置等。这就要求接收端要有同步时钟,而同步时钟的性能好坏会直接影响系统的性能。本设计采用数字锁相的方式提取同步时钟,首先用FPGA产生一个鉴相器,将接收到的信号与本地时钟分频以后的时钟做相位比较。若二者有相位差,鉴相器将用此相位差信号去调整同步信号的相位,直至相位差到零为止。其结构框图如图4所示。
3.3FPGA编解码及仿真AES10协议的核心是4B/5B编解码,作为一种高性能的串行标准,其根本思想是将4 bit数据和 5 bit数据相互转换,并且根据协议找出指令与数据[6]。从编码的种类上看4B/5B编码属于数据字符编码和控制字符编码,基于VHDL语言的4B/5B编码结构图如图5所示。
图54B/5B编码结构图
Fig.5Code structure of 4B/5B
data_in为串行数据输入引脚,CONTROL模块将其分解成若干5 bit数据,每组数据通过SJFJ模块的OUTY[4:0]输出。其中CLK引脚为输入时钟,通过控制ENA使能引脚来实现数据的分解。再由Four_Five功能块进行4B/5B转换,DIN[4:0]为数据输入引脚,DOUT[3:0]为数据输出引脚。编解码的仿真波形如图6所示,CLK0为时钟输入信号,CLK2为数据输入信号。仿真时选取了一个通道的数据4B/5B解码,OUT引脚为数据输出引脚。
图64B/5B仿真波形图
Fig.6Simulation waveform of 4B/5B
FPGA将采集到的声卡数据通过IIS总线传送到音频设备中,同时还可以将音频设备的信号接收回来,再转化成声卡可识别的数据。为了减少引脚的数目,IIS总线由三根串行线组成,即数据、字同步、位同步。图7为32路IIS(左右通道)的功能模块。
图7IIS功能模块图
Fig.7Diagram of IIS function module
对一路IIS信号进行仿真,得到了如图8所示的仿真波形图。其中SCLK信号为位同步信号,LRCK为字同步信号,Data为数据信号。
图8IIS仿真波形图
Fig.8Simulation waveform of IIS
4结论本设计详细介绍了基于FPGA的音乐控制平台的开发过程以及仿真结果,着重研究了AES10的通信过程,实现了计算机与音频设备的多路通信。通过软件仿真与实验,总线速率达到了125 Mbit•s-1,音频信号无明显失真,并且稳定度较高,达到了良好的通信效果,满足了设计之初的要求,为将来的音乐与计算机的有机结合提供了帮助。参考文献:
[1]周学勋.基于FPGA的100BASETX工业以太网中继器的设计与实现[J].2011,19(16):167169.
[2]李欣,管绍军,胡晓天.基于FPGA的光纤通信系统的设计与实现[J].电子设计工程,2012,20(8):8587.
[3]韩红霞,曹立华,刘帅师.基于FPGA的光纤通信系统中帧同步头检测设计[J].电光与控制,2006,13(4):9092.
[4]于瀛洁,郭路,周文静.数字全息位相拼接实验研究[J].光学仪器,2011,33(4):5559.
[5]葛鹏,刘涛,李奇.基于FPGA+ADSP的线阵CCD非接触测量系统[J].光学仪器,2008,30(5):14.
[6]殷刚,周军.光纤共聚焦显微镜内窥镜活体内实时成像系统的设计和研究[J].
3.1FPGA设计结构本设计采用的FPGA处理器是Altera公司的Cyclone II系列EP2C8芯片[5],整体设计采用VHDL语言编程,并且在Quartus II 9.0开发平台上综合及仿真。FPGA整体结构图如图3所示。
图3FPGA内部功能结构图
Fig.3Structure of FPGA internal function
FPGA实现声卡与音频设备的连接,首先要提取声卡上的数据同步时钟,根据同步时钟进行AES10解码,然后进行串并转换,最后根据IIS协议将数据传给音频接口。同时,FPGA将另一路IIS协议的音频数据转化成串行数据,并进行AES10编码传入声卡。
图4同步时钟提取
Fig.4Synchronous clock extraction3.2同步时钟提取在声卡通信中,每个消息和数据都是通过一连串的码元序列来传输的,所以在接收过程中需要知道帧数据的起止时刻,指令位和数据位的位置等。这就要求接收端要有同步时钟,而同步时钟的性能好坏会直接影响系统的性能。本设计采用数字锁相的方式提取同步时钟,首先用FPGA产生一个鉴相器,将接收到的信号与本地时钟分频以后的时钟做相位比较。若二者有相位差,鉴相器将用此相位差信号去调整同步信号的相位,直至相位差到零为止。其结构框图如图4所示。
3.3FPGA编解码及仿真AES10协议的核心是4B/5B编解码,作为一种高性能的串行标准,其根本思想是将4 bit数据和 5 bit数据相互转换,并且根据协议找出指令与数据[6]。从编码的种类上看4B/5B编码属于数据字符编码和控制字符编码,基于VHDL语言的4B/5B编码结构图如图5所示。
图54B/5B编码结构图
Fig.5Code structure of 4B/5B
data_in为串行数据输入引脚,CONTROL模块将其分解成若干5 bit数据,每组数据通过SJFJ模块的OUTY[4:0]输出。其中CLK引脚为输入时钟,通过控制ENA使能引脚来实现数据的分解。再由Four_Five功能块进行4B/5B转换,DIN[4:0]为数据输入引脚,DOUT[3:0]为数据输出引脚。编解码的仿真波形如图6所示,CLK0为时钟输入信号,CLK2为数据输入信号。仿真时选取了一个通道的数据4B/5B解码,OUT引脚为数据输出引脚。
图64B/5B仿真波形图
Fig.6Simulation waveform of 4B/5B
FPGA将采集到的声卡数据通过IIS总线传送到音频设备中,同时还可以将音频设备的信号接收回来,再转化成声卡可识别的数据。为了减少引脚的数目,IIS总线由三根串行线组成,即数据、字同步、位同步。图7为32路IIS(左右通道)的功能模块。
图7IIS功能模块图
Fig.7Diagram of IIS function module
对一路IIS信号进行仿真,得到了如图8所示的仿真波形图。其中SCLK信号为位同步信号,LRCK为字同步信号,Data为数据信号。
图8IIS仿真波形图
Fig.8Simulation waveform of IIS
4结论本设计详细介绍了基于FPGA的音乐控制平台的开发过程以及仿真结果,着重研究了AES10的通信过程,实现了计算机与音频设备的多路通信。通过软件仿真与实验,总线速率达到了125 Mbit•s-1,音频信号无明显失真,并且稳定度较高,达到了良好的通信效果,满足了设计之初的要求,为将来的音乐与计算机的有机结合提供了帮助。参考文献:
[1]周学勋.基于FPGA的100BASETX工业以太网中继器的设计与实现[J].2011,19(16):167169.
[2]李欣,管绍军,胡晓天.基于FPGA的光纤通信系统的设计与实现[J].电子设计工程,2012,20(8):8587.
[3]韩红霞,曹立华,刘帅师.基于FPGA的光纤通信系统中帧同步头检测设计[J].电光与控制,2006,13(4):9092.
[4]于瀛洁,郭路,周文静.数字全息位相拼接实验研究[J].光学仪器,2011,33(4):5559.
[5]葛鹏,刘涛,李奇.基于FPGA+ADSP的线阵CCD非接触测量系统[J].光学仪器,2008,30(5):14.
[6]殷刚,周军.光纤共聚焦显微镜内窥镜活体内实时成像系统的设计和研究[J].