關於display相關的一些內容—其他雜項

關於display相關的一些內容—其他雜項

  1. 注意屏內的driver IC和panel屏的區別

屏所使用的driver ic的配置需求。一般一款driver IC會用於多種尺寸的多款lcd屏(幾種分辨率),然後driver IC的spec上會列出支持的最大分辨率,最大分辨率以下的其他分辨率可以通過寄存器配置,可以固化在firmware的OTP上。
一般屏幕生產時會把driver IC和panel做成一套。而panel的分辨率是固定某個值。針對這個屏,因爲屏參數固定了,有很多屏內部會有nvram保存固化的參數(即OTP—one time programable存儲方式),這樣driver IC的配置直接根據OTP的參數設置,不需要外面spi進行設置。
如果你們的屏沒有OTP,那麼請給出具體的spi初始化命令和時序。
注意區分文檔是針對此屏內的driver IC的,還是針對屏本身的。

  1. 硬件經驗

在調試S2D13V40 epson圖像校正芯片時,遇到一個問題,就是i2c通信正常(而且VIO電源、vcore電源,其他電源都正常),即能收到S2D13V40的i2c ack迴應,讀寫都有ack,但是寄存器0x02 pid寄存器卻讀取到0x0000的值,示波器測量i2c信號是正常了,各路電源也是正常的,但是讀取寄存器數據就是爲0,寫也報ack,但寫完再讀取,還是0,而不是寫的值,對比datasheet,發現i2c完全按照spec手冊要求的順序和方式,波形測量和數據也是符合datasheet的,但是就是不行,而且lvds顯示也不通。後來檢查芯片外接的晶振,頻率是對的26MHz,但是後來發現晶振的電壓只有1v,而手冊要求是3v左右。也就是對於此芯片來說震不起來,所以function功能部分就工作不正常,雖然i2c部分工作正常,所以讀取都是0.
通過這個經驗,總結就是,如果很簡單的東西,軟件正常,但是就是硬件不工作。由於現在設計的硬件都是分模塊的,所以總線接口io有模塊、功能有獨立模塊。所以你一定要仔細檢查硬件的電源、晶振、等等每一個管腳,看是否正常。對比手冊,不要漏掉一個細節。

  1. aHD信號波形

關於display相關的一些內容—其他雜項

  1. 關於android出現黑屏的問題分析步驟

關於黑屏的問題分析:
1)先檢查黑屏時,背光是否亮,找個暗的地方看。
2)如果背光亮,看屏幕的kernel log,看屏是否mipi dsi初始化出錯,或者屏的上電出問題。
3)如果沒有異常,看看是否因爲home,即android的launcher沒有正常啓動或反覆crash了。導致沒有在framebuffer上畫東西。通過啓動setting可以看到,如果setting應用起來,能出現顯示,那麼就是home本身問題了,或者通過logcat log看。

  1. 關於jpeg壓縮導致各個圖像圖形邊緣出現魔鬼點。

對於jpeg壓縮,需要記住,對於有損壓縮,那麼就會出現圖像的線條旁邊出現魔鬼點,即銳利度不夠,變差。即所謂的圖像細看,線條旁邊出現虛幻的旁條。可以保存圖片,看看壓縮後的原圖是怎麼樣的,再看display panel的顯示是怎麼樣的。 另外看看bmp圖來顯示的效果,做對比。

具體請參考我的免費的linux各種驅動開發課程如下:
https://edu.51cto.com/course/17138.html

另外我的相關培訓視頻請看:
歡迎觀看我發佈的各個課程: https://edu.51cto.com/lecturer/8896847.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章