第十六讲 多功能缓冲串口 mcbsp

34
第第第第 McBSP BIT / TI 1 第第第第 第第第第第第第 McBSP

Upload: soyala

Post on 26-Jan-2016

274 views

Category:

Documents


2 download

DESCRIPTION

第十六讲 多功能缓冲串口 McBSP. 内容简介. 串口特点 数据的收发操作 多通道操作 硬件的 u -/ A - 律压扩 SPI 接口. 概述 — 特点. 收 / 发独立、全双工、双缓冲数据通信,允许连续的数据流 可以和与标准的编 / 解码器、 AICs 接口 支持多种协议下的接口传输 T1/E1 、 MVIP 、 ST-BUS 、 IOM-2 、 AC97 、 IIS 、 SPI 支持多通道操作( 128 ) 内置 u- 律和 A- 律压扩硬件 内部传输时钟和帧同步信号可编程程度高 数据字长可以是 8-/12-/16-/20-/24-/32-bit. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 1

第十六讲 多功能缓冲串口McBSP

Page 2: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 2

内容简介• 串口特点• 数据的收发操作• 多通道操作• 硬件的 u-/A- 律压扩• SPI 接口

Page 3: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 3

概述—特点• 收 / 发独立、全双工、双缓冲数据通信,允许

连续的数据流• 可以和与标准的编 / 解码器、 AICs 接口• 支持多种协议下的接口传输

– T1/E1 、 MVIP 、 ST-BUS 、 IOM-2 、 AC97 、 IIS 、SPI

• 支持多通道操作( 128 )• 内置 u- 律和 A- 律压扩硬件• 内部传输时钟和帧同步信号可编程程度高• 数据字长可以是 8-/12-/16-/20-/24-/32-bit

Page 4: 第十六讲 多功能缓冲串口 McBSP

BIT / TI 4

概述—框图

数据通道和控制通道

Page 5: 第十六讲 多功能缓冲串口 McBSP

BIT / TI 5

概述—信号

•收 / 发–时钟–帧同步–数据

•外部时钟

Page 6: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 6

概述—寄存器

bye 地址(HEX)McBSP0 McBSP1 McBSP2[注]

缩写 McBSP 寄存器名

- - - RBR 接收缓冲寄存器- - - RSR 接收移位寄存器- - - XSR 发送移位寄存器

018C 0000 0190 0000 01A4 0000 DRR 接收数据寄存器018C 0004 0190 0004 01A4 0004 DXR 发送数据寄存器018C 0008 0190 0008 01A4 0008 SPCR 串口控制寄存器018C 000C 0190 000C 01A4 000C RCR 接收控制寄存器018C 0010 0190 0010 01A4 0010 XCR 发送控制寄存器018C 0014 0190 0014 01A4 0014 SRGR 采样率发生器寄存器018C 0018 0190 0018 01A4 0018 MCR 多通道控制寄存器018C 001C 0190 001C 01A4 001C RCER 接收通道使能寄存器018C 0020 0190 0020 01A4 0020 XCER 发送通道使能寄存器018C 0024 0190 0024 01A4 0024 PCR 管脚控制寄存器

Page 7: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 7

传输—缓冲收发

RSR DRRRBR

DXR

Expand

CompressXSR

外设总设

DX

DR

•McBSP 的接收操作采取三级缓冲方式•发送操作采取两级缓冲方式

Page 8: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 8

传输—初始化• 决定与串口交换数据的方式

– CPU– DMA

• 串口的初始化– 串口复位– 设置寄存器

• 串口控制寄存器 (SPCR) / 管脚控制寄存器 (PCR)/ 接收控制寄存器 (RCR)/ 采样率发生器寄存器 (SRGR)

• 时钟和帧信号的来源 / 频率 / 极性 / 信号参数、每帧的数据个数、数据字长、管脚工作模式、中断、同步事件

• 启动– 使收 / 发通道退出复位态,等候帧同步信号– 使帧信号主控端退出复位态

Page 9: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 9

传输—接收

•帧同步信号 FSR 激活数据的接收操作•SPCR 寄存器中的 RRDY 位标示接受状态•RRDY=1 表示数据接收寄存器 (DRR) 已准备好•当数据被读走后, RRDY 变成无效 =0

Page 10: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 10

传输—发送

•帧同步信号 FSX 激活数据移位输出•SPCR 寄存器中的 XRDY 位标示发送状态•XRDY=1 表示数据发送寄存器 (DXR) 已空•当数据被写入 DXR 后, XRDY 变成无效=0

Page 11: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 11

传输—设置项

•同步时钟的来源 / 产生方法 / 周期•帧信号的格式(周期,脉宽)•信号的极性•帧信号与数据的出现关系•每帧传输的数据的结构( phase )•每帧的数据个数•数据字长

典型传输时序

Page 12: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 12

传输—时钟与帧信号

•由 SRGR进行复杂的控制

•目的:更多的支持

Page 13: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 13

•每帧包含两个相 (Phase)•phase 1 中包含两个 12-bit 的数据单元•phase 2 中包含三个 8-bit 的数据单元•一帧中的整个数据流是连续的,数据单元以及相之间没有传输的间隔。

传输—例子 1

Page 14: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 14

传输—例子 2

•每帧包含两个相 (Phase)•phase 1 中包含 1 个 8-bit 的数据单元•phase 2 中包含 1 个 16-bit 的数据单元•phase 2 的起始位置可以定义•FWID 位决定了 phase 1 的持续时间•FPER 域决定了两相总共的帧周期•在 phase 1 和 phase 2 之间存在空闲时间( dead time )

Page 15: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 15

传输—例子 3

•忽略帧位数据

•数据延迟•范围: 0~2 个周期

•给用户提供了更大的灵活性

Page 16: 第十六讲 多功能缓冲串口 McBSP

BIT / TI

传输—例子 4

4 个 8-bit 数据(R/X)PHASE=0(R/X)FRLEN1=3h(R/X)WDLEN1=0

改为 1 个 32-bit 数据(R/X)PHASE=0(R/X)FRLEN1=0(R/X)WDLEN1=5h

Page 17: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 17

数据压扩

压 / 扩硬件框图

DXR 中的数据

•在 (R/X)CR 中使能压扩硬件•数据从 DXR 拷贝至 XSR 的过程中进行压缩

•从 RBR 拷至 DRR 时被扩展•压扩数据总是 8 位•扩展数据 LAW16 内部左对齐

扩展数据格式

Page 18: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 18

多通道—概述• 多通道是 C6000 串口一个非常强的功能• 单相位 (single-phase) 模式下支持多通道操作• 多通道

– 一帧数据传输——一组时分复用数据流– 每帧的数据单元个数代表了传输通道的个数– 一帧最多可以有 128 个通道 (7-bit FRLEN1)

– 发送和接收可以独立地选择其中某一个或某一些通道中传输数据单元

– 一次可以选择 32 个通道被使能发送或接收

Page 19: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 19

多通道 ------ 控制• 控制寄存器

– 多通道控制寄存器( MCR )– 发送通道使能寄存器( XCER )– 接收通道使能寄存器( RCER )

• 选择收 / 发通道– 由 MCR 和 (R/X)CER 共同决定通道的选择– 使能子帧– 选择子帧中的数据通道

Page 20: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 20

多通道—子帧与通道

•128 个数据通道分为 8 个子帧•8 个子帧归为两组 A/B (乒乓控制)•数据通道的选择:使能使能子帧+ 选择子帧中的单元

Page 21: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 21

多通道—选择• 通道的禁止

– 接收• 该数据不会执行 RBR-DRR 拷贝• 该数据不会产生 RRDY

– 发送• DX 高阻• 不会执行 DXR-XSR 拷贝

• 通道的使能– 被使能的通道数据正常的收发操作

• 发送的屏蔽– DX保持高阻,即便通道被使能

Page 22: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 22

多通道—选择

使能所有的数据单元,没有屏蔽•都会执行 DXR-XSR

•都被输出

Page 23: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 23

多通道—选择

禁止 /屏蔽所有单元,选择 0 号子帧中的通道 1 和 3 发送

•被选择者执行 DXR-XSR

•选择者被输出

Page 24: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 24

多通道—选择

使能 /屏蔽所有单元,选择 0 号子帧中的通道 1 和 3

•所有通道都执行 DXR-XSR

•只有选择的发送通道被输出

Page 25: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 25

多通道—选择

禁止 /屏蔽所有单元,选择了 0 子帧的通道 1/3( 收 ) 和通道3( 发 )•选择的发送通道被输出•屏蔽不影响接收

Page 26: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 26

多通道—例子

TDM 总线上的多个 McBSP

•DSP1 作为主控•三者分时占有串行总线进行传输•dummy channel用来避免切换时总线竞争

Page 27: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 27

SPI— 概念• SPI 的定义—— Series Protocol Interface

• SPI 的信号—— 4线串行接口• SPI 的模式—— 主模式 / 从模式• SPI 的特点—— 由主设备时钟信号的出

现与否来界定主 / 从设备间的通信• C6000 对 SPI 的支持表现在 CLKSTP 控

制– 数据时钟的停止控制

Page 28: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 28

SPI— 接口

McBSP 作主控:

提供时钟和设备使能

McBSP 为从模式:

接收时钟和设备使能

Page 29: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 29

SPI— 控制

CLKSTP=10b 时的 SPI 传输

McBSP 可设置参数:•时钟无效期间的电平•收发数据的边沿•有无延迟

Page 30: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 30

接口实例— AIC

Page 31: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 31

例子实例— VBAP

Page 32: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 32

例子实例— VBAP

寄存器设置

Page 33: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 33

例子实例— SPI ROM

McBSP 控制寄存器设置@ 200MHz CPU clock

Page 34: 第十六讲 多功能缓冲串口 McBSP

第十六讲 McBSPBIT / TI 34

总结• 串口传输过程• 灵活的时钟设置• 支持多种协议• 丰富的内置辅助硬件• 多通道选择传输• 接口实例