(22) -通信系统之McBSP

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录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

luck_gfb

电机驱动的软件还是很复杂的。也就是说 你用我们的技术 你不需要做很多的操作调整 重新标定啊等等这些工作 只需要将我们的板子连接到电机 在10分钟内 可以让我们的电机转起来 而且这是无传感的技术 InstaSPIN TM motion是有传感的 会带给编码器的 我们会将速度网和[听不清]结合成一个环路 用IDC控制起来做 它的性能比较高端 而且只需要调整一个参数就可以了。

2020年09月02日 17:07:38

hawkier

哈哈哈,学完这章要点时间啊

2019年11月21日 16:12:10

大明58

学习C2837x入门指南

2019年08月22日 12:32:36

zhangleiat185

好好学习天天向上。。

2019年07月12日 16:34:47

hellokt43

好好学习天天向上。。

2019年06月09日 11:05:30

dingxilindy

学习C2000开发所需软件工具

2019年05月16日 14:51:31

zx1988ZX

终于看完了,不错的!

2019年04月25日 06:53:06

wudianjun2001

不错的视频资料。。。。。。

2019年03月04日 10:15:26

59477cq

学习了

2019年01月21日 20:28:50

凤凰息梧桐

学习一下

2019年01月21日 17:28:12

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved