- 本课程为精品课,您可以登录eeworld继续观看:
- MSP432产品培训(四) - 2.存储系统
- 登录
- 课程目录
- 相关资源
- 课程笔记
接下来我们探讨存储器系统在我们MSP432 P系列首个
MSP432P4127器件上 存储器上内置闪存容量为256K字节
内置闪存频率最高16MHz 它内置了128位的缓冲器 支持指令预加载
也就是当Flash运行速度为16MHz 而代码运行速度高于16MHz 代码由于Flash
访问限制 导致代码需要停止下 等待指令的读取 这是Flash访问速度限制
这是原有情况 现在加了128位的缓存加预取指功能后 Flash实际执行速度突破
16MHz 这是由于代码可以预取指在执行上条指令时同时把更多的
(听不清)的指令预先存储到128位缓存器中 下次指令执行不是从Flash中取指
而是从快速缓冲器取指 它速度远大于16MHz 只要代码跳转预判在一定
百分比下Flash执行速度将远大于16MHz 这是内置缓存区
和预取指功能带来的优越性MSP432 P412内置64K字节SRAM
64K字节SRAM分为8个存储器每组各8K字节 用户即可分别控制
每个SRAM 优化整体功耗 MSP432还内置32KROM存储器 在它当中
在MSP432会内置外设驱动库 那这些外设驱动库在ROM中内置一方面是可以有效减少
应用所占Flash空间 外设驱动库放到ROM中另一方面 从ROM中执行指令访问
读取时 第一速度快 第二功耗低可实现早48MHz单周期的执行
同时功耗最低 从ROM中调设我们的外设驱动库 即可享受诸多优点
最后MSP432预先编程一个引导加载程序BSL 它会预编程到闪存中
当然用户可根据自定义需求编写自定义BSL 尽管如此出厂预装载的BSL仍支持三种
串行通讯接口 就是UARAT I2C SPI 当设备无法通过(听不清)口访问的时候
还可以通过这些串行通讯接口现场对固件进行升级
现在我们具体看闪存 MSP432所采用闪存架构 让闪存划分为
两大Bank 1和2 每个的容量是128K字节 每个bank分为多个扇区
每个扇区大小4K字节 这样用户可针对每个扇区执行
参数保护 写保护 取消保护等操作 当用户对整个存储器执行
大规模擦除操作 可简单对某些单独的扇区敏感数据进行保留
另外由于整个闪存划分为两个独立Bank那我们的开发人员可以利用该功能实现
Flash闪存读写擦除操作同时的同步运行 比如对Bank1 进行擦除
或者写操作的同时呢可以从Bank2当中的来读取代码执行
我们的应用不会在闪存操作上应用浪费任何的时间
好 前面说过了 我们闪存一般是最高16MHz的速度执行
那整个系统运行频率最高是48MHz远远高于16MHz 那我们就可以借助
闪存内置的缓存器以及预取指的功能来提高整个闪存了有效的执行速度
对于各类闪存的编程和擦除操作而言闪存的控制器还提供一些硬件的引擎
来辅助完成这些操作比如简化验证流程或者
写入闪存时采用突发模式除了这些硬件引擎之外
MSP432它还配有多种灵活的一个代码安全和
保护选项 比如我们按ARM公司为它内核提供的MPU单元
存储器保护单元 它针对每个闪存区域来执行写保护或者是读保护操作
这是MPU 另外呢我们还提供软件的IP保护
我们可以对器件提供多达四个受保护的 IP 存储器区域
这样的,我们就可以实现一个安全代码黑河的解决方案
那在本次培训的后续部分呢我们会详细的介绍这样一个功能
接下来看一下RAM存储器我们一共内置了64 k 字节的RAM
64 k 字节的RAM会被划分为八个可动态配置的RAM区域
一般的每个区域配有8 k 字节的RAM
对于每个RAM我们都有两个面向于功耗优化的选项 第一个选项
我们可以选择完全启用或完全禁用
从而切断相应的组的所有功耗这个选项的我们可以在
CPU活跃模式来进行选择另外在Lpm3一个低功耗模式当中呢
我们还可以选择是否保留某一个组当中的内容
从而在低功耗模式下来尽可能降低SRAM泄露功耗
这里的是我们的存储器整个映射
那我们MSP432映射遵循标准的cortex m 的内存映射机制
首先位于首地址的X00是我们的闪存在闪存中应该由我们的中段向量表
和应用代码 接着 是位于 0x01000000地址的ROM存储器 在它当中呢
是预先存有MSP432外设驱动程序库接下来是位于0X20000000 的 SRAM
区域 这个SRAM区域呢 它支持Bit banded 通过这个功能
我们可以实现对 SRAM1Bit访问也就是说我们可以对 SRAM当中任意
Bit位来进行单独写或者是读这样的操作 这是SRAM Bit banded 功能
接下来的呢,是位于0X40000000地址外部寄存器 这些一些外设寄存器
同样的这些外设寄存器区域它也支持Bit banded 的功能
也就是说呢 我们可以通过 Bit banded对外设寄存器每个Bit位进行单独访问
或修改这样的功能 这对我们代码编写非常有益的一个功能 最后呢
是位于我们 0xE0000000 地址开始的RAM内核独有的一些检查和调试接口
这张图呢,就是我们整个存储器的映射
综上所述 本次在线培训课程呢我给大家探讨了 MSP432
它的时钟系统和存储器系统从单独上来看 我们这样一些
电源也好 时钟也好 存储器也好它都和我们整个系统的设计
都是息息相关的 特别呢 是对于一些功耗敏感的应用来说呢
我们都需要深入的了解到每一个模块啊 它所提供的功能
我们才能设计出一个功能更为强大效率更为出众的一个MSP432应用
大家知道对于任何应用头等重要的呢是 cpu 的速度
那根据不同的 cpu 的速度呢我们需要选择一个合适的电源
时钟以及存储器的配置来实现性能最优 功耗最优一个系统
比如说我们如果系统嘛 在0到24MHz运行 我们可以选择Vcore
零这样一个等级电压 但是如果系统是24到48MHz运行 要将Vcore电压等级
提升为1 这是我们的电源部分的配置闪存最高的可以运行到16MHz
因此系统在0到16MHz当中运行的时候 闪存是不需要增加
等待周期的 但是当系统以16到32MHz运行的时候呢 需要将闪存的等待周期
提升为1 如果我们系统呢是以32到48MHz运行的话
那么就需要将闪存等待周期提升为2这是闪存的配置 第三 就是针对
哪个频率使用哪一种稳压器 我们之前也讲过我们MSP432 提供了两个
稳压器 dc/dc 和LDO 通常dc/dc 支持高性能这样的一个高速运行
一个系统 而LDO则具有更快的切换响应速度以及更低的功耗
因此的对于频率较高的应用的时候我们选择使用 dc/dc
那如果是一些低功耗应用低功耗模式切换非常频繁的这样一些应用
我们则推荐使用LDO
所以这些器件的配置呢 对于整个系统性能功耗来说呢 都是至关重要
好 我们在线培训课程的第四部分呢就到此结束了 谢谢大家的观看
课程介绍
共计13课时,2小时30分32秒
猜你喜欢
换一换
推荐帖子
- FR5969 RTC中的AE位以哪个为准?
- 关于AE位的叙述,手册中是这样说的(Literature Number: SLAU367D第472页第19行): By setting AE bits of the various alarm registers, a variety of alarm events can be generated。又根据(下隔两行) ……and clearing all other AE bits of ...
- dontium 微控制器 MCU
- 关于MSP430F5529从认识到使用的过程
- 当拿到一篇例程,应该怎么导入,怎么学习呢? 比如说上面这个例程。 整了很久,导入之后编译都错误,应该是导入方式不对吧, ...
- HI唐辉 微控制器 MCU
- 郁闷,430控制HT1621功耗!
- 唉,心血来潮!用MSP430F11101A控制HT1621显示LCD,用2节5号1.5V电池供电,结果电池很快搞完了,一查430只消耗50uA电流(LPM3),那个该死的HT1621居然是150uA,哪位大侠用过,请给个注意,怎样降低HT1621的功耗?(必须保证LCD一直显示,不能关LCD)! 我从网上搜了一下,那些说用电池给430+HT1621供电用1年以上的大侠,你们做过实验吗?乱发...
- PP2008 微控制器 MCU
- TI教室考试答案求解释
- 如题: // Timer A0 interrupt service routine #pragma vector =( ) __interrupt void Timer_A0 (void) A. TIMER0_A0_VECTOR [正确答案]: [试题解析]: [阅卷得分(4)]:...
- mesada 微控制器 MCU