- 本课程为精品课,您可以登录eeworld继续观看:
- (2) - 芯片架构
- 登录
- 课程目录
- 课程笔记
大家好
本章节我们将要讨论的是整个芯片的系统架构
C28x主cpu及其相关的硬件加速器等
我们会先了解F28x7x器件的结构框图和芯片特性
描述其总线连接和内存分配
然后区分其片上各种不同类型的内存
最后确定不同器件上不同外设的配置情况
首先F28x7x器件的结构框图
在根本上和以往的C28x系列芯片的结构框图
没有大的差别
它的每个CPU都有自己的运算单元
程序和数据总线
可以访问到片上的所有外设
只是增加了DMA总线和CLA协处理器的总线
而在内部总线结构上
根据程序数据和外设的不同
他们可以分别通过不同的总线
访问到不同的区域
并统一协调工作
由于有独立的程序和数据的地址读写总线
并且都是32位的
其运行效率可以大幅提高
在处理器方面
除了32位的C28x主cpu
还有支持32位单精度浮点数运算的FPU
支持 viterbi 解码复数运算
和硬件CRC校验的VCU单元
支持单周期执行浮点三角运算的 TMU
和独立的32位浮点运算的CLA协处理器
用于并行处理控制算法和实时任务
除此之外还可以支持更加快速的中断响应
和单周期读改写操作指令等等
单周期读改写操作指令指的是
C28x内核支持的一种原子操作
它可以在一个指令执行周期内
完成一个操作数的读取修改和重新写入
更加简化代码和提高效率
因为其代码量可以更少
并且不会被打断
C28x采用的是八级流水线
在顺序执行的实时控制运行里
可以更大的发挥它的优势
从而保证它的运行效率
并且不需要用户担心其结果的异常
而之前提到的 FPU VCU 和 TMU
都是和C28主cpu共享流水线的
从第二解码开始
后面的读取和真正执行需要分时处理
但可以由汇编器和编译器
来检测到资源的冲突
并防止其发生
而且通常可以在指令间插入不冲突的指令
来利用这些等待空闲
从而提高程序的执行效率
在外设方面
我们提供了写读保护
以确保写入优先
比如控制位生效后再读取状态位
对于相同地址的寄存器
CPU的流水线会保证写入优先
然后对于在同一个大区域
但是不同地址的寄存器
写读保护就可以同样地保证这一点
对应的就是在芯片外设部分
我们设立了两个外设组
分别实施写读保护
在内存方面我们可以看到简化后的内存分配图
跟传统的C28x芯片一样
前端是 RAM 区
然后是 LS 需要的 RAM
和 GS 需要的 RAM
当然中间还包括两个主CPU之间交互的
MSG RAM和CPU和它自己的CLA交互的 MSG RAM
然后是用户的OTP和闪存Flash
最后是 Boot ROM
其中 GS 需要的 RAM 的任意一个段
都可以分配给任意一个主28CPU
但默认都是由CPU1控制
同理LS 需要的 RAM任意一个段
都可以分配给cpu和他自己的CLA
但默认也是由CPU本身来控制
在安全方面
加密模块由固定地址128位
密码保护所有的Flash
和绝大部分 RAM 改变成了现在的双加密模块DCSM
每个cpu可以设置两个不同的密码
并且由用户自己决定
哪个密码保护哪一段Flash和RAM或者是不保护
然后将该密码放置到OTP区域
以后每更换一次配置或者密码
就可以移动一次位置
增加了破解的难度
即便在200兆赫兹主频下
以八个周期
枚举一个密码的方式
至少也需要4.3乘以十的二十三次方年
才可能枚举出
所有可能的组合
在中断部分基本上和原来的保持一致
会由cpu自动进行现场保护
和恢复相关的14个CPU寄存器和状态标志
不需要用户通过软件干预
然后经由PIE管理
从外设级到IAR级和cpu级
不同的是由于外设的中断个数的增加
2837xD的中断个数
由原来的96个扩展为两倍192个
在硬件加速单元的部分
VCU 主要是通过硬件
来实现一些在电力载波通讯应用中
需要编解码的算法
当然也可以独立使用
进行复数运算和CRC校验
而TMU这是在单周期内
完成基本的三角运算和除法运算
从而可以大幅提升相关变换执行的效率
当然所有这些运算都是支持浮点
除此之外在芯片本身的安全上面
从内存到时钟
从外设的读写和访问保护
再到引脚上的外部异常信号
都可以保证芯片运行在
更加安全和可靠的环境里
总之本章节我们首先是在
高层面上讨论了芯片的特性
接下来我们将会依次展开
进行更加细节的分析和探讨
课程介绍
共计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) 等需要实时信号分析的应用需求。
猜你喜欢
换一换
推荐帖子
- 【TI首届低功耗设计大赛】Copter_alarm_Powered_by_MSP430FR5969之八-总结及演示
- 本帖最后由 tziang 于 2014-11-24 10:55 编辑 总结及演示 这个周末,终于把这次DIY项目全部完成,实现功能主要有 1)Copter_Alarm系统运行心跳指示; 2)飞行器多路电池电压实时监测及显示; 3)飞行器电池报警电压门限设置及显示, 报警门限从3.4V-3.9V步进0.1V及报警关闭可循环设置,默认报警门限为3.5V;&nbs...
-
tziang
微控制器 MCU
- RM48 usb kit如何点亮LED?
- 按照论坛里教程TMS570 usb kit来用HCG和CCS编程,无法点亮RM48 usb kit的LED 工程是这样的 另外HCG建project的时候没有Rm48 usb kit只能选择RM48 950那个选项不知道有影响不? HCG建立的选择如下 实在不知道如何入门呢?诸位是如何入门学习程序的? ...
-
redeemer
微控制器 MCU
- 【ZLG/IP】LM3S8962以太网通信UDP无法发送数据
- 实在没办法了求有过经验的朋友帮帮忙,这个双休日简直煎熬啊搞不粗来!! 下面是周公uCOS+UDP通讯的例程中的两个核心任务,并且我已经测试成功,【可以发送和接收】!! 但是这里的发送数据是将接收到的数据返回serv端, 而我需要的是【单独发送我想发送的数据】。 那我就想把recvfrom()去掉不就行了,可是【总是发送不出去啊】!!! 而且加了我改的发送任务后,连这个接收任务也无法执行了...
-
ssuperliang
微控制器 MCU
- 关于TM4C123GXL的时钟
- 我在用TI的EK-TM4C123GXL时候发现,datasheet等一切官方资料显示的都是在 SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN); 语句后系统时钟被配置成50MHz,此时用函数SysCtlClockGet()返回的值也是50M。 但是我使用函数SysCtlDelay(...
-
longrejoy
微控制器 MCU