适合超多氛围灯节点应用的新选择

原创 AutoFAE进阶之路 2025-01-31 15:04

目录:

  • 1.前言
  • 2.芯片简介
    • 2.1 高动态RGB照明
    • 2.2 灵活的通信模式
    • 2.3 精确的颜色控制
    • 2.4 高性能与可靠性
    • 2.5 易于集成与控制
  • 3.硬件介绍
    • 3.1 方案框图
    • 3.2 通信模式
    • 3.3 器件选型
  • 4.基础操作
    • 4.1 基础操作示例
    • 4.2 状态机
    • 4.3 启动行为
    • 4.4 诊断
  • 5.颜色控制和温度稳定化
    • 5.1 颜色控制
    • 5.2 温度稳定化
  • 6.OSP(开放系统协议)介绍
    • 6.1 消息编码
    • 6.2 消息帧格式
    • 6.3 消息处理
    • 6.4 Cyclic redundancy check(循环冗余校验)
    • 6.5 命令(Commands)
  • 7.OTP to PWM 示例
  • 8.示例代码
  • 9.评估套件
  • 10.参考资料


1.前言

23年底ams-OSRAM发布了新的氛围灯芯片E3731i,当时笔者有机会参加了现场培训。现在产品的相关资料也在官网发布,笔者基于官网资料以及培训时了解的信息,简单介绍下这款芯片。

2.芯片简介

E3731i将LED、LED驱动合封在一起,减少了客户硬件设计工作量,省去了客户产线LED的分bin工作。相比传统的ISELED方案,通信协议是开放的,不会限制主机的MCU型号。

E3731i的主要特色如下所述。

2.1 高动态RGB照明

  • 集成IC与LED:除了红、绿、蓝三种LED外,还集成了ams-OSRAM的IC。该嵌入式IC不仅集成了三个RGB LED的驱动程序,还包括了RGB LED的光学测量数据,为精确的颜色控制提供了基础。

  • 开放系统协议(OSP):支持通过OSP在菊花链拓扑结构中寻址和控制每个LED。这种开放协议允许外部微控制器读取光学测量数据,并运行任何颜色算法,还能读取温度值以优化颜色算法。

2.2 灵活的通信模式

  • 多种通信模式:支持LVDS模式(用于E3731i之间的通信)、MCU模式(简化与标准MCU的通信)、EOL模式(标识菊花链中的最后一个单元)和CAN模式(通过CAN-FD收发器让多个PCB的跨板通信变得稳定可靠)。

  • 灵活的通信架构:既支持单向通信,也支持双向半双工和单向回环模式,能够满足不同的系统架构需求。

2.3 精确的颜色控制

  • 光学测量数据:在10mA和50mA两个设定点提供光学测量数据,使微控制器能够进行PWM计算或校准,以实现非常精确的颜色设定点。

  • 温度补偿功能:内置温度传感器,能够在睡眠或激活设备状态下读取温度值,通过温度补偿优化颜色算法,确保在不同温度条件下颜色的一致性和准确性。

2.4 高性能与可靠性

  • 高亮度与稳定性:在典型发光角度120°(朗伯发射体)下,红、绿、蓝三种颜色的LED在10mA和50mA电流下均具有较高的亮度,且亮度在-40°C至125°C的结温范围内保持稳定。

  • 抗腐蚀与ESD保护:具有2B级抗腐蚀性,符合AEC-Q102-003认证,ESD保护等级如下,确保在汽车环境中的可靠性和耐用性。

    • HBM 2kV(ANSI/ESDA/JEDEC JS-001,Class 2)
    • CDM 500V(JESD22-C101,Class C2),

2.5 易于集成与控制

  • 自动寻址功能:在菊花链中能够自动为每个封装分配地址,简化了系统集成和控制过程。

  • 兼容性与扩展性:兼容多种微控制器和CAN-FD收发器,支持通过单端曼彻斯特编码通信连接到MCU,或通过LVDS进行设备间通信,方便系统扩展和与其他组件集成。

3.硬件介绍

3.1 方案框图

如果控制的LED不多,一个PCB就能满足,如下方案框图比较常见。

单PCB双向菊花链通信方案

E3731i可以借助CAN FD收发器进行跨板通信,如下是两种带CAN FD收发器的双向菊花链通信的方案框图,前者在控制板也放了一个E3731i,后者的控制板没有放E3731,需要MCU在接收模式下曼彻斯特信号进行解码。

双向菊花链通信方案框图1
双向菊花链通信方案框图2

除了双向菊花链通信,E3731i还支持回环菊花链通信,常见的两种方案框图如下:

回环菊花链通信方案框图-单个PCB
回环菊花链通信方案框图-多个PCB

3.2 通信模式

应用框图

E3731i的应用框图如上所示,两对SIO接口都支持四种通信模式,如下图所示,E3731i在上电复位或者收到RESET命令时,通过检测SIO接口的电平状态判断使用哪种模式。

通信模式选择

3.2.1 MCU mode

  • 当SIO_P接上拉电阻,SIO_N接下拉电阻时,E3731i复位之后处于MCU模式。MCU mode用于MCU和E3731i之间的通信。

  • 当MCU和E3731i使用双向通信时,MCU可以使用单SPI接口,也可以使用双SPI接口(一主一从),如下图所示。只是使用单SPI接口时,对MCU性能要求比较高,需要能够快速将SPI从主机模式切换到从机模式。

单SPI接口
双SPI接口
  • 当MCU和E3731i使用回环模式时,建议MCU使用两个SPI外设。第一个节点和MCU的主SPI连接,最后一个节点需要和MCU的从SPI相连,连接示意图如下所示。
回环模式

注意:

  • 理想情况下,当MCU从E3731i接收数据时,SDO接口应该拉低或者高阻态。
  • 有些MCU的SPI外设在从机模式下需要拉低CS才能接收数据,针对这种情况,建议使用GPIO口去控制CS,不使用受SPI外设控制的CS。

3.2.2 CAN mode

  • 当SIO_P和SIO_N都接上拉电阻时,E3731i复位之后处于MCU模式。MCU模式用于MCU和E3731i或者E3731i之间的跨板通信。

  • E3731i和CAN FD收发器的连接示意图如下,SIO_N和RX连接,用于接收数据;SIO_P和TX连接,用于传输数据。

E3731i通过CAN FD收发器
  • E3731i不支持CAN FD协议,所以CAN FD收发器在这个应用中只能做点对点通信。

  • 选择的CAN FD收发器需要支持5M bps通信速率。

数据通信速率

3.2.3 LVDS mode

  • 当SIO_P和SIO_N都接下拉电阻(内部有100K下拉电阻,也可以不接)时,E3731i复位之后处于LVDS模式。LVDS mode用于E3731之间的直连通信。

  • 当两个E3731i通过LVDS模式连接时,两者之间的连线阻抗建议在200Ω左右。

3.2.4 EOL mode

  • 当SIO_P接下拉电阻,SIO_N接上拉电阻时,E3731i复位之后处于EOL(end of line)模式。EOL模式用于标识菊花链中的最后一个E371i。

3.3 器件选型

3.3.1 供电器件

  • 单颗E3731i的供电为5V,最大工作电流为170mA。实际应用时需要根据设备状态、电流模式、亮度和颜色设置选择合适的DCDC或者LDO。详细信息如下数据手册的参数。
工作参数
内部LED驱动参数

3.3.2 被动元件

  • 滤波电容:建议将滤波电容尽可能靠近VDD引脚放置,以减少电源噪声对设备性能的影响。

  • 上拉/下拉电阻:用于通信模式选择。推荐值为2.2kΩ至25kΩ,具体取决于通信模式。如果使用3.3V逻辑电平的组件,可以使用高达60kΩ的电阻。

  • MOSI解耦电阻:可选,用于减少信号反射和干扰,推荐值为2.2kΩ。

配合3.2章节的应用框图,几个电阻电容的参数总结如下表。

被动元器件参数

3.3.3 MCU

以下是一些推荐的微控制器型号:

  • NXP的S32K144
  • ST的STM32F446
  • Microchip的ATSAMC21J18A
  • Infineon PSoCTM4

3.3.4  CAN FD收发器

E3731i支持所有标准的CAN FD收发器,需要CANH、CANL引脚为5V电平标准,TXD、RXD引脚支持3.3V或5V电平。以下是一些推荐的收发器型号:

  • TJA1057GT/3
  • TJA1442
  • TLE9251V_AEC

4.基础操作

这一章节主要针对E3731i的基础操作进行介绍。

4.1 基础操作示例

如下是基础操作序列的示例,用于在由100个LED组成的菊花链上设置静态或动态的温度控制颜色(渐变)。操作分为三个阶段:设置阶段、主循环和关机阶段。

4.1.1 设置阶段

  1. 连接电源后,等待约1毫秒,直到设备准备好。

  2. 通过广播发送设置配置命令,例如启用CRC校验、设置SPI时钟极性等。

  3. 发送INIT命令(双向或回环模式),并等待最后一个单元的响应。

  4. 对每个单元进行配置:

  • 读取状态并检查错误。
  • 发送基本配置(诊断选项、PWM频率等)。
  • 读取校准数据并存储在MCU中(仅在组装后执行一次)。
  • 读取温度并存储在MCU中。
  • 切换到ACTIVE模式。

4.2.2 主循环(每次从BCU接收到新输入执行)

  1. 从车身控制单元(BCU)获取每个单元的目标颜色。

  2. 根据存储的数据,为每个单元计算新的PWM设置。

  3. 更新每个单元的PWM设置。

4.2.3 稳定化循环(持续执行)

  1. 从一个单元读取状态和温度。

  2. 检查是否有错误发生。

  3. 根据新的温度,为该单元计算新的PWM设置。

  4. 更新该单元的PWM设置。

  5. 继续下一个单元:重复上述步骤,直到所有单元都处理完毕。

4.2.4 关机阶段

  1. 发送GO_SLEEP命令,将设备切换到SLEEP模式。

  2. 断开设备的电源连接。

4.2 状态机

状态机

E3731i的状态机如上图,各个状态介绍如下:

  • POR:芯片处于off状态

  • UNINITIALIZED:芯片上电后自动进入该状态,PWM值为0以及LED驱动disabled。在这个状态下,芯片只能响应如下几个命令:

    • INIT (双向模式或者回环模式)
    • RESET(广播)
    • CLRERROR(广播)
    • SETOTTH(广播)
    • SETSETUP(广播)
    • SETPWM(广播)

其它命令会被忽略。广播消息会快速向前转发,而带地址的消息需要接收节点完全收到后才会向前转发。

  • SLEEP:E3731i收到INIT命令、GO_SLEEP命令、FAULT事件等(详细看状态机图),会进入该状态。该状态下LED驱动disabled但是最后一个PWM参数会被保存,不会重置为0,所以该状态下可以更新PWM参数。

  • ACTIVE:E3731i在收到GO_ACTIVE命令并且当前没有错误的情况下会进入该状态。该状态下,LED驱动会按照每个通道的电流、PWM频率、占空比配置去使能,并且后续可以更新PWM参数。进入该状态后,通道的开短路检测也会打开。

  • DEEPSLEEP:E3731i在收到GO_DEEPSLEEP命令会进入该状态。该状态下功耗和SLEEP接近。后续在新的IC产品上功耗会做的更低。

两种低功耗模式的工作电流

4.3 启动行为

E3731i启动行为

当E3731i供电正常,或者收到RESET命令,会在上图的PoR段执行以下的启动序列。

  1. 寄存器恢复到默认值。

  2. 加载存储在非易失性存储器中的校准设置,并检查其完整性。如果检测到校准设置与内部CRC(循环冗余校验)不匹配,STATUS寄存器中的OTPCRC标志会被设置。

  3. 设备会检查每个SIOx引脚的电压电平,以确定通信模式。在检测通信模式时,SIOx_P和SIOx_N引脚会被短接约40微秒,以便设备能够正确检测引脚的电平状态。

  4. E3731i进入UNINITIALIZED状态,并准备好接收第一个命令。

整个启动序列大概需要1ms。

注意:如果SPI接口已经启用,SIOx引脚的短接操作可能会被MCU误认为时钟边沿。因此设计MCU的程序需要避开该情况。

4.4 诊断

4.4.1 故障标志位

E3731i提供了多种内置诊断功能,用于自动检测故障条件。如果检测到故障,相应的故障标志位会被设置。这些标志位可以通过以下几种方式清除:

  • 通过MCU读取STATUS寄存器(直接或通过状态请求位)。
  • 使用CLRERROR命令清除所有标志位。
  • 接收到RESET命令后清除。

4.4.2 故障处理

如果选用了相应的故障处理选项,E3731i会在检测到故障时自动关闭LED驱动器,并切换到SLEEP模式,以防止设备损坏。这确保了即使某个设备出现故障,整个链式通信仍然可以正常进行。

4.4.3 故障类型

E3731i支持以下几种故障检测:

  • Overtemperature(过温故障):

    • 当IC结温超过过温阈值时,会触发此故障。该故障标志位只能在温度下降到过温释放阈值以下时清除。

    • 用户可以通过SETSETUP命令控制过温阈值的具体值。

  • Undervoltage(欠压故障)

    • 当设备的供电电压低于欠压阈值,并且持续时间超过去抖时间时,会触发此故障。
VDD参数
  • Driver open / short(LED驱动开路/短路故障)

    • 当LED驱动引脚的电压持续高于LED开路阈值电压或低于LED短路阈值电压,并且持续时间超过去抖时间时,会触发此故障。

    • 这些故障条件会针对每个通道分别检测,但在设备进入ACTIVE模式后,只有当通道的PWM值大于最小值时,才会进行开路/短路检测。

    • 在ACTIVE模式下,如果某个通道的PWM值低于最小值,然后又重新设置为大于最小值,会重新进行开路/短路检测。

注意:建议在设置中启用开路/短路故障标志位,以便在检测到故障时将设备切换到SLEEP模式。

  • Communication errors(通信错误):参考下文介绍OSP协议的章节。

5.颜色控制和温度稳定化

E3731i为每个LED提供了日间和夜间电流设置下的内置校准数据,以及IC内部的内置温度传感器。这些功能共同实现了在整个色域和工作温度范围内的高精度颜色控制。

5.1 颜色控制

5.1.1 校准数据

E3731i为每个LED提供了内置的校准数据,这些数据以(u', v', Iv)三元组的形式存储在非易失性存储器中。

当MCU加载了编码值XIv, Xu', Xv'之后,就可以使用下图中的计算公式和电流模式参数来计算物理颜色坐标。

电流模式参数

5.1.2 PWM计算

任何RGB三元组可及色域内的颜色,都可以通过三个LED各自的光谱线性组合来实现。可以通过改变LED的有效占空比(PWM),方便地调整单个LED的亮度。

为了实现目标三刺激值(XT, YT, ZT)的颜色混合,PWM占空比可以通过以下步骤计算得出:

1. 根据Cx/Cy或u'/v'颜色目标创建目标三刺激向量:
2. 根据电流模式参数使用正确的校准数据计算RGB三元组的三刺激矩阵:
3. 求解线性方程,得到解向量 ,即每个LED所需的占空比(范围为0到1):

其中,A1,A2,A3是通过将矩阵A的第1、2或3列替换为目标向量后得到的3x3矩阵。3x3矩阵的行列式一般计算公式为:

最后,为了使用SETPWM命令,需要将这些占空比乘以所选PWM频率下的最大PWM值:2 ^15−1=32767。

注意:对于1kHz PWM频率模式,应使用相同的PWM设置,因为内部会自动将其调整为14位分辨率。

5.2 温度稳定化

3731i内置的温度传感器使得设备能够在整个色域和工作温度范围内实现高精度的色彩控制。以下是实现温度稳定化的两种方法。

基础的温度稳定化方法如下图,其中黄色部分已在E3731i内部实现,蓝色部分需要客户端实现。

基础的稳定稳定化方法

5.2.1 Temperature sensor(温度传感器)

E3731i内置了一个8位分辨率的温度传感器,能够提供准确稳定的温度读数。温度传感器的返回值(ADC)可以通过以下公式转换为芯片温度(°C):

温度计算公式

注意:

  • 校准温度对应的ADC值为140,因此温度补偿公式中的温度值以ADC计数表示。
  • 读取温度:温度传感器可以在SLEEP模式和ACTIVE模式下读取。

5.2.2 Temperature prediction(温度预测)

返回的温度读数对应于IC的结温。在初步近似中,此值可用作LED温度的替代值,适用于温度补偿功能(同样适用于ADC计数):

如果想实现更精确的色彩稳定化,需要使用LED的结温,因为它们可能因电流模式和选定的颜色点而与IC温度相差几摄氏度。

5.2.3 简单温度补偿 - I

通过仅补偿红色LED的亮度损失,可以实现良好的温度稳定化,可以使用简单的线性因子(这些值仍处于早期状态,可能会发生变化):

或者使用查表:

其中, 可以从下表中查询得到:

温度补偿参数

5.2.4 简单温度补偿 - II

通过使用如下两张查找表,可以更好地补偿所有三个LED(红、绿、蓝)。这些表针对D65白点进行了优化。

温度补偿查找表-Nighttime mode
温度补偿查找表-Daytime mode

5.2.5 优化的温度补偿函数

LED校准参数的温度依赖性可以通过二次函数很好地描述:

温度补偿函数

其中:

  • f是u'、v'和Iv的占位符。
  • T是LED的结温。
  • 是校准温度(ADC值 = 140)。
  • a和b是常数。

结合存储的校准数据,可以计算出在任何温度下所需的PWM值的校准数据。下表中给出了常数的值。

温度补偿函数参数

示例:

在夜间模式下,温度为87.8°C(ADC = 198)时,红色LED的校正Iv为:


[图片]


6.OSP(开放系统协议)介绍

E3731i的通信基于一种专用的主从串行总线协议,称为开放系统协议(OSP)。除了基础协议外,E3731i还实现了其他专用命令。

6.1 消息编码

曼彻斯特编码

E3731i使用了不同的编码方式,其中Manchester编码基于IEEE 802.3标准,逻辑“1”由上升沿表示,逻辑“0”由下降沿表示。

E3731i编码方式

在E3731i到MCU的单线通信中,时钟极性可以通过命令选择。默认设置使用上升沿。

示例波形

下面四张图为示例波形,其中内部信号仅供参考。内部时钟指示数据位的长度。结合3.1和3.2章节更方便理解。

MCU到E3731i的通信波形
MCU到E3731i的通信波形-时钟极性正常和反转
CAN FD收发器到E3731i的通信波形
E3731i到CAN FD收发器的通信波形
E3731i之间使用LVDS模式的通信波形

6.2 消息帧格式

OSP是一种基于消息的协议,其通用消息帧格式如图14所示。

通用消息帧格式

传输的顺序为MSB(高bit先传输),MCU和E3731i的双向传输格式都是一样的。帧格式说明如下:

  • 前导码(Preamble,4位):固定为0b1010。

注意: 避免使用前导码不正确的消息,因为这可能导致错误的消息沿着链路被转发,并且会引发CE_FLAG置位。

  • 地址(Address,10位):下行消息(MCU发送给E3731i的消息)允许的值为0x000(用于广播)和0x001到0x3ef(用于独立节点)。上行消息(E3731i发送给MCU的消息)始终包含发送方的地址。并非所有命令都允许在广播消息中使用,详见后续的命令章节。

  • PSI(3位):PSI字段指示有效载荷的长度(以字节为单位)。其值必须与每个命令的预期值匹配(可能因消息上下行方向而异)。

PSI允许的值

总消息长度为PSI + 4字节。

注意:

  • PSI值0b101不被允许,即使在未直接寻址的单元中,也会引发通信错误。
  • 如果PSI值大于有效载荷,可能会导致有效载荷被前面消息的垃圾数据填充。在这种情况下,不会引发CE_FLAG。
  • 命令(Command,7位):详见后续的命令章节。

  • 有效载荷(Payload,0到64位):可变有效载荷字段。长度必须与PSI字段中给出的值匹配。

  • CRC(8位):详见后续的CRC章节”。

6.3 消息处理

广播

  • 地址为0x000的消息会触发广播,即所有链上的节点都会接收并处理该消息。是否允许某个命令进行广播,详见后续的命令章节。

  • 触发响应和状态请求的命令不允许在广播消息中使用。如果在广播消息中仍然请求响应(READxx或SR),只有链上的最后一个单元(EOL)会发送响应消息。这种行为不建议使用。

转发和快速转发

  • 消息转发指的是不修改消息内容直接转发消息。

  • 如果消息地址为广播地址,或者与节点地址不同,则消息会被转发到下一个设备。

  • 如果需要转发消息,转发会在接收到前导码和地址字段后立即开始,即在接收到15位后开始。这被称为快速转发。

  • 当一个节点处于UNINITIALIZED状态时,广播消息会被快速转发,而针对特定地址的消息(0x001到0x3fe)只有在完整消息接收完成后才会被转发。

响应和状态请求

  • 某些命令会触发被寻址节点的响应。在这种情况下,地址字段包含发送节点的地址,以指示消息的来源。响应通常会在命令消息接收完成后约3-4个比特周期内发送。

  • 某些命令不发送响应,但允许状态请求。状态请求通过在命令字段中设置第5位(“SR”位)来完成:

uint8_t commandSR = command | (1 << 5);
  • 如果接收到有效的“SR”位,节点会在执行原始命令后,将TEMPSTAT寄存器发送给MCU。状态位在响应了状态请求后会清除。对于CLRERROR命令,状态位会在发送状态请求之前被清除。

  • 支持状态请求的命令详见后续的命令章节。

注意:

  • 如果在不支持状态请求的命令中设置了SR位,命令将被执行,但TEMPSTAT寄存器将被发送给MCU,而不是命令预期的响应。此规则不适用于INITxx命令。
  • OSP不允许在同一个节点上同时进行上下行消息传输,因为这可能导致消息丢失或损坏。因此,触发响应的命令和状态请求不允许在广播消息中使用。如果仍然请求响应(READxx或SR),只有链上的最后一个单元(EOL)会发送响应消息。这种行为不建议使用。

消息间等待时间

  • 在接收或传输消息时,E3731i不会接受新消息。同样,不支持同时进行上下行消息传输。因此,MCU需要在发送两条消息之间添加等待时间,以确保所有接收和传输活动都已完成。

  • 下行消息之间的最小等待时间应为8.5微秒,适用于仅写入和广播命令且不请求响应的情况。如果请求了响应,则应在MCU接收到响应后才发送下一条消息。

通信错误(Communication errors)

E3731i要求链中的每个单元都能检测到某些通信错误。下图总结了所有相关的错误条件。

通信错误条件
  • 如果检测到错误,OSIRE® E3731i会设置相应的故障标志位。如果消息需要转发,即使检测到错误,消息仍然会被转发,通信不会中断。

  • 如果错误是由于未知命令或PSI与命令不匹配引起的,只有在单元被直接寻址时才会检测到这些错误。

注意: 如果消息的PSI与有效载荷不匹配,并且消息不是直接寻址到单元的,该消息仍然会被转发,有效载荷的长度将根据PSI值进行调整,这可能导致有效载荷被截断或用未定义的数据填充。例如,两个设备之间的GND连接不良可能导致这种行为。

6.4 Cyclic redundancy check(循环冗余校验)

CRC字段包含对整个消息(不包括CRC字段本身)进行计算得出的CRC8校验字。

  • CRC实现:
  • 多项式表示:0x2F(常规表示)。
  • 初始值:0x00。
  • XOR值:0x00。
  • 方向:MSB优先。

注意:

  • 此实现使用和AUTOSAR相同的多项式,但由于初始值和XOR值为0xFF,因此与AUTOSAR实现不兼容。
  • 在非易失性存储器(OTP)中,CRC字段的计算方向为LSB优先。

6.5 命令(Commands)

E3731i支持以下命令。

E3731i Commands

如果E3731i接收到未在下表中列出的命令,并且PSI大于0,则会引发通信错误。如果PSI为零,则消息会被静默忽略。

6.5.1 RESET

  • 编码:0x00
  • 广播支持:是
  • 有效载荷大小:0字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:否
  • 描述:执行完整的复位操作,效果与上电复位相同。所有寄存器值将恢复到默认值,所有错误标志将被清除,通信模式检测将重新启动,LED驱动器将关闭,地址将设置为0x3ff。设备进入UNINITIALIZED模式。发出REST命令之后,至少需要等待150us才能发送下一个命令。

6.5.2 CLRERROR

  • 编码:0x01
  • 广播支持:是
  • 有效载荷大小:0字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:清除所有错误标志。如果错误条件仍然存在,错误标志将自动重新设置。如果设置了SR位,设备将在清除错误标志后返回TEMPSTAT寄存器。

6.5.3 INITBIDIR

  • 编码:0x02
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:2字节
  • 状态请求支持:否
  • 描述:启动自动寻址功能,并将通信方向设置为双向模式。该命令应始终发送到链中的第一个单元(地址为0x001)。链中的最后一个单元(由EOL模式指示)将返回其地址给主设备。后续命令应在接收到响应后发送。
自动寻址流程图

注意:

  • 如果节点地址达到0x3fe,会停止自动寻址流程并返回地址0x3fe给MCU。
  • 如果一个节点已经初始化了地址,自动寻址命令会被忽略,但会转发该命令(地址+1)给下一个节点,这个可以用来在复位之后有选择性的初始化某些节点。在这种应用中,建议不要使用非0x001的地址去初始化菊花链。
  • 如果菊花链中的最后一个设备不是EOL模式(例如,使用CAN-FD连接),则需要应用层确保菊花链的长度正确,并且主设备能够正确处理最后一个设备的响应。
  • 该命令不支持广播模式,如果使用广播地址0x000发送,所有节点会将CE_FLAG置位,并且最后一个节点会使用地址0x000返回寄存器TEMPSTAT的值。

6.5.4 INITLOOP

  • 编码:0x03
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:2字节
  • 状态请求支持:否
  • 描述:与INITBIDIR相同,但将通信模式设置为回环模式。响应将通过前向方向发送给主设备。

6.5.5 GOSLEEP

  • 编码:0x04
  • 广播支持:是
  • 有效载荷大小:0字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:将E3731i设置为SLEEP状态。

6.5.6 GOACTIVE

  • 编码:0x05
  • 广播支持:是
  • 有效载荷大小:0字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:将E3731i设置为ACTIVE状态。

6.5.7 GODEEPSLEEP

  • 编码:0x06
  • 广播支持:是
  • 有效载荷大小:0字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:将E3731i设置为DEPPSLEEP状态。

6.5.8 IDENTIFY

  • 编码:0x07
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:4字节
  • 状态请求支持:否
  • 描述:返回32位节点类型识别码。

6.5.9 READSTATUS

  • 编码:0x40
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:1字节
  • 状态请求支持:否
  • 描述:返回状态寄存器(STATUS),如下图所示。
STATUS寄存器

6.5.10 READTEMPST

  • 编码:0x42
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:2字节
  • 状态请求支持:否
  • 描述:返回状态寄存器(STATUS)和温度寄存器(TEMP)。

6.5.11 READCOMST

  • 编码:0x44
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:1字节
  • 状态请求支持:否
  • 描述:返回通信状态寄存器(COM STATUS),如下图所示。
COM STATUS寄存器

6.5.12 READLEDST

  • 编码:0x46
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:1字节
  • 状态请求支持:否
  • 描述:返回LED状态寄存器(LED STATUS),如下图所示。
LED STATUS寄存器

6.5.13 READTEMP

  • 编码:0x48
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:1字节
  • 状态请求支持:否
  • 描述:返回温度寄存器(TEMP),如下图所示。
TEMP寄存器

6.5.14 READOTTH

  • 编码:0x4A
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:3字节
  • 状态请求支持:否
  • 描述:返回过温阈值寄存器(OTTH),如下图所示。
OTTH寄存器

6.5.15 SETOTTH

  • 编码:0x4B
  • 广播支持:是
  • 有效载荷大小:3字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:写入过温阈值寄存器(OTTH),写入值之后至少需要一个温度传感器的更新周期才能生效。

6.5.16 READSETUP

  • 编码:0x4C
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:1字节
  • 状态请求支持:否
  • 描述:返回设置寄存器(SETUP),如下图所示。
SETUP寄存器

6.5.17 SETSETUP

  • 编码:0x4D
  • 广播支持:是
  • 有效载荷大小:1字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:写入设置寄存器(SETUP),建议在INIT命令之前通过广播方式使能CRC校验。

6.5.18 READPWM

  • 编码:0x4E
  • 广播支持:否
  • 有效载荷大小:0字节
  • 响应有效载荷大小:6字节
  • 状态请求支持:否
  • 描述:返回PWM寄存器,如下图所示。
PWM寄存器

6.5.19 SETPWM

  • 编码:0x4F
  • 广播支持:是
  • 有效载荷大小:6字节
  • 响应有效载荷大小:0字节
  • 状态请求支持:是
  • 描述:写入PWM寄存器,写入值在节点收到命令之后就会生效。

6.5.20 READOTP

  • 编码:0x58
  • 广播支持:否
  • 有效载荷大小:1字节
  • 响应有效载荷大小:8字节
  • 状态请求支持:否
  • 描述:从地址OTPADDR读取OTP值。响应包含从OTPADDR开始的8个字节。如果任何字节超出有效地址范围,这些字节将包含随机数据,应被忽略。响应将在大约55微秒后发送。
OTP寄存器
OTP Memory map

7.OTP to PWM 示例

在E3731i的使用手册的5.3章节中,提供了一个示例:

  • 如何从OTP读取校准数据,并将其转换为PWM(脉冲宽度调制)值,以实现目标颜色。

这里篇幅有限就不进行介绍了,感兴趣的读者可以根据文末的连接下载查看。

8.示例代码

在E3731i的使用手册的5.3章节中,提供如下三个关键功能的参考代码,感兴趣的读者可以自行下载查看。

  • 曼彻斯特编码的实现

  • 帧消息的CRC校验

  • OTP存储内容的CRC校验

9.评估套件

为了方便客户快速熟悉E3731i,ams-OSRAM提供一套E3731i评估板,可以搭配S32K144EVB进行评估,如下图所示。

E3731i评估板图片(来源于ams-OSRAM原厂培训资料)

除了评估板之外,ams-OSRAM还提供了配套评估板的S32DS工程以及上位机。S32DS工程实现的功能主要有:

  • OSP协议命令的底层驱动
  • 曼彻斯特编码实现
  • CRC计算实现
  • 用于达到目标颜色和亮度的PWM计算
  • 基于LED特性的第一次颜色校正/温度补偿
  • 三刺激值X,Y,Z / Cx,Cy / u'v'计算

关于评估套件的详细资料,可以找ams-OSRAM原厂进行申请。

10.参考资料

[1] 

OSIRE® E3731i - Startup Guide: https://look.ams-osram.com/m/3ba9f6b3c2dd7647/original/OSIRE-E3731i-Startup-Guide.pdf

[2] 

KRTBI D2LM31.31: https://look.ams-osram.com/m/66c7ed18a715934c/original/KRTBI-D2LM31-31.pdf



如果觉得本文对你有用,帮忙给个一键三连(点赞、分享和推荐)!!!

评论 (0)
  • 1、基础环境配置请参考:https://mbb.eet-china.com/blog/4102756-463503.html2、rtthread-nano使用3.1.5版本链接 :https://github.com/RT-Thread/rtthread-nano/tree/v3.1.53、cmbacktrace链接:https://github.com/armink/CmBacktrace.git4、移植目录:基于uart例程,如下图所示所有用到的文件添加进入,头文件自行添加5、board修改
    小憩一隅 2025-02-25 23:54 102浏览
  • 近年来,在能源转型的战略驱动下,我国新能源汽车的保有量持续攀升,并直接推动了充电桩市场的快速增长。据中国充电联盟(EVCIPA)统计数据显示,2024全年,我国充电基础设施增量为422.2万台,新能源汽车国内销量1158.2万辆,充电基础设施与新能源汽车继续保持快速增长,桩车增量比约为1:2.7[1]。此外,截至2024年底,我国充电基础设施累计数量为1281.8万台,同比上升49.1%[1],市场前景一片繁荣。然而,随着国际贸易壁垒高企与国内内卷态势加剧,在此繁荣的市场中,充电桩厂商们亦面临着
    华普微HOPERF 2025-02-26 16:26 50浏览
  •   Lotoo(乐图)的墨菊(PAW Gold Touch)是一款受广大用户欢迎、口碑出众的旗舰 DAP,获得了诸多用户的青睐。而经过三年不断研发,最新推出的 PAW GT2 墨菊二代更是抢先全球、率先在香港推出。比起上代墨菊,这代输出功率提升至 1000mW,采用更大的屏幕、加入了 Wi-Fi 功能、支持 LTTP 的无损无线传输、电池容量也有提升,由规格到功能都有不少升级,至于音质方面?预先剧透一下,好听得有点让人停不下来,将很多喜欢的专辑重听了好几遍。  设计及规格  双 AK4499EX
    雷龙发展 2025-02-25 17:19 93浏览
  • 飞机的核心电子系统包括发电与配电系统,飞机内部所有设备和系统之间的内部数据通信系统,以及用于外部通信的射频设备。其他所有航空电子元件都依赖这些关键总线进行电力传输或数据通信。在本文中,我们将了解模块化仪器(无论是PCIe、PXIe还是LXI)如何提供测试和排查这些系统所需的多通道数据采集和信号生成能力。一、飞机数据通信总线飞机中使用两种标准化数据总线。ARINC 429是一种主要用于商用飞机的标准总线,而MIL-STD 1553通常用于军用飞机和航天器。这两种总线都采用差分信号传输,以提高抗噪声
    德思特测试测量 2025-02-26 15:00 36浏览
  • 穿梭于光电的海洋,感知技术的每一次微小颤动,每一束光都是探索的印记,每一个波动都承载着科技的脉动。动感光波——感光现象旗下科技播客栏目,自2022年春天启动,已经历经近三载春秋。在这里,我们不仅记录了光电与传感领域的每一次革新跳跃,更成为见证科技发展与趋势成真的关键力量。在这辞旧迎新之际,2025年的科技篇章正缓缓展开,让我们以最硬核的视角,回顾这一路的辉煌,同时,以满腔热情迎接下一个科技浪潮的澎湃涌动。座舱,“重仓”情绪价值本期话题:内饰车灯目前很多座舱传感与照明的新技术,毫不意外率先出现在中
    艾迈斯欧司朗 2025-02-25 13:53 174浏览
  • 首先感谢面包板社区和富芮坤厂家,提供此次评测机会,板子做的很精致由于时间关系,这段时间未来得及深入评测,之后有时间定然好好把玩评测一番,此文档只做开发调试环境和例程的分享1、官方资料获取:上海富芮坤微电子有限公司-设计大赛2、开发环境:keil+jlink后转板子自带的CMSIS-DAP下载3、串口例程测试:硬件连接:SWDIO-PB11,SWCLK-PB10工程路径:“\富芮坤FR3068E-基础开发文件_202412\sdk__202411\examples\peripheral_demo\
    小憩一隅 2025-02-25 00:09 114浏览
  • 2022年,飞凌嵌入式全球首发了搭载NXP i.MX 93系列处理器的OK-MX9352-C开发板,这款产品在过去的3年里以其卓越的性能和高度安全性,为众多客户提供了强大的智能化主控支持。近期,NXP将i.MX 93系列处理器引入了FRDM系列产品线,推出了FRDM i.MX 93开发板,作为首款配备i.MX MPU的FRDM板,它提供了模块化硬件、全面的软件和工具,以及所有FRDM开发板通用的快速入门体验。飞凌嵌入式第一时间拿到了FRDM i.MX 93开发板,本篇文章,小编就为大家带来这款产
    飞凌嵌入式 2025-02-26 15:03 71浏览
  • 文/Leon编辑/侯煜‍近日,四川格力电器微信公众号发布消息,在格力电器(四川)品牌战略发布会上,格力电器宣布格力专卖店更名“董明珠健康家”,将在成都率先落地。消息称,“董明珠健康家”将通过场景化体验、数据可视化、智能交互服务重构零售价值链。“此次董明珠健康家的发布,将是一场格力从产品到服务、从空间到体验的品牌革命。”珠海格力电器终端建设负责人高杰在会上表示。据了解,部分城市的线下格力专卖店已经更换了新的招牌,采用红底白字的设计,“董明珠健康家”以较大字体占据招牌主要位置,反而是左上角的“格力”
    华尔街科技眼 2025-02-25 10:01 177浏览
  • 在2024的中国国际工业博览会上,瑞芯微电子发布了RK35系列处理器的最新力作——RK3506J处理器。当时,处于早期研发阶段的飞凌嵌入式FET3506J-S核心板作为业内首个搭载RK3506J的SoM方案也一同亮相。历经5个月的精心打磨与优化,飞凌嵌入式FET3506J-S核心板正式上市!FET3506J-S核心板基于Rockchip RK3506J处理器开发设计。采用了100%国产化物料,满足电力、交通、工控等行业对国产化的要求。同时进行了充分的可靠性测试,确保在工业环境的可靠运行。RK35
    飞凌嵌入式 2025-02-26 15:06 65浏览
  • 背景:在智能制造和工业4.0的时代,传统的设备巡检方式已经无法满足企业对于高效、精准、安全巡检的需求。传统人工巡检效率低、准确率差,且容易受到人员经验和环境因素的影响,导致问题遗漏或判断错误。通过结合人工智能(AI)和增强现实(AR)技术,企业能够实现设备与员工的双向巡检,不仅让员工高效判断设备运行状况,设备本身通过AI模型也可以实时判断员工操作的准确性,进一步提高巡检效率和故障检测的准确性。痛点分析01 人工巡检效率低传统的设备巡检依赖人工操作与填写,受限于巡检人员的经验与专业知识,且容易因为
    安宝特AR 2025-02-25 13:33 171浏览
  • 在万物互联的时代,AI智能眼镜正从科幻走进现实,成为人们探索数字世界的“第三只眼”。而Rokid AI眼镜就是行业中的标杆产品,作为全球AR交互的领航者,Rokid让AR眼镜这个词汇重新进入到消费者视野中,并得到认可。Rokid AI眼镜融合了光学显示,AI计算,无感交互,生态协同的四维技术,打造出“轻量化、高智能、无感化”的下一代人机界面。无感交互:人与万物的感知与交互。眼镜不仅通过视觉、语音和体感传感器进行交互,也离不开无线连接—“低功耗蓝牙(BLE)”,它扮演着至关重要的角色—如同一条隐形
    RFCRAZY666 2025-02-26 10:07 54浏览
  •    近年来,随着全球算力需求的爆发式增长,多相电源技术(以DrMOS和多相控制器为核心)逐渐成为高性能计算、自动驾驶、服务器等领域的核心供电方案。在这一技术领域,国产替代进程加速,在这个领域布局的有杰华特,晶丰明源等,国外的有MPS, AOS以及infenion和ST,ADI等,全球的需求大概在20亿美金左右,而中国的主要客户需求包括华为,浪潮,华3,联想,中兴通讯,研祥等以及超算中心,云计算中心,军工,汽车等        国内的晶丰明源公告显示已经推
    王萌 2025-02-25 09:10 210浏览
  • 图文/朴晋泽编辑/cc孙聪颖 (发自首尔)2 月 20 日,韩国宪法法院针对总统尹锡悦弹劾案举行第十次正式辩论。历经多日审理,随着一系列证人证词所呈现的复杂线索逐步梳理明晰,弹劾案的关键脉络愈发清晰。目前可以明确的是,这场对韩国政治生态与政策走向具有重大影响的宪法审判,已进入关键的收尾阶段,其审判结果不仅将重塑韩国政治格局,后续还可能对韩国经济政策制定、对外经贸合作、金融市场稳定等多领域产生连锁反应,各界正密切关注审判最终裁定。同日,韩国宪法法院正式发布公告,明确将于本月 25 日开展弹劾案的最
    华尔街科技眼 2025-02-25 09:58 156浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦