手机Camera 模组及VCM 与VCM Driver 介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

手機Camera模組及VCM與VCMDriver介紹尚立高級工程師AladdinE-mail:aladdin_lin@sunnic.com前言•在協助客戶調整AF時,常發現Camera內的對焦鏡片完全不動,根本無法調AF,會造成對焦鏡便完全不動的原因有三,一是Camera模組內的VCM故障,二是外掛的VCMDriverIC故障,三是VCMDriver程式有問題,前兩問題屬於H/W,第三個問題屬於F/W,針對這三個問題,所以分三個部分介紹,分別是Camera模組,VCM模組,VCMDriver。Camera模組•首先先介紹Camera模組Camera模組•Camera模組實體圖Camera模組•其中包括Lens,VCM,底座之架,Sensor,DriverIC(有些模組內建),PCB及FPC輸出接口Lens模組•接著討論Lens的光學規格•LensElements表示Lens的對焦鏡片由幾層組成,越多片則對焦越精確,但厚度及製程也使考慮的因素•ViewingAngle:表示鏡頭的可視角度,可視較度越大越好,但一般都低於90°•FNumber:表示光圈值,在手機Lens使用固定光圈•BlueGlass:因藍色有較高的穿透率,所以濾光片(IR-Cut),多使用Blueglass•TVDistortion:鏡頭扭曲度,越小越好Lens模組•Lens光學規格濾光片(IR-CUT)•紅外吸收濾光片,主要功能為吸收紅外線波長,可修正Sensor色偏現象,避免紅外線的干擾,最好使用藍玻璃,因為藍色波長有較高的穿透率,如果波長穿透率低,會因光線某些顏色無法穿透而產生色斑,雖然後端可以做Colorshading的補償,但是補償還是有一定的極限,所謂一分錢一分貨,建議最好使用藍玻璃的IR-Cut。FPC(FlexCable)•一般Camera模組有32pins,其中包括MIPI,Power,VCMcurrent,I2C….等,但這些腳位要如何跟手機主板上的Connector做聯接,就需透過FPC,有時因Sensor電壓的問題,會在FPC上幾個LDO做為電壓轉換,所以FPC又稱為軟板,另外Camera模組的pin腳編排跟跟主板不一定完全一樣,所以一般FPC需個別LayoutCamera模組應注意事項•1.FPC排線一定要Layout對,Camera傳輸Data使用MIPI模式,所以Layout決定信號傳輸的好壞•2.Camera模組有3組電壓分別為1.2V,1.8V,2.8V,這三組電壓一定要穩定,這決定Sensor動作,並影響Camera模組的使用壽命•3.Camera模組有其PowerOn/Off的PowerSequence,在程式一定要設對,不然會出現不可避免的誤動作•PS:手機相機模組又稱為CCM(Cell-phoneCameraModule)PowerSequence•Powersequence範例:VCM(VoiceCoilMotor)•原理:根據弗萊明左手定律,通過線圈導電後橫切磁場的磁力線,從而產生一帶動鏡頭向上的力,通過這種值限運動的方式來達成區動透鏡進行自動調焦的一個目的VCM(VoiceCoilMotor)•VCM主要構成為一環狀永久磁鐵,線圈及上下兩片彈簧,當通電後產生的力,使用虎克定律,讓彈簧做規律的移動,來達到微距移動整個鏡片,進而改變焦距,以達到對焦的目的VCM(VoiceCoilMotor)•VCM組成架構VCM(VoiceCoilMotor)•VCM實體VCM(VoiceCoilMotor)•既然VCM是通過電流來讓透鏡移動,但通過多少電流透鏡移動多少呢?Camera模組廠會提供一VCMPerformance,讓VCMDriver控制VCM(VoiceCoilMotor)•Download與Upward為透鏡後退或前進電流與距離的曲線圖•在曲線圖都有最低驅動電流及最大移動位置,如Upward最低驅動電流為24mA表示起始電流,而最大移動位置為0.22mm,對照下來電流為74mA•所以對照下來線圈通過24mA~74mA為VCM工作電流,0~0.22mm為透鏡移動範圍VCM(VoiceCoilMotor)•公式運算:如果把移動距離分為1024Step,方便計算AF對焦的位置,以下為計算範例•移動1Step需多少電流?•((74-24)/1024)+24=24.048mA,通常24mA為起始電流,設為固定值,所以1Step的電流變化量為0.048mA為一變數•1Step時透鏡移動多少距離?•0.22/1024=0.00021mm=0.21umVCM(VoiceCoilMotor)•至於目標物在多遠而透鏡移動到哪個位置最清楚,這就需要Lens廠提供資料及AF程式計算修正,以下是Lens廠提供資料VCMDriverIC•要如何提供這微小的電流變化來控制VCM來移動透鏡,這就需要VCMDriverIC,VCMDriverIC是使用I2C控制,先不考慮AF程式是如何寫,當AF找到焦點步數時,會利用I2C讓DriverIC輸出電流給VCM,VCM再移動透鏡到達實際的對焦位置。VCMDriverIC•VCMDriverIC範例VCMDriverIC•因VCMDriverIC是使用I2C控制,每個I2C的零件都有一個專屬的Address,這是很重要,有很多VCMDriver不會動都是Address設錯,通常VCMDriverWriteAddress為0x18,而VCMDriverReadAddress為0x19,目前手機通常有前後鏡頭,但由於前後鏡頭不會同時動作,所以VCMDriverAddress可以一樣,但需使用GPIO切換Camera模組即可,但有些新型手機後鏡頭使用2個以上的Camera模組,並且要同時動作,在VCMDriverAddress設計上就要注意。VCMDriverIC•範例:I2CAddressVCMDriverIC•再來就是使用I2C控制VCMDriverIC內的Register動作,以下只是某顆VCMDriverIC的Register範例VCMDriverIC•除了DATA_M,DATA_L這兩個register讓VCMDriverIC輸出電流來控制VCM推動透鏡移動,屬於動態register,其餘都是InitialRegister,根據VCMDriver廠商對這個Camera模組的VCM而實驗出的Initial值,在程式起始時設進去就好,下面會解釋這些設定的功能。VCMDriverIC•首先介紹D[9:0]:DACdatainput,計算公式為(D[9:0]/1023)X100mA,每個DriverIC不同,要注意•程式要如何設計呢?範例:起始電流為24mA,在透鏡21um為最佳對焦點•首先先算出起始電流(Ds/1023)x100mA=24mA,所以Ds為245=0xF5•透鏡21um,電流變化量為4.8mA(查VCM表)•(Dm/1023)x100mA=4.8mA,Dm為49=0x31•所以程式需先將0xF5寫到DACregister,然後再將0x31寫到DACRegisterVCMDriverIC•其他指令說明•1.PD(PowerDown)•當設為”1”時將這DriverIC“PowerDown”,這是當沒有使用Camera或是使用另外的Camera需將VCMDriverIC做PowerDown動作VCMDriverIC•2.UVLO_ENB,OCP_ENB這兩個指令是做保護功能,為UnderVoltagedetection與OverCurrentdetection也就是過低的電壓或過高的電流進入,DriverIC要不要動作,最好使用default,將這兩個指令EnableVCMDriverIC•3.S[2:0]:SAC(SmartActuatorControl)mode,這是設定電流輸出是否要有智慧性動作,有Directmode(指令),LSC(LineSlopControl,線性),及6種SACmodeVCMDriverIC•關於Direct與LSCschemeVCMDriverIC•SAC(SmartActuatorControl)SchemeVCMDriverIC•SAC(SmartActuatorControl)SchemeVCMDriverIC•為什麼要有SAC(smartactuatorcontrol)?•當控制透鏡從100Steps到300Steps,而這200Steps的距離透鏡要如何動作,可以直接Direct(指令),或是Linear(線性)的方式運動,當然也可以SAC(智慧)運動,因為VCM控制透鏡移動是一種物理原理,哪種運動是最好的?這就需Lens廠與VCM廠給資料,如果設得不好可能會影響VCM及Lens的壽命。VCMDriverIC•4.SW:Switchmode•1:Linearmode•2.Switchmode(Default)•都會設為Switchmode(Default)VCMDriverIC•5.DRV[1:0]:SoftSwitchOption•這個意思可能是做完一次AF後,會關掉VCM固定透鏡的模式,確實用法還在查VCMDriverIC•6.SWF[3:0]:SwitchFrequency•這有可能是做完AF後到下一次做AF在VCMSwitch所需的時間,需要VCM廠商提供VCMDriverIC•7.DIV[1:0]:StepPeriodDivider(Pre-scaler)forLSCmode&SACmode•這是當將透鏡移動設為LSC或是SAC模式時,在移動時的時間因素,可設為2倍,1倍,½倍,¼倍VCMDriverIC•8.SACT[5:0]:設置LSC或SAC移動時間VCMDriverIC•9.FLAG:這個VCMDriver有3各唯獨得旗標變數,分別是OCP_M,UVLO_M及FG•OCP_M如果變為”1”表式電流Over,UVLO_M如果變為”1”表示電壓Under,當這兩種情形其中一種發生會將FG變為”1”,表示禁止”DATA_M”和”DATA_L”被寫入值,也就示禁止輸出電流變化。VCMDriverIC•VCMDriverIC與ISP及VCM接法VCMDriverIC•了解VCMDriverIC的Register就可以寫VCMDriver程式了,因為Register不多,所以控制程式通常幾十行就解決,為什麼有時程式不會動呢?通常是用錯程式,每家廠牌的Register位置功能都不一樣,一套Driver程式是不能通用所有DriverIC,還有在Register有一些Initialvalue,這些必須VCMDriver廠拿各產牌的Lens及VCM做實驗找出一組最佳的值,如果這些InitialValue沒設對,對焦透鏡也是不會動或動起來不準。VCM控制程式•要如何撰寫控制程式呢?說真的VCMDriverIC廠都會提供F/W,搭配VCMDriverSpec.及Camera模組Spec.有點F/W基礎應該可以看得懂,在Register除了計算電流的設定值外,其他都是initialvalue,如果客戶自行更換VCMDriverIC,要協助寫控制程式,如果有提供VCMdriverSpec.可以協助設I2CAddress及VCM電流Data換算外,有一些initial還是需VCMDriver廠商提供,自己設不一定會設到最好,還有可能會造成VCM誤動作,到時真得很難Debug。結論•Camera模組及VCM與VCMDriver介紹完成,其實Camera模組還有一很重要的零件那就是Sensor,所以還為針對Sensor整理出一份詳細技術報告來敘述。Thankyou

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功