TLD7002学习笔记(三)-使用S32K144EVB烧录TLD7002

news/2024/11/17 1:51:02/

文章目录

    • 1. 前言
    • 2. 烧录数据准备
      • 2.1 OTP Wizard的下载与安装
      • 2.2 OTP Wizard的配置
      • 2.3 OTP寄存器烧录数据提取
    • 3. OTP烧录和仿真的流程
      • 3.1 OTP烧录流程
      • 3.2 OTP仿真流程
    • 4. 验证测试
      • 4.1 测试代码
      • 4.2 测试环境
      • 4.3 测试情况
    • 5. 参考资料

1. 前言

本篇文章是TLD7002学习笔记的第三篇,主要是介绍如何使用S32K144EVB烧录TLD7002-16ES。主要分为三部分,第一部分介绍OTP寄存器的烧录数据准备,第二部分介绍烧录和仿真OTP寄存器的流程,第三部分介绍烧录环境的搭建和测试情况。

在前面的学习笔记中有提到,想要正常控制TLD7002-16ES,需要预先对TLD7002-16ES进行OTP烧录。英飞凌官网是有针对TLD7002-16ES的OTP烧录板进行售卖的(如下图所示),但是价格比较昂贵。如果只是前期简单评估下,并不确定后续是否使用TLD7002-16ES,中小型客户很难进行购买。

OTP Programmer board

因此,笔者基于NXP的S32K144EVB-Q100官方评估板(如下图)实现了对TLD7002-16ES的OTP寄存器的在线烧录。读者如有需要,可以基于笔者文末提供的程序进行移植。

S32K144EVB-Q100

2. 烧录数据准备

有关烧录数据的准备,笔者借用Infenion官方的上位机OTP Wizard,该工具可以在配置完相应的参数之后导出需要填入寄存器的数据。具体操作方式如下文。

2.1 OTP Wizard的下载与安装

OTP Wizard可以在Infenion官网获取,将下面的链接复制到浏览器打开:

  • OTP Wizard - Infineon Developer Center

选择最新的1.2.0版本进行下载安装。
OTP Wizard

2.2 OTP Wizard的配置

  1. 安装完OTP Wizard之后,打开该软件,点击OTP Read/Write选项卡,出现OTP Management子选项卡,填写待烧录的器件地址和OTP配置组的名字(自定义),如下图所示。

OTP Management子选项卡

  1. 切换到PWM_DC GPIO0/1子选项卡,配置如下图所示,
  • 左边一列用于设置GPIN1直接控制时,16个通道各自的PWM占空比;
  • 右边-列用于设置进入fail-safe模式或者GPIN0直接控制时,16个通道各自的PWM占空比

PWM_DC GPIO0/1子选项卡

  1. 切换到SAFE_ST-ISET-PWM-PHASE子选项卡,配置如下图所示,
  • 左边一列用于设置16通道各自的电流;
  • 右边第一行用于设置进入fail-safe模式时,16个通道是否打开;
  • 右边第二行用于设置每个通道的移相功能是否开启;
  • 右边第三行用于设置出现故障时去抖循环次数(Diag.Debounce Config.)以及是否使能低功耗初始化模式。

SAFE_ST-ISET-PWM-PHASE子选项卡

  1. 切换到CFG0 to CFG7子选项卡,配置如下图所示,
  • CFG0部分用于配置PWM的频率、移相时间以及GPIN0,GPIN1的相关配置;
  • CFG1部分用于配置诊断开启的阈值(VDEN)、诊断采用的延时以及故障引脚的使能;
  • CFG2部分用于配置是否使能相邻管脚之间的短路诊断;
  • CFG3部分用于配置单颗LED短路阈值,该电压需要高于最大单颗LED正向电压,低于最小LED串正向电压。
  • CFG4部分配置LED的阳极连接到VLED还是VS;
  • CFG5和CFG6部分配置GPIN0、GPIN0直接控制时,16个通道是否打开;
  • CFG7部分配置看门狗超时时间,输出通道的电源短路阈值,错误管理配置等功能

CFG0-CFG7子选项卡

  1. 切换到CFG8 to CFG11子选项卡,配置如下图所示,
  • CFG8部分配置热降额以及负载分流功能
  • CFG9部分配置HSLI总线的参数
  • CFG10部分配置热降额的参考源以及相关的GPIN0引脚电压,用于外接NTC时使用
  • CFG11部分用于存放用户自定义的数据

CFG8 to CFG11子选项卡

  1. 切换到Read-only registers子选项卡,使用保存快捷建(crtl+s),关闭弹出的选择保存路径,可以看到上位机计算出的CRC值。
  • 该CRC值由地址为0x83到地址为0xA5的OTP寄存器值通过CRC算法计算而来,用于保护这部分OTP寄存器数据的完整性,CRC值会存放到地址为0xA6的寄存器中。
  • 该CRC算法的初始值为0xFFFF,多项式为0x1021。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IpY8qHwq-1687997858172)(https://files.mdnice.com/user/23173/0ac05524-cfef-4545-873b-524a937164b5.png)]

  1. 保存配置文件到自己选定的位置。

上文展示的配置参数用于对着笔者自己做的demo板情况,读者需要根据自己实际应用的情况选择合适自己的参数。如果想要对参数有更进一步的了解,可以详细阅读文末的参考资料。

2.3 OTP寄存器烧录数据提取

用记事本打开刚才保存的配置文件,拉倒最下方,如下图所示,在HEX_DATA_16BIT后面有40组数据,对应着地址从0x83到0xAA的40个OTP寄存器的值(16bit),将这部分数据摘取出来,后面的程序需要用到。

烧录数据

3. OTP烧录和仿真的流程

TLD7002-16ES的OTP寄存器也支持仿真。如果芯片紧张的情况下,可以使用仿真对OTP寄存器进行配置。仿真的情况下,芯片掉电之后对OTP寄存器的配置就会丢失。

OTP烧录和仿真的硬件电路基本一致。给VS供电,使用MCU的io口控制GPIN0,通过HSLI总线接口发送命令进行OTP烧录或者OTP仿真;区别主要是VS的供电范围不一样,OTP烧录需要VS电压在15.5V到20V,而OTP仿真只需要VS电压在6V到20V即可。

OTP烧录和仿真的软件流程也非常类似。下面分别介绍OTP烧录和仿真流程。

3.1 OTP烧录流程

OTP烧录流程如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ao2Oek3x-1687997858173)(https://files.mdnice.com/user/23173/104293d3-ab0e-4695-8c07-5daaf33b7aee.png)]

  • 首先发两次进行INIT模式的命令,用于同步滚动计数器;
  • 然后修改帧间隔为50us,减少烧录流程的时间;
  • 然后发送进入OTP模式的命令,等待1ms之后然后拉高GPIN0;
  • 接着写入OTP烧录秘钥0xA47B到地址为0x81寄存器OTP_WRITE中,此时芯片进入OTP编程模式;
  • 接着将之前保存的烧录数据按顺序写入0x83到0xAA的寄存器中,因为OTP烧录需要一些时间,建议发送命令之后多等待一些时间(间隔时间参考流程图)。
  • 等烧录完成后,拉低GPIN0,并让芯片进入INIT模式;
  • 清除芯片的故障,读取OTP_STATUS寄存器,确认OTP烧录的情况;
  • 如果OTP烧录OK,切换芯片进入OTP模式,然后读取0x83到0xAA的OTP寄存器数据,和需要写入的数据对比是否一致;
  • 最后再读取下OTP_STATUS寄存器。

3.2 OTP仿真流程

OTP仿真流程如下图:

OTP仿真流程

OTP仿真流程和烧录流程类似,主要是进入OTP仿真模式需要写入的值和写入的寄存器不一样,相应流程就不赘述了。

4. 验证测试

4.1 测试代码

测试代码已上传到gitee,链接如下:

  • https://gitee.com/Yingming_Cai/s32-k144_-tld7002_-otp_-programming

4.2 测试环境

整个测试环境的框图如下所示:

测试环境

  • S32K144EVB的供电和TLD7002-16ES的供电来源于统一路经;
  • S32K144的PTD4控制TLD7002-16ES的GPIN0;
  • S32K144的PTB0、PTB1通过CAN SBC(UJA1169)连接到TLD7002-16ES的HSLI总线

因为S32K144EVB板子上原本是PTE4、PTE5连接到UJA1169,这两个引脚没法复用为LPUART,所以需要将PTB0,PTB1连接到PTE4、PTE5。

4.3 测试情况

整个程序的功能为:

  • 按下SW2会进行OTP烧录或者OTP仿真(通过开关宏定义USE_EMULATE实现);
  • 按下SW3会进行OTP读取。
  • 通过OPENSDA连接电脑打印OTP烧录、仿真以及读取的信息。

OTP仿真时的串口打印情况如下:

OTP仿真LOG

OTP烧录时的串口打印情况如下:

OTP烧录LOG

通过打印的信息可知,烧录是成功的,并且多次读取OTP寄存器的值,和预期写入的值是一致的。

5. 参考资料

  • Application Note: Infineon-TLD7002-16ES OTP (Chinese)

  • User Manual: Infineon-TLD7002-16ES-UM-v01_20-EN


http://www.ppmy.cn/news/673296.html

相关文章

Unity导出到AS中真机测试apk没有问题,aab提交到GooglePlay审核通过,但是从Google Play下载的应用闪退问题

从Google Play下载的应用报错如下: backtrace: #00 pc 0x0000000000050748 /data/app/~~x94h_Fmdoj4Vj1NVQcL7sQ/com.id.hhhuhi-LpC7BJqILn3X29R8TffhuA/split_config.arm64_v8a.apk!libpairipcore.so (ExecuteProgram196) 06-26 20:39:40.526 13936 13936 F l…

经纬度导入arcgis【自用】

有经纬度,如何落到gis上: 先把表格导入gis,按XY显示 注意,要把点变成地理坐标系!(1984)方法如下: 工具箱 - data management tools - projections and transformations - define …

缺了华为这个对手 三星利润跌幅将过半

【TechWeb】路透社报道,三星第二季度利润恐怕会缩水一半以上,因为三星向华为的芯片出货量下降导致了价格挤压和供过于求。 近年来,华为手机出货量越来越高,有业内人士表示,近几年华为吃掉的都是三星的份额,…

三星电子2017年研发投入位列全球第四 华为第六

据韩联社12月11日报道,欧盟委员会月初公布的2017年产业研发投入排行榜显示,三星电子以122亿欧元位列全球第4,较2016年下降两个名次,但仍连续6年跻身前五。 据悉,2016财年韩企研发投入增长1.9%,远低于5.8%的…

三星总裁强硬回应华为,未来十年三星依然领先!

三星电子总裁高东真在接受采访时谈及了三星对未来手机技术革命的看法,他表示,三星会通过不断创新来留住“未来10年”的优势地位。而此前华为终端CEO余承东表示今年华为荣耀很可能会超越三星成为世界第一。似乎华为和三星这两家安卓手机厂商的火药味特别浓…

2018年全球智能手机市场报告出炉,华为和苹果之间只差280万部出货量...

2018年,华为、小米、OPPO、VIVO四大头部智能手机厂商总出货量占国内78%以上。 近日,市场研究公司IDC发布了2018年全球智能手机市场报告,也为去年全年各大手机厂商做了一次年终总结。 据IDC数据统计显示,2018年手机市场有所萎缩&…

三星集团和华为集团,哪个更厉害?

我们不否认华为是一家非常优秀的企业,但是如果拿华为去跟三星整个集团比,那就有点故意黑华为的意思了。 目前华为跟三星仍然有较大的差距 华为和三星都是世界知名的企业,而且有很多相似的地方,比如都是全球主要的手机上产商和芯片…

华为超越爱立信 成2017年全球第一大电信设备商

据TelecomLead北京时间3月16日报道,研究公司IHS Markit日前发布最新报告,公布了华为、爱立信、诺基亚、中兴和三星在全球移动基础设施市场的份额。报告显示,华为在去年击败了爱立信,成为全球最大的电信设备制造商,后者…