第十章多通道缓冲串口MCBSP_第1页
第十章多通道缓冲串口MCBSP_第2页
第十章多通道缓冲串口MCBSP_第3页
第十章多通道缓冲串口MCBSP_第4页
第十章多通道缓冲串口MCBSP_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP增强型外设增强型外设w多通道缓冲串口多通道缓冲串口McBSPw直接存储器访问直接存储器访问DMAw主机接口主机接口HPI一、一、McBSP概述概述 McBSPMcBSP设计是基于设计是基于TMS320C2XTMS320C2X、C20XC20X、C5XC5X、C54XC54X的标准串口上扩展的,的标准串口上扩展的,McBSPMcBSP提供:提供:u 全速双工通信全速双工通信u 双缓存发送和三缓存接收数据寄存器,以支双缓存发送和三缓存接收数据寄存器,以支持连持连 续传送续传送u 收和发使用独立的帧和比特时钟收和发使用独立的帧和比特时钟u 接口和与串行接口和与串行ADC/DACADC/DAC的

2、接口的接口u 外部变速时钟发生器,内部可编程时钟发生外部变速时钟发生器,内部可编程时钟发生器器1、McBSP的基本特点的基本特点u直接多种工业格式接口直接多种工业格式接口u多通道收发,通道数达多通道收发,通道数达128128u字宽可选:字宽可选: 8, 12, 16, 20, 24, and 32 bitsuU-Law and A-Law U-Law and A-Law 压缩与扩展压缩与扩展u8 8位传输时可选先传:位传输时可选先传: LSB or MSBLSB or MSBu帧信号与时钟信号极性可编程帧信号与时钟信号极性可编程2、 McBSP的结构的结构uTMS320C54xx多通道缓冲串口

3、(多通道缓冲串口(McBSP)由引脚、接由引脚、接收发送部分、时钟及帧同步信号产生、多通道选择以及收发送部分、时钟及帧同步信号产生、多通道选择以及CPU中断信号和中断信号和DMA同步信号组成,如图所示。同步信号组成,如图所示。表表 McBSP引脚说明引脚说明表表 McBSP内部信号说明内部信号说明3、 McBSP的工作流程的工作流程w McBSPMcBSP与外设进行数据传输是通过(与外设进行数据传输是通过(DXDX)脚来发送,(脚来发送,(RXRX)脚来接收,通信的时钟脚来接收,通信的时钟与帧信号是由与帧信号是由CLKX, CLKR, FSX, and FSRCLKX, CLKR, FSX,

4、and FSR脚来控制。脚来控制。w DSPDSP的的CPUCPU或或DMADMA从数据接收寄存器(从数据接收寄存器(DRR1DRR1,22)读取接收数据,发送时向数据发送寄读取接收数据,发送时向数据发送寄存器存器( (DXR1,2)DXR1,2)写数据。写数据。w 数据写入数据写入( (DXR1,2)DXR1,2)后通过传输移位寄后通过传输移位寄存器存器( (XSR1,2) XSR1,2) 移位输出到移位输出到DXDX上,同上,同样,从样,从DRDR上接收的数据移位存储到接收上接收的数据移位存储到接收移位寄存器移位寄存器( (RSR1,2) RSR1,2) 并拷贝到接收并拷贝到接收缓存寄存器

5、缓存寄存器( (RBR1,2) RBR1,2) ,然后,再由然后,再由( (RBR1,2)RBR1,2)拷贝到拷贝到DRR1,2DRR1,2,DRR1,2DRR1,2就可以由就可以由CPUCPU或或DMADMA来读出。多级寄存器来读出。多级寄存器允许在通信时内部和外部数据同时传输。允许在通信时内部和外部数据同时传输。w C54XXC54XX对对McBSPMcBSP的控制由的控制由1616位的控制寄存位的控制寄存器实现。器实现。二、二、 McBSP的配置的配置1、 McBSP控制寄存器 表 McBSP控制寄存器及其映射地址寄存器类型寄存器类型通用控制寄存器:通用控制寄存器:SPCR1,2,PCR

6、 接收和发送通道寄存器:接收和发送通道寄存器:RCR1X,RCR2X,XCR1X,XCR2X时钟控制寄存器:时钟控制寄存器:SRGR1X,SRGR2X多通道控制寄存器:多通道控制寄存器:MCR1X,MCR2X2、串口控制寄存器串口控制寄存器1 1(SPCR1SPCR1) SPCR1设置设置McBSP串口的数字环回模式、串口的数字环回模式、 接收符号扩展和校验接收符号扩展和校验模式、模式、Clock Stop模式、模式、DX是否允许、是否允许、A-bis 模式、接收中断模式、接收中断模式等,并给出接收同步错误、接收移位寄存器模式等,并给出接收同步错误、接收移位寄存器(RSR1,2)空、空、接收准

7、备好等状态。此外可以进行接收复位。接收准备好等状态。此外可以进行接收复位。3、串口控制寄存器串口控制寄存器2 2(SPCR2SPCR2) SPCR2设置设置McBSP自由运行模式、自由运行模式、SOFT 模式、发送中断模式,并给出发模式、发送中断模式,并给出发送同步错误、发送移位寄存器送同步错误、发送移位寄存器(XSR1,2)空、发送准备好等状态。此外可空、发送准备好等状态。此外可以进行发送复位、采样率发生器复位、帧同步发生电路复位。以进行发送复位、采样率发生器复位、帧同步发生电路复位。4、引脚控制寄存器(引脚控制寄存器(PCRPCR) PCR设置设置McBSP传输帧同步模式、接收帧同步模式、

8、发送时传输帧同步模式、接收帧同步模式、发送时钟模式、接收时钟模式、发送帧同步信号的极性、接收帧同钟模式、接收时钟模式、发送帧同步信号的极性、接收帧同步信号的极性、发送时钟极性、接收时钟极性,并给出步信号的极性、发送时钟极性、接收时钟极性,并给出CLKS、DX、DR脚的状态。此外脚的状态。此外PCR还定义发送和接收部还定义发送和接收部分在复位时相应引脚是否配置为通用分在复位时相应引脚是否配置为通用 I/O。5 5、接收控制寄存器、接收控制寄存器1 1(RCR1RCR1) RCR1RCR1设置设置McBSPMcBSP接收时第一相的接收时第一相的接收帧长度(从接收帧长度(从1个字到个字到128个个字

9、、接收字长度(字、接收字长度(8、12、16、20、24、32bits)。6 6、接收控制寄存器、接收控制寄存器2 2(RCR2RCR2) RCR2RCR2设置设置McBSPMcBSP接收时接收时是否允许第二相是否允许第二相(RPHASE=1RPHASE=1)。)。如果如果允许,设置允许,设置McBSPMcBSP接收接收时第二相的接收帧长时第二相的接收帧长度(从度(从1 1个字到个字到128128个个字、接收字长度(字、接收字长度(8 8、1212、1616、2020、2424、3232bitsbits)。)。此外,此外, RCR2RCR2设置设置McBSPMcBSP接收时接收时的接收压缩模式

10、、接的接收压缩模式、接收同步帧忽略模式、收同步帧忽略模式、接收数据延迟。接收数据延迟。7 7、发送控制寄存器、发送控制寄存器1 1(XCR1XCR1) XCR1XCR1设置设置McBSPMcBSP发送时第一相发送时第一相(FIRST PHASEFIRST PHASE)的发送的发送帧长度帧长度(从(从1个字到个字到128个字、发送个字、发送字长度(字长度(8、12、16、20、24、32bits)。8、发送控制寄存器发送控制寄存器2 2(XCR2XCR2) XCR2XCR2设置设置McBSPMcBSP发送时是否发送时是否允许第二相(允许第二相(XPHASE=1XPHASE=1)。)。如果允许,设

11、置如果允许,设置McBSPMcBSP时第时第二相的发送二相的发送帧长度(从帧长度(从1个个字到字到128个字、个字、发送发送字长度字长度(8、12、16、20、24、32bits)。此外,此外, XCR2XCR2设设置置McBSPMcBSP发送时的发送发送时的发送压缩压缩模式、模式、发送同步发送同步帧忽略模式、帧忽略模式、发送发送数据延迟。数据延迟。三、时钟和帧同步1、系统框图系统框图w 串口工作需要帧同步和比特时钟信号,这两个串口工作需要帧同步和比特时钟信号,这两个信号的来源可以是外部管脚输入,也可以是内信号的来源可以是外部管脚输入,也可以是内部采样率生成器产生,对于后者,此时管脚可部采样率

12、生成器产生,对于后者,此时管脚可能是一个时钟输出管脚。能是一个时钟输出管脚。2、工作帧同步和工作比特时钟、工作帧同步和工作比特时钟w 真正用于发生和接收的帧同步和比特时钟我们真正用于发生和接收的帧同步和比特时钟我们叫做叫做internal CLKR,internal FSR,internal CLKX,internal FSX。w 这些信号同数据关系满足如图要求这些信号同数据关系满足如图要求 1)比特时钟上升沿对齐帧同步,下降)比特时钟上升沿对齐帧同步,下降 沿采样沿采样帧同步帧同步 2)帧同步高电平有效,长度无所谓)帧同步高电平有效,长度无所谓 3)比特时钟上升沿对齐数据,下降沿采样数)比特

13、时钟上升沿对齐数据,下降沿采样数据据3 3、工作帧同步和比特时钟来源、工作帧同步和比特时钟来源w 对于发送通道,可以是外部管脚,也可以对于发送通道,可以是外部管脚,也可以是内部采样率生成器是内部采样率生成器w 对于接收通道,可以是外部管脚,也可以对于接收通道,可以是外部管脚,也可以是内部采样率生成器,工作在是内部采样率生成器,工作在DLB模式时,模式时,则来源于发送通道工作帧同步和工作时钟则来源于发送通道工作帧同步和工作时钟4、采样率生成器、采样率生成器 采样率发生器由三级时钟分频组成,产生可编程的采样率发生器由三级时钟分频组成,产生可编程的CLKG(数据位时钟)信号和数据位时钟)信号和FSG

14、(帧同步时钟)信号。帧同步时钟)信号。CLKG和和FSG是是McBSP的内部的内部 信号,用于驱动接收信号,用于驱动接收/发送时钟信号发送时钟信号(CLKR/X)和帧同步信号(和帧同步信号(FSR/X)。)。采样率发生器时钟采样率发生器时钟既可以由内部的既可以由内部的CPU时钟驱动(时钟驱动(CLKSM=1),),也可以由外也可以由外部时钟源驱动(部时钟源驱动(CLKSM=0)。)。10CLKSMCLKSCLKSPCPU时 钟CLKSRG帧 脉冲CLKGDVFPERFWIDFSG帧 脉 冲 检 测与 时 钟 同 步CLKGGSYNCFSR采样率发生器框图u采样率发生器的三级分频分别是:采样率发

15、生器的三级分频分别是: 数据位时钟分频数据位时钟分频( (CLKGDV) CLKGDV) 帧周期分频帧周期分频( (FPER)FPER) 帧脉冲宽度分频帧脉冲宽度分频( (FWIDFWID)u采样率发生器的工作模式由采样率发生器采样率发生器的工作模式由采样率发生器控制寄存器控制寄存器SRGR1SRGR1和和SRGR2SRGR2控制。控制。采样率发生器控制寄存器(采样率发生器控制寄存器(SRGR1SRGR1) 采样率发生器寄存器采样率发生器寄存器1 1设置帧正脉冲宽度(必须设置帧正脉冲宽度(必须小于小于WDLENWDLEN指出的字的长度)和数据位时钟分频指出的字的长度)和数据位时钟分频( CLK

16、GCLKG与输入与输入CLKCLK频率之比,约定值为频率之比,约定值为1 1)。采样率发生器控制寄存器(采样率发生器控制寄存器(SRGR2SRGR2) 采样率发生器采样率发生器寄存器寄存器2 2设置设置采样率发生器采样率发生器时钟同步模式、时钟同步模式、CLKSCLKS的极性、的极性、采样率发生器采样率发生器输入时钟选择、输入时钟选择、帧周期分频。帧周期分频。采样率发生器复位采样率发生器复位w 设备复位或置设备复位或置/ /GRSTGRST为零可以复位采样率发生为零可以复位采样率发生器。器。w 设备复位使采样率发生器复位时,设备复位使采样率发生器复位时,CLKGCLKG等于等于CPU-CLK/

17、2CPU-CLK/2,而而FSGFSG为无效低电平。当为无效低电平。当/ /RSRS放开放开(延迟)(延迟)/ /GRSTGRST放开后,放开后,CLKGCLKG按按SRGR1SRGR1编程产生;编程产生;如果,如果,/ /FRSTFRST也放开,则经过也放开,则经过FPERFPER个个CLKGCLKG,FSGFSG为有效高电平。为有效高电平。w 置置/ /GRSTGRST为零复位采样率发生器,为零复位采样率发生器,CLKGCLKG和和FSGFSG都都将是无效低电平。将是无效低电平。采样率生成器复位过程采样率生成器复位过程5、帧和时钟极性操作帧和时钟极性操作w 用于控制接收和发送的帧同步和时钟

18、有内部的用于控制接收和发送的帧同步和时钟有内部的概念,就是真实的工作帧同步和时钟。概念,就是真实的工作帧同步和时钟。w 数据在工作时钟的上升沿产生,下降延采样。数据在工作时钟的上升沿产生,下降延采样。w 工作帧同步是高电平有效,其上升沿同工作比工作帧同步是高电平有效,其上升沿同工作比特时钟上升沿对齐。特时钟上升沿对齐。w 工作帧同步和时钟来源可以是外部管脚工作帧同步和时钟来源可以是外部管脚FSR/X和和CLKX/R得到,也可以是采样率生成器得到。得到,也可以是采样率生成器得到。w 外部引脚产生工作帧同步和时钟可能会有极外部引脚产生工作帧同步和时钟可能会有极性问题。这时,通过性问题。这时,通过C

19、LK(R/X)P,PFS(R/X)P来调整,使之满足工作帧同步和来调整,使之满足工作帧同步和时钟的极性要求。时钟的极性要求。w 采样率生成器产生的工作帧同步和时钟肯定采样率生成器产生的工作帧同步和时钟肯定是满足极性要求的,即:数据在工作时钟的是满足极性要求的,即:数据在工作时钟的上升沿产生,下降沿采样,工作帧同步是高上升沿产生,下降沿采样,工作帧同步是高电平有效。电平有效。u使用管脚使用管脚CLKS作为采样率生成器的时钟输作为采样率生成器的时钟输入而不是入而不是CPU时钟时,存在极性和同步问题,时钟时,存在极性和同步问题,通过通过CLKSP选择是在选择是在CLKS上升沿还是下降上升沿还是下降沿

20、产生沿产生CLKG和和FSG。u当当GSYNC=1,FSG由外部管脚由外部管脚FSR触发,触发,FPER没有作用,而且没有作用,而且CLKG要重新与要重新与FSG同步,即同步,即FSG上升沿时保持高电平上升沿时保持高电平6、数据时钟生成、数据时钟生成w CLK(R/X)M=0,外部管脚外部管脚CLK(R/X)作为工作为工作数据时钟,通过作数据时钟,通过CLK(R/X)P控制极性;控制极性;w CLK(R/X)M=1,内部采样率生成器产生工作内部采样率生成器产生工作数据时钟。采样率生成器的输入时钟可以是数据时钟。采样率生成器的输入时钟可以是CPU时钟,也可以是时钟,也可以是CLKS管脚,由管脚,

21、由CLKSM控制。当是后者,控制。当是后者,CLKSP控制器极性;控制器极性;w 内部采样率生成器产生工作数据时钟,通过内部采样率生成器产生工作数据时钟,通过CLKGDV分频采样率生成器输入时钟得到。分频采样率生成器输入时钟得到。7、帧同步信号生成、帧同步信号生成w 如果是由采样率生成器产生发送和接收帧同如果是由采样率生成器产生发送和接收帧同步,首先考虑采样率生成器的输入时钟是步,首先考虑采样率生成器的输入时钟是CPU还是还是CLKS管脚。这个同数据时钟是一致管脚。这个同数据时钟是一致的,由的,由FS(R/X)M=1和和CLKSM决定。决定。w 当由采样率生成器产生帧同步,当由采样率生成器产生

22、帧同步,FPER和和FWID控制帧同步的周期和有效宽度(高电平控制帧同步的周期和有效宽度(高电平宽度),大小为设定值加宽度),大小为设定值加1。w FWID不能大于不能大于WDLEN.例子:例子:FPER=15,FWID1w FS(R/X)M=0,帧同步由外部输入管脚产帧同步由外部输入管脚产生,可以通过生,可以通过FS(R/X)P控制极性;控制极性;w FS(R/X)M=1,帧同步由内部产生。对于帧同步由内部产生。对于接收帧同步,内部产生只能是采样率生成接收帧同步,内部产生只能是采样率生成器,但对于发送帧同步,内部产生除了采器,但对于发送帧同步,内部产生除了采样率生成器,还可以是样率生成器,还

23、可以是DXR1,2-TO-XSR1,2产生。产生。发送帧同步信号生成发送帧同步信号生成课本课本Page 330 表表6.414接收帧同步信号生成接收帧同步信号生成8、DLBw 数据从数据从XSR1直接进入直接进入RSR1,而且不通过而且不通过外部外部DX和和DR管脚管脚w 通过寄存器通过寄存器SPCR1中的中的DLB比特控制比特控制DLB与时钟与时钟w DLBDLB时,在时,在DSPDSP内部,内部,DRDR,FSRFSR,CLKR CLKR 同同DXDX,FSXFSX,CLKXCLKX是短接在一起的。是短接在一起的。w 发送数据时钟决定接收数据时钟发送数据时钟决定接收数据时钟,而发送数而发送

24、数据时钟控制方法如前页所述。据时钟控制方法如前页所述。w 发送数据时钟确定后,接收数据时钟选择情发送数据时钟确定后,接收数据时钟选择情况况 DLB与帧同步与帧同步w 首先我们确定发送帧同步,确定方法如前所首先我们确定发送帧同步,确定方法如前所述。述。w 然后由发送帧同步确定接收帧同步。然后由发送帧同步确定接收帧同步。9 9、帧配置、帧配置w FSRFSR,FSXFSX,CLKXCLKX,CLKRCLKR的极性的极性w 单相还是多相帧结构单相还是多相帧结构w 对每一相,设置字数(每帧该相有多少字)对每一相,设置字数(每帧该相有多少字)w 对每一相,设置字宽(字的比特位数)对每一相,设置字宽(字的

25、比特位数)w 设置相对帧脉冲,第一位传输数据的延迟为设置相对帧脉冲,第一位传输数据的延迟为0 0、1 1、2 2位(位(CLKGCLKG)w 设置连续帧同步工作模式,还是除第一个设置连续帧同步工作模式,还是除第一个帧脉冲后忽略帧同步脉冲工作模式帧脉冲后忽略帧同步脉冲工作模式w 对串口接收,设置左或右效验和符号扩展对串口接收,设置左或右效验和符号扩展或或0 0填充模式填充模式w 如果采用内部采样率发生器产生帧脉冲信如果采用内部采样率发生器产生帧脉冲信号,设置帧信号脉宽、周期、号,设置帧信号脉宽、周期、CLKGCLKG时钟分时钟分频、信号极性等频、信号极性等帧格式帧格式帧格式帧格式10、数据延时、

26、数据延时 定义从帧同步信号有效到第一个数据产生定义从帧同步信号有效到第一个数据产生的时延,通常取的时延,通常取1。 11、DX脚延时使能脚延时使能w 本来是本来是CLKX上升沿数据开始,但上升沿数据开始,但DX延时使延时使能条件下,数据可以有一定延时后才开始。能条件下,数据可以有一定延时后才开始。在一般模式下,只有第一个在一般模式下,只有第一个BIT可以有延时,可以有延时,在在A-bis模式下,则是每个比特都可以模式下,则是每个比特都可以.四、多通道模式四、多通道模式w 目的是提高传输数据量;目的是提高传输数据量;1、多通道工作模式的控制寄存器1)、多通道控制寄存器1(MCR1) MCR1设置

27、McBSP在多通道工作模式时的接收PART-B的块结构、接收PART-A的块结构、当前可接收块、接收多通道选择。2)、多通道控制寄存器2(MCR2)说明 MCR2MCR2设置设置McBSPMcBSP在多通道工作模式时的发送在多通道工作模式时的发送PART-APART-A块结构、发送块结构、发送PART-BPART-B块结构、当前发送块、发送多通道块结构、当前发送块、发送多通道选择。选择。3)、接收、发送通道使能寄存器说明(图中各位:置1-使能,置0-不允许)2、多通道工作模式设置u设置(R/X)PHASE = 0选择单相工作模式u设置FRLEN1 = ?选择帧长(字数,也是多通道工作模式下的通

28、道数,最多可达128)u设置字长WDLEN1 = ?(每通道传输多少bits)u如果是单通道连续工作,置RMCM=0X和MCM=0u如果是多通道工作,设置RP(A/B)BLK,XP(A/B)BLK,RCER(A/B)、XCER(A/B),并置RMCM=1、XMCM位非0五、工作流程五、工作流程w 控制控制McBSP系统工作模式的寄存器包括系统工作模式的寄存器包括SPCR1,SPCR2,PCRw 控制接收和发送数据具体工作模式的寄存控制接收和发送数据具体工作模式的寄存器是器是RCR1,RCR2,XCR1,XCR2w 多同道工作模式涉及寄存器多同道工作模式涉及寄存器MCR1,MCR2,RCERA,

29、RCERB,XCERA,XCERB1 1、McBSPMcBSP串口的复位串口的复位两种复位方式:1 1)设备复位()设备复位(/ /RS=0RS=0):): 即整个串口复位。此时,即整个串口复位。此时,/ /RRSTRRST和和/ /XRSTXRST为为零,零,DRDR、CLKR/XCLKR/X、FSR/XFSR/X为输入信号,为输入信号,DXDX为输出信号,输出高阻为输出信号,输出高阻。同时同时/ /GRSTGRST也为也为零,零,CLKG=CPUCLKG=CPU时钟时钟/2/2,不产生,不产生FSGFSG信号。信号。/ /RSRS放开后,放开后,/ /RRSTRRST、/XRST/XRST

30、、/GRST/GRST、/FRST/FRST仍为零,此时,仍为零,此时,McBSPMcBSP配置寄存器赋配置寄存器赋值,复位进入值,复位进入McBSPMcBSP复位状态复位状态。2 2)从从McBSPMcBSP复位复位 McBSP McBSP串口发送器和接收器可以分别复位串口发送器和接收器可以分别复位(/ /RRST=0RRST=0、/XRST=0/XRST=0、/FRST=0/FRST=0)。)。不论不论是接收还是发送的复位,相应部分将停止是接收还是发送的复位,相应部分将停止串口操作,而相应引脚当作串口操作,而相应引脚当作I/OI/O脚使用,脚使用,由由PCRPCR的的XIOENXIOEN、

31、RIOENRIOEN决定。决定。串口初始化过程见P.3272、McBSP的准备好状态的准备好状态1 1)接受准备好)接受准备好 串口复位时串口复位时RRDYRRDY清为清为0 0,当,当RBR1,2RBR1,2内容拷内容拷贝到贝到DRR1,2DRR1,2时,时,RRDYRRDY有效,该数据可以被有效,该数据可以被CPU or DMACPU or DMA读,一旦读,一旦CPU or DMACPU or DMA读走数据读走数据RRDYRRDY又清为又清为0 0。如果。如果SPCR1SPCR1中的中的RINTM = 00RINTM = 00,RRDYRRDY将驱动将驱动McBSPMcBSP的接收中断

32、的接收中断( (RINT)RINT)给给CPUCPU。 2 2)发送准备好)发送准备好 XRDY = 1XRDY = 1说明说明DXR1,2DXR1,2的数据已拷贝到的数据已拷贝到XSR1,2XSR1,2中,中,DXR1,2DXR1,2可以装入新的数据。可以装入新的数据。串口复位放开时(串口复位放开时(/ /XRSTXRST从从0 0到到1)1),XRDYXRDY从从0 0变变到到1 1已说明已说明DXR1,2DXR1,2可以装入新数据,一旦有可以装入新数据,一旦有新数据装入,新数据装入,XRDYXRDY就清为就清为0 0。如果。如果SPCR2SPCR2中中XINTM = 00XINTM =

33、00,XRDY XRDY 还直接驱动发送中断还直接驱动发送中断( (XINT) XINT) 给给CPUCPU。 3 3、 串口产生的中断串口产生的中断w ( (R/X)INTM=00R/X)INTM=00:每传送一个字,每传送一个字,( (R/X)RDY R/X)RDY 响响应一次,就产生响应串口中断一次。应一次,就产生响应串口中断一次。w ( (R/X)INTM=01R/X)INTM=01:在多通道模式中,一个帧内出在多通道模式中,一个帧内出现现1616通道的块(通道的块(PARTITIONPARTITION)边界就产生中断。边界就产生中断。此时此时CPUCPU可以检测是哪个可以检测是哪个P

34、ARTITIONPARTITION。w (R/X)INTM=10:(R/X)INTM=10:检测到帧同步脉冲就产生检测到帧同步脉冲就产生( (R/X)INTR/X)INT。w (R/X)INTM=11:(R/X)INTM=11:当出现帧同步错误时产生中断。当出现帧同步错误时产生中断。4、帧和时钟配置w帧配置;w接收时钟选择;w发送时钟选择;w接收帧同步选择;w发送帧同步选择。备注备注 IO工作方式工作方式w 满足两个条件工作在满足两个条件工作在IOIO口模式口模式1 1)管脚在复位状态)管脚在复位状态2 2)通用通用IOIO使能比特设为有效使能比特设为有效w 而具体每个管脚是输入还是输出,其高

35、低而具体每个管脚是输入还是输出,其高低电平如何读写见下表。电平如何读写见下表。五、编程举例下面给出一个McBSP串口实验程序 这是一个串口自测试程序,除检验串口的功能外, 该程序还利用串口完成数据的内部压缩,通过设置 XCOMPAND或RCOMPAND之一可以实现内部数据A-law 或u-law的压缩和解压 程序的流程是: 修改中断向量表 初始化McBSP串口 设置BLD=1,即支持数字回环方式 设置RCOMPAND=10,即采用u-law扩展 ar3指向发送数据缓冲区 ar4指向接收数据缓冲区,初始化将接收数据缓冲 区全部清为0 编写接收与发送中断程序详细程序及说明; This is McB

36、SP test program. The work-mode of McBSP Series:; BLD=1 (Digital loop back mode enabled) ; RCOMPAND=10 or 11 (u-law/A-law Expand: 8bits - 16bits); (R/X)INTM=00 (generate an interrupt every word traxsmitted); ar3 - Transmit data buffer(buffer_1); ar4 - receive data buffer(buffer_2); The program is app

37、licable for VC5409 ; Designed by liyubai; Modifing 1.0 Time 2001,6,28.title Test McBSP Program.mmregs.global mainstart.global interrupt_vectordrr11.set 41h;McBSP1 receive data registerdxr11.set 43h;McBSP1 transmit data registerspsa1.set 48h;McBSP1 sub_bank address registerspcd1.set 49h;McBSP1 sub_ba

38、nk data register.bss stack_memory,500.bss buffer_1,1000.bss buffer_2,1000interrupt_vector:;interrupt vector table.textrsb mainstart nopnopnmi b _ret .word 0,0sint17 b _ret .word 0,0sint18 b _ret .word 0,0sint19 b _ret .word 0,0sint20 b _ret .word 0,0sint21 b _ret .word 0,0sint22 b _ret .word 0,0sint

39、23 b _ret .word 0,0sint24 b _ret .word 0,0sint25 b _ret .word 0,0sint26 b _ret .word 0,0sint27 b _ret .word 0,0sint28 b _ret .word 0,0sint29 b _ret .word 0,0sint30 b _ret .word 0,0int0 b _ret .word 0,0int1 b _ret .word 0,0int2 b _ret .word 0,0tint b _ret .word 0,0brint0 b _ret .word 0,0bxint0 b _ret

40、 .word 0,0dmac0 b _ret .word 0,0dmac1 b _ret .word 0,0int3 b _ret .word 0,0hpint b _ret .word 0,0brint1 b McBSP1_receive_intnopnopbxint1 b McBSP1_transmit_intnopnopq28 .word 0,0,0,0q29 .word 0,0,0,0q30 .word 0,0,0,0q31 .word 0,0,0,0mainstart: ssbx intm;close all interruptstm #0ffffh,ifr;cleare all i

41、nterrupt_flagstm #0,clkmd;switch to DIV modets: ldm clkmd,a and #01b,a bc ts,aneq stm #5207h,clkmd;clkout=clkin X 6rpt #100 ;waits enough clocksnopstm #stack_memory,sp ;sp = stack_memory stm #0ff80h,pmst ;vector table start: 0 xff80 stm #3610h,swwsr;I/O wait: 3clks, data_0 x8000-;0 xffff wait:3clks;

42、program_0 x8000-0 xffff;wait:2clks call Clear_McBSP1_receive_buf call McBSP1_initializingrpt #0ffhnopstm #buffer_1,ar3stm #buffer_2,ar4ld #799,b;pre_put numberS of McBSP interruptstm #1800h,imr;enable RINT1,XINT1rsbx intm;enable all intwait_McBSP_int:nopnopbc _ret,beqnopnopb wait_McBSP_intnop_ret:no

43、preteMcBSP1_initializing:stm #0,spsa1;choose SPCR11stm #08000h,spcd1;1000000000000000 = SPCR11. ;DLB(15)=1(Digital loop back moden enabled);RJUST(14-13)=00;CLKSTP(12-11)=00;RES(10-8)=000,DXENA(7)=0,ABIS(6)=0;RINTM(5-4)=00,RSYNCERR(3)=0,RFULL(2)=0;RRDY(1)=0,RRST(0)=0stm #1,spsa1;choose spcr21stm #0h,spcd1;0000000000000000 = SPCR21.;RES(15-10)=000000,FREE(9)=0,SOFT(8)=0;FRST(7)=0,GRST(6)=0,XINT(5-4)=00,XSYNCERR(3)=0;XFULL(2)=0,XRDY(1)=0,XRST(0)=0stm #2,spsa1;choose RCR11stm #0,spcd1;0000000000000000 = RCR11.;RES(15)=0,RFRLEN1(14-8)=000 0000;RWDLEN1(7-5)=000,RES(4-0)=0 0000stm #3,spsa1;choos

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论