• Menu
  • Product
  • Email
  • PDF
  • Order now
  • 第 3 代 C2000 实时控制器的 EEPROM 仿真

    • ZHCADD5A November   2023  – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

       

  • CONTENTS
  • SEARCH
  • 第 3 代 C2000 实时控制器的 EEPROM 仿真
  1.   1
  2.   摘要
  3.   商标
  4. 1 简介
  5. 2 EEPROM 与片上闪存的区别
  6. 3 概述
    1. 3.1 基本概念
    2. 3.2 单存储单元方法
    3. 3.3 乒乓方法
    4. 3.4 创建 EEPROM 节(页)和页标识
  7. 4 软件说明
    1. 4.1 软件功能和流程
  8. 5 乒乓仿真
    1. 5.1 用户配置
      1. 5.1.1 EEPROM_PingPong_Config.h
      2. 5.1.2 F28P65x_EEPROM_PingPong.c
    2. 5.2 EEPROM 函数
      1. 5.2.1  EEPROM_Config_Check
      2. 5.2.2  Configure_Protection_Masks
      3. 5.2.3  EEPROM_Write
      4. 5.2.4  EEPROM_Read
      5. 5.2.5  EEPROM_Erase
        1. 5.2.5.1 Erase_Bank
      6. 5.2.6  EEPROM_GetValidBank
      7. 5.2.7  EEPROM_UpdateBankStatus
      8. 5.2.8  EEPROM_UpdatePageStatus
      9. 5.2.9  EEPROM_UpdatePageData
      10. 5.2.10 EEPROM_Get_64_Bit_Data_Address
      11. 5.2.11 EEPROM_Program_64_Bits
      12. 5.2.12 EEPROM_CheckStatus
      13. 5.2.13 ClearFSMStatus
    3. 5.3 测试示例
  9. 6 单存储单元仿真
    1. 6.1 用户配置
      1. 6.1.1 EEPROM_Config.h
      2. 6.1.2 F28P65x_EEPROM.c
    2. 6.2 EEPROM 函数
      1. 6.2.1  EEPROM_Config_Check
      2. 6.2.2  Configure_Protection_Masks
      3. 6.2.3  EEPROM_Write
      4. 6.2.4  EEPROM_Read
      5. 6.2.5  EEPROM_Erase
      6. 6.2.6  EEPROM_GetValidBank
      7. 6.2.7  EEPROM_Get_64_Bit_Data_Address
      8. 6.2.8  EEPROM_UpdateBankStatus
      9. 6.2.9  EEPROM_UpdatePageStatus
      10. 6.2.10 EEPROM_UpdatePageData
      11. 6.2.11 EEPROM_Get_64_Bit_Data_Address
      12. 6.2.12 EEPROM_Program_64_Bits
      13. 6.2.13 EEPROM_CheckStatus
      14. 6.2.14 ClearFSMStatus
    3. 6.3 测试示例
  10. 7 应用集成
  11. 8 适配其他第 3 代 C2000 MCU
  12. 9 闪存 API
    1. 9.1 闪存 API 检查清单
      1. 9.1.1 使用闪存 API 时的注意事项
  13. 10源文件清单
  14. 11故障排除
    1. 11.1 常见问题
  15. 12结语
  16. 13参考资料
  17. 14修订历史记录
  18. 重要声明
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content

 

Application Note

第 3 代 C2000 实时控制器的 EEPROM 仿真

下载最新的英语版本

摘要

许多应用都需要在非易失性存储器中存储少量系统相关数据(校准值、器件配置),这样即使在系统下电上电后,也可以使用或修改并重复使用这些数据。电可擦除可编程只读存储器 (EEPROM) 主要用于此目的。EEPROM 能多次反复擦除和写入存储器的各个字节,即使在系统断电后,编程位置也能长时间保存数据。本应用报告和相关代码有助于将片上闪存存储器的一个或多个扇区定义为仿真 EEPROM,并由应用程序用于透明地写入、读取和修改数据。

本应用报告中讨论的工程配套资料和源代码可以在 C2000Ware v5.02.00.00(或更高版本)中找到,路径如下:C2000Ware_5_02_00_00/driverlib/f28p65x/examples/c28x/flash/,C2000Ware_5_02_00_00/driverlib/f28003x/examples/flash/

商标

Other TMs

1 简介

第 3 代 C2000 MCU 具有以多个扇区形式排列的不同闪存存储器配置。遗憾的是,片上闪存存储器所使用的技术不允许在芯片上添加传统的 EEPROM。因此,一些设计人员使用外部 EEPROM 器件来提供此类非易失性存储。好消息是闪存存储器是一种特定类型的 EEPROM,所有第 3 代 C2000 MCU 都具有闪存存储器的在线编程功能。本应用报告将采用此功能,通过在闪存存储器内仿真 EEPROM 功能,将片上闪存的扇区用作 EEPROM。请注意,至少一个完整的闪存扇区会作为仿真型 EEPROM;因此,该扇区不可用于存储应用程序代码。

注: 第 3 代 C2000 MCU 包括:TMS320F2837x、TMS320F2838x、TMS320F28004x、TMS320F28002x、TMS320F28003x、TMS320F280013x、TMS320F280015x 和 TMS320F28P65x。

2 EEPROM 与片上闪存的区别

EEPROM 具有各种不同的容量,并通过串行接口(有时为并行接口)与主机微控制器连接。由于引脚/布线数量超少,串行内部集成电路 (I2C) 和串行外设接口 (SPI) 颇受欢迎。EEPROM 可以进行电编程和擦除,并且大多数串行 EEPROM 支持逐字节编程或擦除操作。

EEPROM 与闪存操作的主要区别就在于擦除操作。EEPROM 不需要扇区擦除操作。用户可以擦除需要指定时间的特定字节。然而,闪存中擦除操作的最小单位是一个扇区。

闪存擦除/写入周期是通过对各个存储单元施加时控电压来执行的。在擦除情况下,每个存储单元(位)读取逻辑 1。因此,被擦除时,C2000 实时控制器的每个闪存位置读取 0xFFFF。通过编程,存储单元可以更改为逻辑 0。任何字都可以被覆盖,将一个位从逻辑 1 更改为 0(假设相应的 ECC 尚未编程);但无法执行相反的操作。第 3 代 C2000 MCU 器件的片上闪存需要使用 TI 提供的特定算法(闪存 API)来执行擦除和写入操作。

注: 如需了解闪存擦除/编程/读取时间,请参阅特定器件数据手册“电气特性”中的“闪存参数”部分。

3 概述

本文档中所述的实现支持单存储单元和乒乓 EEPROM 仿真。单存储单元和乒乓实现均支持两种模式:页编程模式和 64 位编程模式。首先介绍乒乓仿真,然后介绍单存储单元仿真。

该实现支持多个用户可配置的 EEPROM 变量。节 5.1详细介绍了这些变量。

3.1 基本概念

在该实现中,仿真 EEPROM 至少包含一个闪存扇区。由于闪存的块擦除要求,必须为 EEPROM 仿真保留一个完整的闪存扇区。根据 C2000 器件型号,闪存扇区的大小会有所不同。闪存扇区的区域被分为许多较小的部分,称为页面。例如,一个 2K x 16 的闪存扇区可以分成 32 个页面,每个页面大小为 64 x 16。

要保存的数据会首先写入 RAM 中的缓冲区。然后,借助第 3 代 C2000 MCU 的电路内编程功能,数据会被写入选择用于 EEPROM 仿真的扇区的第一个页面。下次将数据写入闪存时,数据将被写入下一个页面。该过程会一直持续,直到所选扇区的最后一个页面被写入数据为止。到达最后一个页面后,有两种方法可以继续。如果使用单存储单元 EEPROM 仿真,请参阅单存储单元仿真行为以了解如何处理。如果使用乒乓 EEPROM 仿真,请参阅乒乓方法以了解如何处理。

除上述描述的页面编程概念之外,还支持 64 位编程。在此模式下,扇区不会被分成 EEPROM 组和页面。节 5.2.10和节 5.2.11将进一步讨论 64 位编程。

3.2 单存储单元方法

如果使用单存储单元 EEPROM 仿真,图 3-1 展示了实现的行为。

GUID-20231019-SS0I-SXXS-BF2X-2SL5BLPFW7HR-low.png图 3-1 单存储单元行为

如果 EEPROM 单元已满并且还有更多数据要写入,则擦除 EEPROM 单元并将新数据编程到闪存中。可以根据需要重复该过程。

 

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale