欧美大胆a级视频免费,国产精品日韩经典中文字幕,熟女av一区二区高清区,粉嫩一区二区三区色综合

當(dāng)前位置:首頁(yè) > 攝像頭技術(shù) > 攝像模組
攝像模組

Camera調(diào)試常見(jiàn)I2C問(wèn)題及解決方法

   在嵌入式系統(tǒng),如手機(jī)等平臺(tái)上使用的Camera sensor通常是由類似I2C這樣的總線進(jìn)行寄存器控制,由CPU端的Controller提供所需的驅(qū)動(dòng)時(shí)序,通常支持YUV和RGB等數(shù)據(jù)格式。有的Sensor需要由CPU進(jìn)行圖像處理工作,有的Sensor自己會(huì)集成圖像處理芯片,完成一些基礎(chǔ)的圖像處理工作,還有些高像素的Sensor甚至自己完成JPEG的編碼工作。因?yàn)橛布亩鄻有?,我所遇到的?wèn)題可能和你的原因現(xiàn)象都不盡相同,分析內(nèi)容僅供參考。Sensor端I2C總線沒(méi)有響應(yīng)。
 
癥狀
      
    所有輸入電壓和時(shí)鐘信號(hào)都正常,往I2C總線上寫入讀取寄存器數(shù)據(jù)的命令后,sensor沒(méi)有響應(yīng),沒(méi)有數(shù)據(jù)從I2C總線上輸出。
 
分析
 
    因?yàn)闇y(cè)量發(fā)現(xiàn)一切輸出信號(hào)都正常,所以往往都會(huì)懷疑Sensor硬件存在問(wèn)題,不過(guò)99%的情況,實(shí)際的原因總是因?yàn)镮2C總線的ID值沒(méi)有設(shè)置對(duì),導(dǎo)致設(shè)備不響應(yīng)命令。據(jù)我的觀察,每次一個(gè)新的工程師在調(diào)試Sensor的時(shí)候幾乎都會(huì)遇上這個(gè)問(wèn)題。
 
    之所以這么容易設(shè)置錯(cuò)誤的原因,是因?yàn)橥ǔamera Sensor的Spec上所寫的I2C ID號(hào),還包含了最后一位讀寫方向位。而這一位在I2C總線的定義中,嚴(yán)格來(lái)說(shuō),不屬于ID的一部分,所以Linux I2C的驅(qū)動(dòng)API中的調(diào)用參數(shù)里的ID號(hào),通常是不考慮這一位的,讀寫方向位會(huì)在具體的讀寫操作中,在寄存器中進(jìn)行設(shè)置。

解決
 
    例如Spec上會(huì)寫 讀寫寄存器操作 I2C ID 分別為 064和065,實(shí)際調(diào)用API時(shí)應(yīng)該使用032作為該設(shè)備的I2C ID
 
 
癥狀
 
    與熒光燈的頻閃造成的大面積的滾動(dòng)水平條紋不同,表現(xiàn)出來(lái)的是一個(gè)像素高的水平條紋狀躁點(diǎn),位置不固定,數(shù)量比較多,而且隨光線強(qiáng)弱有一定的變化
 
 
    因?yàn)樵O(shè)置某些sensor寄存器的時(shí)候,會(huì)影響到這些水平條紋的顏色,所以基本上排除是在數(shù)據(jù)傳輸過(guò)程中板子對(duì)數(shù)據(jù)造成的干擾,也排除接觸不良的可能性,應(yīng)該是數(shù)據(jù)在sensor內(nèi)部已經(jīng)存在這些水平條紋。
    此外相同的初始化序列,相同的sensor,在廠商的demo版上也沒(méi)有發(fā)生這種情況,所以也基本排除軟件的問(wèn)題。
    最后,發(fā)現(xiàn)原先為了節(jié)省硬件成本,將sensor的兩個(gè)電壓相同的模擬電和數(shù)字電由同一芯片輸出供給,導(dǎo)致兩者之間互相干擾,影響了sensor的正常工作
 
解決
 
    將模擬電和數(shù)字電分離單獨(dú)供電;
 
圖像上有固定的鋸齒狀垂直條紋
 
癥狀

圖像上有明顯的垂直條紋,全屏分布,非常細(xì)密,好像百葉窗一樣。
 
分析
 
    仔細(xì)看可以發(fā)覺(jué)該垂直條紋實(shí)際上是由于圖像上相鄰的兩兩像素互相錯(cuò)位造成的鋸齒狀條紋
 
    仔細(xì)分析spec可以看到,由于sensor是按字節(jié)送出圖像數(shù)據(jù),在RGB565模式下,兩個(gè)字節(jié)表示一個(gè)像素。而在我所使用的CPU的Camera控制器中,數(shù)據(jù)是按4個(gè)字節(jié)也就是一個(gè)字為單位處理的,由于CPU這端是按LSB方式處理數(shù)據(jù)的,所以在一個(gè)字內(nèi)部,未經(jīng)調(diào)整的話,兩個(gè)像素的順序是顛倒過(guò)來(lái)的。也就是最終由DMA將數(shù)據(jù)送到內(nèi)存的連續(xù)buffer中時(shí),像素的順序是:像素2,像素1,像素4,像素3。。。
 
 
解決
 
    用程序調(diào)整像素順序,為了減少附加計(jì)算對(duì)CPU的負(fù)擔(dān),可以將這一步操作合并在其它類似顏色轉(zhuǎn)換或PACK模式轉(zhuǎn)Planer模式等操作中。! z( q% q( x" C4 ^% P0 T
 
大尺寸時(shí)容易出現(xiàn)圖像錯(cuò)位
 
癥狀
 
 
    當(dāng)sensor工作在最大分辨率的情況下時(shí),圖像容易出現(xiàn)上下錯(cuò)位的現(xiàn)象。
 
分析
 
    跟蹤程序可以看到這時(shí)候CPU的Camera控制器的FIFO緩存發(fā)生了溢出現(xiàn)象,也就是說(shuō)DMA來(lái)不及將FIFO中的數(shù)據(jù)傳送到內(nèi)存中,該例中sensor在最大分辨率的情況下,輸出數(shù)據(jù)的時(shí)鐘工作在24MHZ,理論上說(shuō),DMA應(yīng)該是來(lái)得急傳送數(shù)據(jù)的,但是可能因?yàn)閮?nèi)存帶寬還會(huì)被其它設(shè)備如CPU占用,導(dǎo)致來(lái)不及寫入內(nèi)存,使得DMA沒(méi)有最大負(fù)荷的工作,所以來(lái)不及將FIFO中的數(shù)據(jù)讀出,導(dǎo)致部分?jǐn)?shù)據(jù)丟失,圖像錯(cuò)位。4 j; q* g  T  C/ k9 D6 O- s
 
解決

 
 
    某些情況下,改變DMA傳輸?shù)膯?dòng)闕值可以解決該問(wèn)題,但是有些情況是無(wú)效的
 
    考慮到最高分辨率僅在拍照的時(shí)候使用,預(yù)覽的時(shí)候并不使用該分辨率,所以,在不影響預(yù)覽楨數(shù)的情況下,可以在拍照的一瞬間改變分辨率的同時(shí),修改sensor的時(shí)鐘頻率,降低到一個(gè)不會(huì)導(dǎo)致FIFO溢出的頻率
 
    另外,在截獲最高分辨率的圖像的同時(shí),盡量不執(zhí)行其它的內(nèi)存相關(guān)操作。截獲完圖像馬上切換回預(yù)覽用的分辨率。通過(guò)這些辦法,減少發(fā)生FIFO溢出的可能性。
 
 
讀取到的數(shù)據(jù)顯示出來(lái)的時(shí)候是花屏
 
癥狀
 
    讀取到的數(shù)據(jù)顯示出來(lái)的時(shí)候是花屏,但是明顯是隨著所拍攝的對(duì)象的變化而變化的。
 
分析
 
    具體來(lái)說(shuō),常見(jiàn)的情況包括:
 
    顯示的數(shù)據(jù)是完全的花屏,或者可以看出物體大致輪廓,但顏色完全不對(duì),例如一片綠色。這種情況往往是因?yàn)閳D像數(shù)據(jù)格式不匹配,例如沒(méi)有處理YUV2RGB,YUV的各個(gè)分量采樣順序與軟件計(jì)算的取值順序不匹配等。
 
    如果花屏的具體表現(xiàn)是圖像不斷變換,沒(méi)有規(guī)律,通常有可能是數(shù)據(jù)接收的觸發(fā)邊沿有誤,導(dǎo)致沒(méi)有正確的接收數(shù)據(jù)。8 Q  v* t0 P* R
 
    另外有一次,花屏的時(shí)候,仔細(xì)觀察花屏的圖案,發(fā)現(xiàn)有部分錯(cuò)位重復(fù)的圖案的跡象。因此分析可能是Sensor的物理layout,其長(zhǎng)寬比例與LCD剛好相反,仔細(xì)查看Spec得到確認(rèn)。
 
解決2
 
    具體情況具體處理了。

相關(guān)文章
精彩評(píng)論:
0  相關(guān)評(píng)論
抚远县| 哈密市| 于都县| 改则县| 石泉县| 青海省| 康保县| 腾冲县| 闸北区| 中卫市| 开平市| 绥德县| 新巴尔虎左旗| 玛曲县| 灌南县| 汉源县| 合江县| 富平县| 苍溪县| 黔西县| 嘉义县| 万年县| 阜南县| 额尔古纳市| 滨海县| 台北市| 和田县| 久治县| 定安县| 社旗县| 门源| 渝北区| 郎溪县| 酒泉市| 于都县| 汽车| 怀安县| 徐汇区| 江门市| 古浪县| 昌图县|