MT6572平台加入呼吸灯功能——控制芯片简介

本文介绍SN3112 LED控制器芯片的工作原理及其寄存器功能,包括通过I2C接口控制12路LED灯的亮度,并提供线性到非线性的亮度转换表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:这里我们使用了一片SN3112来控制led灯的亮灭,SN3112是一片12路led控制芯片。每路单独256级亮度可控,CPU通过I2C接口对其进行编程控制。通过将SDB脚拉低或者软件设置可关断芯片,进入低功耗模式。

    SN3112寄存器功能列表:

 

地址名称功能默认值
00h关断寄存器软件关断SN3112(0x00为关断,0x01为打开)0x00
04h~0fhPWM控制寄存器存储12路led灯的pwm亮度值0x00
13hLED控制寄存器1存储1~3路led开关状态(BIT3~5)0x00
14hLED控制寄存器2存储4~9路led开关状态(BIT0~5)0x00
15hLED控制寄存器3存储11~12路led开关状态(BIT0~2)0x00
16h数据更新寄存器更新各寄存器中的数据xx
17h复位寄存器重置各寄存器数据xx

LED呼吸灯非线性修正

    SN3112内部实现线性256级灰度PWM调光。由于人视觉对亮度的误差,电流线性增加时,视觉上会感到呼吸灯开始时亮度变化快,然后进入饱和状态。故在此使用32级亮度的伽马补偿数据:

C0C1C2C3C4C5C6C7
01246101318
C8C9C10C11C12C13C14C15
2228333946536169
C16C17C18C19C20C21C22C23
788696106116126138149
C24C25C26C27C28C29C30C31
161173186199212226240255
其余具体参数见芯片datasheet,另注:在芯片关断模式时,所有寄存器保持原数据不变。

    MT6572这边,我采用的GPIO模拟I2C通信的方式与SN3112进行通信,其中GPIO102连接SCL叫,GPIO138连接SDA脚,GPIO141连接SDB即使能脚,在dct配置GPIO引脚时要记得进行相关配置。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值