英飞凌tricore用户手册 第5章 程序管理单元_第1页
英飞凌tricore用户手册 第5章 程序管理单元_第2页
英飞凌tricore用户手册 第5章 程序管理单元_第3页
英飞凌tricore用户手册 第5章 程序管理单元_第4页
英飞凌tricore用户手册 第5章 程序管理单元_第5页
已阅读5页,还剩91页未读 继续免费阅读

英飞凌tricore用户手册 第5章 程序管理单元.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-1V1.0, 2011-12 PMU,V1.47 5程程序序存存储储器器单单元元(PMU) 该家族的器件至少有一个程序存储器单元,被称为“PMU0”。高端的器件有额外的 PMU,称为“PMU1”。 TC1728 只有 PMU0。 PMU0 包括下面的子模块: Flash 命令和程序 Flash,数据 Flash 的取指控制接口 带有支持在线数据获得(OLDA)的重叠 RAM 接口 BootROM 接口 仿真器存储器接口 当地存储器总线 LMB 从接口 下列存储器属于 PMU0,并由其控制: 1.5M 字节的程序 Flash 存储器(PFLASH) 64K 字节的数据 Flash 存储器(DFLASH),其可代表高达 16K 字节 EEPROM 16k 字节的 Boot Rom(BROM) 8K 字节的重叠 RAM(OVRAM) 图图 5-1 表示 PMU0 的框图 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-2V1.0, 2011-12 PMU,V1.47 图图 5-1PMU0 框框图图 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-3V1.0, 2011-12 PMU,V1.47 5.1BootROM PMU0 中的 BootROM 的大小有 16KB,以 64 位的双字形式存储。 BootROM 基本包括两个部分,用于: 启动和引导软件(也被称为固件),和 工厂测试例程 5.1.1地地址址 BootROM 在两个位置可见,其在内存映射可见: 在从位置 8FFFC000H开始的地址段 8H(缓存空间) 在从位置 AFFFC000H开始的地址段 AH(非缓存空间) 在任何一种复位后,硬件控制的启动地址是 AFFFC000H。启动过程的第一条指令存储并开始于这个位置 。在复位后不支持另一个启动位置,保证在复位后总是只执行 BootROM 中的唯一一种启动固件。 5.1.2固固件件程程序序结结构构 BootROM 里固件的不同部分提供了复位后的启动和引导加载模式,正如: 启动软件,其在复位后执行在 BootROM 里的主要控制固件。 引导程序加载器,其通过串口下载程序代码到 PMI 的暂存 RAM(SPRAM),并开始执行代码。 其它引导加载模式,其在启动用户程序之前提供 Flash 区域的 CRC 检验和测试。 如果芯片是仿真芯片,支持仿真。 BootROM 也包括特殊例程,其用于测试器件的压力和质量。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-4V1.0, 2011-12 PMU,V1.47 5.2重重叠叠 RAM 和和数数据据获获取取 PMU0 提供了重叠存储器 OVRAM,特别用于通过使用数据重叠功能重定向 对 OVRAM 程序存储器的访问。 数据重叠功能本身在 DMI 模块里被控制,以避免在重定向执行中的行为,并支持外部存储器。 为了在线数据获取(OLDA)应用或者校准数据,提供一个虚拟的 32KB 存储器区域,其可在无需错误报告的 情况下被访问。对 OLDA 区域的访问也可以被重定向到重叠存储器。 5.2.1内内部部重重叠叠存存储储器器 OVRAM 的大小是 8KB。OVRAM 的基地址是 A/8FE8 0000H。在产品器件和仿真器件中,内部重叠存储器 OVRAM 都可用。可以字节、半字、字和双字的宽度对重叠存储器 OVRAM 进行写访问。读访问以 64 位宽度执 行。不支持读-修改-写访问。 如器件中的其他所有 S RAM 一样,OVRAM 同样也是 ECC 保护的。在 OVRCON 寄存器中,ECC 产生和检 测被使能。在使能后,OVRAM 应在执行任何读访问前由用户初始化。对 OVRAM 的字节或者半字的写访问可能导 致 ECC 错误检测(因为读修改写)如果在访问存储器前没有先初始化。ECC 错误报告给 SCU 用于错误指示 的控制和 NMI 陷阱的控制(在复位后禁止)。 522在在线线数数据据获获取取(OLDA) 高达 32KB 的 OLDA 存储器范围额外地支持校准,它是一个虚拟的存储器,只有重定向(由用户定义的重叠函 数)到内部 OVRAM 或到仿真存储器 EMEM(仿真器设备)或到外部存储器的重叠区域时才物理可用。因此,如 果没有重定向,对 OLDA 区域的写访问不会真正地执行,并且不会产生总线错误陷阱。如果不重定向到物理可用的 重叠块时,对产品设备 OLDA 区域的读访问时产生总线错误陷阱。在重定向到 OVRAM 后,为了实现字节/半字/字 的写访问,ECC 错误可能会被报告。(见上面) 虚拟的 OLDA 存储器范围的基地址是 A/8FE70000H(非缓存空间),结束地址是 A/8FE77FFFH。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-5V1.0, 2011-12 PMU,V1.47 523访访问问行行为为 以字节、半字和字对 PMU 重叠存储器 OVRAM 的写访问在两个周期执行(因为 ECC 产生的读-修改-写),双 字的话在一个周期完成。对 OVRAM 的读访问需要一个周期。此外,对于读和写访问,在 PMU 里需要一个周期用 于地址选择。突发访问(BTR2)需要一个(对于读)或者两个(对于写)额外的周期。 5. 2. 4重重叠叠存存储储器器控控制制寄寄存存器器 通过重叠 RAM 控制寄存器 OVRCON 控制 OVRAM 的 OLDA 功能和 ECC 保护。位保护允许 OLDA 和 ECC 功 能的独立控制。只有在管理员模式 SV 下才能执行对这个寄存器的写访问,在用户模式或者 SV 下可以执行读访 问。OVRCON 寄存器通过应用(等级 3)复位清零。 如果检测到 ECC 错误,SCU 控制触发一个 NMI 陷阱。 寄存器被定义如下: PMU0_OVRCON 重重叠叠 RAM 控控制制寄寄存存器器(F800 0520H)Reset Value: 0000 0000H 31302928272625242322212019181716 0ECCW rrw 1514131211109876543210 ECCD BER 0 DBERI NTDIS 000 ECCG ENDIS PECC CTR 000000 POLD AEN OLDA EN rwhrwhrhrhrwrwrwrwrrrrrrwrw 符符号号位位序序号号类类型型描描述述 OLDAEN0rw在在线线数数据据获获得得使使能能 0B使能在对虚拟 OLDA 存储器写访问时产生陷阱 1B禁止写陷阱,虽然 OLDA 存储器在产品设备和仿真设备中都是虚拟 的和不可用 POLDAEN1wOLDAEN 的的保保护护位位 0B位保护:OLDAEN 位在写 OVRCON 寄存器时保持不变 1B在当前对 OVRCON 寄存器进行写访问时,OLDAEN 变化 该位使能在写 OVRCON 时写 OLDAEN。读返回 0。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-6V1.0, 2011-12 PMU,V1.47 符符号号位位序序号号类类型型描描述述 PECCCTR8wECC 控控制制位位的的保保护护位位 0B位保护:可写的 ECC 控制(ECCGENDIS, DBERINTDIS)在写 OVRCON 寄存器保持不变。 1B对 OVRCON 寄存器的当前写访问可改变 ECC 控制位。 读时返回 0. ECCGENDIS9rw禁禁止止 ECC 产产生生 0B使用通过数据计算的 ECC 对 OVRAM 进行写访问。 1B使用 OVRCON.ECCW 的内容而不是通过数据计算的 ECC 对 OVRAM 进行写访问。 DBERINTDIS13rw禁禁止止 ECC 双双位位错错误误中中断断 0B为 NMI 触发,双位错误被报告给 SCU,以及冗余包装。 1B双位错误不被报告给 SCU 或冗余包装。 ECCDBER15rwhECC 双双位位错错误误锁锁存存位位 当读或者读修改写访问有双位错误时,该位被置位。 通过写 0 可以被清零。 ECCW23:16rwECC 写写数数据据 当通过 OVRCON.ECCGENDIS=1 禁止 OVRAM 的 ECC 编码,写访问将 该数据位域写入 SRAM 而不是产生的 ECC 编码。 031:24, 14, 13, 12, 10, 11, 7:2 r保保留留 保留作未来之用,写 0,读 0。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-7V1.0, 2011-12 PMU,V1.47 53仿仿真真存存储储器器接接口口 在仿真设备中,提供一个可通过程序存储器或者 OLDA 重叠用于校准的仿真存储器(EMEM)。它的基地址是 A/8FF0 0000H。对于 Flash 和 OVRAM 访问,缓存(段 8H)和非缓存(段 AH)访问都可通过 PMU 用于访问 EMEM。 图 5-1 中显示的仿真存储器接口是 64 位宽度的存储器接口,它控制 CPU 对仿真设备中的仿真存储器进行的访 问。支持所有宽度的写访问(字节、半字、字、双字)。不支持 CPU 控制的载人修改保存访问(以 LDMST 指令)。 在 TC1728 生产设备中,EMEM 接口总是被禁止。来自仿真存储器区域的 CPU 读访问引起 DSE 陷阱和 LMB 总线错误。如果仿真存储器区域读访问通过 SPB 主机初始化(例如,PCP),将额外产生 SPB 错误中断。默认 地,任何主机对仿真存储器的写访问在生产设备中导致一个 LMB 总线错误陷阱。 在仿真设备中,如果 EMEM 不能处理 CPU 访问(例如,CPU 访问 EMEM 中的一个存储器跟踪器件时), PMU 报告一个 LMB 总线错误陷阱。在这种情况下,PMU 中止 EMEM 访问。 和内部 8KB OVRAM 相似,EMEM 也可用于内部程序 Flash 和虚拟 OLDA 存储器中的专用重叠块,以将 (DMI 中的)Flash/OLDA 地址重定向到仿真存储器。外部存储器也被支持重定向到 EMEM 中的块。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-8V1.0, 2011-12 PMU,V1.47 54PMU ID 寄寄存存器器 PMU_ID 寄存器是只读寄存器,因此写访问会导致总线错误陷阱。读访问在管理员模式 SV 和用户模式中被允 许。PMU_ID 寄存器定义如下: PMU0_ID PMU0 标标识识符符寄寄存存器器(F800 0508H)复复位位值值: 0096 C0XXH 31302928272625242322212019181716 MOD_NUMBER r 1514131211109876543210 MOD_TYPEMOD_REV rr 符符号号位位序序号号类类型型描描述述 MOD_REV7:0r模模块块版版本本号号 MOD_REV 定义了模块版本号。模块版本号以 01H开始(第一版)。 MOD_TYPE15:8r模模块块类类型型 该位域为 C0H. 其定义该模块为 32 位模块。 MOD_NUMBER31:16r模模块块数数值值 该位域定义了本模块对于 PMU0 的标识符。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-9V1.0, 2011-12 PMU,V1.47 55调调节节保保护护 特殊的调节保护代表了一种附加于 Flash 读/写/OTP 保护(见 5-21 页页和 5.6.5 节节)和其它引导加载模式的安全 功能(见 BootROM 规范)。 关于调节保护的具体信息请与英飞凌当地代表联系。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-10V1.0, 2011-12 PMU,V1.47 56程程序序和和数数据据 Flash 本章描述了 TC1728 的嵌入 Flash 模块。 561简简介介 TC1728 嵌入式 Flash 模块包括 1.5MBFlash 存储器用于存储代码或者常数(被称为程序 Flash)和 64KB 的附 加 Flash 存储器用于 EEPROM 数据的仿真(被称为数据 Flash)。 程序 Flash 以一个独立的 Flash bank 的方式实现,而数据 Flash 由两个 Flash bank 组成,允许下面 Flash 操 作的结合: 当数据 Flash 的一个 bank 正在进行编程或者擦除操作时,可从程序 Flash 读取代码或者数据。 当数据 Flash 的一个 bank 正在进行编程或者擦除操作时,可从数据 Flash 的另一个 bank 读取数据。 当数据 Flash 的一个 bank 正在进行擦处或读程序 Flash 时,可编程另一个 Flash bank。 数据 Flash 和程序 Flash 都提供 64 位双字读访问的 1 位错误的错位修正,以得到相当低的错误概率。对程序 Flash 进行的读访问以 256 位宽度执行,而以 64 位宽度读访问数据 Flash(两者都加上 ECC)。读访问被非常有 效地控制,以支持程序 Flash 的一个带有缓存命中控制的读取线缓冲器和一个独立的数据 Flash 读取缓冲器。支持 高达 4 个双字的单周期突发传送和带有预取指命中控制的程序 Flash 预取指。对数据 Flash 的访问不干扰缓存的数 据也不影响程序 Flash 中用于命中控制的预取数据。 最小的编程宽度是一页,包括程序 Flash 256 字节和数据 Flash 128 字节。使用自动擦除挂起和恢复功能执行 数据 Flash 的并行编程和擦除。 整个 Flash 模块被分为下面两个子模块: 带有一个 Flash bank PFLASH 和两个 Flash bank DFLASH 的 Flash 阵列模块(FAM),包含独立的 PFLASH 和 DFLASH 有读缓存,带有 Flash 标准接口 FSI,包括 Flash 阵列控制器,带有页写缓存和电压产 生器。 Flash 接口和控制模块(FIM),可控制 Flash 命令的执行,并负责 ECC 修正和 ECC 产生。其通过 LMB 总 线与 PMI 模块接口以进行指令访问,连接到 DMI 和 DMA 模块以进行数据访问。 Flash 接口模块是程序存储单元 PMU 的主要部分。对于整个系统集成和系统构架的概览在 TC1728 框图中呈 现。在下面的图图 52 给出了 Flash 模块的基本框图。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-11V1.0, 2011-12 PMU,V1.47 图图 52Flash 模模块块的的基基本本框框图图 程程序序 Flash 特特性性和和功功能能总总结结 注意:本文档中所有行为和质量参数,特别是访问时序、等待状态设置、Flash过程、持续和保留设置长短都只是 指示性的,绑定参数请参见数据手册。 PMU0 中的 1.5MB 片上程序 Flash 指令代码或者常数的任何使用 256B 的读接口(突发传送操作) 在读访问期间单次错误的动态修正 读访问时间:26ns 在突发模式的传送率:每个周期一个 64 位双字 扇区架构: 8 个 16K 字节,1 个 128K 字节和 5 个 256 字节扇区 每个扇区独立可擦除 每个扇区可锁住,以保护不对其进行擦除和编程 1 个额外的设置扇区(用户不可访问) 对整个 Flash 写保护。和整个 Flash 写保护相结合从而支持对木马程序的阻止 多电平扇区写保护,支持重编程;一个电平专门用于 ROM 功能的 OTP 保护(永远锁住) 舒适的密码检查用于写或者读保护的暂时禁止 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-12V1.0, 2011-12 PMU,V1.47 配置扇区中的用户控制的配置块(UCT),用于关键词和扇区特定的锁住位(每个用户一个块,多达 3 个用 户) 域电压供给同样用于编程和擦除(没有 VPP 引脚) 256 字节的页编程操作 编程时间:每页 5 毫秒(典型值) 所有 Flash 操作由 CPU 通过命令序列控制(没有被锁住的序列),用于保护避免无意识操作 自动编程和擦除的写状态机,包括操作质量的验证 以中断和总线错误陷阱形式包裹的错误和结束忙碌 支持余量检查 每个扇区的擦除时间:最多 5 秒 已擦除状态的发送 全局和扇区特定状态信息 标定应用的重叠应用 对于不同 CPU 频率的可配置等待状态选择 持久性=1000;每个物理扇区的编程/擦除周期数;每 16KB 扇区的持久性降低到 100 操作时间(包括保持时间);20 年持久性=1000 对于更多的操作条件见数据手册 数数据据 Flash 特特性性和和功功能能总总结结 64KB 的片上 Flash,配置于两个独立的相同大小的 Flash bank 中 扇区架构:每个 bank 一个扇区 64 位读接口 当对一个 bank 读操作时,擦除/编程另一个 bank 当使用自动挂起/恢复功能擦除一个 bank 时编程另一个 bank 在读访问时的单位错误的动态修正 读访问时间:50ns 128 字节的页可在一步中写入 读/写保护可选择与 PFlash 读保护相结合 编程时间:每页 5 毫秒(典型值) 所有 Flash 操作由 CPU 通过命令序列控制(没有被锁住的序列,与程序 Flash 相同),用于避免无意识操 作 以中断和总线错误陷阱形式包裹的错误和结束忙碌 自动编程和擦除的写状态机 余量检查用于有问题的 Flash 位的检测 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-13V1.0, 2011-12 PMU,V1.47 每个扇区的擦除时间:最多 1.5 秒(随着频率降低增加) 持久性=60000;例如,每个扇区允许 60000 个编程/擦除周期;保持时间为最少 5 年 特定的 DFlash 状态信息 其他特点:与程序 Flash 相同 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-14V1.0, 2011-12 PMU,V1.47 562架架构构和和操操作作概概览览 下面将介绍内部结构和操作的概览。 5621扇扇区区和和页页架架构构 程序 Flash 和数据 Flash 存储器以它们的扇区架构和页架构为特色。Flash 存储器划分成不同大小的部分,称 为扇区。一些 Flash 操作特定于并且只能在一个完整的扇区完成,比如扇区擦除操作和扇区写保护的建立。编程操 作一般来说是特定于页的操作(不支持字节、字或者半字编程) 页页和和字字线线结结构构 整个 Flash 存储器划分成既定的页,并且大小总是一样的,这取决于 Flash 类型。编程 Flash 和数据 Flash 有 不同的页大小: 编程 Flash:页大小是 256 字节(32 个双字) 数据 Flash:页大小是 128 字节(16 个双字) 页大小由阵列的字线长度定义:一个字线总是包括两个连续的页,有相应的奇偶页地址。 程程序序 Flash 中中的的扇扇区区划划分分 程序 Flash 存储器被划分为下面扇区: 8 个 16K 字节的逻辑扇区,一起构成 2 个 64K 字节的物理扇区 1 个 128k 字节(物理)扇区 和 5 个 256K 字节(物理)扇区 额外地,还有一个配置扇区,其不允许用户访问。 物物理理和和逻逻辑辑扇扇区区 最大的编程擦除周期数总是与物理扇区相关。因此持久性为 1000 是具有 64K 字节以上的扇区的特性,但是 不是小的 16K 字节扇区的特性。 16K 扇区被称为逻辑扇区,因为它们与相邻的扇区不是物理上分开的。它们通过在 64K 物理扇区里简单定义 16K 地址范围来逻辑划分开,以避免物理扇区区分所必需的区域覆盖。因为在一个物理扇区里的所有逻辑扇区使用 相同的位线,每个逻辑扇区里,不带刷新的最大擦除周期数必须被限制为 100。这就意味着,在 16K 扇区被擦除 100 次后,整个 64K 扇区(包括前面的 16K 扇区)需要被刷新(擦除并且重新编程),才能在同样的 16K 扇区中 再执行下一次 100 次擦除。因此,64K 物理扇区的所有 4 个 16K 扇区在刷新整个 64K 扇区之前可被擦除 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-15V1.0, 2011-12 PMU,V1.47 100 次。总的来说,同样的对于每个逻辑扇区,最大擦除周期数为 1000。64K 扇区的物理擦除可通过一个 64K 擦 除操作来完成,或者通过 4 次 16K 擦除操作来完成。 数数据据 Flash 扇扇区区 64K 字节数据 Flash 被划分为同样大小的两个可擦除(物理)扇区。两个扇区对两个 Flash bank 是相同的,其 定义用于支持连续操作。只有在读保护的情况下,支持 DFlash 的完全写保护(可被禁止),但是不能选择只为 DFlash 扇区的写保护。 5622数数据据 Flash 和和 EEPROM 仿仿真真仿仿真真 数据 Flash 包括两个独立的 Flash bank(与程序 Flash 不同)。一个 Flash bank 代表一个扇区,其只可作为 一个完整的单元完成擦除,并且可一页一页的编程。两个独立的数据 Flash bank 允许在后台擦除一个 bank 的时候 同时对另一个 bank 进行读取或编程操作。 数据 Flash 的一般结构可被选择为支持 EEPROM 仿真。Flash 存储器和 EEPROM 的主要区别在于 EEPROM 有更长的持久性,且有较短的持续时间。对于 EEPROM,例如需要 120000 写擦除周期的持久性,标准的 Flash 存储器不支持这个特性。 为了 Flash 仿真并且提高持久性,数据 Flash 被当作循环的缓存存储器使用:最新更新的数据总是被编程到最 后的已编程页之上。当达到扇区的最顶部,所有实际的数据(代表实际 EEPROM 区域)被复制到下一个扇区的底 部区域,并且最后的扇区被擦除。这一轮的循环过程,重复使用被仿真的 EEPROM 的大小(称为 EEPROM 区 域),显著地增加了持久性。因此,持久性可以通过改变被仿真 EEPROM 的大小来选择。 例例子子 1 DFLASH 被逻辑划分成 4 个区域(例如,每个 bank 两个),作为一个循环缓存存储器。每一次,四个区域中 的一个总是作为激活的 EEPROM 区域。激活的 EEPROM 区域由使用的区域通过激活的 DFLASH bank 中的已使 用的有最高地址来简单标识。 激活的 EEPROM 区域在一个片上 RAM 区域中作为 EEPROM 镜像。在复位操作后,激活的 EEPROM 区域被 复制到 RAM 中。当 EEPROM 数据必须被更新时,DFLASH 循环缓存内的下一个连续的区域变成激活的 EEPROM 区域。当当前激活的 EEPROM 区域已经切换到“新”的 DFLASH bank 时,“老”的 DFLASH bank 可以被擦 除。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-16V1.0, 2011-12 PMU,V1.47 作为对循环缓冲器中当前激活的 EEPROM 区域连续变化分配的结果,EEPROM 区域的 DFLASH 存储器单元 可被擦除/编程的次数是一个物理区域的 4 倍,造成了 EEPROM 区域的持久性提高到 4 倍。此外,保持时间降低了 是相对于支持较高持久性(例如,保持时间是 5 年的数据 Flash 的持久性是 30000)的 EEPROM 数据而言的。因 此,对于上面描述的具有 4 个区域以及保持时间为 5 年的例子里,被仿真 EEPROM 区域的持久性提高到 120000 写/擦除周期。 例例子子 2 对于更加复杂的 EEPROM 结构的仿真,可并行地定义数个 EEPROM 区域类型,不同的区域类型有不同的持 久性和更新要求。每个区域类型通过标识标志标识,每个类型的有效区域通过相同的标签由所有区域的最高地址进 行识别。如果进入一个“新”的 Flash bank,所有激活的区域被复制到新的 bank 中,那么“旧”的 DFLASH bank 可被擦除。建议推荐延迟复制(和擦除)操作,以使得在“新”的 bank 中有更多“老”的 bank 中的激活区 域被更新。 根据用于 EEPROM 数据动态编程的页的数量,EEPROM 区域的持久性可以额外地被优化。如果被改变的 EEPROM 区域在更新操作中只有一部分被重新编程了,那么持久性进一步提高,因为当只有一个字线(两页)必 须被更新时,不是总是浪费一个完整的 EERPROM 区域。有必要指示旧的(无效的)字线。因此,一个字线可以 通过重新编程这个字线的一个(或两个)页全都是“1”来标记为无效(只有这样,在数据 Flash 和程序 Flash 中 的一个页的两次编程被允许)。对于“无效标志”, 必须保证正确的 ECC 代码,因为 ECC 算法选择方式为:相 应的 ECC 代码(也是全 0 或者全 1)或者对于已擦除状态(全 0)是正确的,或者对于无效状态(全 1)是正确 的。 注意:对于一个字线,只允许有两次页写操作。因此,如果第三个页写操作在无效标志下执行,那么不只是这一 页,包括这一页的整个字线均处于无效状态。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-17V1.0, 2011-12 PMU,V1.47 5623操操作作概概览览 一般来说,程序 Flash 和数据 Flash 被按相同方式控制。因此,下面将主要针对程序 Flash 来描述操作概览。 如果必要的话,将对数据 Flash 作额外的解释。 标标准准读读 在标准读模式下(普通操作模式),Flash 存储器如同片上 ROM 一样。Flash 阵列模块提供了一种对 256 位读 数据的异步读访问(数据 Flash:64 位读数据),访问时间为 26ns(数据 Flash:50ns)。根据 PMU 的时钟频 率,必须等待一定的等待周期(见表表 51)。指令读访问为 64 位访问。因为程序 Flash 的读数据宽度是 256 位, 总是执行一次 4 个 64 位双字的完全突发传送。从 PFLASH 和 DFLASH 的数据操作数读取都是 64 位访问。在缓冲 区地址空间的数据访问的情况下,两个双字被传送。在非缓冲区数据访问的情况下,只有访问地址 DW 被访问并被 直接传送给 CPU。 注意:Flash模块总是传送64位读数据。在双字读数据中被寻址的地址数据(根据数据类型选择字、半字、字节) 是由CPU选择的。 Flash 地址以不同的基地址被映射到控制器的整个地址空间(见页页 526 的的“地地址址映映射射”)。 24KB 配置扇区的典型地址范围同样开始于地址 0,并且映射到和程序 Flash 相同的基地址,但是用户不能对 设置扇区进行读访问和直接写访问。 为了限制任何读破坏的可能性,Flash 模块提供了对于 64 位双字 SEC-DED(1 位错误修正,2 位错误检测) 的 ECC。正常读操作可与余量检查(感应放大器的更多关键控制)结合用于验证操作。1 位和 2 位错误在 Flash 状 态寄存器中指示,并且,如果其被使能,通过错误中断报告给 CPU。双位错误引起错误陷阱(如果禁止余量检 查)。 通通过过命命令令序序列列的的操操作作控控制制 除了正常读操作之外的所有操作都由写入 Flash 接口和命令状态机的命令序列初始化和控制。在正常读操作过 程中,对 Flash 地址空间的第一个写周期被自动作为一个命令周期,初始化一个命令序列。命令序列的不同写周期 不仅用于例如编程命令或者扇区擦除命令的操作定义,还用作失效保护和非锁住周期,以避免无意的写操作。一些 不直接控制 Flash 阵列操作的命令作为单周期指令被执行。 所有命令周期都是对 Flash 的写(存储)周期。在命令周期过程中,地址总线的低 16 位(A15A0)定义了 Flash 命令地址,并且只有带有指向扇区、页和字线的命令周期也使用 Flash 地址位 A20A16。此外,命令地址 通过使用 Flash bank 运行专用的基地址映射到控制器的整个地址空间(见页页 526 的的“地地址址映映射射”)。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-18V1.0, 2011-12 PMU,V1.47 一个命令周期的写数据定义了在非锁住周期的情况下的 8 位操作代码或者安全模式,用于禁止保护周期的 32 位密码,或者其代表了将要被编程的 64 位数据或 32 位数据。Flash 状态寄存器中的序列错误标志位指示了不恰当 的命令周期或者中断命令序列。 注意:将命令指令序列写入到程序Flash的用户代码不应从内部Flash执行;其应位于其它的内部或者外部程序存 储器,例如,位于暂存器SPRAM。而将命令序列写入到数据Flash的用户代码可位于其内,并且从程序 Flash执行。 注意:属于命令序列的写周期可在其写入Flash的过程中被缓存到存储/写缓冲器中。为了保持数据相关性(命令周 期的严格的序列是必须的)和保证到PMU的命令周期的立即传送,Flash的所有写周期必须访问Flash的非缓 存地址空间。此外,推荐在命令序列的最后的写周期之后在PMU寄存器(例如,PMU_ID)中包含一组读指 令(Id.w),以刷新写缓冲器。 在页页 584 中中的的“应应用用提提示示和和指指南南”章章中,有额外的提示可用。可能的错误条件和其在 FSR 中的报告在 5.6.6.3 中总结。 编编程程控控制制 已编程 Flash 位送出值“1”。Flash 模块提供了程序 Flash 和数据 Flash 中的所有编程(写数据)操作的页汇 编机制。该汇编机制要求在一个页汇编缓冲器中汇编 256 个字节(数据 Flash:128 字节),在该汇编缓冲器在一 个编程周期里被写入 Flash 之前。 通过载入/存储命令序列执行页写操作,包括以下 3 个步骤: 1.以“进入页模式”命令开始。该命令的地址的高地址位也决定了将要被编程的 Flash bank(程序 Flash 或数据 Flash bank)。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-19V1.0, 2011-12 PMU,V1.47 2.执行 32 位(数据 Flash:16)载入页命令来传送双字或者执行 64 位(32)命令来传送字到各自的页汇编 缓冲器。不允许字和双字的混合传送(错误提示)。第一个双字载入到页汇编缓冲器(页寄存器的开始地址)的 0 地址处。内部以增加起始地址的方式控制后续载入页寄存器的双字的地址;因此写周期总是有相同的地址,指向将 要编程的 Flash bank。对于每个双字(或两个字),由内部产生 ECC 代码,并且存储在汇编缓冲器。 3. 写入页命令序列(4 个周期)来一步把页汇编缓冲器的整个 64(DFlash:32)个字编程到 Flash 存储器。 页地址由最后一个命令周期来定义。最后命令周期的写数据是一种确定的类型。命令周期的所有基地址必须指向将 要编程的 Flash bank。 执行对不完全填充缓冲器的写命令(没载入字的页使用汇编缓冲器的“旧”内容,并且因此为未定义),但是 通过状态寄存器里的错误指示报告给用户。如果存储器区域应该总是以相同的模式被编程,如果根据写入页命令总 是直接进入页模式命令,那么可能使用汇编缓冲器的“旧”内容用于数个页的写操作。 指向忙碌的 Flash bank 的命令周期引起总线系统和正在发送的主机的停止,直到忙碌状态被清除。 在收到写入页命令后模块执行编程操作。256 字节(DFlash:128 字节)的页在 5ms(DFlash:5ms)内编程 (典型值)。根据质量检查的编程算法保证每个编程位的指定保留。因此,质量检查根据汇编缓冲器的内容的定义 在所有已编程(“1”)位上执行(读条件收紧)。弱位被重新编程。如果不再能重新编程,在 Flash 状态寄存器 FSR 中的错误标志位(VER)置位(见 5.6.6.3 节节)。 操作的终止由 Flash 状态寄存器指示,它也可以被配置以产生一个忙碌结束中断。在编程操作的过程中,最 小系统时钟被限制为 1MHz。任何复位条件在最多 250 微秒内停止编程操作。这样的错误状态可以通过正确的处理 和检查 Flash 状态寄存器 FSR 里的 PROG 状态标志位(除了上电复位)来辨识。 擦擦除除控控制制 Flash 模块的特征是扇区擦除结构。通过执行 6 周期的擦除命令序列完成擦除,擦除命令序列包括在最后周期 里的扇区地址(见 5.6.3.5 节节的扇区地址)。命令序列的所有命令周期必须使用基地址,基地址指向将要被操作的 Flash bank。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-20V1.0, 2011-12 PMU,V1.47 如果被操作的 Flash bank 仍然处于忙碌,命令周期停止总线系统和正在发送的主机。在命令序列的最后周 期,设备自动开始和控制擦除过程。如果在同一个时候另一个 bank 正忙于写操作,操作的启动被延迟。操作的终 止在 Flash 状态寄存器中被指示,并且可被使能以产生一个忙碌结束中断。在擦除操作之后,Flash 存储器在读访 问时传输带有正确的 ECC 代码的数据“0”。 程序 Flash(64K、128K 和 256K)的物理扇区支持最大数量(持久性)为 1000 次的擦除和编程操作。 PFlash 中(逻辑)16K 扇区允许同一个扇区(不更新情况下)最多 100 个擦除周期(见 5.6.2.1 节)。数据 Flash 扇区定义了最大数量为 60000 个擦除周期(取决于设备)。 除了扇区擦除外,特殊的 6 周期的块擦除操作只特定用于用户配置块(UCB)。该操作支持用户专用更改 Flash 配置的保护功能,也就是关键字或锁存位。因为一个 UC 块包括 4 个页,1 个 1K 字节的块通过该操作被擦 除。UCB 更改的最大次数被限定为 4。UCB 擦除时间短于扇区擦除时间(最多 500ms)。 如同编程操作,扇区擦除操作也包括擦除质量检查,其标识出 Flash 扇区中的不正确擦除的位,并且指示了如 果弱位不再能够被修正的验证错误(见 5.6.6.3 节节)。 一次擦除操作在最多 5 秒内执行(数据 Flash:1.5 秒)(需根据扇区大小和 CPU 频率)。在数据 Flash 中, 支持自动擦除挂起功能,以对另一个 DFlash bank 快速执行编程操作。在擦除操作的过程中,最小系统时钟被限制 为 1MHz。系统复位条件在最多 250 微秒内停止擦除操作。这样的错误状态可通过正确的处理和检查对 Flash 状态 寄存器 FSR 中的 ERASE 状态标志位来辨识(除了上电复位)。 在在系系统统编编程程 支持在系统编程。不需要特殊的编程电压 VPP。因为擦除和编程算法的自动执行,减少了写操作,以将命令和 数据传送到 Flash 中和读取状态(提示请见 5.6.6.5 节)。因为页汇编功能,写数据可以舒适快速地写入 Flash。将 数据写入页汇编缓冲器的用户代码页可以从相同的内部程序 Flash 执行(在非缓存操作模式下)。将命令序列写入 程序 Flash 的用户代码必须从存储在片上 Flash 存储器之外的存储器执行(片上 RAM 或者其它可用的 Flash 模块 或者外部存储器)。 注意:支持在擦除或者编程数据Flash的同时读访问程序Flash。因此,数据Flash的命令序列可通过从程序Flash 访问的用户代码被写。在数据Flash中,并行的写操作也是可能的(当擦除一个bank的同时编程另一个 bank)。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-21V1.0, 2011-12 PMU,V1.47 寄寄存存器器访访问问控控制制 在任何状态下,也包括在擦除和编程操作过程中(但是随后在其它内部或者外部存储器被执行),允许轮询状 态寄存器的寄存器访问。 读读/写写/OTP 保保护护 Flash 模块提供了复杂的安全功能,以避免任何第三方的未授权的读取和修改。Flash 支持了整个 Flash 阵列 (包括数据 Flash,如果不被独立地禁止)的读保护。自动的读保护包括全局 Flash 写保护以阻止 Trojan Horse 程 序(包括数据 Flash,如果不被独立地禁止)。此外,在程序 Flash 中提供所有扇区的扇区特定的写保护和 OTP 保 护。写保护扇区是可以重新编程的(通过密码),OTP(一次可编程)保护扇区被永久锁住,且有 ROM 功能。如 果安装并激活读保护,禁止任何 Flash 读访问,如果是从另一个存储器而不是程序存储器本身复位之后开始执行指 令,例如,复位之后开始引导程序加载的情况下。调试接口在这种情况下被使能, 因为 Flash 模块本身禁止代码和 数据访问。在内部 Flash 复位后启动的情况下,使能 Flash 访问,但是调试接口被 BootROM 中的固件锁住,用户 本身必须控制调试接口。在任何情况下,Flash 用户自己可以控制不同主机(例如,DMA 控制器)的指令和数据的 访问权。Flash 读保护可被暂时禁止(通过密码),例如,更改对 Flash 存储器的访问权或者执行编程操作。 提供对程序 Flash 扇区写保护和 OTP 保护以保护代码和常数避免任何操作(例如,避免调节)。这个特性将 禁止任何选择组合的扇区的编程和擦除操作。扇区保护由用户直接编程到配置扇区里的“用户配置块”(UC block)的扇区特定锁存位来完成。读和/或写保护的建立在下一个复位之后激活。 支持三个不同的用户级别和三个不同的 UC 模块(UCB0、UCB1 和 UCB2),其中两个有各自的关键字,其中一 个(UCB2)可用于选择 OTP 保护扇区,其不能再被擦除和重新编程。用户级别被分层组织:在禁止其密码保护 后,用户 0 可以编程或擦除所有被它保护的扇区(即使这些扇区也被用户 1 保护),但是不能编程或擦除由用户 2 或者只被用户 1 保护的扇区。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-22V1.0, 2011-12 PMU,V1.47 为了读保护,也为了扇区写保护的短期禁止,提供了密码检查特性。只有密码于用户 UCB 中的关键字相匹配 时,其扇区处于暂时非保护状态,并且对这些非锁住的扇区的擦除和编程命令被使能。如果不被单周期命令“重新 使能读/写保护”停止,非保护状态在下一个复位时终止。用户 2 保护(带有 ROM 功能的 OTP 扇区)不能暂时被 禁止,因此不需要密码。 密码检查是基于用户直接编程到配置扇区(与用于锁存位相同的过程)的“用户配置块”里的两个关键字的 (总共 64 位)。为了避免在被干扰关键字情况下的永久锁存条件(例如,在关键字编程过程中的电压问题),在 特殊的确认代码必须被写入用户配置块中的第二个字线之前,关键字修正(用户 0 和 1)必须首先由用户检查。用 户 2 以确认代码确认 UCB2 中的保护设置(OTP 扇区有 ROM 功能)。 如果任何保护被配置和确认(被正确地建立),这个状态在 Flash 状态寄存器 FSR 中被指示。此外,保护总 结位在 FSR 中提供给每个用户,它们指示了读保护的建立(只是用户 0)或者/和写保护以及暂时禁止状态的指示 (用户 0 和 1)。每个扇区的锁存状态由保护配置寄存器 PROCON0、PROCON1 和 PROCON2 的扇区特定标志 位指示。 注意:如果用户2的任何扇区被永远锁存(通过PROCON2保护),英飞凌对FAR的查询就被限制了,因为不可 能再对Flash阵列寄存器(SFR)访问了。 注意:物理扇区,包括16KB OTP扇区,永远不能被擦除,因此,其16K逻辑扇区的持久性被限制为100。 注意:如果任何保护被使能,配置扇区的相关用户块也被特殊保护。 写保护的三种可能性整个存储器或特定扇区带有或不带有重新编程能力和三种可能性的所有结合支持写保 护的灵活建立以保护 Flash 存储器或者它的一部分免遭未授权编程并为所有系统代码扇区提供病毒屏蔽安全功能。 功功耗耗降降低低 Flash 模块支持 SCU 控制的睡眠模式,由功率管理系统全局请求,并且其支持独立的睡眠模式,由用户选择为 掉电特性,如果某些处理器状态不需要 Flash。如果睡眠状态被请求,所有激活的或者挂起的 Flash 阵列操作被首 先正确终止,然后再执行掉电状态。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-23V1.0, 2011-12 PMU,V1.47 从睡眠状态唤醒电压发生器的电压缓慢上升,在 Flash 读模式被再次激活之前。其持续时间在用户手册中说 明。 此外,PMU/Flash 模块支持动态降低功耗模式,空闲状态用于禁止字线驱动器。如果该模式被使能,预取指功 能被简化。 TC1728 程程序序存存储储器器单单元元(PMU) 用户手册5-24V1.0, 2011-12 PMU,V1.47 5.6.2.4 Flash 访问控制和操作 对 PFlash 和 DFlash 的初始化访问所需要的等待状态数与最高的工作频率相关(包括 PLL 抖动)。因为复位 后的默认值是对所有频率的最差设置,访问时间必须由用户根据应用频率配置以优化操作。等待状态的配置必须通 过寄存器 FCON(Flash 配置寄存器,见 579 页页)中的 4 位位域“WSPFLASH”和“WSDFLASH”根据下面表 格执行。 注意:如果初始化访问(指令或数据访问)指向一个PFlash中的双字,其已在256位Flash读缓冲器中可用(由 于较早的初始化访问或者由于自动预取指),已定义等待状态(在FCON寄存器中)的数量被禁止并且访问 被无等待状态执行,即带有0ns访问时间。如果预取指读数据流水线在读缓冲器之前已经挂起,预取指线命中 情况下,访问周期数降低到1个等待状态。 表表 51与与 Ta=26ns 的的 Flash 模模块块工工作作频频率率相相关关的的等等待待状状态态的的选选择择 工工作作频频率率1初初始始化化访访问问的的等等 待待状状态态 读读缓缓冲冲器器正正确确 访访问问的的等等待待状状 态态 预预取取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论