打印
[APM32F1]

基于APM32F103的NSL21924 EEPROM烧录驱动

[复制链接]
119|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 gdygn007 于 2025-3-22 00:21 编辑

#申请原创# #技术资源#
概述   

    最近客户使用纳芯微的NSL21924系列LED驱动设计尾灯项目,该项目有功能安全需求,需要通信失效时,对应的输出通道灯亮或灯灭,刚好21924带有两路的FS引脚控制烧录EEPROM后就可以满足客户需求。由于客户是第一次使用21924,而且原厂没有现成的示例代码,小编结合手上现有的APM32F103开发板配合NSL21924 demo给客户一个参考示例,解决客户的燃眉之急。
需求分析
    客户需要的是NSL21924通信丢失的情况下,某些灯要实现灯亮的安全状态,某些灯要灯灭的安全状态。结合NSL21924的功能,可以配置FSMAP0~FSMAP3和ITF0寄存器实现基本的需求。

实现步骤

    1、参考规格书的EEPROM Programming说明,主要分5个步骤。其中比较关键的是1、3、5的步骤。第一步发送一系列固定编码解锁,示例使用REF引脚下拉方式,因为客户的样机的芯片是接了REF电阻到地,方便客户测试验证;第三步就是写对应的寄存器值到EEPROM,未用到的可以保持默认不变,需要注意的是写完寄存器的值后要更新EEPCRC寄存器的值,如果EEPCRC不对,配置不生效;第五步前要延时200ms以上,并且确保电源稳定。


2、流程了解后,接下来就是通信协议了,如下图所示一帧数据主要包含SYNC+DEVID+REGADDR+DATA+CRC,其中DEVID包含设备地址以及读/写操作等参数。



3、定义EEPROM寄存器结构体,主要包含寄存器地址、寄存器值、是否更新标志位。只有标志位为1时才更新发送,相当于默认的保持不变减少发送的命令,不过这样会有风险就是如果之前的开发者更改过其他寄存器的值,这就会导致EEPCRC对应不上,这个问题也好解决,就是烧录器回读一下所有寄存器的值,对比后再烧录不同的值。



4、烧录流程代码实现如下

5、串口打印发送的数据帧

6、NSL21924 EEPROM未烧录时,上电后,对应的LED通道灯不亮。


7、EEPROM烧录后,上电检测到通信丢失,FS功能生效。详细效果演示可以观看视频号链接  https://weixin.qq.com/sph/ARpNZS5Xm



总结

    通过此次的技术支持,对NSL21924的应用有了更深入了解,也体会到国产芯片推广过程中的技术服务于客户的重要性,后面有时间再尝试使用F103开发一个离线烧录器,方便客户后续的生产烧录(加油)。













使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

6

帖子

1

粉丝