本采用工程及相关参考文档,下载链接如下:
NB6L295MSTM32GD32IO模拟驱动设计,内含有软件工程代码,实际项目中使用,有参考原理图和实际使用说明资源-CSDN文库
MCU采用GD32,GD32基本上和STM32一样,针对NBL295M的时序操作是完全相同的.软、硬件设计已经再产品设计中实际使用。
原理图设计如下
与MCU管脚连接如下表所示
MCU管脚 | NBL295M管脚 | 备注 |
PH11 | EN_N_PIN | |
PH10 | SLOAD_PIN | |
PE4 | SDIN_PIN | |
PE5 | RESET | |
PI4 | SCLK | |
PI5 | SYNC | |
PI6 | SDI | |
PI7 | LDAC |
软件代码采用两级级联的方式
操作时序图如下
部分参考代码
- //输出信号
- #define EN_DELAY1_IDA_L {GPIO_BC(GPIOH) = EN_DELAY1_IDA_PIN;}
- #define SLOAD_DELAY1_IDA_L {GPIO_BC(GPIOH) = SLOAD_DELAY1_IDA_PIN;}
-
- #define EN_DELAY1_IDA_H {GPIO_BOP(GPIOH) = EN_DELAY1_IDA_PIN;}
- #define SLOAD_DELAY1_IDA_H {GPIO_BOP(GPIOH) = SLOAD_DELAY1_IDA_PIN;}
-
- #define EN_DELAY2_IDA_L {GPIO_BC(GPIOE) = EN_DELAY2_IDA_PIN;}
- #define SLOAD_DELAY2_IDA_L {GPIO_BC(GPIOE) = SLOAD_DELAY2_IDA_PIN;}
-
- #define EN_DELAY2_IDA_H {GPIO_BOP(GPIOE) = EN_DELAY2_IDA_PIN;}
- #define SLOAD_DELAY2_IDA_H {GPIO_BOP(GPIOE) = SLOAD_DELAY2_IDA_PIN;}
-
-
- #define EN_DELAY1_PDA_L {GPIO_BC(GPIOD) = EN_DELAY1_PDA_PIN;}
- #define SLOAD_DELAY1_PDA_L {GPIO_BC(GPIOI) = SLOAD_DELAY1_PDA_PIN;}
-
- #define EN_DELAY1_PDA_H {GPIO_BOP(GPIOD) = EN_DELAY1_PDA_PIN;}
- #define SLOAD_DELAY1_PDA_H {GPIO_BOP(GPIOI) = SLOAD_DELAY1_PDA_PIN;}
-
- #define EN_DELAY2_PDA_L {GPIO_BC(GPIOI) = EN_DELAY2_PDA_PIN;}
- #define SLOAD_DELAY2_PDA_L {GPIO_BC(GPIOI) = SLOAD_DELAY2_PDA_PIN;}
-
- #define EN_DELAY2_PDA_H {GPIO_BOP(GPIOI) = EN_DELAY2_PDA_PIN;}
- #define SLOAD_DELAY2_PDA_H {GPIO_BOP(GPIOI) = SLOAD_DELAY2_PDA_PIN;}
-
-
- #define SDIN_DELAY_L {GPIO_BC(GPIOE) = SDIN_DELAY_PIN;}
- #define SCLK_DELAY_L {GPIO_BC(GPIOE) = SCLK_DELAY_PIN;}
-
- #define SDIN_DELAY_H {GPIO_BOP(GPIOE) = SDIN_DELAY_PIN;}
- #define SCLK_DELAY_H {GPIO_BOP(GPIOE) = SCLK_DELAY_PIN;}
-
- uint16_t ida_delay1 = 0; //总时延
- uint16_t ida_delay1_p0 = 0; //一级时延
- uint16_t ida_delay1_p1 = 0; //二级时延
本采用工程及相关参考文档,下载链接如下:
NB6L295MSTM32GD32IO模拟驱动设计,内含有软件工程代码,实际项目中使用,有参考原理图和实际使用说明资源-CSDN文库