[技术问答] 断电保存数据 上电读取nm1120

[复制链接]
3537|18
 楼主| cr315 发表于 2025-2-18 11:00 | 显示全部楼层 |阅读模式
断电保存数据我是芯片断电定时器里读取I/O口高低电平,达到时间保存 有时候板子用的时间久了 就会保存读取失败 芯片复位,大佬们看一下我的保存参数有问题吗?
void remeber()
{      
               
                        SYS_UnlockReg();
      FMC_Open();
                        set_data_flash_base(DATA_FLASH_TEST_BASE);
                  FMC_Erase(sudu_base);
                        FMC_Write(sudu_base, set_xiansudu);


                        FMC_Write(first_base,0x19);
                  FMC_Close();
      SYS_LockReg();
}


这个是启动读取参数
int main()
{      
                unsigned int i;               
                unsigned int j;
                /* Initialize at begining */


                /* Initialize all register setting*/      
          delay_ms(10);
                SYS_Init();
//                SYS_UnlockReg();      
          SYS_LockReg();
                EADC_Init();
                PGA_Init();
                GPIO_Init();
                ECAP_Init();      
                Timer0_Init();
                Timer1_Init();
                EPWM_Init();      
          USCI_UART_Open(USCI1, 9600);
                RXD_set();
                Motor_Start();
                u8_StopMotor_Flag=1;      
          SYS_UnlockReg();
    FMC_Open();//开始读取
          first_set_Flag=FMC_Read(first_base);
                if(first_set_Flag==0x19)
                {
                set_xiansudu=FMC_Read(sudu_base);

                }
                FMC_Close();
                WDT_Open(WDT_TIMEOUT_2POW14, 0, TRUE, FALSE);
                SYS_LockReg();
               


    set_para();//设置参数
          Motor_Start();
               
                get_shijichangdu(666666);
                TM1668_Init(size[mishu[0]],size[mishu[1]],size[mishu[2]],size[mishu[3]],size[mishu[4]],size[mishu[5]],0x01);//显示实际长度

                NVIC_Configuration();
yhu1983 发表于 2025-7-11 17:04 | 显示全部楼层
你有开看门狗。保存读取过程有可能因为时间长,没有喂狗,导致看么狗复位.
jcky001 发表于 2025-7-30 16:20 | 显示全部楼层
在电压不稳定时写入可能导致数据损坏或芯片复位。
 楼主| cr315 发表于 2025-7-30 16:20 | 显示全部楼层
中断优先级冲突?
elephant00 发表于 2025-7-30 16:20 | 显示全部楼层
FMC_Erase()和FMC_Write()未检查返回值,无法确认操作是否成功。
stormwind123 发表于 2025-7-30 16:59 | 显示全部楼层
建议在电压检测比较器输出端增加施密特触发器,消除信号抖动。
flycamelaaa 发表于 2025-7-30 17:21 | 显示全部楼层
全局变量未保护。
powerantone 发表于 2025-7-30 19:22 | 显示全部楼层
看门狗配置有冲突。
probedog 发表于 2025-7-30 20:23 | 显示全部楼层
在电压跌落至2.7V前完成所有Flash操作.
少女诗篇 发表于 2025-9-20 14:27 | 显示全部楼层
NM1120 断电保存数据、上电读取:可利用其 EEPROM 或备份寄存器存储数据,断电后数据不丢失。上电初始化时,程序读取对应存储区域数据。需确保写入操作完成再断电,读取时先验证数据完整性,避免异常值影响系统。
吝啬晚安 发表于 2025-9-23 18:17 | 显示全部楼层
断电保存数据到 NM1120(EEPROM 类芯片)、上电读取,核心是通过 I2C 通信操作,需注意时序与数据校验。
🔧 关键步骤
断电前:MCU 通过 I2C 向 NM1120 发送写指令 + 地址 + 数据,等待写完成应答(避免数据丢失)。
上电后:MCU 初始化 I2C,发送读指令 + 目标地址,读取 NM1120 存储数据,校验后使用。
注意:需配置 NM1120 写保护引脚,防止误写;读取前确认芯片供电稳定。
一点点晚风 发表于 2025-10-4 13:11 | 显示全部楼层
NM1120 实现断电保存数据并上电读取,可利用其内部 EEPROM 或外接存储芯片。先将需保存数据写入 EEPROM 指定地址(通过 I²C 等接口操作),断电后数据留存。上电时,初始化通信接口,读取对应 EEPROM 地址数据,校验完整性后加载使用。需注意 EEPROM 写入次数限制,关键数据可冗余存储提升可靠性。
拿走一光年 发表于 2025-10-17 10:33 | 显示全部楼层
NM1120 是新唐 NuMicro 系列 32 位 MCU,可通过其内置的 FLASH 存储器实现断电数据保存与上电读取。断电前,需解锁寄存器、开启 FMC 模块,将数据写入指定 FLASH 地址(如速度参数写入 sudu_base)并标记验证值。上电后,程序初始化时开启 FMC,读取验证值确认数据有效后,从对应地址读取保存的数据,适用于电机控制等需参数持久化场景。
我趴在云边 发表于 2025-10-30 09:37 | 显示全部楼层
NM1120 断电保存数据、上电读取的核心逻辑:将需保存的数据写入芯片内置 EEPROM(非易失性存储),断电后数据不丢失。上电后,MCU 通过 I2C 接口与 NM1120 通信,发送读取指令,从指定存储地址取回数据,完成初始化加载。需注意 I2C 时序匹配、地址配置及数据校验,确保读写可靠性。
野玫瑰 发表于 2025-11-3 13:29 | 显示全部楼层
使用 NM1120 实现断电保存、上电读取数据:断电前,通过 I2C 接口将数据写入 NM1120 的非易失性存储区;上电后,同样经 I2C 读取该存储区数据。需注意写入时确保供电稳定,读取前初始化 I2C 通信,核对地址与数据格式,利用其掉电保持特性实现数据持久化。
热爱浪漫 发表于 2025-11-13 11:56 | 显示全部楼层
NM1120 断电保存数据:将需保存数据写入其非易失性存储区(如 EEPROM),通过 I²C/SPI 接口操作。上电后,初始化通信接口,读取对应存储地址数据。需注意写入前擦除对应扇区,加校验位确保数据完整,利用芯片掉电保护功能,保障断电瞬间数据不丢失,实现上电稳定读取。
热爱浪漫 发表于 2025-11-13 11:56 | 显示全部楼层
NM1120 断电保存数据:通过 I²C/SPI 接口,将数据写入其非易失性存储区(如 EEPROM),写入时加校验确保完整。上电后,初始化通信接口,读取对应存储地址数据。利用芯片掉电保护机制,防止断电瞬间数据丢失,实现上电稳定读取,适配需要断电**的嵌入式场景。
热爱浪漫 发表于 2025-11-13 11:57 | 显示全部楼层
NM1120 断电存数:通过 I²C/SPI 接口,将数据写入其非易失性存储区(如 EEPROM),写前擦除对应区域并加校验。上电后,初始化通信接口,读取指定地址数据。利用芯片掉电保护功能,确保断电时数据不丢失,实现上电稳定读取,适配需断电**的场景。
世纪女孩 发表于 2025-11-18 16:35 | 显示全部楼层
NM1120 断电保存数据并上电读取,需利用其非易失性存储特性。断电前,通过 I²C 接口将数据写入芯片存储区,芯片自动保存;上电后,MCU 重新初始化 I²C 通信,发送读取指令,从 NM1120 指定地址读取数据。无需额外供电,适用于需要断电**的场景,如设备参数存储。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1500

主题

5200

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0