ZHCUCJ2 November 2024 F29H850TU , F29H859TU-Q1
作为整个架构,F28P65x 和 F29H85x 之间的 RAM 和闪存发生了变化。表 4-7 总结了包括错误检查和安全分配在内的存储器特性以及闪存中的不同模式。
| 存储器 | F28P65x | F29H85x | ||||
|---|---|---|---|---|---|---|
| RAM 和闪存 | 尺寸 | 奇偶校验/ECC | 受安全保护 | 尺寸 | 奇偶校验/ECC | 受安全保护 |
| 专用 RAM | 104KB | 奇偶校验 | 4K | ECC | ||
| 本地共享 RAM | 64KB | 奇偶校验 | 不适用 | |||
| 全局共享 RAM | 80KB | 奇偶校验 | ||||
| 程序存储器 (LPAx、CPAx) |
不适用 | 128KB | ECC | |||
| 数据存储器 (LDAx、CDAx) |
320KB | ECC | ||||
| 消息 RAM (CPU1、CPU2、CM、CLA 和 DMA) |
5KB | 奇偶校验 | 不适用 | |||
| 总 RAM | 249KB | 452KB | ||||
| 每个 CPU 组 | 256KB(5 个组可在 2 个 C28 CPU 之间映射) | ECC | DCSM 受控 | 512KB(8 个组可在 3 个 CPU 之间映射) | ECC | |
| 数据组 | 不适用 | 256KB | ECC | |||
| HSM 固件 | 2*256KB | ECC | ||||
| 总闪存 | 1.28MB | 4.75MB | ||||
在 F29H85x 中,存储器架构已更改。每个 CPU 都可以访问每个存储器,但 RAM 有一些可以分类和优化的部分,以便提高效率。其中包括程序优化部分 LPAx 和 CPAx,LPAx 针对 CPU1/CPU2 进行了优化,CPAx 针对 CPU1/CPU3 进行了优化。同样,也有一些数据优化部分,其中包含针对 CPU1/CPU2 优化的 LDAx 和针对 CPU1/CPU3 优化的 CDAx。F28P65x 中有消息 RAM,您在 F29H85x 中未看到消息 RAM,但任何存储器都可在我们的新器件中用作 CPU 消息 RAM。它可以与 SSU 一起从 RAMS 中生成。
128 位存储器控制器可在程序访问时实现 0 等待状态。这允许进行数据访问,提供了复制代码、下载代码和插入软件断点的能力,同时也利用 CPU 的最大并行性。64 位 LDx 和 CDx 存储器控制器类似于 128 位 LPx 和 CPx 存储器控制器,但 64 位存储器控制器在数据访问时具有 0 个等待状态,在程序访问时具有 1 个等待状态。此外,RTDMA 可通过低速访问端口连接,因此所有访问都至少是一个等待状态。通过 RTDMA 突发支持,RTDMA 支持在 MEMSS 存储器控制器中生成本地地址。这使得性能接近零等待状态。
| RAM 部分 | 交错式 | CPU1 | CPU2 | CPU3 | HSM | RTDMA1 | RTDMA2 |
|---|---|---|---|---|---|---|---|
| LPAx RAM | 是 | 0WS 程序 1WS 数据 |
0WS 程序 1WS 数据 1WS 数据 |
3WS 数据 | 1WS | 1WS | |
| LDAx RAM | 是 | 1WS 程序 0WS 数据 |
1WS 程序 0WS 数据 |
3WS 数据 | 2WS | 1WS | 1WS |
| M0 RAM | 是 | 1WS 程序 0WS 数据 |
1WS 程序 0WS 数据 |
3WS 数据 | 1WS | 1WS | |
| CPAx RAM | 是 | 0WS 程序 1WS 数据 |
3WS 数据 | 0WS 程序 1WS 数据 |
1WS | 1WS | |
| CDAx RAM | 是 | 1WS 程序 0WS 数据 |
3WS 数据 | 1WS 程序 0WS 数据 |
1WS | 1WS | |
| CPU1 ROM | 是 | 1WS 程序 1WS 数据 |
|||||
| CPU2 ROM | 是 | 1WS 程序 1WS 数据 |
|||||
| CPU3 ROM | 是 | 1WS 程序 1WS 数据 |
存储器模块中的原子操作支持也是 F29H85x 中的一项主要改进。原子操作执行受保护的存储器操作序列,同时防止其他存储器启动器中断。此序列可能涉及读取和更新存储器中的共享变量,其中需要保护这些变量不受其他启动器更新的影响,这意味着在多个序列中,需要将这些变量设置为原子序列,以便它们可以首先完成访问并且不会被中断。请注意,所有 RAM 都具有 32 位粒度的 ECC 保护。这意味着每 32 位都有 7 位 ECC。
在闪存中,有 4 种模式可供选择。这取决于您想要如何分配具有不同 CPU 的闪存,以及是否需要 FOTA。表 4-9 展示了不同的模式以及如何使用每种解决方案。
| 闪光灯模式 | CPU1 | CPU3 |
|---|---|---|
| 0 | 4MB | - |
| 1 | 4MB(带 FOTA) | - |
| 2 | 2MB | 2MB |
| 3 | 2MB(带 FOTA) | 2MB(带 FOTA) |
| 模块 | 类别 | F28P65x | F29H85x | 注释 |
|---|---|---|---|---|
| 闪存 | 寄存器 | - | 1_INTF_CLR | 闪存读取接口 1 清除寄存器 |
| - | 1_INTF_CTRL | 闪存读取接口 1 控制寄存器 | ||
| - | 1_INTF_CTRL_COMMIT | 闪存读取接口 1 控制提交寄存器 | ||
| - | 1_INTF_CTRL_LOCK | 闪存读取接口 1 控制锁定寄存器 | ||
| - | 2_INTF_CLR | 闪存读取接口 2 清除寄存器 | ||
| - | 2_INTF_CTRL | 闪存读取接口 2 控制寄存器 | ||
| - | 2_INTF_CTRL_COMMIT | 闪存读取接口 2 控制提交寄存器 | ||
| - | 2_INTF_CTRL_LOCK | 闪存读取接口 2 控制锁定寄存器 | ||
| - | 3_INTF_CLR | 闪存读取接口 3 清除寄存器 | ||
| - | 3_INTF_CTRL | 闪存读取接口 3 控制寄存器 | ||
| - | 3_INTF_CTRL_COMMIT | 闪存读取接口 3 控制提交寄存器 | ||
| 3_INTF_CTRL_LOCK | 闪存读取接口 3 控制锁定寄存器 | |||
| - | 4_INTF_CLR | 闪存读取接口 4 清除寄存器 | ||
| - | 4_INTF_CTRL | 闪存读取接口 4 控制寄存器 | ||
| - | 4_INTF_CTRL_COMMIT | 闪存读取接口 4 控制提交寄存器 | ||
| - | 4_INTF_CTRL_LOCK | 闪存读取接口 4 控制锁定寄存器 | ||
| - | FRDCNTL_COMMIT | 闪存读取控制提交寄存器 | ||
| - | FRDCNTL_LOCK | 闪存读取控制锁定寄存器 | ||
| - | PARITY_TEST_COMMIT | 奇偶校验提交寄存器 | ||
| - | PARITY_TEST_LOCK | 奇偶校验锁定寄存器 | ||
| ECC_ENABLE | - | ECC 启用 | ||
| FECC_CTRL | - | ECC 控制 | ||
| FLPROT | - | 闪存程序/擦除保护寄存器 | ||
| FRD_INTF_CTRL | - | 闪存读取接口控制寄存器 |