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

下载本文档

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

文档简介

第八章多通道缓冲串口(McBSP)第八章多通道缓冲串口(McBSP)8.1信号接口8.2

控制寄存器8.3时钟和帧同步信号

8.4标准模式传输操作

8.7SPI接口

8.1信号接口McBSP是多通道缓冲串口(Multi-channelBufferedSerialPort)RSR---数据接收移位寄存器RBR---数据接收缓冲寄存器DRR---数据接收寄存器DXR---数据发送寄存器XSR---数据发送移位寄存器引脚输入输出状态说明CLKRI/O/Z接收时钟CLKXI/O/Z发送时钟CLKSI外部时钟DRI接收串行数据DXO/Z发送串行数据FSRI/O/Z接收帧同步FSXI/O/Z发送帧同步8.1信号接口CPU或EDMA控制器向数据发送寄存器(DXR)写入待发送的数据,从数据接收寄存器(DRR)读取接收到的数据。McBSP的接收操作采取3级缓存方式,数据到达DR管脚后移位进入RSR。一旦整个数据单元(8位、12位、16位、20位、24位或32位)接收完毕,若RBR寄存器为空,则RSR将数据复制到RBR中。如果DRR中旧的数据已经被CPU或EDMA控制器读走,则RBR进一步将新的数据复制到DRR中。发送操作采取2级缓存方式,发送数据首先由CPU或EDMA控制器写入DXR。如果XSR寄存器为空,则DXR中的值被复制到XSR准备移位输出;否则,DXR会等待XSR中旧数据的最后1位被移位输出到DX管脚后,才将数据复制到XSR中。这种多级缓冲结构使片内的数据读写和外部的数据通信可以同时进行。EDMA事件的触发,PaRAM的设置McBSP术语位(Bit):位是串行数据流中的最小组成部分。每个位的开始和结束都是用一个串行时钟的边沿作为标志。字(Word):字是一组位,它组成了在DSP和外部器件之间传输的数据。单元(Slot):一个单元包括组成字的那些位。有时为了将字填充到对于DSP和外部器件接口来说合适的位数,单元也包括那些用来填充字的附加位。帧(Frame):一帧可以包括一个或多个单元,这由具体协议确定8.2控制寄存器缩

写McBSP寄存器名RSR接收移位寄存器RBR接收缓冲寄存器DRR数据接收寄存器XSR发送移位寄存器DXR数据发送寄存器SPCR串口控制寄存器RCR接收控制寄存器XCR发送控制寄存器SRGR采样率发生器寄存器PCR管脚控制寄存器MCR多通道控制寄存器RCER接收通道使能寄存器XCER发送通道使能寄存器串口控制寄存器(SPCR)复位串口发送器复位串口接收器复位采样率发生器发送器准备好接收器器准备好发送中断模式控制接收中断模式控制符号扩展和校正引脚控制寄存器(PCR)发送时钟极性发送帧同步模式接收时钟极性发送帧同步时钟极性接收帧同步时钟极性发送时钟模式接收时钟模式接收帧同步模式发送控制寄存器(XCR)相位2单元长度相位数相位1单元长度相位2帧长度相位1帧长度发送数据延迟接收控制寄存器(RCR)相位2单元长度相位数相位1单元长度相位2帧长度相位1帧长度接收数据延迟采样率发生寄存器(SRGR)采样率发生器帧同步模式帧周期采样率发生器时钟源帧宽度时钟分频,产生采样率发生器时钟(R/X)PHASE=0,单相帧;(R/X)FRLENl=0b,每帧一个数据单元;(R/X)WDLENl=000b,每个数据单元长为8位;(R/X)FRLEN2和(R/X)

WDLEN2字段无意义;CLK(R/X)P=0,时钟下降沿接收数据,上升沿发送数据;FS(R/X)P=0,帧同步信号高电平有效;(R/X)DATDLY=0lb,l位数据延迟。McBSP标准操作标准操作的数据接收标准操作的数据发送8.3时钟和帧同步信号时钟CLKR/CLKX是接收/发送串行数据流的同步时钟,帧同步信号FSR和FSX则定义了一批数据传输的开始。McBSP的数据时钟以及帧同步信号可以设置的参数包括:FSR、FSX、CLKX和CLKR的极性选择单相帧或二相帧定义每相中数据单元的个数定义每相中1个数据单元的位数帧同步信号是否触发开始新的串行数据流帧同步信号与第1个数据位之间的延迟,可以是0位、1位或2位延迟接收数据的左右调整,进行符号扩展或是填充01.采样率发生器CLKG频率=输入时钟的频率/(CLKGDV+1)FPER和FWID位分别控制帧脉冲的周期和脉冲宽度

2.帧同步和时钟信号的有效逻辑/边沿

可以通过PCR寄存器的FS(R/X)M位设置帧同步脉冲由内部采样率发生器输出或是由外部输入;通过PCR中的CLK(R/X)M位选择收发时钟信号是外部输入还是输出。3.帧同步信号帧同步有效表示1帧串行数据传输的开始帧可以包括2个相位相位中的数据单元个数定义为

(R/X)FRLEN(1/2)+1数据单元的位数如表所示例子中参数设置为(R/X)FRLEN1=0000001b,(R/X)FRLEN2=0000010b,(R/X)WDLEN1=001b,(R/X)WDLEN2=000b

双相帧(Dual-PhaseFrame)的例子(R/X)WDLEN(1/2)数据单元的字长(位)00080011201016011201002410132其他保留3.帧同步信号4个8位数据单元的单相帧传输例子:(R/X)PHASE=0,表示单相帧(R/X)FRLEN1=0000011b,表示每帧4个数据单元(R/X)WDLEN1=000b,表示数据字长8位1个32位数据单元的单相帧传输例子:(R/X)PHASE=0,表示单相帧(R/X)FRLEN1=0b,表示每帧中含1个数据单元(R/X)WDLEN1=101b,表示数据单元字长32位4.数据延迟收/发控制寄存器中的RDATDLY位和XDATDLY位可分别设置接收和发送的数据延迟,延迟范围可以是0~2个传输时钟周期,一般是在其后的第1个时钟周期启动该帧的数据传输8.4标准模式传输操作下面的讨论中,假设串口的设置为:(R/X)PHASE=0,单相帧(R/X)FRLEN1=0b,每帧一个数据单元(R/X)WDLEN1=000b,数据单元字长8位(R/X)FRLEN2和(R/X)WDLEN2字段无效,可以设为任意值CLK(R/X)P=0,时钟下降沿处接收数据,上升沿处发送数FS(R/X)P=0,帧同步信号高有效(R/X)DATDLY=01b,1位数据延迟数据的接收(FSR)有效后,DR管脚上的数据在经过一定的数据延迟后依次移位进入(RSR)。若RBR为空,则在每个数据单元接收的末尾,CLRK时钟上升沿处,RSR中的内容会被复制到RBR中。这一个复制操作会在下一个时钟下降沿处触发状态位RRDY置1,标志接收数据寄存器(DRR)已准备好,CPU或DMA控制器可以读取数据。当数据被读走后,RRDY自动变无效。数据的发送(FSX)有效后,(XSR)中的数据经过一定的数据延迟,开始依次移位输出到DX管脚上。在每个数据单元发送的末尾,CLRK时钟上升沿处,如果DXR中已经准备好新的数据,DXR中的新数据会自动复制到XSR中。DXR-XSR复制操作会在下一个CLKX下降沿处激活XRDY位,表示可以向发送数据寄存器(DXR)写入新的数据。CPU或DMA控制器写入数据后,XRDY变为无效。帧信号的最高频率帧频率=传输时钟频率/帧同步信号之间的传输时钟周期数最大帧频率=传输时钟频率/每帧数据的位数忽略帧同步的传输(R/X)FIG=0时数据单元B被多余的帧同步信号中断的例子

(R/X)FIG=1时McSBP忽略多余的帧同步信号的操作

忽略帧同步的传输利用(R/X)FIG位设置,进行数据打包(DataPacking)多通道传输接口1帧串行数据流也可看成是1组时分复用的数据传输通道,“数据单元”就等同于“数据通道”

(a)XMCM=00b,多通道操作被禁止。发送的4个数据单元都经过了“写入DXR”,和“DXR-XSR拷贝”阶段,最后出现在DX管脚上

多通道传输接口(b)XMCM=01b,使能多通道工作模式。首先禁止并屏蔽所有数据单元的发送输出。XPABLK选择A组子帧中的0号子帧,然后由XCER使能该子帧中的第1、3号数据通道进行发送。只有被选择并使能的通道,其对应数据(E1,E3)才会进行DXR-XSR拷贝,并出现在DX管脚上多通道传输接口(c)XMCM=10b,使能多通道工作模式。所有的通道都被使能发送数据,因此可以看到E0~E3都完成了“写入DXR”“DXR-XSR拷贝”操作,但是只有XPABLK和XCER位选择的通道的数据(E1和E3)才会真正出现在DX管脚上,其余通道数据的输出均被屏蔽多通道传输接口(d)XMCM=11b,使能多通道工作模式。首先禁止并屏蔽所有数据单元的发送输出,进入对称收发模式。对称收发模式是指设备的收发操作在同一个子帧位置执行。此时由RPABLK统一选择发送和接收需要的子帧,XPABLK字段的设置值不再有效8.7SPI接口串行协议接口(SeriesProtocolInterface)定义了主/从两种模式,包括4根信号线串行数据输入(MISO,主设备输入或从设备输出)串行数据输出(MOSI,主设备输出或从设备输入)移位时钟(SCK)从设备使能(SS)SPI接口的最大特点是由主设备时钟信号的出现与否界定主/从设备间的通信McBSP的数据同步时钟具有停止控制选项,因此可以与SPI协议兼容

SPI接口时钟工作模式CLKSTP=10b时的SPI传输CLKSTP=11b时的SPI传输CLKSTP(SPCR)CLKXP(PCR)时钟工作模式0xx禁止时钟停止模式,使能为非SPI模式100传输无效期间时钟为低,没有延迟。McBSP在CLKX上升沿发送数据,在CLKX的下降沿接收数据110传输无效期间时钟为低,有延迟。McBSP在CLKX上升沿前半个周期发送数据,在CLKX的上升沿接收数据101传输无效期间时钟为高,没有延迟。McBSP在CLKX下降沿发送数据,在CLKX的上升沿接收数据111传输无效期间时钟为高,有延迟。McBSP在CLKX下降沿前半个周期发送数据,在CLKX的下降沿接收数据CLKSTP=10,CLKXP=0CLKSTP=10,CLKXP=1CLKSTP=11,CLKXP=0CLKSTP=11,CLKXP=1CLKGDV=250,时钟周期=40ns*250=10us,(CPU/2)=25MHzMcBSP作为SPI主控端(Master)由于McBSP产生CLKX和FSX信号输出,因此需设置CLKXM=FSXM=1。此外,还需要设置SRGR寄存器中的FSMG=0,即每次进行DXR到XSR的拷贝操作时要产生FSX信号McBSP作为SPI从属端(Slave)当McBSP作为SPI从设备时,由外部主设备产生接口时钟和从设备使能信号。McBSP的CLKX管脚和FSX管脚配置为输入管脚(CLKXM=FSXM=0)。输入串口的CLKX和FSX同时也作为McBSP接收端的CLKR信号和FSR信号。在进行数据传输之前,外部主设备必须先置FSX信号有效(低电平)McBSP作为通用I/O口在下列2种情况下,串口的管脚(CLKX、FSX、DX、CLKR、FSR、DR以及CLKS)可以用做通用I/O:SPCR寄存器中(R/X)RST=0,接收端或发送端处于复位状态PCR寄存器中(R/X)IOEN=1,串口设置为通用I/O模式引脚多用途的I/O使能条件输出输入选择输出条件输出值来源选择输入条件可读的输入值CLKXXRST=0,

温馨提示

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

评论

0/150

提交评论