C2837x入门指南(二) — 芯片架构
Loading the player...
将在30s后自动为您播放下一课程
本章节我们将要讨论的是整个芯片的系统架构 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这是在单周期内 完成基本的三角运算和除法运算 从而可以大幅提升相关变换执行的效率 当然所有这些运算都是支持浮点 除此之外在芯片本身的安全上面 从内存到时钟 从外设的读写和访问保护 再到引脚上的外部异常信号 都可以保证芯片运行在 更加安全和可靠的环境里 总之本章节我们首先是在 高层面上讨论了芯片的特性 接下来我们将会依次展开 进行更加细节的分析和探讨
本章节我们将要讨论的是整个芯片的系统架构
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这是在单周期内 完成基本的三角运算和除法运算 从而可以大幅提升相关变换执行的效率 当然所有这些运算都是支持浮点 除此之外在芯片本身的安全上面 从内存到时钟 从外设的读写和访问保护 再到引脚上的外部异常信号 都可以保证芯片运行在 更加安全和可靠的环境里 总之本章节我们首先是在 高层面上讨论了芯片的特性 接下来我们将会依次展开 进行更加细节的分析和探讨
本章节我们将要讨论的是整个芯片的系统架构
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
本节视频时长:00:06:27
C2837x概述;芯片架构; 开发环境;外设寄存器操作;复位和中断;系统初始化;模拟子系统 ADC DAC CMP SDFM;控制类外设PWM CAP QEP。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>