文章目录

  • 1.ISELED 介绍
    • 1.1 前言
    • 1.2 ISELED联盟
    • 1.3 ISELED产品
    • 1.4 ISLED应用方向
  • 2.ISELED Driver获取及安装
    • 2.1 ISELED Driver获取
    • 2.2 ISELED Driver安装
      • 2.2.1 安装前准备
      • 2.2.2 安装注意事项
      • 2.2.3 安装后检查
  • 3.ISELED方案试用
    • 3.1 Demo方案介绍
    • 3.2 编写Demo程序
      • 3.2.1 图形化界面配置
      • 3.2.2 main函数编写
      • 3.2.3 Demo工程分享
    • 3.3 Demo测试
    • 3.4 ISELED组件说明
  • 4.参考资料和网站

1.ISELED 介绍

1.1 前言

现在主流的车内氛围灯方案分为两种,一种是带自动寻址功能的LIN总线方案,代表的芯片如ELMOS的E521.31/E521.36,迈来芯的MLX81106/MLX81108,英迪芯的IND83209/IND83211。一种是使用了ISELED技术的Smart RGB LED方案(将LED Driver&Controller和LEDs封装在一起),代表芯片如统明亮的seddLED 3.0系列,弘凯光电的iCLed系列等。两种方案的对比如下表:

1.2 ISELED联盟

ISELED联盟是一个开放的工业联盟,其目标是开发一个基于 ISELED 技术的综合生态系统——即用于创新汽车照明的完整系统解决方案。如今,已有多家制造商提供的各种ISELED产品。

从2016年底(ISELED 成立时)最初的5个成员,联盟成员的数量已增加到 30多家公司和机构。联盟成员如下图,包含LED厂商,MCU厂商,汽车零部件厂商等。

1.3 ISELED产品

ISELED官网的产品分如下几种:

  • SMART DIGITAL LEDS
  • LED Driver & Controller
  • Microcontrollers
  • ADK - Application & Development Kit

以上图为例,简单介绍一下这几种产品,

  • INLC10AQ属于LED Driver & Controller,主要负责通信协议和驱动LED。目前这部分产品只有Inova能提供
  • A3A-FKG-1400-1属于Smart Digital LEDs,可以认为是INLC10AQ和LED的结合体。目前这部分产品有四家能提供,分别是统明亮、弘凯、亿光和欧司朗,做这类产品需要找Inova购买LED Driver & Controller然后和自家的LED进行结合,最终变成Smart Digital LEDs。
  • S32K属于ISELED主机节点指定的MCU,NXP提供了基于S32K的ISELED驱动库,客户使用S32K可以很方便的和Smart Digital LEDs进行通信并实现各种灯效。目前这部分产品主要有两家能提供,除了NXP还有Microchip。
  • ADK属于应用和开发套件,方便客户快速评估ISELED方案。目前能提供ADK的主要是Inova和feno两家公司。

1.4 ISLED应用方向

ISELED目前应用方向有三个,分别是:

  • AMBIENT LIGHTING,环境照明,如车内静态氛围灯。
  • FUNCTIONAL LIGHTING,功能照明,如人手脱离方向盘时进行警示。
  • DYNAMIC LIGHTING EFFECTS,动态灯效,如仪表盘的动态背光灯。

2.ISELED Driver获取及安装

本篇文章主要介绍基于S32K144控制的ISELED方案试用,所以需要先准备好S32K1的ISELED软件驱动。

S32K1xx的官方IDE安装之后是不带ISELED驱动的,需要从NXP官网下载对应的exe文件并选择IDE的安装目录进行覆盖安装,才能使用ISELED功能。下面介绍一下如何安装S32K1的ISELED驱动,在进行ISELED安装之前推荐先安装好S32DS 2.2,具体安装方式参考如下链接:

S32 Design Studio for ARM 2.2 快速入门

2.1 ISELED Driver获取

1.浏览器中输入如下网址:https://www.nxp.com/design/designs/s32k-iseled-led-lighting-solution:S32K-ISELED),并登录在NXP官网注册的个人账号,如下图:

2.点击Design Resources,往下移动到Softeware,能看到S32K SDK ISELED driver的下载选项,如下图:

3.点击下载按钮,在跳转的界面点击Previous,能够看到RTM 4.0.0版本的ISELED驱动:

4.点击SW32K1-ISELED-RTM-4.0.0,在弹出的协议界面点击同意,会跳转至如下界面,接着点击S32K1_ISELED_RTM_4.0.0.exe进行下载,建议ReleaseNotes也下载一下,里面包含了对SDK的要求;

5.下载的同时,点击License Keys,会跳出如下界面;

6.勾选复选框,点击Generate,弹出如下界面;

7.点击Save All按钮,会将license文件下载到本地。

2.2 ISELED Driver安装

2.2.1 安装前准备

打开上一章节提到的S32K1_ISELED_RTM_4.0.0_ReleaseNotes.pdf,可以看到ISELED RTM4.0.0的驱动包是和S32K1xx的RTM3.0.0,RTM3.0.1, RTM3.0.2匹配的,所以安装ISELED驱动之前,先要保证安装了S32DS For ARM 2.2,这个开发环境自带的就是S32K1xx的RTM3.0.0版本的SDK。

如果不了解S32DS 2.2如果安装,可以参考之前的文章:

S32 Design Studio for ARM 2.2 快速入门

2.2.2 安装注意事项

在S32DS for ARM 2.2安装好之后,双击S32K1_ISELED_RTM_4.0.0.exe进行安装,安装过程中需要加载之前保存的license文件以及选择S32DS安装目录下的S32K1xx_RTM_3.0.0文件夹,如下面两张图:

2.2.3 安装后检查

安装完,可以检查下S32K1xx_RTM_3.0.0文件夹内的相关文件夹是否有了ISELED相关的文档和库文件。

3.ISELED方案试用

3.1 Demo方案介绍

由于手上没有ISELED的ADK,只能利用S32K144开发板加上之前客户送的一套ISELED灯板搭建一套演示套件,如下图所示:

整体的demo框图如下所示:

3.2 编写Demo程序

3.2.1 图形化界面配置

1.打开S32DS2.2,新建application工程,命名为S32K144EVB_ISELED_Demo_Test,并选择S32K144_SDK 3.0.0版本。

2.等界面加载完成后,添加ISELED组件,如下图,和其相关的其他组件也会自动添加。

3.打开ISELED组件,按下图配置,相关参数后面章节再详细介绍。

4.打开timing_pal组件,使用lpit定时器的通道0。

5.打开时钟组件,使能Flexio时钟。

至此,图形化界面配置结束。

3.2.2 main函数编写

首先是clock,timing,iseled的初始化,如下所示:

int main(void)
{/* Write your local variable definition here */testInitType.crcEnable = 1;testInitType.firstLedAdr = 1;testInitType.tempCmpEnable = 0;testInitType.voltSwing = 0;/*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/#ifdef PEX_RTOS_INITPEX_RTOS_INIT();                   /* Initialization of the selected RTOS. Macro is defined by the RTOS component. */#endif/*** End of Processor Expert internal initialization.                    ***//* Write your code here *//* For example: for(;;) { } */CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_FORCIBLE);/*Initialize timing pal instance used by the ISELED Driver for the timeout mechanism*/TIMING_Init(&timing_pal1_instance, &timing_pal1_InitConfig);digLED_Init_Interface(NUMBER_OF_INTERFACES, iseled1_InitConfig);digLED_Init_Strip(&testInitType, &digLEDResultStrip1, strip);

其中,

  • digLED_ReturnType digLED_Init_Interface(uint8_t nrOfInterfaces, const digLED_ConfigType *configStruct);主要是进行ISELED接口的配置,如选择Flexio还是SPI,控制多少路ISELED,选用哪些引脚,外设的超时时间,使用中断还是DMA等。

  • digLED_ReturnType digLED_Init_Strip(const digLED_InitType* ChainInitPtr, digLED_ReadDataResultType* ChainInitResultPtr, uint8_t StripNr);主要是针对具体某一路ISELED的通信协议进行配置,如首ISELED的地址,是否进行CRC校验,差分电压幅值,是否进行相位偏移等。

然后调用digLED_ReturnType digLED_Set_RGB(uint8_t Red, uint8_t Green, uint8_t Blue, uint16_t Address, uint8_t StripNr);实现灯效。其中Red,Green,Blue用于设置灯颜色的RGB值,Address代表要设置的ISELED芯片地址(0代表设置所有ISElED),StripNr代表要设置第几路ISELED。

如设置红色单颗流水效果的代码如下:

void RunWaterRed(void){OSIF_TimeDelay(1);digLED_Set_RGB(0       , 0       , 0       , 0, strip);OSIF_TimeDelay(1);uint8_t ledNr;uint8_t r = 255, g = 0,  b = 0;for(ledNr=1; ledNr<=NUM_OF_LED; ledNr++){digLED_Set_RGB(r       , g       , b       , ledNr, strip);OSIF_TimeDelay(100);digLED_Set_RGB(0       , 0       , 0       , ledNr, strip);OSIF_TimeDelay(1);}}

3.2.3 Demo工程分享

整套工程代码的链接如下:

  • 链接:https://pan.baidu.com/s/1Bx5gTDurymVcxB1y-SSTwA
  • 提取码:5bkl

3.3 Demo测试

ISELED_demo

3.4 ISELED组件说明

由于ISELED组件的参数比较多,如下图在这里着重说明一下。

  1. Interface,选择ISELED的接口,主要选项有Flexio,LPSPI0,LPSPI1和LPSPI2。
  2. Strip Number,表示第几路ISELED,最多可以有13路,其中Strip1到strip10使用Flexio接口,Strip11到Strip13使用LPSPI接口。
  3. Data Pin和Clock Pin,选择和第一个ISELED芯片连接的数据引脚以及时钟引脚。ISELED芯片直接通过差分总线相连,只有和MCU相连接的ISELED芯片(首地址芯片)走同步信号。

注意Data Pin和Clock pin不能选择相同的Logical pins。以下图为例,选择PTA10位data pin时,不能选择PTD0或者PTD9为Clock pin,因为他们都属于FXIO_D0。

  1. DMA配置,如果使能了DMA配置,下面的DMA接收、发送通道以及EDMA组件也需要同步配置。
  2. callback,回调函数设置,如果填写了回调函数名称,当指令接收、发送完成,或者发生超时,CRC error等错误时,会调用该函数。
  3. Timer channel,配置iseled调用的定时器通道,需要同步在timing_pal进行配置。
  4. timeout duration,配置三种指令的超时时间,分别是初始化,读和ping。

超时时间推荐的计算公式如下(N代表LED数量,最终计算结果的单位为us):

  1. Interface CLK,显示选择的接口的时钟来源,注意在clockMan组件使能对应的时钟。
  2. Timer CLK,显示使用的定时器的时钟来源。

4.参考资料和网站

  • S32K1XXISELEDUG.pdf

  • S32K1_ISELED_RTM_4.0.0_ReleaseNotes.pdf

  • seddLED3.0 A3A-FKG - v3

  • Home - ISELED

  • Product Brief INLC10AQ

  • S32K-ISELED LED Lighting Solution | NXP Semiconductors

ISELED---氛围灯方案的新选择相关推荐

  1. 动能方案 | 氛围灯解决方案

    夜幕降临华灯初上,在繁华都市里,一眼望去都是灯的海洋,光与影的互动中充满无限魔力,把无形的光以浪漫的艺术形式呈现出来,这样的"氛围感"让人无法抗拒,追求生活品质的人越来越多,愿意为 ...

  2. 国产2.4GHz氛围灯带智能家居灯控应用方案芯片CI24R1

    氛围灯带方案简介 氛围灯带是指把LED组装在带状的FPC(柔性线路板)或PCB硬板上的一种装饰灯.因使用寿命长(一般正常寿命在8-10万小时),又非常节能和环保而逐渐在各种装饰行业中崭露头角. 在家装 ...

  3. 红外遥控氛围灯触摸芯片-DLT8SA15A-杰力科创

    方案基本组成 5V输入,电池供电,恒压方案: 一个触摸按键,一个滑条,一个红外遥控,4路PWM口输出: 方案产品功能 此款红外遥控调光调色氛围灯方案,主控芯片采用DLT8SA15A系列触摸芯片,封装型 ...

  4. CI24R1 2.4G低成本氛围灯解决方案

    氛围灯带是指把LED组装在带状的FPC(柔性线路板)或PCB硬板上,因其产品形状象一条带子一样而得名.因为使用寿命长(一般正常寿命在8-10万小时),又非常节能和绿色环保而逐渐在各种装饰行业中崭露头角 ...

  5. 打造魔法般的节日装扮---智能氛围灯新方案,创意更好玩

    在政策扶持和消费升级助力下,科技.智能.舒适.情感等已成为照明产品的主旋律.Z 世代消费者选购家装照明或节日装修时,不仅讲求精致的氛围感,还要创意有趣味. 而氛围灯作为可自动调光的照明产品,支持人们根 ...

  6. e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS

    有停车焦虑的小伙伴一定都想拥有一辆微型车,无论你多晚回家,只要有一小块空挡就能泊车,然后上楼睡觉.所谓快乐,莫过于此. 在纯电动微型车领域,宝骏可以说是经验最为丰富的厂家之一.相继推出了E100和E2 ...

  7. 蓝牙MESH氛围灯智能方案

    智能氛围灯可以根据自身照明需要(如颜色.温度.亮度和方向等)来设定自己喜欢的场景情景照明效果,根据各自要求.场景情况,在不同的空间和时间选择并控制光的亮度.灰度.颜色的变化.便捷的智能手机也提供了更人 ...

  8. nas服务器系列,机架式nas新选择 篇一:小型存储服务器硬件挑选

    机架式nas新选择 篇一:小型存储服务器硬件挑选 2020-12-23 21:26:29 66点赞 334收藏 88评论 前言 自己组建家用nas折腾也有一段时日了,从矿难以来的暴风酷云, 蜗牛等一众 ...

  9. 物联网无线通信模块的新选择

    无线通讯模块有了新选择 江苏麦希通讯技术有限公司是江苏麦希通讯技术有限公司座落于iPark–无锡新区创新创意产业园,从事微功率无线通信技术的应用和信息采集解决方案及相关产品的研发.制造.销售.依托深圳 ...

最新文章

  1. [LeetCode 001] Two Sum
  2. Linux TOP命令查询结果分析
  3. C语言实现简单线程池(转-Newerth)
  4. JAVAEE慕课网项目需求分析
  5. Python3 —— 变量和简单数据类型
  6. Android异步处理:Handler+Looper+MessageQueue深入详解
  7. 安全测试3_Web后端知识学习
  8. 服务器上使用mysql_在服务器上安装、使用MySQL的注意事项
  9. 微服务升级_SpringCloud Alibaba工作笔记0008---spring gateway配置路由的两种方式
  10. oracle @id@,修改oracle用户id
  11. 验证列数据是否重复方法归类贴
  12. 2005年1月-2008年10月雅思A类(学术类)作文 TASK 2 考题汇总(10月4日更新)
  13. 羡慕的核心是焦虑_焦虑是自由的头晕
  14. 2017年CSTQB/ISTQB认证考试时间表
  15. 囍游记----[转_]
  16. mysql根据一个表的字段更新另一个表的字段
  17. Python求矩阵的逆矩阵
  18. 三国杀小游戏(C++)
  19. 单工、半双工及全双工之间的区别
  20. 【实用工具系列】(5) 在RHEL7.x中安装MySQL8

热门文章

  1. apicloud云打包ios证书的生成方法
  2. Java游戏 坦克大战
  3. “EM(Expectation Maximization)算法”初探
  4. iOS AppStore审核被拒To provide a link to a demo video
  5. Java笔记-01(Java语言的特性、JDK、JRE、JVM三者之间的关系和Java重点术语)
  6. 脑裂问题与解决(keepalived脑裂的解决和预防)
  7. 易买网开发 趣买买 数据库的导入与数据库结构一览表 0605
  8. 芯片自动焊接机器人机械系统的设计
  9. 锁相环工作原理,比如我们8MHZ晶振如何让MCU工作在48MHZ或者72MHZ呢
  10. eclipse解决ASCII码转中文的问题