牛卧堂MCU技术交流

标题: nm1120程序驱动高压bldc电机,下载器怎么配置好 [打印本页]

作者: liyuloveyou    时间: 2023-3-15 10:45
标题: nm1120程序驱动高压bldc电机,下载器怎么配置好
各位大佬,nm1120程序驱动高压bldc电机,下载器怎么配置好?



欠压电压选择多少?我是5V供电
欠压使能和欠压复位这边 启动后I/O状态我选择什么

作者: liyuloveyou    时间: 2023-3-15 10:53
int main()  还有我这样配置 芯片上电eeprom读取对吗?有影响吗
{       
                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();
作者: Angus    时间: 2023-3-15 14:05
写FLASH, 请参考BSP中的代码,写之前要检测VDD, 电压低就不要写了,VDD 还要加大电容,防止刚检测完VDD不低,就开始写FLASH, 然后没电了,数据就乱了。
作者: liyuloveyou    时间: 2023-3-15 14:57
Angus 发表于 2023-3-15 14:05
写FLASH, 请参考BSP中的代码,写之前要检测VDD, 电压低就不要写了,VDD 还要加大电容,防止刚检测完VDD不 ...

可以使用BOD吗, 当BOD检测到VDD电压跌了到4.3V时产生BOD中断,然后关闭B0D中断,写入 保存 ?
作者: Angus    时间: 2023-3-15 16:59
可以用BOD 中断,但是,硬件上必须有大电容,如果有耗电较大的元件与MCU 共用电源,还要接一个二极管。如果写FLASH 中间过程,掉电了,电容里的电足以维持到写完FLASH。
作者: liyuloveyou    时间: 2023-3-16 11:07
二极管怎么接?一端接5V,一端接地吗?  硬件上我电源芯片5V输出端有大电容 25V1000uf,mcu端有16v220uf。[img][/img]
作者: liyuloveyou    时间: 2023-3-16 11:13
mcu外的电容

1678936355482.png (19.96 KB, 下载次数: 601)

1678936355482.png

作者: liyuloveyou    时间: 2023-3-16 11:14
类似这种装二极管吗?

1678936252143.png (18.75 KB, 下载次数: 590)

1678936252143.png

作者: liyuloveyou    时间: 2023-3-16 11:38
如果我选择BOD中断,是不是我这个欠压使能和欠压复位就不能打勾了

1678937847512.png (3.01 KB, 下载次数: 596)

1678937847512.png

作者: liyuloveyou    时间: 2023-3-23 10:00
您好?
作者: liyuloveyou    时间: 2023-3-23 10:01
Angus 发表于 2023-3-15 16:59
可以用BOD 中断,但是,硬件上必须有大电容,如果有耗电较大的元件与MCU 共用电源,还要接一个二极管。如果 ...

您好,选择bod中断后,跟我下载器配置有关系吗?我在下面发了图片,然后二极管是怎么接?接了二级管不就有0.7v压降了
作者: Angus    时间: 2023-3-23 13:49

FLASH 页擦除启动后,代码执行停住,等20ms 后CPU才会继续执行代码。

启动擦除前检测VCC不低,但是刚启动 FLASH 擦除就掉电了,这时只能依靠电容里的电,维持MCU 工作,所以这个电容要加大。


如果VCC 上还并联着一个耗电很大的电路,可能1000uF电容,也是掉电后不到20ms 没电了。这时该怎么办呢?  这个问题留给你思考,办法有多种。


作者: liyuloveyou    时间: 2023-3-23 16:37
Angus 发表于 2023-3-23 13:49
FLASH 页擦除启动后,代码执行停住,等20ms 后CPU才会继续执行代码。

启动擦除前检测VCC不低,但是刚启 ...

可以图中电容左端接个二极管,我发现 串口与flash读写一起使用时会出现卡死现象
作者: liyuloveyou    时间: 2023-3-23 16:39
liyuloveyou 发表于 2023-3-23 16:37
可以图中电容左端接个二极管,我发现 串口与flash读写一起使用时会出现卡死现象  ...


FLASH 页擦除启动后,代码执行停住,等20ms 后CPU才会继续执行代码。

一旦启动flash页擦除 我的程序代码就会自动停止执行吗,然后20ms才会继续运作吗,是芯片特性吗?我把flash擦除放在定时器中断里了。。。  
作者: Angus    时间: 2023-3-23 21:05
本帖最后由 Angus 于 2023-3-23 21:06 编辑
liyuloveyou 发表于 2023-3-23 16:39
FLASH 页擦除启动后,代码执行停住,等20ms 后CPU才会继续执行代码。

一旦启动flash页擦除 我的程序代 ...

这是FLASH 的特性,哪个公司的芯片都一样。擦除一个扇区需要几十毫秒,这期间不能读出数据。

这个时候如果UART来数据了,UART能接收,若UART 中断代码在FLASH 中,无法执行,如果UART 速率又很快,连续发过来数据,缓存满了就会丢数据。如果UART 中断代码在RAM 中,则可以执行中断代码读出数据。
作者: liyuloveyou    时间: 2023-3-27 08:37
Angus 发表于 2023-3-23 21:05
这是FLASH 的特性,哪个公司的芯片都一样。擦除一个扇区需要几十毫秒,这期间不能读出数据。

这个时候如 ...

在读 写 擦除 date flash的时候  我要关闭所有中断吗?
作者: Angus    时间: 2023-3-27 09:15
liyuloveyou 发表于 2023-3-27 08:37
在读 写 擦除 date flash的时候  我要关闭所有中断吗?

不需要关中断。

擦写FLSAH时,

如果代码在FLASH 里执行,CPU无法取指令,代码执行停止。中断也不例外。

如果代码在RAM 中执行,CPU 可以取指令,仍可以执行代码,有中断能正常执行,但是中断向量表也要放RAM中。
作者: liyuloveyou    时间: 2023-3-27 09:31
Angus 发表于 2023-3-27 09:15
不需要关中断。

擦写FLSAH时,

我的代码是在FLASH ,APROM里执行,我程序里设置了按键后3S后擦写dataflash保存参数。那在我擦写的时候 对我程序有影响吗? 这样子合理吗?  BOD我测试了我们外设有数码管 比较耗电,不能实现bod保存。
作者: liyuloveyou    时间: 2023-3-27 11:07
Angus 发表于 2023-3-27 09:15
不需要关中断。

擦写FLSAH时,

在工作的时候 擦写 对程序 时序有影响吗




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2