I2C接口18路LED呼吸灯驱动IS31FL3218互相替代SN3218替换HTR3218

embedded/2024/9/25 7:41:12/

I2C接口18路LED呼吸灯控制电路IC

该型号IC为QFN24接口,属于小众产品,IS31FL3218、SN3218、HTR3218S管脚兼容,需要注意的是HTR3218管脚与其他型号不兼容。
I2C接口可实现多个LED灯的呼吸灯控制,可实现单色控制18个LED灯,双色控制9个LED灯,3色全彩LED灯可控制6个。
本文以SN3218做简单介绍。
本文末尾有32 级和64级的LED亮度伽玛补偿数据,可参考,在LED呼吸灯亮度控制有较大阶跃或亮度变化不明显时,可参考。
中文规格书见绑定资源
SN3218丝印
SN3218

SN3218典型应用电路

SN3218典型应用电路
典型应用电路图
注1:REXT= 3.3kΩ 时,每路最大输出电流为21mA。每路最大电流可通过外接电阻REXT设置,详情请见第10 页。
注2:PCB 布线时,芯片需远离手机天线放置,防止天线对芯片辐射造成影响。

IS31FL3218-QFLS2-TR

IS31FL3218-QFLS2-TR QFN-24, 2500/Reel
IS31FL3218-GRLS2-TR SOP-24 1000/Reel
IS31FL3218-GRLS2 SOP-24 30/Tube
IS31FL3218-QFLS2-TR

SN3218

产品型号 封装形式
SN3218AI424E QFN-24
SN3218AIN24E SOP-24
SN3218

HTR3218S

HTR3218 HTR3218SQER QFN4×4-24L 该型号管脚与其他不兼容
HTR3218S HTR3218SSQER QFN4×4-24L
HTR3218S

SN3218简介

SN3218A 是一款 18 路呼吸灯驱动芯片,每路单独 256级细腻灰度可控。单路最大输出电流可以通过一个外部电阻设定,最大电流为 38mA。
主控器件通过 I2C 接口对 SN3218A 进行编程控制,通过将 SDB 脚拉低或软件设置可关断芯片,进入低功耗模式。SN3218A 从地址为“1010 1000”。
SN3218A 使用 QFN-24(4mm × 4mm)和 SOP-24 的封装形式。工作电压在 2.7V ~ 5.5V,可在-40°C ~+85°C 的温度范围下工作。

SN3218特性

工作电压 2.7V ~ 5.5V
I2C 接口通信,支持连续写数据,地址自加功能
内置复位寄存器
每路 LED 可独立控制
LED 亮度支持 256 级细腻调节
-40°C ~ +85°C 的工作温度
QFN-24(4mm × 4mm)、SOP-24 封装

SN3218应用

手机和其它掌上电子设备的 LED 显示家电类 LED 显示

SN3218引脚定义

引脚号 引脚名 描述
1 OUT18 输出端口。
2 R_EXT 外接电阻输入引脚,设定输出电流值。
3 VCC 电源电压输入。
4 GND 接地。
5 SDA I2C数据线。
6 SCL I2C时钟线。
7~23 OUT1~ OUT17 输出端口。
24 SDB 关断芯片,低电平有效。
底部散热片 接地。

详细介绍

I2C 通信接口

SN3218A 使用两条符合 I2C 通信协议的串行传输线SDA 和 SCL 来控制芯片的工作方式。SN3218A 使用固定的 8 位从地址“1010 1000”。
本芯片只支持写操作。
I2C 总线支持数据双向传输。SCL 为单向端口,SDA为双向端口,开漏输出驱动,需外接上拉电阻(典型值为 4.7kΩ)。最大时钟频率为 400kHz。在这种情况中,主控器件为单片机等控制器,从器件为 SN3218A。
图 2 为 I2C 的时序图,在 SCL 为稳定的高电平时,SDA为闭锁状态并且在不使用的时候应保持高电平。
“开始”信号是由 SCL 为高电平时将 SDA 拉低产生的。首先传送 8 位从地址。当 SCL 为高电平时,SDA上的每个地址位必须保持稳定。
在最 后 一 位 数 据 传 送 出 去 后 , 主 控 器 件 会 检 测SN3218A 的应答信号。主控器件通过上拉电阻释放SDA 线为高电平,然后使 SCL 发送一个脉冲。如果SN3218A 正确的接收到 8 位数据,在 SCL 的脉冲期间它将使 SDA 拉低;如果 SDA 线不为低,则表示数据没有正确接收,主控器件将会发送一个“停止”信号(稍候介绍)并且中断数据传递。
在 SN3218A 的应答信号发送之后,寄存器的地址将被发送。寄存器地址发出后,SN3218A 也必须产生一个应答位来表示寄存器地址是否被正确接收。
接下来传送的是 8 位寄存器数据。在 SCL 保持稳定的高电平时每位数据位都是有效的。8 位数据传送完后,SN3218A 同样需要产生一个应答位来表示数据的正确接收。
“停止”信号将结束数据的传送。当 SCL 信号为高电平时将 SDA 拉高就产生了“停止”信号。

地址自加

如果有多个数据要传送给 SN3218A,只需发送第一个数据写入的寄存器地址。在 SN3218A 接收数据期间,寄存器地址会自动加 1,下一个传送的数据将写入新的寄存器地址中,如此继续,在数据连续传送期间寄存器地址会一直增加,直到 I2C 写入“停止”信号

内部框图

SN3218内部框图

PWM 控制

通过设置 PWM 寄存器(01h~12h)来调节 18 路 LED的亮度值。如在 PWM 寄存器中写入“0000 0100”,则输出为第 4 级亮度。
连续写入数据使 PWM 亮度逐渐升高或降低即可实现LED 呼吸效果。

REXT 设置

SN3218A 的 18 路输出最大电流可通过外接电阻 REXT设置。
REXT 推荐使用的最小阻值为 2kΩ,最大电流达 38mA。

LED 呼吸灯非线性修正

使用 SN3218A 实现 LED 呼吸效果时,为得到更好的呼吸效果,建议对呼吸控制进行非线性修正。
SN3218A 内部实现线性的 256 级灰度的 PWM 调光。
由于人视觉对亮度的误差,电流线性增加时,视觉上会感觉到呼吸开始时亮度变化快,然后很快进入亮度饱和的问题。为了解决这个问题,在呼吸时,应该采用伽玛补偿的方法,达到视觉效果的线性。

为了显示更细腻的效果,可采取更多的输出级数,防止呼吸时产生可观察到的亮度的跳变。推荐的经验值是,从最暗到最亮的一个呼吸周期 T 内,当 T=1s,推荐采用有伽玛补偿的 32 个亮度等级;当 T=2s,推荐采用有伽玛补偿的 64 个亮度等级,以此类推。上述推荐值是 LED 没有任何遮挡的条件下,测试得到的经验值。如果采用挡光板等遮挡 LED,使 LED 发光更加柔和,可以采用更少的亮度等级实现。具体的等级数,需要根据实际的挡光材料具体测试。

采用 32 级的LED亮度伽玛补偿数据:

32级的LED亮度伽玛补偿数据

采用 64 级的LED亮度伽玛补偿数据:

64 级的LED亮度伽玛补偿数据
注意:上表的32 级伽玛补偿数据为计算出的标准值,64 级伽玛补偿数据为实验结果的推荐值。

芯片关断模式

芯片关断模式可以用于减少功耗。在芯片关断模式时,所有的寄存器保持原数据不变。

软件关断

通过对配置寄存器(00h)中的 SSD 位置“0”,SN3218A进入软件关断模式。在此模式时,芯片只消耗 3.1μA(典型的)的电流。
当 SN3218A 进入软件关断模式时,所有的电流输出端口都将关闭,18 路 LED 无显示。

硬件关断

当 SN3218A 的 SDB 脚拉低时,芯片进入硬件关断模式。


http://www.ppmy.cn/embedded/29524.html

相关文章

AJAX家政系统 自营+多商家(高级授权)+独立端口 -源码下载

应用介绍 后台:https://service.hnajax.com/hxeJVakAdf.php/index/login AJAX家政系统 自营多商家(高级授权)独立端口 基于FastAdmin和原生微信小程序开发的一款同城预约、上门服务、到店核销家政系统,用户端、服务端(高级授权)、门店端(高级授权)各端…

数据结构复习指导之数组和特殊矩阵

文章目录 数组和特殊矩阵 考纲内容 复习提示 前言 1.数组的定义 2.数组的存储结构 3.特殊矩阵的压缩存储 3.1对称矩阵 3.2三角矩阵 3.3三对角矩阵 4.稀疏矩阵 5.知识回顾 数组和特殊矩阵 考纲内容 (一)栈和队列的基本概念 (二&a…

更深层次理解传输层两协议【UDP | TCP】【UDP 缓冲区 | TCP 8种策略 | 三次握手四次挥手】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 再谈端口号 端口号的返回…

大数据之数据仓库技术:ETL工具和Kettle简介

大数据之数据仓库技术:ETL工具和Kettle简介 ETL简介ETL工具和KettleKettle家族 Kettle资源KettlePack 任务调度工具 ETL简介 ETL(Extract-Transform-Load): 在大数据技术领域内,用来描述将数据从 来源端 经过 抽取(extract), 转换(transform), 加载(loa…

ServiceNow 研究:通过RAG减少结构化输出中的幻觉

论文地址:https://arxiv.org/pdf/2404.08189 原文地址:rag-hallucination-structure-research-by-servicenow 在灾难性遗忘和模型漂移中,幻觉仍然是一个挑战。 2024 年 4 月 18 日 灾难性遗忘: 这是在序列学习或连续学习环境中出现…

React使用 lodash-es 中的throttle方法失效

React使用 lodash-es 中的throttle方法失效 下面代码用了throttle方法,但是并没有实现1500内执行一次的效果,主要原因是useState的setValue()方法 该方法更新了state,导致了组件重新渲染,并且重新生成了函数,所以1500毫…

Rust move

一、move有什么用 当你在闭包前加上 move 关键字时,闭包会强制获取其所需变量的所有权。这意味着即使在闭包外部变量的所有权被转移给闭包,闭包之外的代码也不能再使用这些变量 看两段代码 fn main() {let x String::from("value");let cl…

基于Spring Boot的校园闲置物品交易网站设计与实现

基于Spring Boot的校园闲置物品交易网站设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统功能界面图,在系统首页可以查看…