Download presentation
Presentation is loading. Please wait.
1
McASP 广州创龙电子科技有限公司 Multichannel Audio Serial Port
Guangzhou Tronlong Electronic Technology Co., Ltd
2
McASP(Multichannel Audio Serial Port)是一个通用音频串行端口。
McASP模块包括16个串行器,可以单独激活来进行发送或接收。另外, 所有的McASP引脚都可以被配置为通用输入输出(GPIO)引脚。 2 广州创龙电子科技有限公司
3
McASP 支持的协议 发送部分支持 多种格式如I2S 和类似的位流格式 TDM 数据流支持2-32 时隙
S / PDIF,IEC ,AES-3格式 接收部分支持 384 时隙的TDM 数据流格式专为连接外部数字音频接口接收器(DIR)而 设计,DIR 使用I2S 格式输出至McASP(每个子帧有一个时隙) 3 广州创龙电子科技有限公司
4
McASP 结构 4 广州创龙电子科技有限公司
5
McASP 管脚 管脚 类型 描述 ACLKR I/O McASP接收位时钟 ACLKX McASP发送位时钟 AFSR
AFSX McASP发送帧同步 AHCLKR McASP接收高频主时钟 AHCLKX McASP发送高频主时钟 AMUTE O McASP静音输出 AXR[0:15] McASP发送/接收数据 5 广州创龙电子科技有限公司
6
McASP 时钟 6 广州创龙电子科技有限公司
7
McASP 时钟 7 广州创龙电子科技有限公司
8
时钟和帧同步信号发生器 McASP的时钟发生器能产生独立的发送和接收时钟,可以对它们单独进行编程,它们相互之间可以完全异步。串行时钟(位速率时钟)可以源自: 内部 - 将内部时钟源通过两个分频器产生时钟 外部 - 直接由ACLKR/X引脚输入 混合 - 一个外部高频时钟输入到McASP的AHCLKX引脚或AHCLKR引脚,然后被分频产生位速率时钟 在内部和混合的情况下,位速率时钟信号是内部产生的,需要由ACLKX引脚或ACLKR引脚引出。在内部产生的情况下,一个内部产生的高频时钟由ACLKX引脚或ACLKR引脚引出作为系统中其它部分的参考时钟。McASP需要以位时钟和帧同步信号的最小值运行,并且能够使这些时钟以一个外部高频主时钟作为基准。 8 广州创龙电子科技有限公司
9
发送时钟 内部 - 将内部时钟源通过两个分频器产生时钟 外部 - 直接由ACLKR/X引脚输入
混合 - 一个外部高频时钟输入到McASP的AHCLKX引脚或AHCLKR引脚,然后被分频产生位速率时钟 9 广州创龙电子科技有限公司
10
接收时钟 内部 - 将内部时钟源通过两个分频器产生时钟 外部 - 直接由ACLKR/X引脚输入
混合 - 一个外部高频时钟输入到McASP的AHCLKX引脚或AHCLKR引脚,然后被分频产生位速率时钟 10 广州创龙电子科技有限公司
11
帧(Frame):一帧可以包括一个或多个单元(Slot),这由具体协议确定
帧定义与帧同步宽度 帧(Frame):一帧可以包括一个或多个单元(Slot),这由具体协议确定 帧同步宽度:帧同步宽度可以是一个 bit 或者 一个单元(Slot) 11 广州创龙电子科技有限公司
12
帧同步信号发生器 帧同步信号的选择是通过对接收和发送帧同步信号控制寄存器(AFSRCTL和AFSXCTL)的编程来控制的。 这些选择包括:
内部产生或外部产生; 帧同步信号极性,上升沿或下降沿; 帧同步信号宽度,一位或一个字; 位延迟,在第一个数据位前的0、1或2个时钟周期。 12 广州创龙电子科技有限公司
13
管脚配置 除了AMUTEIN外的McASP的所有引脚都是双向输入/输出引脚。而且,这些双向引脚既可以作为McASP引脚使用也可以作为通用输入/输出(GPIO)引脚。由下列寄存器来控制引脚功能: 引脚功能寄存器(PFUNC):选择引脚是作为McASP引脚还是GPIO引脚。 引脚方向寄存器(PDIR):选择引脚是输入还是输出 引脚数据输入寄存器(PDIN):显示引脚的输入数据 引脚数据输出寄存器(PDOUT):如果引脚被配置为通用(GPIO)输出口(PFUNC[n] = 1 and PDIR[n] = 1),那么数据就会由此引脚输出。在引脚被配置为McASP引脚时(PFUNC[n] = 0)此寄存器不可用。 引脚数据设置寄存器(PDSET):PDOUT的别名。向PDSET[n]写入1就会将相应PDOUT[n]设置为1。写入0没有影响。仅在引脚配置为GPIO输出时(PFUNC[n] = 1,PDIR[n] = 1) 此寄存器可用。 引脚数据清除寄存器(PDCLR):PDOUT的别名。向PDCLR[n]写入一个1就会将相应PDOUT[n]设置为0。写入0没有影响。仅在引脚配置为GPIO输出时(PFUNC[n] = 1,PDIR[n] = 1) 此寄存器可用。 13 广州创龙电子科技有限公司
14
McASP 传输模式 突发传输模式 时分复用TDM 传输模式 数字音频接口DIT传输模式 14 广州创龙电子科技有限公司
15
突发传输模式 McASP支持突发传输模式,这种模式下帧同步信号的产生不是周期性,而是数据驱动的。主要用于非音频数据的传输,例如在两个DSP芯片间传输控制信息。 帧同步信号延迟可以被指定为0,1或2个串行时钟周期。 对于发送来说,帧同步信号是在前一传输结束并且所有的XBUF[n] (将每个串行器都设置为发送器)都被新数据更新后开始的。 对于接收来说,帧同步信号是在前一传输结束并且所有的RBUF[n](将每个串行器都设置为接收器)都被读出后开始的。 1. 突发传输模式 McASP支持突发传输模式,这种模式下帧同步信号的产生不是周期性,而是数据驱动的。主要用于非音频数据的传输,例如在两个DSP芯片间传输控制信息。 在突发帧同步信号模式下,帧同步信号延迟可以被指定为0,1或2个串行时钟周期。这是指帧同步信号边沿和单元开始之间的延迟。对于每个被识别的帧同步信号的边沿都有一个单元被移动。这一单元后和下一个帧同步信号前的附加数据块都被忽略 对于发送来说,当在内部产生发送用帧同步信号时,帧同步信号是在前一传输结束并且所有的XBUF[n] (将每个串行器都设置为发送器)都被新数据更新后开始的。 对于接收来说,当在内部产生接收用帧同步信号时,帧同步信号是在前一传输结束并且所有的RBUF[n](将每个串行器都设置为接收器)都被读出后开始的。 15 广州创龙电子科技有限公司
16
TDM 技术 TDM就是时分复用模式。时分复用是指一种通过不同信道或时隙中的交叉位脉冲,同时在同一个通信媒体上传输多个数字化数据、语音和视频信号等的技术。 使用这种技术,就允许两个以上的信号或者数据流在同一条通信线路上传输。每个信号或数据流轮流占用物理通道。 时间段4 时间段3 时间段2 时间段1 复用器 解复器 ...... 数据流1 A A A A A A 数据流1 数据流2 B B B C B A C B A C B A B B B 数据流2 数据流3 C C C C C C 数据流3 16 广州创龙电子科技有限公司
17
TDM 传输模式 TDM 格式可以用于DSP芯片与一个或多个模-数转换器(ADC),数-模转换器(DAC)之间的数据传输。
一帧包括多个通道。每一个TDM帧是由帧同步信号来定义的(AFSX或AFSR)。 数据传输是连续的,在单元之间没有延迟。 系统中发送端和接收端每个单元的位数要一致,因为单元边界不是由帧同步信号决定的 TDM 格式-6 通道TDM 示例 因为TDM格式主要用于跟工作在固定采样频率下的数据转换器进行通信, 17 广州创龙电子科技有限公司
18
TDM 传输模式的位延迟 单元间没有延时。帧同步信号的边缘可能会与单元开始之间有0,1,2 个串行时钟周期的延时 18
广州创龙电子科技有限公司
19
TDM 格式下兼容I2S协议 数据的最高位与声道选择信号之 间会有1个bit的延迟
McASP 发送器和接收器支持多通道传输,通过TDM 传输模式可以使用符合时分复用(TDM)格式的数据流。在这种传输模式下,兼容I2S 协议的设备。 传输16-bit立体PCM音频数据时序图 数据的最高位与声道选择信号之 间会有1个bit的延迟 19 广州创龙电子科技有限公司
20
数字音频接口(DIT)传输模式 除适合在同一系统内的芯片之间传输音频数据TDM传输模式和突发传输模式外,McASP的数字音频接口(DIT)传输模式也支持以S/PDIF,AES-3或IEC-60958格式传输音频数据。这些格式是用来在不同系统之间通过光缆或同轴电缆传送音频数据的。DIT模式仅仅适用于配置为发送器的串行器,对于配置为接收器的串行器不适用。 20 广州创龙电子科技有限公司
21
Word = 8-bit,Slot = 12-bit,P - pad bit
Bit、Word 和 Slot 的定义 位(Bit):位是串行数据流中的最小组 成部分。每个位的开始和结束都是用 一个串行时钟的边沿作为标志。 字(Word):字是一组位,它组成了在 DSP和外部器件之间传输的数据。 单元(Slot):一个单元包括组成字的 那些位和一些扩展位。 Word = 8-bit,Slot = 12-bit,P - pad bit 21 广州创龙电子科技有限公司
22
Slot 的格式 左对齐 or 右对齐 LSB 先 or MSB 先 在一个 Slot 内,这些位可以是高位先出或低位先出。
当 Word 的长度小于 Slot 长度时,Word 可以排列到 Slot 的左边也可以排在 Slot 的右边。 不属于字的附加位可以用0、1或者 Word 中的一位(一般是MSB或LSB)来填充。 左对齐 or 右对齐 LSB 先 or MSB 先 22 广州创龙电子科技有限公司
23
格式化单元 格式化单元包含三个部分: 位屏蔽和填充 循环右移 位翻转(选择 MSB 在前还是 LSB 在前) A31 A30 A29 A28
...... A3 A2 A1 A0 格式化单元包含三个部分: 位屏蔽和填充 循环右移 位翻转(选择 MSB 在前还是 LSB 在前) 循环右移1bit A0 A31 A30 A29 ...... A4 A3 A2 A1 A31 A30 A29 A28 ...... A3 A2 A1 A0 位翻转 A0 A1 A2 A3 ...... A28 A29 A30 A31 23 广州创龙电子科技有限公司
24
格式化单元 24 广州创龙电子科技有限公司
25
访问 McASP 的途径 访问 McASP 的途径: 使能FIFO DMA总线 FIFO 发送/接收格式化单元 外围配置总线 FIFO
25 广州创龙电子科技有限公司
26
总线的选择 RFMT[ RBUSEL ] = 0 : 接收使用 DMA 总线端口
XFMT[ XBUSEL ] = 0 : 发送使用 DMA 总线端口 XFMT[ XBUSEL ] = 1 : 发送使用外围配置总线端口 ...... McASP0的基地址为:0x01D00000 当使用外围配置总线端口时,每一路串行器都有 一个数据寄存器对应。 作为发送时,16路串行器分别对应XBUF0 ~ XBUF15 作为接收时,16路串行器分别对应RBUF0 ~ RBUF15 当使用 DMA 总线端口时,16路串行器 的发送和接收都对应到同一个地址 注意 McASP 使用外围配置总线,DSP 不支持仿真停止信号。 26 广州创龙电子科技有限公司
27
中断 发送数据就绪中断:发送数据就绪标志即XSTAT 寄存器中的XDATA 位反映了XBUF 寄存器的状态。
当从XRBUF[n] XRSR[n] 移位寄存器,XDATA 标志位被置位,表示XBUF 为空 当XDATA 位被写入1 或者所有被配置为发送器的串行器都被DSP 写入数据,标志位就会被清零。 每当XDATA 标志位被置位,将自动产生一个DMA 事件。如果XINTCTL 寄存器中的XDATA 中断被使能,也将产生AXINT 中断。 接收数据就绪中断:接收数据就绪标志即RSTAT 寄存器中的RDATA 位反映了XBUF 寄存器的状态。 当从XRSR[n]移位寄存器 XRBUF[n] ,RDATA 标志位被置位,表示RBUF 中包含接收的数据 当RDATA 位被写入1 或者所有被配置为接收器的串行器都被读出了,标志位就会被清零。 每当RDATA 标志位被置位,将自动产生一个DMA 事件,如果RINTCTL 寄存器中的RDATA 中断被使能,也将产生ARINT 中断。 27 广州创龙电子科技有限公司
28
McASP 使用DMA传输多路数据 当使用DMA总线端口时,如果有多个串行器被配置为发送/接收,EDMA/CPU 在每个触发事件写 XBUF /读RBUF需要循环多次,McASP 自动轮询相应的串行器。(按照串行器升序的顺序写,串行器号可以不连续) 例如,串行器0,4,5,7 被配置为发送串行器。则DMA/CPU 需要进行4 次写XBUF 寄存器,这样串行器0,4,5,7就依次写入了发送数据 XDATA/RDATA 置1时,产生AXEVT/AREVT 事件,进而可以触发EDMA进行数据传输 28 广州创龙电子科技有限公司
29
McASP 的使用方法 查询方式 中断方式 DMA方式 开始 开始 开始 初始化 初始化 初始化 XDATA = 1? AXEVT 否 中断
EDMA事件触发 是 XBUFn = data XBUFn = data EDMA方式复制数据到XBUF 退出中断 29 广州创龙电子科技有限公司
30
使用McASP时需要考虑的配置 时钟 数据引脚 数据格式 数据传输 时钟是内部产生还是外部?频率是多少?
是多通道音频串行端口(McASP)还是通用输入输出口(GPIO)? 是否是内部数字表示整数,Q31)? 内部:DMA还是CPU? 时钟极性? 是输入口还是输出口? 是I2S 还是 DIT? 外部:TDM还是突发? 帧同步信号是内部产生的还是外部?帧同步信号速度是多少? 数据延迟(0,1,或2 位)?对齐(左或右)? 总线:外围配置总线还是dMAX端口? 帧同步信号极性? 位序MSB在前还是LSB在前)? 帧同步信号宽度? 填充(如果要填充,那么要以什么值进行填充)? 发送和接收是同步还是异步? 单元大小? 旋转吗? 屏蔽吗? 30 广州创龙电子科技有限公司
31
音频串行数据总线支持4种协议格式: I2S, 左对齐格式,右对齐格式,DSP格式 有可编程PLL 可以灵活产生时钟
实例分析 - TLV320AIC3106 数据精度支持 16/20/24/32 bit 支持速率 8kHz ~ 96kHz 控制总线可选为 SPI 或 I2C 音频串行数据总线支持4种协议格式: I2S, 左对齐格式,右对齐格式,DSP格式 有可编程PLL 可以灵活产生时钟 31 广州创龙电子科技有限公司
32
实例分析 - McASP 连接TLV320AIC3106 32 广州创龙电子科技有限公司
33
实例分析 - TLV320AIC3106音频数据时序 I2S 格式时序 33 广州创龙电子科技有限公司
34
实例分析 - TLV320AIC3106音频数据时序 右对齐格式时序 34 广州创龙电子科技有限公司
35
实例分析 - TLV320AIC3106音频数据时序 左对齐格式时序 35 广州创龙电子科技有限公司
36
实例分析 - TLV320AIC3106音频数据时序 DSP模式时序 36 广州创龙电子科技有限公司
37
实例分析 - TLV320AIC3106时钟产生(PLL)
37 广州创龙电子科技有限公司
38
实例分析 - McASP 连接TLV320AIC3106 38 广州创龙电子科技有限公司
39
这三个例程演示的效果时一样的,把耳机接到开发板的 LINE OUT 接口上可以听到一段音频
实例分析 - Starterware 例程 这三个例程演示的效果时一样的,把耳机接到开发板的 LINE OUT 接口上可以听到一段音频 AUDIO_LINE_OUT_POLL - 查询方式 AUDIO_LINE_OUT_INTR - 中断方式 AUDIO_LINE_OUT - EDMA方式 39 广州创龙电子科技有限公司
40
谢谢 广州创龙电子科技有限公司 电话:020-89986280 传真:020-89986280 - 803
官网: 论坛:51ele.net 微信公众号:广州创龙
Similar presentations