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

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.mfbz.cn/a/589475.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【ARM Cache 系列文章 11.2 -- ARM Cache 组相联映射】

请阅读【ARM Cache 系列文章专栏导读】 文章目录 Cache 组相联映射组相联映射原理多路组相连缓存的优势多路组相连缓存的代价关联度(Associativity) 上篇文章:【ARM Cache 系列文章 11.1 – ARM Cache 全相连 详细介绍】 Cache 组相联映射 A…

笔记1--Llama 3 超级课堂 | Llama3概述与演进历程

1、Llama 3概述 https://github.com/SmartFlowAI/Llama3-Tutorial.git 【Llama 3 五一超级课堂 | Llama3概述与演进历程】 2、Llama 3 改进点 【最新【大模型微调】大模型llama3技术全面解析 大模型应用部署 据说llama3不满足scaling law?】…

Deep learning Part Five RNN--24.4.29

接着上期,CBOW模型无法解决文章内容过长的单词预测的,那该如何解决呢? 除此之外,根据图中5-5的左图所示,在CBOW模型的中间层求单词向量的和,这时就会出现另一个问题的,那就是上下文的单词的顺序…

Redis Zset的底层原理

Redis Zset的底层原理 ZSet也就是SortedSet,其中每一个元素都需要指定一个score值和member值: 可以根据score值排序后member必须唯一可以根据member查询分数 因此,zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学…

ZooKeeper知识点总结及分布式锁实现

最初接触ZooKeeper是之前的一个公司的微服务项目中,涉及到Dubbo和ZooKeeper,ZooKeeper作为微服务的注册和配置中心。好了,开始介绍ZooKeeper了。 目录 1.ZooKeeper的基本概念 2.ZooKeeper的节点(ZNode) 3. ZooKeep…

【Java笔记】第5章:函数

前言1. 函数的理解2. 函数的基本使用3. 函数的参数4. 函数的返回值5. 函数的执行机制6. 函数的递归调用结语 ↓ 上期回顾: 【Java笔记】第4章:深入学习循环结构 个人主页:C_GUIQU 归属专栏:【Java学习】 ↑ 前言 各位小伙伴大家好&#xff…

[随记]Mac安装Docker及运行开源Penpot

下载Docker Desktop for Mac:https://www.docker.com/products/docker-desktop/ 安装Docker Desktop for Mac,安装完成后,启动Docker,然后在终端输入: docker version 在Mac电脑的Desktop,随便创建一个文…

【真实体验】使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试【YashanDB迁移体验官】

一、前言 说一下我和崖山数据库的结缘,大概在去年吧,因为我经常在墨天轮写文章,看到崖山数据库推出了一崖山体验官的活动,我就报名参加了。第一次体验了崖山数据库,也测试了我司数据库到崖山数据库的兼容性&#xff0…

钉钉手机端调试前端H5项目流程

此流程以Vue项目为例 一、操作步骤 在根目录下 vue.config.js 文件中将 devServer.host 设置为 0.0.0.0 // vue.config.js module.exports {devServer: {host: 0.0.0.0,...},...}本地启动项目,获取 Network App running at:- Local: http://localhost:8080/ -…

JAVA 学习·泛型(二)——通配泛型

有关泛型的基本概念&#xff0c;参见我的前一篇博客 JAVA 学习泛型&#xff08;一&#xff09;。 协变性 泛型不具备协变性 在介绍通配泛型之前&#xff0c;先来看一下下面的例子。我们定义了一个泛型栈&#xff1a; import java.util.ArrayList; class GenericStack<E>…

全新TOF感知RGBD相机 | 高帧率+AI,探索3D感知新境界

海康机器人在近期的机器视觉新品发布会上推出的全新TOF感知RGBD相机,无疑是对当前机器视觉技术的一次革新。这款相机不仅融合了高帧率、轻松集成、体积小巧以及供电稳定等诸多优点,更重要的是,它将AI与3D感知技术完美结合,通过高帧率+AI算法,实现了对不同场景的快速捕捉与…

Android Studio报错:Constant expression required

【出现的问题】&#xff1a; 使用JDK17以上版本&#xff0c;switch语句报错&#xff1a;Constant expression required 【解决方法】&#xff1a; 在gradle.properties配置文件下添加代码&#xff1a; android.nonFinalResIdsfalse 如图&#xff1a; 接着再点击右上角的Sync…

asyncionetworkxFuncAnimation学习--动态显示计算图的运行情况

asyncio&networkx&FuncAnimation学习--动态显示计算图的运行情况 一.效果二.代码 一.目的 1.动态显示计算图的运行状态(点或边是否已完成) 二.步骤: 1.定义计算图 2.asyncio 并行计算 3.networkx 显示计算图 4.FuncAnimation 动态更新 三.依赖: conda install pygraphv…

Linux shell编程学习笔记48:touch命令

0 前言 touch是csdn技能树Linux基础练习题中最常见的一条命令&#xff0c;这次我们就来研究它的功能和用法。 1. touch命令的功能、格式和选项说明 我们可以使用命令 touch --help 来查看touch命令的帮助信息。 purpleEndurer bash ~ $ touch --help Usage: touch [OPTION]…

pyqt 按钮常用格式Qss设置

pyqt 按钮常用格式Qss设置 QSS介绍按钮常用的QSS设置效果代码 QSS介绍 Qt Style Sheets (QSS) 是 Qt 框架中用于定制应用程序界面样式的一种语言。它类似于网页开发中的 CSS&#xff08;Cascading Style Sheets&#xff09;&#xff0c;但专门为 Qt 应用程序设计。使用 QSS&am…

数据分析--客户价值分析RFM(分箱法/标准化)

原数据 原数据如果有异常或者缺失等情况&#xff0c;要先对数据进行处理 &#xff0c;再进行下面的操作&#xff0c;要不然会影响结果的正确性 一、根据RFM计算客户价值并对客户进行细分 1. 数据预处理 1.1 创建视图存储 R、F、M的最大最小值 创建视图存储R 、F、M 的最大最小…

力扣练习题(2024/5/2)

1填充每个节点的下一个右侧节点指针 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个…

C#知识|Dictionary泛型集合的使用总结

哈喽,你好,我是雷工! 以下是C#Dictionary泛型集合的学习笔记。 01 Dictionary泛型集合 1.1、Dictionary<K,V>通常称为字典, 1.2、其中<K,V>是自定义的,用来约束集合中元素类型。 1.3、在编译时检查类型约束, 1.4、无需装箱拆箱操作, 1.5、操作与哈希表(Ha…

C++ string类

目录 0.前言 1.为什么学习string类 1.1 C语言字符串的局限性 1.2 C string类的优势 2.标准库中的string类 2.1 字符串作为字符序列的类 2.2 接口与标准容器类似 2.3 基于模板的设计 2.4 编码和字符处理 3.string类的常用接口说明 3.1构造函数 3.1.1默认构造函数 3…

前端Web开发基础知识

HTML定义 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。 什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup LanguageH…
最新文章