1. 程式人生 > >[筆記分享] [Display] MIPI屏除錯及舉例

[筆記分享] [Display] MIPI屏除錯及舉例

Debug

對於使用MIPI出現的問題,如果Tearing,螢幕錯位等,總結了如下方法:
1. 當Tearing發生時,測量TE訊號,是否和panel重新整理率一致;測量TE和DATA PIN相位是否固定,以確定CPU是否配置好了。
2. 確保lcd的vertical front/back porch 以及 pulse width都是否符合要求了。不正常的值會導致mdp同步工作會不正常。
3. 測量clock是否符合設定要求。測量data訊號是否正常。
4. 一般每個模組都有暫存器狀態可以來讀取以方便開發人員除錯,lcd也不例外,舉例如TE正常工作的時候,有個叫MDP_PRIM_INT_CNT_VAL 的暫存器是用於技術的,來一個TE signal就加一,如果不加那就知道TE同步不正常了。當然,對於其他的registers,如果有需要的話我們可以全部dump出來查詢我們需要的資訊。

花屏舉例

有遇到個別手機開機會一直花屏的狀況,不過將FPC重新扣一下就好了。
從現象上我們只能懷疑是接觸不良,下面利用MIPI的原理來分析這個問題。
用到的知識:

a) 當傳送控制命令的時候,預設都用的模式是LPDT,也就是說只用data0, clock和data 1 pin都沒有用到。
b) 當CPU從panel接收返回的資訊時,用的也只有data0 pin。
c) 在HS mode的時候傳送顯示資料,那麼data 0, data 1, clock將都會被用到。
d) 使用BTA時,CPU將匯流排交給panel,panel driver IC會返回使用者所需要的資料。
e) 另外一點,花屏表示系統已經初始化完成,而顯示資料傳送失敗了,當然傳送失敗可能是CPU沒傳送,或者是PANEL沒接收成功,都有可能。

通過以上d)原理得知,花屏手機表示data0連線正常了.那麼又如何確定clock或者data1連線不成功,而不是其他原因導致的花屏呢。

思路如下:

  1. 傳送command資料也用HS mode來發送,這裡我們以傳送讀取panel driver IC的vendor ID號為command, 所以在HS mode下,command會以clock作同步,在data0和data1上同時傳送。
  2. 觸發BTA事件,這樣,如果傳送command失敗,panel 會返回error report供我們讀取。
  3. 讀取vendor ID, 看是否和文件上規定的值一樣。如果不一樣,那麼就證明發送command失敗了。當然,根據b)原理,排除了讀取失敗的可能。
  4. 現在已經確定clock或 data1 pin有問題了。那麼如何再進一步確認呢? Step 2不是傳送了個BTA嗎,如果傳送資料失敗,會返回error report。對於clock和data連線不同,返回的error report也不一樣。接著再讀取Qualcomm自帶的MIPI暫存器就可知是哪個pin出問題了!

相關推薦

[筆記分享] [Display] MIPI屏除舉例

Debug 對於使用MIPI出現的問題,如果Tearing,螢幕錯位等,總結了如下方法: 1. 當Tearing發生時,測量TE訊號,是否和panel重新整理率一致;測量TE和DATA PIN相位是否固定,以確定CPU是否配置好了。 2. 確保lcd的ve

[筆記分享] [Display] MIPI 協議之DSI

介紹 DSI全稱Display Serial Interface,主要用於顯示模組的一個介面,它基於MIPI協議而產生,基於MIPI協議的還有CSI(camera serial interface), DBI(display bus interface), D

[筆記分享] [eMMC] 核心eMMC分割槽對應名字讀取

Chipset: msm8926 OS: Android4.4 Kernel: 3.4.0 在N久之前的會議上留下了兩個問題: 1. 核心在載入emmc驅動時是如何知道當前有幾個分割槽的? 2. 如何知道/dev/mmcblkXpX對應的是哪個分割槽呢

struts2學習筆記——常見報解決方法匯總(持續更新)

允許 clip 之間 con ack 技術 ext tro height 操作環境:(1)Tomcat 7.0.72.0      (2)OS Name: Windows 7      (3)JVM Version: 1.8.0_25-b18      (4)e

前端學習筆記-8.7stylus全域性引入報解決

最近正在做一個專案,遇到了stylus,全域性引入是個問題。 解決方案: 注意我的工具是windows7,64位,vue2.0,vue-cli,不同環境可能有所差異 初始時: 檔案目錄: 首先要在main.js全域性引入: 網上有很多解決的方案: 1.要

python資料探勘筆記】十八.線性迴歸多項式迴歸分析四個案例分享

python資料探勘課程】十八.線性迴歸及多項式迴歸分析四個案例分享 #2018-03-30 18:24:56 March Friday the 13 week, the 089 day SZ SSMR 1.線性迴歸預測Pizza價格案例 2.線性迴歸分析波士頓房

MIPI介面LCD屏除心得

首先總結一下LCD除錯的三個步驟。 第一、線路連線配置 本人在這裡栽了不止一次。這次要總結一下開關電路。 首先mos管開關電路的識別,那麼先看看什麼是n溝道mos管(借了百度百科的圖) (改天再補圖,

Spark (Python版) 零基礎學習筆記(二)—— Spark Transformations總結舉例

1. map(func) 將func函式作用到資料集的每個元素,生成一個新的分散式的資料集並返回 >>> a = sc.parallelize(('a', 'b', 'c')) >>> a.map(lambda x:

pip報修復

tps all pac pan .gz .cn 現在 span 表示 pip報錯: 修復: wget https://pypi.python.org/packages/3c/ec/a94f8cf7274ea60b5413df054f82a8980523efd712ec

自動化測試工具TW報解決方法

ima -1 需要 1.2 使用 policy 報錯 span 技術 自動化測試工具TestWriter使用時遇到的環境配置問題及解決方法如下,歡迎大家一起溝通交流~ 1.1 TW環境 1.1.1 Agent無法連接至服務器 1) 如果Agent與服務端不在一個網段,需要

最優化學習筆記(五)牛頓法擬牛頓法

div size -a article fonts alt water src jsb 最優化學習筆記(五)牛頓法及擬牛頓法

Hexo 搭建博客 本地運行 常見報解決辦法

render error: 錯誤 exp 手動配置 fig.yml 文件中 size server 作為一名在hexo方面的新手,我在使用hexo編輯文檔時遇到了很多問題,hexo generate編譯的時候遇到了各種錯誤。 在此將這些錯誤及其解決方案記錄下來,以便日後查證

Vue學習筆記進階篇——多元素多組件過渡

之前 bsp lan ssa 當前 好的 can cancel 簽名 本文為轉載,原文:Vue學習筆記進階篇——多元素及多組件過渡 多元素的過渡 對於原生標簽可以使用 v-if/v-else.但是有一點需要註意: 當有相同標簽名的元素切換時,需要通過 key 特性設置唯一

Vue學習筆記進階篇——列表過渡其他

absolut compute top sla 做的 有一個 .cn -s cas 本文為轉載,原文:Vue學習筆記進階篇——列表過渡及其他本文將介紹Vue中的列表過渡,動態過渡, 以及可復用過渡是實現。 列表過渡 目前為止,關於過渡我們已經講到: 單個節點 同一時間渲染

awk詳解舉例

awk AWK語言 v 選項:-F :指明輸入時用到的字段分隔符-v var=value: 定義變量v 分割符、域和記錄 awk 執行時,由 分隔符分隔的字段(域)標記$1,$2..$n稱 稱為域標識。$0 為所有域,註意:和shell 中變量$ 符含義不同 文件的每一行稱為記錄 省略action行 ,

mysql數據庫表字段使用DESC等關鍵字報解決方法

直接 方式 sel max desc base 字段名 字段 方法 <!-- desc是MySQL數據庫的關鍵字,作為字段名直接使用會報錯 --><sql id="Base_Column"> id,mol,ip,port,name,t.desc,m

Python中的字典舉例

python中的字典及舉例字典字典是python中的唯一的映射類型(哈希表)字典對象是可變的,但是字典的鍵必須使用不可變對象,一個字典中可以使用不同類型的鍵值。字典的方法 keys() values() items()舉例如下: In [10]: dic = {} In [11]

KVM使用virt-sysprep -d 清理機器信息報解決方法

版本 centos pass random manager output seed use arch 報錯信息: [root@monitor log]# virt-sysprep -d centos6-raw40 [ 0.0] Examining t

Mysql DBA 高級運維學習筆記-創建mysql用戶授權的多種方法實戰

hang 包括 efm insert 實戰 con let 技術分享 mysql服務器 9.8創建Mysql用戶及賦予用戶權限 9.8.1通過help查看grant命令幫助 1.通過在mysql中輸入“help grant”得到如下幫助信息。 mysql> help

JFinal極速開發框架使用筆記(四) _JFinalDemoGenerator實體類生成映射自動化

checked rem 獲取 fig res ner constant 生成器 項目 運行_JFinalDemoGenerator生成實體類和映射之前的項目結構: 運行之後: 生成和改變的文件: 實體類: package com.wazn.model; import