MTK平台LCM打静电分析
說明:ESD就是靜電。打ESD就是打靜電。靜電這東西是瞬間電壓,特點(diǎn)就是瞬間電壓很高,達(dá)到10K左右,或更高。而電流是非常小的。
因我們的現(xiàn)在芯片都是半導(dǎo)體,半導(dǎo)體對(duì)外界電壓很敏感的。如果碰到高電壓,雖是極小的電流,一樣會(huì)出問題。這時(shí)出問題有的是直接損壞,還有的是暫時(shí)損壞,然后會(huì)在電壓正常時(shí)又恢復(fù)了。
2: lcm_esd_check和lcm_esd_recover就是針對(duì)這能自動(dòng)恢復(fù)的時(shí)候。他是啟動(dòng)了一個(gè)定時(shí)器,啟動(dòng)了一個(gè)線程,在規(guī)定的時(shí)間內(nèi)去讀一下IC的某一個(gè)寄存器。如果出現(xiàn)問題了。這個(gè)寄存器在受到外界電壓的影響就會(huì)亂掉,這時(shí)讀取后的與理論的值是不同的。
比對(duì)發(fā)現(xiàn)不同時(shí),就會(huì)將LCD的初始化重寫一次,這樣就可以從花屏的狀態(tài)退出來,達(dá)到正常顯示。
[FAQ14251] 如何配置LCM ESD Check——讀寄存器方式
params->dsi.esd_check_enable = 1; //enable ESD check
params->dsi.customization_esd_check_enable = 1;
params->dsi.lcm_esd_check_table[0].cmd = 0x09;
params->dsi.lcm_esd_check_table[0].count = 1;
params->dsi.lcm_esd_check_table[0].para_list[0] = 0x80;
cmd:是你要讀的寄存器
count:是你要讀取的寄存器個(gè)數(shù)
para_list:是你要讀取的正確的返回值
如果讀到的返回值不是預(yù)設(shè)的值,顯示系統(tǒng)會(huì)做恢復(fù)處理:重新初始化(將LCD的初始化重寫一次)
FAQ13728 MT6735通過讀寄存器方式做ESD,客制化需求----多個(gè)返回值
打靜電問題分析:
1.未打靜電情況下,如果出現(xiàn)lcm esd 寄存器讀取值返回錯(cuò)誤的問題,也請(qǐng)聯(lián)系屏廠解決。
2.打靜電時(shí)候,如果出現(xiàn)連續(xù)閃屏后無法自動(dòng)恢復(fù),按powerkey可以恢復(fù)(或者靜止手機(jī)一會(huì),待電荷釋放后,按power可以正常亮屏),出現(xiàn)這種現(xiàn)象的原因是:連續(xù)recovery 5次LCM依然無法恢復(fù)正常,esd thread被停止。原因是由于LCM積累電荷太多導(dǎo)致。
3. 如果出現(xiàn)打靜電導(dǎo)致,系統(tǒng)hang住或死機(jī),可以提交e-service,交由MTK處理。
4.在打靜電實(shí)驗(yàn)中,會(huì)概率出現(xiàn)恢復(fù)緩慢的問題,本文介紹所花費(fèi)時(shí)間的構(gòu)成,以及優(yōu)化建議
打靜電后概率出現(xiàn)LCM恢復(fù)緩慢的問題,主要耗費(fèi)時(shí)間分解為
根據(jù)以上時(shí)間分解
在primary_display.c的primary_display_esd_check_worker_kthread函數(shù)中有設(shè)置msleep(2000);
- 對(duì)于Turnkey方案,alps/mediatek/platform/mt65xx/kernel/drivers/video/dsi_drv.c中
- 對(duì)于AOSP方案,alps/kernel/drivers/misc/mediatek/video/mt65xx/dsi_drv.c中
接口DSI_dcs_read_lcm_reg_v2,修改WAIT_TIMEOUT = HZ/2;
總結(jié)
以上是生活随笔為你收集整理的MTK平台LCM打静电分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本科毕业生薪资最高的10个专业,看看你的
- 下一篇: 发明专利,实用新型,外观设计有什么区别