簡介:這裡我們使用了一片sn3112來控制led燈的亮滅,sn3112是一片12路led控制晶元。每路單獨256級亮度可控,cpu通過i2c介面對其進行程式設計控制。通過將sdb腳拉低或者軟體設定可關斷晶元,進入低功耗模式。
sn3112暫存器功能列表:
位址名稱
功能預設值
00h關斷暫存器
軟體關斷sn3112(0x00為關斷,0x01為開啟)
0x00
04h~0fh
pwm控制暫存器
儲存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資料更新暫存器
更新各暫存器中的資料
xx17h
復位暫存器
重置各暫存器資料xx
led呼吸燈非線性修正
sn3112內部實現線性256級灰度pwm調光。由於人視覺對亮度的誤差,電流線性增加時,視覺上會感到呼吸燈開始時亮度變化快,然後進入飽和狀態。故在此使用32級亮度的伽馬補償資料:
c0c1
c2c3
c4c5
c6c701
24610
1318
c8c9
c10c11
c12c13
c14c15
2228
3339
4653
6169
c16c17
c18c19
c20c21
c22c23
7886
96106
116126
138149
c24c25
c26c27
c28c29
c30c31
161173
186199
212226
240255
其餘具體引數見晶元datasheet,另註:在晶元關斷模式時,所有暫存器保持原資料不變。
mt6572這邊,我採用的gpio模擬i2c通訊的方式與sn3112進行通訊,其中gpio102連線scl叫,gpio138連線sda腳,gpio141連線sdb即使能腳,在dct配置gpio引腳時要記得進行相關配置。
mtk 6572平台led指示燈 除錯
led充電指示燈除錯 相關檔案目錄 custom kernel leds mt65xx cust leds.c kernel drivers leds leds drv.c platform mt6572 kernel drivers leds leds.c static struct cust m...
MT6757晶元技術資料,MT6763平台案例分析
mt6757 mt6763 af case study 1 fail pos 關於af fail position 0時,推fail pos的說明 mt6757之前的平台,mt6750,mt6797,mt6580,mt6752等等 lens postion table 0 i4fail pos mt...
MT6735平台螢幕旋轉90度
lk 橫屏logo,順時針旋轉90度顯示修改 bootable bootloader lk project len6735 65u vo.mk boot logo wxganlmtk lcm physical rotation 90 framebuffer順時針旋轉90度的修改 device len...