一种两线双向高速串行音频数据传输总线控制器的实现方法

合集下载

两通道串行音频接口系统设计方案

两通道串行音频接口系统设计方案

两通道串行音频接口系统设计方案
对于那些尝试对音频系统设计进行初步研究的人,可能会感到惊讶,因为事实上存在用于在系统内传输音频数据的标准。

尽管行业中使用了不同的命名约定,但这些显然不同的接口本质上是相同的。

为了简单起见,在此讨论中,我们将使用术语“串行音频接口(SAI)”。

到目前为止,串行音频接口是常用的机制,用于在系统中的设备之间传输两个声道的音频数据。

例如,从模数转换器到数字信号处理器(DSP),再到数模转换器,如图1所示。

串行音频接口
串行音频接口由两个控制时钟,左/右和串行时钟以及串行音频数据线组成。

尽管各种时钟使用了许多不同的名称,但它们的用途和要求几乎相同。

通用的串行音频接口如图2所示。

在以前出版的每个音频转换器和DSP数据表中都可能找到该图的某种形式。

串行音频接口格式
有几种实际的行业标准或格式,用于定义左/右时钟,串行
时钟和串行音频数据之间所需的对齐方式和信号极性。

时间对齐
串行音频接口的一个非常重要的方面是,左右采样对表示同时采样的数据或时间对齐的数据。

查看这种关系的另一种方法如图3所示,其中相同的信号连接到模数转换器的两个输入。

分析左/右样本对中的数据显示左声道和右声道是时间对齐的。

但是,如果将数据作为右/左样本对进行分析,则信号似乎相对于彼此时移了ΔT,如图4所示,其中ΔT等于音频系统样本的1个周期速度。

实施两个以上的渠道
只需添加适当数量的串行音频数据线,同时保留单个串行时钟和左/右时钟,即可轻松扩展串行音频接口以支持更大的通道数,如图5所示。

一种传输多路数据的双线同步高速传输系统[发明专利]

一种传输多路数据的双线同步高速传输系统[发明专利]

专利名称:一种传输多路数据的双线同步高速传输系统专利类型:发明专利
发明人:陈耀军,陈柏超,田翠华,郭俊华
申请号:CN202010697367.9
申请日:20200720
公开号:CN111917504A
公开日:
20201110
专利内容由知识产权出版社提供
摘要:本发明提供一种传输多路数据的双线同步高速传输系统,包括:主机、传输线、从机、多个待采集模块;传输线包括一根时钟线和一根数据线。

传输开始时刻,主机产生帧同步有效电平并输出到时钟线上,从机中检测到帧同步有效电平后,把多个待采集模块的输出数据按位合成一个数据序列,并做好传输准备,主机在维持帧同步电平若干个同步时钟周期有效后,输出同步时钟,从机通过数据线同步发送合成的数据序列,主机则同步接收数据,接收完该数据序列后,还原成对应的待采集数据,并输出数据帧同步有效电平,启动下一次传输。

本发明可以高速传输多路数据,具有较高的实时性和可靠性以及连接线少的优点。

申请人:武汉海奥电气有限公司
地址:430223 湖北省武汉市东湖开发区武汉大学科技园二路宏业楼4楼
国籍:CN
代理机构:武汉科皓知识产权代理事务所(特殊普通合伙)
代理人:许莲英
更多信息请下载全文后查看。

音频数据传输控制方法、装置、系统及可读存储介质[发明专利]

音频数据传输控制方法、装置、系统及可读存储介质[发明专利]

专利名称:音频数据传输控制方法、装置、系统及可读存储介质
专利类型:发明专利
发明人:何殿超
申请号:CN201910240804.1
申请日:20190328
公开号:CN109712631A
公开日:
20190503
专利内容由知识产权出版社提供
摘要:本发明公开了一种音频数据传输控制方法、装置、系统及可读存储介质,包括如下步骤:实时监测移动终端的当前模式,判断所述当前模式是否为游戏模式且所述游戏模式中的实时通话是否开启;若判断到所述当前模式为游戏模式且游戏模式中的实时通话开启时,移动终端控制所连接的蓝牙耳机将采集到的当前语音数据通过预设的压缩协议进行压缩以及将压缩后的当前语音数据回传到移动终端,并将音频数据通过双声道传输协议传输至已连接的蓝牙耳机。

本发明提出的音频数据传输控制方法,可提高音频质量,提升了用户体验。

申请人:南昌黑鲨科技有限公司
地址:330013 江西省南昌市南昌经济技术开发区玉屏东大街299号1#清华科技园(江西)内的华江大厦A座第八层第815-1室
国籍:CN
代理机构:北京清亦华知识产权代理事务所(普通合伙)
代理人:彭琰
更多信息请下载全文后查看。

一种高速传输音频数据的方法和装置[发明专利]

一种高速传输音频数据的方法和装置[发明专利]

专利名称:一种高速传输音频数据的方法和装置专利类型:发明专利
发明人:刘华章,余展,陈桐
申请号:CN202110596151.8
申请日:20180214
公开号:CN113489568B
公开日:
20220513
专利内容由知识产权出版社提供
摘要:一种高速传输音频数据的方法和装置,所述方法包括:基于物理层帧头对包含音频数据的协议数据单元PDU进行封装,得到音频数据包,所述物理层帧头由第一数字调制方式调制,所述PDU 由第二数字调制方式调制,其中,所述第一数字调制方式的调制速率的数值等于数据传输速率的数值,所述第二数字调制方式的调制速率的数值小于所述数据传输速率的数值;在蓝牙低功耗BLE的物理信道上,以所述数据传输速率发送所述音频数据包。

采用本申请实施例后,能够提高传输音频数据的速率,进而支持更高的高清音频数据的传输。

申请人:华为技术有限公司
地址:518129 广东省深圳市龙岗区坂田华为总部办公楼
国籍:CN
更多信息请下载全文后查看。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种两线双向高速串行音频数据传输总线控制器的实现方法瞿军武,薛骏,施彦(无锡中感微电子股份有限公司,江苏无锡,214135)摘要:本文提出了一种两线双向高速串行音频数据传输总线控制器在蓝牙耳机硬件系统中的应用,可以实现芯片间高速传输数据,实现同步发送和接收音频数据以及命令字。

同时,通过自定义数据格式,优化了数据格式,并降低了数据发送和接收的复杂度。

考虑到PAD的承受能力,目前传输速率最大可以达到18Mb/s。

仅使用两线完成了数据的传输,从而大大减少了芯片IO的使用。

关键字:蓝牙耳机;两线双向;高速;串行总线控制器;IO;FPGAA Realization Method of Two-wire Bidirectional High Speed SerialAudio Data Transmission Bus ControllerQU Jun-wu,XUE Jun,SHI Yan(Zgmicro co,.ltd,Wuxi214135,China)Abstract:This paper proposes a two-wire bidirectional high-speed serial audio data transmission bus controller applied in Bluetooth headset hardware system,which can realize high-speed data transmission between chips, synchronous transmission and reception of audio data and command words.By the self-defined data format,the data format is optimized and the complexity of data sending and receiving is reduced.Considering the bearing capacity of PAD,the maximum transmission rate can reach18Mb/s at present.Only two lines are used to complete data transmission,which greatly reduces the use of IO on chip.Key words:Bluetooth headset;two-wire bidirectional;high-speed;serial bus controller;IO;FPGA引言随着集成电路的系统时钟工作速度不断提高,芯片间高速传输音频数据就成为了可能。

从节省芯片I/O使用的角度和降低设计的复杂度,采用两线比较合理。

典型的两线传输就是I2C(Inter IC Bus)总线[1],是当前通用的芯片间两线双向传输串行总线,在高速模式下可以达到3.4Mb/s。

但这个速度对于高速双向传输音频数据显得就不够了,对于大量数据传输和一些特殊的传输(传输音频数据流中插入读写控制字)无法实现。

本文设计了一种两线双向高速串行音频数据传输总线控制器,速度可以达到18Mb/s,大大提高了传输速度,实现同步发送和接收音频数据。

同时实现了在双向传输音频数据流中插入读写控制字,提高了系统的效率。

今天得益于蓝牙技术的发展[2],蓝牙耳机已经被广泛应用,人们不但可以用它来打电话还可以用它来听音乐。

参考图1,本文应用的蓝牙耳机方案是双芯片,音频处理芯片(CHIP1)和音频接口芯片(CHIP2)。

在打电话时,耳机和手机蓝牙匹配后,语音通过麦克风PDM(脉冲密度调制)接口发送给音频接口芯片,两线双向高速串行总线控制器接收来自于音频接口芯片的音频数据,通过音频处理芯片处理后,通过蓝牙发送端将语音信号发送到手机蓝牙接收端。

接听电话时,将蓝牙耳机接收到的手机音频数据经音频处理芯片处理后,通过两线双向高速串行总线控制器发送给音频接口芯片,最后音频接口芯片将音频数据通过I2S(Inter-IC sound)接口经DAC转换后发送给耳机的两个喇叭播放。

听音乐时,处理方式和接听电话差不多,将手机播放的音乐用同样的方式发送给耳机。

参考图1,本文选用双芯片方案实现了一种两线双向高速串行音频数据传输总线控制器,控制器集成在音频处理芯片中。

其特点:①分别将音频处理芯片和音频接口芯片上的两个I/O脚(一个单向输出,一个双向输入输出)接成两线连接,参考SDIO 总线[3],其中一根作为输出时钟线SCLK(单向输出),另外一根作为双向数据线SDIO(双向输入输出)。

②两线双向高速串行总线控制器有三种传输功能,即发送、接收和同时发送和接收。

发送:将蓝牙接收端音频数据经音频处理芯片处理后,通过两线双向高速串行总线控制器发送给音频接口芯片,最后音频接口芯片将音频数据通过I2S接口经DAC转换后发送给喇叭播放。

接收:将麦克风语音数据经PDM接口发送给音频接口芯片,两线双向高速串行总线控制器接收来自于音频接口芯片的音频数据,通过音频处理芯片处理后,发送到蓝牙发送端。

同时发送和接收:可以同时进行以上两种传输,一边发送一边接收,应用在打电话场景。

本文提出的设计可以在以上三种传输中实时插入读写控制字,不需要停下传输,大大提高了系统的效率。

而且通过高速串行的方式,大大减少了芯片IO的使用。

通过自定义数据格式,优化了数据格式,并降低了数据发送和接收的复杂度。

用Verilog实现了硬件模块和硬件仿真[4],完成了FPGA测试,顺利实现了芯片量产。

1高速串行总线控制器1.1自定义串行数据格式自定义串行数据格式见图2,其中sclk为时钟线,sdio为数据线。

一共有三种格式:音频数据流帧格式、写控制字帧格式和读控制字帧格式。

其中,音频数据和控制字都是按照帧的格式发送的,一帧固定为90位数据,以10位为一个单元,一共9个单元,单元1到单元9。

1.1.1音频数据流帧格式(audio flow packet)●前2个单元为同步头图1蓝牙耳机系统结构示意图图2自定义串行数据格式sync word0表示10个1(10’b1111111111)sync word1表示10个0(10’b0000000000)这20位数据表示一帧的开始,CHIP2根据这个同步头来定位数据,获取命令和音频数据。

●第3单元为命令字其中C/D :0表示音频数据;1表示控制字。

Dir :表示传输方向,0表示CHIP1到CHIP2;1表示CHIP2到CHIP1。

R/W :0表示当前写操作;1表示当前为读操作。

Busy :0表示CHIP1不忙,可以发送数据,CHIP2可以接收数据。

1表示CHIP1忙,不能发送数据。

剩下位未被使用,Busy 前面一位用0表示。

最后一位固定为0,其余位将来扩展功能时可以被使用,比如实现多个从设备连接。

●第4到第9单元为2声道音频数据音频数据左右声道都是24位,总共48位,分别放在6个单元中。

每个单元中间放8位有效音频数据,最高位放有效位valid ,剩下最后一位补上0。

当有效位valid 为1时,传输数据为有效数据,0为无效数据。

第单元4left channel byte0第单元5left channel byte1第单元6left channel byte2第单元7right channel byte0第单元8right channel byte1图3两线双向高速串行控制器结构示意图第单元9right channel byte2除了同步字节外,其他字节最后一位都是0,防止在传输中数据出现和同步头一样的字节而找到错误的帧开始信号。

1.1.2写控制字帧格式(write control packet )●前2个单元为同步头同音频数据流帧格式一样。

●第3单元为命令字同音频数据流帧格式一样。

●第4单元为写控制字寄存器地址控制器可以对CHIP2的寄存器进行修改,本单元给出CHIP2需要修改的寄存器地址。

●第5单元为控制字根据第4单元的地址,将8位写控制字写入CHIP2的对应寄存器。

●第6单元到第9单元为等待字节因为一次只写一个控制字,4个单元就可以完成操作,剩下的4个单元没有具体意义。

这里剩下的每个单元给出一个等待字,固定为10’b1010101010。

1.1.3读控制字帧格式(audio control packet )●前2个单元为同步头同音频数据流帧格式一样。

●第3单元为命令字同音频数据流帧格式一样。

●第4单元为读控制字寄存器地址控制器可以对CHIP2的寄存器进行读操作,本单元给出CHIP2需要读的寄存器地址。

●第5单元到第8单元为等待字节因为一次只读一个控制字,4个单元就可以完成操作,剩下的4个单元没有具体意义。

这里剩下的每个单元给出一个等待字,固定为10’b1010101010。

●第9单元为读出控制字根据第4单元的地址,从CHIP2中对应的寄存器读出8位控制字。

1.2控制器实施方案两线双向高速串行控制器结构示意图参考图3,通过APB 总线(APB Bus )[5]将高速串行控制器使能信号hd_enable 配置成1,写到控制寄存器(Reg-isters Block )和启动控制器。

当hd_enable 为0时,控制器关闭,处在等待状态,默认值为1。

另外,高速串行控制器可以实现单独的控制字读写和音频数据读写以及控制字和音频控制字混合读写。

通过写控制字信号(cmd_wr_ctrl )、读控制字信号(cmd _rd_ctrl )、DMA 写信号(tx_en )和DMA 读信号(rx_en )来实现这个控制流程。

其中写控制字的优先级最高,然后依次为读控制字、DMA 音频数据同时读写,最后为DMA 音频数据读或写。

图4给出了整个状态流程图,其步骤:当控制器启动后(hd_enable=1),控制器会去查询cmd_wr _ctrl 、cmd_rd_ctrl 、tx_en 和rx_en 4个控制信号,当cmd_wr_ctrl 为1时,执行写控制字操作,直到一帧图5自定义串行时序图图4两线双向高速串行控制器实现状态图写控制字结束(trans_done=1),然后继续查询4个控制信号。

如果cmd_wr_ctrl 为0,则查询cmd_rd _ctrl 控制信号,如果为1,执行读控制字操作,直到一帧读控制字结束(trans _done=1),然后继续查询4个控制信号。

如果这两个控制信号都为0,则查询tx_en 和rx_en 控制信号。

如果tx_en 和rx_en 都为1,则执行DMA 先写后读操作,每次帧数据读写结束后(data _eop=1),继续查询4个控制信号。

相关文档
最新文档