首页 > 应用与设计 > 电机驱动器 > C2837x入门指南 >

电机驱动器

最新课程

热门课程

C2837x入门指南(二) — 芯片架构

本章节我们将要讨论的是整个芯片的系统架构 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这是在单周期内 完成基本的三角运算和除法运算 从而可以大幅提升相关变换执行的效率 当然所有这些运算都是支持浮点 除此之外在芯片本身的安全上面 从内存到时钟 从外设的读写和访问保护 再到引脚上的外部异常信号 都可以保证芯片运行在 更加安全和可靠的环境里 总之本章节我们首先是在 高层面上讨论了芯片的特性 接下来我们将会依次展开 进行更加细节的分析和探讨

本章节我们将要讨论的是整个芯片的系统架构

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这是在单周期内

完成基本的三角运算和除法运算

从而可以大幅提升相关变换执行的效率

当然所有这些运算都是支持浮点

除此之外在芯片本身的安全上面

从内存到时钟

从外设的读写和访问保护

再到引脚上的外部异常信号

都可以保证芯片运行在

更加安全和可靠的环境里

总之本章节我们首先是在

高层面上讨论了芯片的特性

接下来我们将会依次展开

进行更加细节的分析和探讨

视频报错
手机看
扫码用手机观看
收藏本课程

相关下载

暂无内容

视频简介

C2837x入门指南(二) — 芯片架构

所属课程:C2837x入门指南 发布时间:2016.06.06 视频集数:28 本节视频时长:6:27
已有1人参与了讨论去论坛跟帖交流
new
关闭广告