- 本课程为精品课,您可以登录eeworld继续观看:
- (22) -通信系统之McBSP
- 登录
- 课程目录
- 相关资源
- 课程笔记
我们接下来再来看多通道缓冲串行端口 McBSP 模块
McBSP 是我们 TI 公司生产的一些录制处理芯片,比如像C2000的 2812
像C 5000,C 6000 系列那些芯片所具备的一个多通道的缓冲串行性方式
那么 McBSP 是在标准串口接口的基础上进行
一个功能方面的这个扩展,因此,它具有与标准
串行接口相同的一些基本功能,比如像全双工通讯啊
数据的发送接收等,缓冲器啊恢复啊等等
这些功能都具有之外,它其实还具有一些自己的一些特殊功能
比如首先,它可以与IOM-2、SPI、AC97等兼容的设备
进行直接的一个连接,然后,其实它也支持多通道的
发送和接收,每个串行口都最多支持 128 个通道
串行字的长度是可以被选择的,包括8位12位16位24位32位等等这些
同时,它也支持μ-律和 A-率的一个数据的压缩和扩展等等
那也就是说我们的McBSP 是其实它是一个串口,但只是说
它是一个功能比较丰富的一个串口,那我们来看一下McBSP
模块基本的一个框架,那么首先,我们看到的pin脚
它pin脚的话,就是McBSP它包含的是两个部分
一个是数据流的端口,还有一个是控制流的端口
那么数据流是包含的主要就是说MDX 发送端口和一个 MDR的
接收的端口,也就是说,所有的数据都是通过这两个功能性
端口串行地输出的,所以因此,它也叫一个串口
那么还有除了数据口之外还有一些控制口,控制口包括主要是
接收和发送的时钟信号还有接收和发送的帧同步信号
它就是它跟我们传统的一些比如说SPR帧的可能不一样
就是说它的接受和发送都有拥有自己独立的一个时钟信号和帧的同步信号
那么就是说 McBSP 的话,确切跟外部互联的话只能是
通过这六个pin脚的一个接线,我们再看它内部的一个架构
那么内部按照这款图中的看的话,它主要分为两部分
上部分是发送的一些寄存器组,下部分是记录数的寄存器组
那么发送的话,它采用的是一个两极的一个缓冲的一个发送
它就说它里面,每一个分别包含了自己的一个buffer,一个缓冲区
那么假如说发送的数据是小于16位的那只需要用到 DXR1这个buffer
和 XSR1 这个一位的这个就是这些只需要用的这组
假如说是用的多于16位的话,那会把低位放在第一组里面
高位放在第二组里面,用两个组配合起来使用
那么 XSR1的话,做出来就是它的一个位数
就是通过这个寄存组然后要创建了一串芯片,那么同样的话
我们看接收的话。它是采用的这个三级的一个缓冲,它中间的话
还需要加这个DRR2,这是一个数据接收的寄存器
它数据同样的话,也是通过MDR,这个pin脚一路进来,假如说16位的话
或之下的话,那它用了第一组的寄存器,它假如说高于16的话呢
需要2组来配合,它假如数据已满移到尤其是寄存器满了之后
自动会移到我们的buffer里面,然后buffer里面的话它会拷到
我们的DRR寄存器里面,工作靠主 cpu 数据履行ready
然后等待 cpu 或者TMA总线将数据拷走 那么数据流率的压缩和扩展的话
主要是在发送的时候主要是过程是在TX buffer 就是说
数据从缓冲区拷贝到有寄存器的地方,这个过程中会压缩
那么,这个解码的话,或转换的话出来也是移位寄存器
往buffer拷的时候,这个过程中确定一个扩展,那我们接下来再看
几个基本的概念,首先看到的是字和位的一个概念
那么位是,我们串行发送出去的时候一个最小的单位
它对这是一个clock所对应的一个数据的一个高低电频的一个状态
这么字的话 是指我整个一个字里面就是做这么多个clock的系统里面
包含几个位,那么就是在我们的McBSP里面,它的字的所包含的位数
是可选择的 刚说的 它说它主要传统的有8位选为16位20位24位和32位
这些选择方式,那么我们从上面这个框图的时钟图里面可以看到
当我有 fx 这个帧的同步信号过来的时候那我可以去
这些数据的一些传输那么传输的多少位数的话
这个根据刚刚说的这个寄存器来配置那就是说一个字里面包含的长度是
丰富的是可以编程设置的,那么根据我们用户程序的接口的器件
不同 可以就是说去分别去定义每一个字的长度
然后是讲的是一个字和帧的概念,那么好几个字组合在一起就是一个帧
那么一帧数据是同样使用 FX生成同步信号作为起始信号开始传递一个帧
那么同样的话一个帧的里面包含几个字 是同样可以通过程序的设置
它的帧的长度来完成这一个帧一个帧的数字的一个定义
长度的定义,那么,最长的话,可以定义到 128 位
从上面来的,我们可以基本概念,可以看出就是说
我们McBSP里面,它的数据的发送的格式才是支持多种格式
多种数据结构的,因为它的那个字的长度是可编程设置
然后每个字里面的数据的位数也可以能编程设置
那我们在最后看一下我们的多通道的意思,多通道这个通道的话
其实是跟前面是跟字是一个概念就是说我对应这个时刻就是说时分
复用和对应这一个时刻所传载我们输入输出关键上一度的串行输入
每个一个字一个字,一个字就是一个通道
是一个 时分传输的一个概念。那么通道,它主要是
指输入输出的一个位流,字的位流,那么,我们C2000的芯片
它最多支持的是 128 个输入的通道和 128 个输出的通道
那么因为我们的McBSP 可以外面可以兼容多种的通讯的接口
可以用来支持多种的一个窗口的一个设备,因此的话
它需要我们通道在选择的时候,需要能够单独的独立的去控制
每一个通道的接受和发送,例如比如像我们这个历程中
它功能控制的是使用的CH0,CH5,CH27三个通道,也就是这三个通道
能够进行接收数据。这样的接收数据的时候才能产生
相应的中断等等。那么通道的那个多通道在一个选择模式主要是
通过几个寄存器来控制的,比如说MCR和能多通道的控制机之间
还有像我们括号中的 x 的 dfs 每一个通道矢量端口,那么,我们McBSP
它其实主要这个模块主要的特点是它的数据长度是可变的
它的时钟信号是自己的完成就是要接受和发送
数据的发送和接收主要是以帧的同步信号为准
而且它同时也支持没有[听不清]的一个数据的一个扩展
我们从第一幅图中可以看到它的生产数据发生了是时钟信号这些都是独立开的
因此,我们可以完全把它配置成SPI口工作模式
那么,所有的这些数据的发送接收都可以通过DMA的方式操作
这样的话能够有效地减低 cpu 的一个负担
课程介绍
共计28课时,4小时27分22秒
C2837x入门指南
TI C2000 MCU PWM F2837xD ADC DAC DMA CLA C2837x CMP SDFM CAP QEP c28x
F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。
猜你喜欢
换一换
推荐帖子
- 跪求大神帮忙计算出该程序的采样周期。(附件为数据手册)
- #include #define CPU_F ((double)12000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) #define &n...
- 4456456 微控制器 MCU
- MSP430问题求助
- msp430 中FET-debugger 怎么设置debug protocol 中4-wire jtag 怎么不能设置...
- goodstudent 微控制器 MCU
- 准备写(三)更改添加功能——使用德州仪器的eZ430-Chronos无线运动手表
- 更改些什么,暂时就不说了今天比前一段睡觉晚了,就是为了试验一下我改的部分程序,一次性试验成功我要试验的部分,还是有点孩子样,有点点高兴。发个帖子。得下线了,尽量要早点睡觉。这一段时间我都改成10点左右上床了。...
- wangfuchong 微控制器 MCU
- MSP430fr5989管脚复用输出功能
- 请教一下,这款芯片管脚复用输出,怎么设置,用库函数 如图,要使P5.2管脚输出ACLK。怎么通过GPIO_setAsPeripheralModuleFunctionOutputPin()这个库函数设置啊。我设置了并没有输出啊 ...
- wanyisq 微控制器 MCU