多通道缓冲串口
发布时间:2021-06-12
发布时间:2021-06-12
DSP 多通道缓冲串口
第八章 多通道缓冲串口(McBSP)
DSP 多通道缓冲串口
第八章 多通道缓冲串口(McBSP)8.1 信号接口 8.2 控制寄存器
8.3 时钟和帧同步信号8.4 标准模式传输操作 8.7 SPI接口
DSP 多通道缓冲串口
8.1 信号接口McBSP是多通道缓冲串口(Multi-channel Buffered Serial Port)引脚CLKR CLKX CLKS DR DX FSR
输入输出状态I/O/Z I/O/Z I I O/Z I/O/Z
说明接收时钟 发送时钟 外部时钟 接收串行数据 发送串行数据 接收帧同步
FSX
I/O/Z
发送帧同步
RSR---数据接收移位寄存器 RBR---数据接收缓冲寄存器 DRR---数据接收寄存器 DXR---数据发送寄存器 XSR---数据发送移位寄存器
DSP 多通道缓冲串口
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的设置
DSP 多通道缓冲串口
McBSP 术语 位(Bit):位是串行数据流中的最小组成部分。每个位的开始和结束都是用
一个串行时钟的边沿作为标志。 字(Word):字是一组位,它组成了在DSP和外部器件之间传输的数据。 单元(Slot):一个单元包括组成字的那些位。有时为了将字填充到对于DSP
和外部器件接口来说合适的位数,单元也包括那些用来填充字的附加位。 帧(Frame):一帧可以包括一个或多个单元,这由具体协议确定
DSP 多通道缓冲串口
8.2 控制寄存器缩写 McBSP寄存器名
RSRRBR DRR XSR DXR SPCR RCR XCR
接收移位寄存器接收缓冲寄存器 数据接收寄存器 发送移位寄存器 数据发送寄存器 串口控制寄存器 接收控制寄存器 发送控制寄存器
SRGRPCR MCR RCER XCER
采样率发生器寄存器管脚控制寄存器 多通道控制寄存器 接收通道使能寄存器 发送通道使能寄存器
DSP 多通道缓冲串口
8.2 控制寄存器
串口控制寄存器(SPCR)
DSP 多通道缓冲串口
8.2 控制寄存器
接收控制寄存器(RCR)
发送控制寄存器(XCR)
DSP 多通道缓冲串口
8.2 控制寄存器
采样率发生器寄存器(SRGR)
管脚控制寄存器(PCR)
DSP 多通道缓冲串口
8.3 时钟和帧同步信号时钟CLKR/CLKX是接收/发送串行数据流的同步时钟,帧同步信号FSR和FSX则定义了一 批数据传输的开始。McBSP的数据时钟以及帧同步信号可以设置的参数包括: FSR、FSX、CLKX和CLKR的极性 选择单相帧
或二相帧 定义每相中数据单元的个数 定义每相中1个数据单元的位数 帧同步信号是否触发开始新的串行数据流 帧同步信号与第1个数据位之间的延迟,可以是0位、1位或2位延迟 接收数据的左右调整,进行符号扩展或是填充0
DSP 多通道缓冲串口
1. 采样率发生器
CLKG频率 = 输入时钟的频率/(CLKGDV+1) FPER和FWID位分别控制帧脉冲的周期和脉冲宽度
DSP 多通道缓冲串口
2. 帧同步和时钟信号的有效逻辑/边沿 可以通过PCR寄存器的FS(R/X)M位设置帧同步脉
冲由内部采样率发生器输出或是由外部输入; 通过PCR中的CLK(R/X)M位选择收发时钟信号是
外部输入还是输出。
DSP 多通道缓冲串口
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
(R/X)WDLEN(1/2) 000 001 010 011
数据单元的字长(位) 8 12 16 20
100101 其他
2432 保留
双相帧(Dual-Phase Frame)的例子
DSP 多通道缓冲串口
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 位
DSP 多通道缓冲串口
4. 数据延迟收/发控制寄存器中的RDATDLY位和XDATDLY位可分别设 置接收和发送的数据延迟,延迟范围可以是0~2个传输时钟 周期,一般是在其后的第1个时钟周期启动该帧的数据传输
DSP 多通道缓冲串口
8.4 标准模式传输操作下面的讨论中,假设串口的设置为: (R/X) (R/X) (R/X) (R/X)
PHASE=0,单相帧 FRLEN1=0b,每帧一个数据单元 WDLEN1=000b,数据单元字长8位 FRLEN2和(R/X) WDLEN2字段无效,可以设为任意值
CLK(R/X)P=0,时钟下降沿处接收数据,上升沿处发送数 FS(R/X)P=0,帧同步信号高有效 (R/X)DATDLY=01b,1位数据延迟
DSP 多通道缓冲串口
数据的接收(FSR)有效后,DR管脚上的数据在经过一定的数据延迟后依次移 位进入(RSR)。若RBR为空,则在每个数据单元接收的末尾, CLRK时钟上升沿处,RSR中的内容会被复制到RBR中。这一个 复制操作会在下一个时钟下降沿处触发状态位RRDY置1,标志 接收数据寄存器(DRR)已准备好,CPU或DMA控制器可以读取 数据。当数据被读走后,RRDY自动变无效。
DSP 多通道缓冲串口
数据的发送(FSX)有效后,(XSR)中的数据经过一定的数据延迟,开始依次 移位输出到DX管脚上。在每个数据单元发送的末尾,CLRK时 钟上升沿处,如果DXR中已经准备好新的数据,DXR中的新数 据会自动复制到XSR中。DXR-XSR复制操作会在下一个
CLKX 下降沿处激活XRDY位,表示可以向发送数据寄存器(DXR)写入 新的数据。CPU或DMA控制器写入数据后,XRDY变为无效。
DSP 多通道缓冲串口
帧信号的最高频率 帧频率=传输时钟频率/帧同步信号之间的传输时钟周期数 最大帧频率=传输时钟频率/每帧数据的位数
DSP 多通道缓冲串口
忽略帧同步的传输
(R/X) FIG=0时数 据单元B被多余的帧 同步信号中断的例子
(R/X) FIG=1时 McSBP忽略多余的 帧同步信号的操作
DSP 多通道缓冲串口
忽略帧同步的传输利用(R/X) FIG位设置,进行数据打包(Data Packing)
上一篇:海岸带和海岛资源的可持续利用
下一篇:海报广告创意及构图