![多通道音频串口_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-6/4/963b29c1-4ca9-4a34-8a9d-a263f6a95b77/963b29c1-4ca9-4a34-8a9d-a263f6a95b771.gif)
![多通道音频串口_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-6/4/963b29c1-4ca9-4a34-8a9d-a263f6a95b77/963b29c1-4ca9-4a34-8a9d-a263f6a95b772.gif)
![多通道音频串口_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-6/4/963b29c1-4ca9-4a34-8a9d-a263f6a95b77/963b29c1-4ca9-4a34-8a9d-a263f6a95b773.gif)
![多通道音频串口_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-6/4/963b29c1-4ca9-4a34-8a9d-a263f6a95b77/963b29c1-4ca9-4a34-8a9d-a263f6a95b774.gif)
![多通道音频串口_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-6/4/963b29c1-4ca9-4a34-8a9d-a263f6a95b77/963b29c1-4ca9-4a34-8a9d-a263f6a95b775.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章第九章 多通道音频串行端口多通道音频串行端口(McASP) 9.1 McASP 术语术语uMcASP(Multichannel Audio Serial Port)是一个通用音频是一个通用音频串行端口。串行端口。uMcASP包括发送和接收部分,它们之间可以同步运行,包括发送和接收部分,它们之间可以同步运行,也可以完全独立地使用各自的主时钟,位时钟和帧同步信也可以完全独立地使用各自的主时钟,位时钟和帧同步信号,并且可以使用具有不同位流格式的传输模式。号,并且可以使用具有不同位流格式的传输模式。uMcASP模块包括模块包括16个串行器,可以单独激活来进行发送个串行器,可以单独激活来进行发送或
2、接收。另外,所有的或接收。另外,所有的McASP引脚都可以被配置为通用引脚都可以被配置为通用输入输出输入输出(GPIO)引脚。引脚。 位、字和单元的定义位、字和单元的定义 u位位(Bit):位是串行数据流中的最小组成部分。每个位的开始和结束都是用一个串行:位是串行数据流中的最小组成部分。每个位的开始和结束都是用一个串行时钟的边沿作为标志。时钟的边沿作为标志。u字字(Word):字是一组位,它组成了在:字是一组位,它组成了在DSP和外部器件之间传输的数据。和外部器件之间传输的数据。 u单元单元(Slot):一个单元包括组成字的那些位。有时为了将字填充到对于:一个单元包括组成字的那些位。有时为了将
3、字填充到对于DSP和外部器和外部器件接口来说合适的位数,单元也包括那些用来填充字的附加位。件接口来说合适的位数,单元也包括那些用来填充字的附加位。在一个单元内,这些位可以是最高位先进或先出在一个单元内,这些位可以是最高位先进或先出McASP,也可以是最低位。当字的,也可以是最低位。当字的长度小于单元长度时,字可以排列到单元的左边长度小于单元长度时,字可以排列到单元的左边(开始开始)也可以排在单元的右边也可以排在单元的右边(末尾末尾)。不属于字的附加位可以用不属于字的附加位可以用0、1或者字中的一位或者字中的一位(一般是一般是MSB或或LSB)来填充。来填充。 Most Significant
4、Bit Least Significant Bit单元内位序和字对齐方式单元内位序和字对齐方式 帧定义及帧同步宽度帧定义及帧同步宽度u帧帧(Frame):一帧可以包括一个或多个单元,这由具体协:一帧可以包括一个或多个单元,这由具体协议确定议确定9.2.1 McASP的接口信号的接口信号 McASP包括以下引脚:包括以下引脚:u串行数据引脚串行数据引脚AXRn:每个:每个McASP达到达到16个个u发送时钟发送时钟 AHCLKX:McASP的发送高频主时钟的发送高频主时钟 ACLKX:McASP的发送位时钟的发送位时钟u发送帧同步信号发送帧同步信号AFSXu接收时钟接收时钟 AHCLKR:McA
5、SP的接收高频主时钟的接收高频主时钟 ACLKR:McASP的接收位时钟的接收位时钟u接收帧同步信号接收帧同步信号AFSRu静音静音 AMUTEIN:McASP的静音输入的静音输入(从外部从外部器件器件) AMUTE:McASP的静音输出的静音输出McASP在数字音频编码在数字音频编码/解码系统中应用的例子解码系统中应用的例子 McASP到6通道DAC和2通道DAC McASP到数字放大器 McASP在数字音频编码在数字音频编码/解码系统中应用的例子解码系统中应用的例子 作为数字音频编码器的McASP McASP在数字音频编码在数字音频编码/解码系统中应用的例子解码系统中应用的例子 9.2.2
6、 寄存器寄存器 uMcASP 模块所使用的寄存器如表模块所使用的寄存器如表5-2所示,具体内容请阅所示,具体内容请阅读参考文献读参考文献3“TMS320C672x DSP Multichannel Audio Serial Port (McASP) Reference Guide” (SPRU878A.pdf) 参见课本P179 9.2.3 时钟和帧同步信号发生器时钟和帧同步信号发生器 McASP的时钟发生器能产生独立的发送和接收时钟,可以对它们单的时钟发生器能产生独立的发送和接收时钟,可以对它们单独进行编程,它们相互之间可以完全异步。串行时钟(位速率时钟)独进行编程,它们相互之间可以完全异步
7、。串行时钟(位速率时钟)可以源自:可以源自:u内部内部 - 将内部时钟源通过两个分频器产生时钟将内部时钟源通过两个分频器产生时钟u外部外部 - 直接由直接由ACLKR/X引脚输入引脚输入u混合混合 - 一个外部高频时钟输入到一个外部高频时钟输入到McASP的的AHCLKX引脚或引脚或AHCLKR引脚,然后被分频产生位速率时钟引脚,然后被分频产生位速率时钟 在内部和混合的情况下,位速率时钟信号是内部产生的,需要由在内部和混合的情况下,位速率时钟信号是内部产生的,需要由ACLKX引脚或引脚或ACLKR引脚引出。在内部产生的情况下,一个内部产引脚引出。在内部产生的情况下,一个内部产生的高频时钟由生的
8、高频时钟由ACLKX引脚或引脚或ACLKR引脚引出作为系统中其它部分引脚引出作为系统中其它部分的参考时钟。的参考时钟。McASP需要以位时钟和帧同步信号的最小值运行,并需要以位时钟和帧同步信号的最小值运行,并且能够使这些时钟以一个外部高频主时钟作为基准。且能够使这些时钟以一个外部高频主时钟作为基准。 1. 发送时钟发送时钟 发送时钟由寄存器发送时钟由寄存器ACLKXCTL和和AHCLKXCTL进行进行配置配置 XCLK边沿搬移数据ACLKX 内部/外部位时钟分频器AHCLKX 内部/外部高频时钟分频器 2. 接收时钟接收时钟接收时钟由寄存器接收时钟由寄存器ACLKRCTL和和AHCLKRCTL
9、进进行配置行配置 3. 帧同步信号发生器帧同步信号发生器帧同步信号有两种不同的模式:突发帧同步信号有两种不同的模式:突发式和式和TDM式。帧同步信号的选择是通式。帧同步信号的选择是通过对接收和发送帧同步信号控制寄存过对接收和发送帧同步信号控制寄存器器(AFSRCTL和和AFSXCTL)的编程来的编程来控制的。控制的。这些选择包括:这些选择包括:内部产生或外部产生;内部产生或外部产生;帧同步信号极性,上升沿或下降沿;帧同步信号极性,上升沿或下降沿;帧同步信号宽度,一位或一个字;帧同步信号宽度,一位或一个字;位延迟,在第一个数据位前的位延迟,在第一个数据位前的0、1或或2个时钟周期。个时钟周期。利
10、用利用McASP时钟和帧的灵活性进行处理的例子时钟和帧的灵活性进行处理的例子 u以以48 kHz 的速率从的速率从DVD中接收数据,但是以中接收数据,但是以96 kHz或或192 kHz的速率输出解码的音频。这可以通过输入一个高的速率输出解码的音频。这可以通过输入一个高频主时钟,以内部产生的位时钟速率的频主时钟,以内部产生的位时钟速率的8分频进行接收,分频进行接收,以以4分频或分频或2分频进行发送来实现。分频进行发送来实现。u以一个取样速率以一个取样速率(如:如:44.1 kHz)接收数据,但以不同的取接收数据,但以不同的取样速率样速率(如:如:48 kHz)发送数据。发送数据。 9.2.4
11、串行器串行器u串行器由寄存器串行器由寄存器SRCTLn来控制。串行器负责将串行数据移入或移出来控制。串行器负责将串行数据移入或移出McASP。每一个串行器包括一个每一个串行器包括一个移位寄存器移位寄存器(XRSR),数据缓存器数据缓存器(XRBUF),控制寄存器控制寄存器(SRCTL)。u接收,数据通过接收,数据通过AXRn引脚移入移位寄存器引脚移入移位寄存器XRSR。在整个数据单元都被收集到。在整个数据单元都被收集到了了XRSR之后,接着这些数据就被复制到数据缓存之后,接着这些数据就被复制到数据缓存XRBUF中。现在中。现在DSP就可以通就可以通过过RBUF寄存器寄存器(接收接收XRBUF的
12、别名的别名),经格式化单元读取数据了。,经格式化单元读取数据了。u发送,发送,DSP芯片通过向芯片通过向XBUF寄存器寄存器(发送发送XRBUF的别名的别名)中写入数据,经过发送中写入数据,经过发送格式化单元,数据从格式化单元,数据从XRBUF复制到复制到XRSR中,由中,由AXRn引脚移出引脚移出(跟串行时钟同跟串行时钟同步步)。 9.2.5 格式化单元格式化单元McASP有两个数据格式化单元,一个用作发送,一个用作接收。因为所有的发有两个数据格式化单元,一个用作发送,一个用作接收。因为所有的发送器使用同一个数据格式化单元,因此送器使用同一个数据格式化单元,因此McASP一次只能支持一种发送
13、格式。例一次只能支持一种发送格式。例如,当如,当McASP在串行器在串行器1上发送上发送“左对齐左对齐”格式时,就不会在串行器格式时,就不会在串行器0上以上以“I2S格式格式”发送。同样的,发送。同样的,McASP的接收部分也是一次只支持一种接收格式,并且的接收部分也是一次只支持一种接收格式,并且这种格式对于所有的接收串行器都适用。然而,这种格式对于所有的接收串行器都适用。然而,McASP可以以一种格式发送而可以以一种格式发送而以一种完全不同的格式接收。以一种完全不同的格式接收。 格式化单元包括三个部分:格式化单元包括三个部分: u位屏蔽和填充位屏蔽和填充(屏蔽位,进行符号扩展屏蔽位,进行符号
14、扩展)u旋转旋转(字内对齐数据字内对齐数据)u位翻转位翻转(选择是选择是MSB在前还是在前还是LSB在前在前)u位屏蔽和填充部分包括一个完整的32位屏蔽寄存器,它允许选定位完全通过或者被屏蔽掉,然后插入一个0,一个1或者原来的32位中的其中一位来作为填充值填充被屏蔽了的位。在最后一种选择中,当在符号位被选择用来填充剩余位时允许进行符号扩展。u旋转部分进行4的倍数位(0到28位之间)的位旋转,可以通过(R/X)FMT寄存器编程进行控制。注意:这是一个旋转过程,不是移位过程,因此在旋转操作中,第0位被移位到第31位。u位翻转部分或者是让32位全部直接通过,或者是交换他们。这对于MSB在前或者LSB
15、在前的数据格式都是允许。如果使能位未翻转,McASP就会自然的以LSB在前的次序进行发送和接收。u最后要注意,(R/X)FMT的(R/X)DATDLY位也可以决定数据的格式。例如:对于I2S格式和左对齐格式之间的差别就是由帧同步信号的边沿和单元的第一个数据位之间的延迟决定的。对于I2S格式,(R/X)DATDLY需要设置为1个时钟延迟,然而左对齐格式就需要设置为0个时钟延迟。 9.2.5 格式化单元格式化单元9.2.6 时钟检查电路u音频系统中最普遍的误差源是片外DIR电路不稳定引起的串行时钟错误。为了迅速检查出时钟错误,在McASP中包含了一个用于发送和接收时钟的时钟检查电路,因为这两个时钟
16、是可以源于片外的。时钟检查电路可以检测时钟错误并能从错误时钟中恢复。对于它的使用与编程请参考相关器件数据手册。 9.2.7 引脚控制引脚控制除了除了AMUTEIN外的外的McASP的所有引脚都是双向输入的所有引脚都是双向输入/输出引脚。而且,这些输出引脚。而且,这些双向引脚既可以作为双向引脚既可以作为McASP引脚使用也可以作为通用输入引脚使用也可以作为通用输入/输出输出(GPIO)引脚引脚。由下列寄存器来控制引脚功能:。由下列寄存器来控制引脚功能:u引脚功能寄存器引脚功能寄存器(PFUNC):选择引脚是作为:选择引脚是作为McASP引脚还是引脚还是GPIO引脚。引脚。u引脚方向寄存器引脚方向
17、寄存器(PDIR):选择引脚是输入还是输出:选择引脚是输入还是输出u引脚数据输入寄存器引脚数据输入寄存器(PDIN):显示引脚的输入数据:显示引脚的输入数据u引脚数据输出寄存器引脚数据输出寄存器(PDOUT):如果引脚被配置为通用:如果引脚被配置为通用(GPIO)输出口输出口(PFUNCn = 1 and PDIRn = 1),那么数据就会由此引脚输出。在引脚被,那么数据就会由此引脚输出。在引脚被配置为配置为McASP引脚时引脚时(PFUNCn = 0)此寄存器不可用。此寄存器不可用。u引脚数据设置寄存器引脚数据设置寄存器(PDSET):PDOUT的别名。向的别名。向PDSETn写入写入1就会
18、将就会将相应相应PDOUTn设置为设置为1。写入。写入0没有影响。仅在引脚配置为没有影响。仅在引脚配置为GPIO输出时输出时(PFUNCn = 1,PDIRn = 1) 此寄存器可用。此寄存器可用。u引脚数据清除寄存器引脚数据清除寄存器(PDCLR):PDOUT的别名。向的别名。向PDCLRn写入一个写入一个1就会将相应就会将相应PDOUTn设置为设置为0。写入。写入0没有影响。仅在引脚配置为没有影响。仅在引脚配置为GPIO输出输出时时(PFUNCn = 1,PDIRn = 1) 此寄存器可用。此寄存器可用。 McASP引脚控制方框图引脚控制方框图 1. McASP引脚控制引脚控制u即使即使M
19、cASP引脚被用作串行通道功能引脚被用作串行通道功能(非通用输入输出口非通用输入输出口),也必须正确的设置也必须正确的设置McASP GPIO寄存器寄存器PFUNC和和PDIR。u当使用这些引脚的串行通道功能时,必须将每个引脚的当使用这些引脚的串行通道功能时,必须将每个引脚的PFUNCn清零,有些输出要求清零,有些输出要求PDIRn=1,如时钟引脚作为,如时钟引脚作为时钟输出使用时,串行数据引脚作为发送使用时,以及时钟输出使用时,串行数据引脚作为发送使用时,以及AMUTE作为静音输出使用时都有这样的要求。时钟输入和作为静音输出使用时都有这样的要求。时钟输入和配置为接收的引脚必须设置配置为接收的
20、引脚必须设置PDIRn=0。 2. GPIO引脚控制引脚控制将将PFUNCn设置为设置为1来进行来进行GPIO操作,配置操作,配置PDIRn为要求的方向,为要求的方向,PDOUT,PDSET,PDCLR控制引脚的输出值。不管控制引脚的输出值。不管PDIR和和PFUNC的设置如何,的设置如何,PDIN通常反映引脚的状态。通常反映引脚的状态。将引脚用作将引脚用作GPIO引脚的例子引脚的例子 例例5-1:通用输入引脚:通用输入引脚PDIRn = 0 (输入输入)PFUNCn = 1 (GPIO功能功能)可以读可以读PDIN寄存器来获得引脚输入状态寄存器来获得引脚输入状态例例5-2:通用输出引脚:通用
21、输出引脚使用使用PDOUT激活激活PDIRn = 0 (默认为输入默认为输入)PFUNCn = 1 (GPIO功能功能)PDOUTn = 需要的输出值需要的输出值PDIRn = 1 (在在PDOUTn 配置为需要的值后变为输出配置为需要的值后变为输出)例例5-3:通用输出引脚:通用输出引脚使用使用PDSET将数据从将数据从0变到变到1如果引脚被配置为通用输出引脚,并输出如果引脚被配置为通用输出引脚,并输出0,若将输出从,若将输出从0变为变为1,推荐使用,推荐使用PDSET寄存器而不是使用寄存器而不是使用PDOUT寄存器。这是因寄存器。这是因为对为对PDSET寄存器的写操作仅仅影响所关心的引脚。
22、将一个引寄存器的写操作仅仅影响所关心的引脚。将一个引脚从脚从0变到变到1,要进行如下操作:,要进行如下操作:置位置位PDSETn,将置位相应的,将置位相应的PDOUTn。例例2-4:通用输出引脚:通用输出引脚使用使用PDCLR将数据从将数据从1变到变到0如果引脚被配置为通用输出引脚,并输出如果引脚被配置为通用输出引脚,并输出1,若将输出从,若将输出从1变为变为0,推荐使用,推荐使用PDCLR寄存器而不是使用寄存器而不是使用PDOUT寄存器。这是寄存器。这是因为对因为对PDCLR寄存器的写操作仅仅影响所关心的引脚。将一寄存器的写操作仅仅影响所关心的引脚。将一个引脚从个引脚从1变到变到0,要进行如
23、下操作:,要进行如下操作:设置设置PDCLRn,将清零相应的,将清零相应的PDOUTn。将引脚用作将引脚用作GPIO引脚的例子引脚的例子 9.3.1 McASP 启动与初始化启动与初始化按照下面的步骤来配置按照下面的步骤来配置McASP(1) 通过设置通过设置GBLCTL = 0复位复位McASP到缺省值到缺省值(2) 配置除配置除GBLCTL之外的所有之外的所有McASP寄存器寄存器u省电和仿真管理:省电和仿真管理:PWRDEMUu接收寄存器:接收寄存器:RMASK、RFMT、AFSRCTL、ACLKRCTL、AHCLKRCTL、RTDM、RINTCTL、 RCLKCHK。 如果使用外部时钟
24、如果使用外部时钟AHCLKR或或ACLKR,那么为了,那么为了GBLCTL寄存寄存器的正确同步,必须提前提供时钟信号器的正确同步,必须提前提供时钟信号u发送寄存器:发送寄存器:XMASK、XFMT、AFSXCTL、ACLKXCTL、AHCLKXCTL、XTDM、XINTCTL、 XCLKCHK。如果使用外部时钟。如果使用外部时钟AHCLKX或或ACLKX,那么为了,那么为了GBLCTL寄存器寄存器的正确同步,必须提前提供时钟信号的正确同步,必须提前提供时钟信号u 串行器寄存器:串行器寄存器:SRCTLnu 全局寄存器:全局寄存器:PFUNC、PDIR、DITCTL、DLBCTL、AMUTE。注
25、意只有在前面步骤中时。注意只有在前面步骤中时钟和帧设置完后才能对钟和帧设置完后才能对PDIR进行设置。这是因为一旦一个时钟引脚被配置为输出,时钟引进行设置。这是因为一旦一个时钟引脚被配置为输出,时钟引脚就开始以时钟控制寄存器所定义的速率输出时钟信号。因此必须确保在将引脚设置为输脚就开始以时钟控制寄存器所定义的速率输出时钟信号。因此必须确保在将引脚设置为输出前对时钟控制寄存器进行正确配置。这一要求对帧同步信号引脚也同样适用。出前对时钟控制寄存器进行正确配置。这一要求对帧同步信号引脚也同样适用。u DIT寄存器:对于寄存器:对于DIT 模式的操作,要启动寄存器模式的操作,要启动寄存器DITCSRA
26、n、 DITCSRBn、 DITUDRAn和和 DITUDRBn (3) 启动高频串行时钟启动高频串行时钟AHCLKX或或AHCLKR。即使使用外部高频串行时钟这一步也。即使使用外部高频串行时钟这一步也是必需的是必需的u 通过设置通过设置GBLCTL中接收器的中接收器的RHCLKRST位或发送器的位或发送器的XHCLKRST位分别使内位分别使内部高频串行时钟分频器退出复位。部高频串行时钟分频器退出复位。GBLCTL中所有其他位都保持中所有其他位都保持0u在继续进行操作前对在继续进行操作前对GBLCTL进行一次读操作,确保写入的数据成功加载到进行一次读操作,确保写入的数据成功加载到GBLCTL(
27、4) 启动串行时钟启动串行时钟ACLKX或或ACLKR。如果使用外部串行时钟,可以跳过这一步。如果使用外部串行时钟,可以跳过这一步u 通过设置通过设置GBLCTL中接收器的中接收器的RCLKRST位或发送器的位或发送器的XCLKRST位,使各自的位,使各自的内部串行时钟分频器退出复位。内部串行时钟分频器退出复位。GBLCTL中所有其他位都保持以前的状态不变。中所有其他位都保持以前的状态不变。u 在继续进行操作前对在继续进行操作前对GBLCTL进行一次读操作,确保写入的数据成功加载到进行一次读操作,确保写入的数据成功加载到GBLCTL。(5) 启动数据获取启动数据获取u 如果对如果对McASP使
28、用使用DMA,那么在,那么在McASP退出复位前启动数据获取并在这一步退出复位前启动数据获取并在这一步开始开始DMA操作。操作。u如果对如果对McASP使用使用CPU中断,按要求激活发送或接收中断。中断,按要求激活发送或接收中断。u如果对如果对McASP使用使用CPU查询,那么在这一步就不需要进行任何操作。查询,那么在这一步就不需要进行任何操作。9.3.1 McASP 启动与初始化启动与初始化(6) 激活串行器激活串行器u在开始之前,通过写入在开始之前,通过写入XSTAT = FFFFh和和RSTAT = FFFFh分别清除发送和接收状态寄存分别清除发送和接收状态寄存器器u通过设置通过设置GB
29、LCTL中接收器的中接收器的RSRCLR位或发送器的位或发送器的XSRCLR位,使各自的串行器退出位,使各自的串行器退出复位。复位。GBLCTL中所有其他位都保持以前的状态不变中所有其他位都保持以前的状态不变u在继续进行操作前对在继续进行操作前对GBLCTL进行一次读操作,确保写入的数据成功加载到进行一次读操作,确保写入的数据成功加载到GBLCTL(7) 确保所有的发送缓冲器在工作确保所有的发送缓冲器在工作 (8) 状态机退出复位状态机退出复位u通过设置通过设置GBLCTL中接收器的中接收器的RSMRST位或发送器的位或发送器的XSMRST位使状态机退出复位。位使状态机退出复位。GBLCTL中
30、所有其他位都保持以前的状态不变中所有其他位都保持以前的状态不变u在继续进行操作前对在继续进行操作前对GBLCTL进行一次读操作,确保写入的数据成功加载到进行一次读操作,确保写入的数据成功加载到GBLCTL(9) 帧同步信号发生器退出复位帧同步信号发生器退出复位u通过设置通过设置GBLCTL中接收器的中接收器的RFRST位或发送器的位或发送器的XFRST位使帧同步信号发生器退出复位使帧同步信号发生器退出复位位u在继续进行操作前对在继续进行操作前对GBLCTL进行一次读操作,确保写入的数据成功加载到进行一次读操作,确保写入的数据成功加载到GBLCTL(10) 只要接收到第一个帧同步信号,只要接收到
31、第一个帧同步信号,McASP就开始传输数据就开始传输数据McASP是跟帧同步信号边沿同步的,而不是跟帧同步信号电平同步的。是跟帧同步信号边沿同步的,而不是跟帧同步信号电平同步的。9.3.1 McASP 启动与初始化启动与初始化u在第1小节中指出要对GBLCTL进行回读操作,直到写入的位被成功写入GBLCTL。这一步操作是很重要的,因为发送器和接收器的状态机分别以各自的位时钟运行,它们一般比DSP芯片内部的总线时钟慢几十到几百倍。因此,在DSP向GBLCTL (或RGBLCTL和XGBLCTL)写数据到McASP真正识别这一写操作之间需要好几个周期。如果跳过这一步,那么McASP可能永远不会知道
32、设置或清除GBLCTL的复位位,最终导致一个未初始化的McASP。RGBLCTL和XGBLCTL可以单独改变GBLCTL的发送和接收部分,它们也可以立即反映出更新的值(对于调试很有用)。只有GBLCTL可以被用到回读操作中。回读GBLCTL的重要性1. 突发传输模式突发传输模式McASP支持突发传输模式,这种模式下帧同步信号的产生支持突发传输模式,这种模式下帧同步信号的产生不是周期性不是周期性,而是数据驱动的。,而是数据驱动的。主要用于主要用于非音频数据的传输非音频数据的传输,例如在两个,例如在两个DSP芯片间传输控制信息。芯片间传输控制信息。在突发帧同步信号模式下,帧同步信号延迟可以被指定为
33、在突发帧同步信号模式下,帧同步信号延迟可以被指定为0,1或或2个串行时钟周期。这是个串行时钟周期。这是指帧同步信号边沿和单元开始之间的延迟。对于每个被识别的帧同步信号的边沿都有一个指帧同步信号边沿和单元开始之间的延迟。对于每个被识别的帧同步信号的边沿都有一个单元被移动。这一单元后和下一个帧同步信号前的附加数据块都被忽略单元被移动。这一单元后和下一个帧同步信号前的附加数据块都被忽略 对于发送来说,当在内部产生发送用帧同步信号时,帧同步信号是在前一传输结束并且所对于发送来说,当在内部产生发送用帧同步信号时,帧同步信号是在前一传输结束并且所有的有的XBUFn (将每个串行器都设置为发送器将每个串行器
34、都设置为发送器)都被新数据更新后开始的。都被新数据更新后开始的。对于接收来说,当在内部产生接收用帧同步信号时,帧同步信号是在前一传输结束并且所对于接收来说,当在内部产生接收用帧同步信号时,帧同步信号是在前一传输结束并且所有的有的RBUFn(将每个串行器都设置为接收器将每个串行器都设置为接收器)都被读出后开始的。都被读出后开始的。 9.3.2 传输模式传输模式9.3.2 传输模式传输模式2. TDM传输模式传输模式TDM 格式可以用于格式可以用于DSP芯片与一个或多个模芯片与一个或多个模-数转换器数转换器(ADC),数,数-模转换模转换器器(DAC)之间的数据传输。之间的数据传输。TDM格式包括
35、三部分:时钟、数据和帧同步信号。格式包括三部分:时钟、数据和帧同步信号。在在TDM的术语中,的术语中,“单单元元”通常也被称为通常也被称为“通道通道”,一帧包括多个通道。每一个,一帧包括多个通道。每一个TDM帧是由帧同步帧是由帧同步信号来定义的信号来定义的(AFSX或或AFSR)。数据传输是连续的,因为。数据传输是连续的,因为TDM格式主要格式主要用于跟工作在用于跟工作在固定采样频率下的数据转换器固定采样频率下的数据转换器进行通信,在单元之间没有延进行通信,在单元之间没有延迟。迟。u系统中发送端和接收端每个单元的位数要一致,因为单元边界不是由帧同步信号决定的(虽然帧同步信号是单元0和一个新帧开
36、始的标志) TDM格式下帧同步信号的延迟位数9.3.2 传输模式传输模式u一个典型的音频系统中,需要在每个数据转换设备的取样周期内传输一帧数据。为了支持多通道传输,可以让每帧包含更多的单元(以高时钟频率运行),也可以使用附加的数据引脚来传输相同数目的通道(以低时钟频率运行)。例如,一个6通道DAC可以设计成图5-16所示用单个串行数据引脚AXRn进行传输。在这种情况下,串行时钟必须非常快,这样才能在每个帧周期内传输完6个通道。也可以选择将6通道DAC设计成使用三个串行数据引脚AXR0,1,2,在每个取样周期内每个引脚传输两个通道的数据。在后面这种情况下,如果取样周期相同,那么串行时钟比前一种情
37、况要慢三倍。McASP非常灵活,这两种类型的DAC都支持。9.3.2 传输模式传输模式3. 数字音频接口数字音频接口(DIT)传输模式传输模式除适合在同一系统内的芯片之间传输音频数据TDM传输模式和突发传输模式外,McASP的数字音频接口(DIT)传输模式也支持以S/PDIF,AES-3或IEC-60958格式传输音频数据。这些格式是用来在不同系统之间通过光缆或同轴电缆传送音频数据的。DIT模式仅仅适用于配置为发送器的串行器,对于配置为接收器的串行器不适用。9.3.2 传输模式传输模式9.3.3 数据发送和接收数据发送和接收1. 数据就绪状态和事件数据就绪状态和事件/中断的产生中断的产生(1)
38、 发送数据就绪发送数据就绪发送数据就绪标志即发送数据就绪标志即XSTAT寄存器中的寄存器中的XDATA位反映了位反映了XBUF寄存器的状态。当从寄存器的状态。当从XRBUFn缓冲器向缓冲器向XRSRn 移位寄存器传输数据时,移位寄存器传输数据时,XDATA标志位被置位,表示标志位被置位,表示XBUF是空的并准备好接收从是空的并准备好接收从DSP来的新数据了。当来的新数据了。当XDATA位被写入位被写入1或者所有被配或者所有被配置为发送器的串行器都被置为发送器的串行器都被DSP写入数据,标志位就会被清零。写入数据,标志位就会被清零。在这个例子中,当字在这个例子中,当字A的最后一位的最后一位(A0
39、)被发送出去时,被发送出去时,McASP将将XDATA标志位置位标志位置位,并产生一个,并产生一个AXEVT事件。然而,在事件。然而,在AXEVT被激活前还需要被激活前还需要5个个McASP系统时钟系统时钟(即即AXEVT延迟延迟)。紧接在。紧接在AXEVT之后,之后,DSP开始对开始对McASP服务,向服务,向XBUF写入字写入字C(DSP服务时间服务时间)。DSP必须在必须在McASP所要求的建立时间之前向所要求的建立时间之前向XBUF写入字写入字C (建立建立时间时间)。 发送DMA事件(AXEVT)DSP服务时间的计算,假定 器件:300 MHz的C672x DSP芯片 McASP以1
40、92 kHz的帧速率发送I2S格式数据。假定单元大小为32 位 McASP系统时钟周期的计算: C672x DSP使用SYSCLK2作为McASP的系统时钟。它以150 MHz运行(器件频率的一半) 因此,McASP系统时钟周期=1/150 MHz = 6.7 ns ACLKX时钟周期的计算: 在这个例子中,每帧有两个32位的单元,每帧共有64位 ACLKX时钟周期是: (1/192 kHz)/64 = 81.4 ns AXEVT事件之间的单元: 对于I2S格式,每192 kHz 个帧McASP产生两个AXEVT事件 因此,AXEVT事件之间的单元是(1/192 kHz)/2 = 2604 n
41、s AXEVT 延迟= 5个McASP系统时钟周期= 6.7 ns 5 = 33.5 ns 建立时间= 3 个McASP系统时钟周期+ 4个ACLKX周期= (6.7 ns 3) + (81.4 ns 4)= 345.7 ns DSP服务时间= 单元时间AXEVT延迟建立时间= 2604 ns33.5 ns345.7 ns= 2225 ns9.3.3 数据发送和接收数据发送和接收(2) 接收数据就绪接收数据就绪接收数据就绪标志即接收数据就绪标志即RSTAT寄存器中的寄存器中的RDATA位反映了位反映了XBUF寄存器的状态。当寄存器的状态。当从从XRSRn 移位寄存器向移位寄存器向X RBUFn缓冲器传输数据时,缓冲器传输数据时,RDATA标志位被置位,标志位被置位,表示表示RBUF中包含接收的数据并准备好让中包含接收的数据并准备好让DSP来读取数据了。当来读取数据了。当RDATA位被写入位被写入1或者所有被配置为接收器的串行器都被读出了,标志位就会被清零。或者所有被配置为接收器的串行器都被读出了,标志位就会被清零。在这个例子中,当接收到字在这个例子中,当接收到字A的最后一位的最后一位(A0)时,时,McASP将将RDATA标志位置位,标志位置位,并产生一个并产生一个AREVT事件。然而,在事件。然而,在AREVT被激活前还需要被激活前还需要5个个McASP系统时钟系统时钟(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《酶化学作业》课件
- 《FMEA分析讲解》课件
- 2025年银川货运从业资格证考试模拟题及答案详解
- 我国科技创新智库建设的机制分析
- 思想政治教育学原理的体系建构与深化研究
- 部编版四年级语文《古诗词大会比赛》精美课件
- 2025年螺旋锥齿轮项目合作计划书
- 开展健康教育在预防职业女性阴道炎复发中的作用
- 应用型法律人才培养与法律实践教学
- DeepSeek 行业应用与实践
- 护理操作-吸痰
- 重症肺炎的基本知识宣教
- 中医适宜技术-腕踝针
- 初二上劳动技术课件电子版
- 创业计划书模板-创业计划书-商业计划书模板-项目计划书模板-商业计划书30
- 医院护理带教老师竞聘课件
- 四川虹科创新科技有限公司高强超薄耐摔玻璃智能制造产业化项目环境影响报告
- 多联机空调系统设计课件
- 烛之武退秦师 全市一等奖
- 提高高中教学质量的几点建议
- 地形图林地的勘界及面积测量-林地实地勘界与勾绘(森林调查技术)
评论
0/150
提交评论