|
查一下OLED的資料與spec,知道要點亮OLED需要用鋰電池提供3.3V和10V兩個電壓,3.3V為晶片驅動電壓,10V為圖元點亮電壓。初步選用NCP1406提供10V,週邊電路有一個6.8uH的電感,和一個MBR0520和幾個電容電阻。 XC6204 提供3.3V,週邊只有兩個電容。而OLED與外部的通訊用的是IIC,我用AVR單片機發通訊指令,我的資料線的電平是5V,OLED的是3.3V.又需要一個GTL2002做通訊電平轉換。大概思路理順後,就開始學Protel 99E,用它來畫電路圖,做各種封裝,生成網路表,走線。最後給PCB廠家做板,我就寫程式。10天后,板子回來了,我的程式也寫好了。開始焊板,由於為了讓板子儘量小,我布的是雙面板,而且大都用的是0402的封裝,這一回再次考驗了一次我的焊接術。一個拇指大小的板子,我足足焊了一整天。而一些引腳特密的像OLED等都是求我們另外一個硬體工程師幫我焊的。 ( q- D3 p' a% x6 b5 z3 G
) X, Q1 `% ]9 I; u! c6 U呼呼焊完板後,燒進程式,沒有反應。我就在程式上找原因,反反復複的調試,未果。這時同事建議我不要只在軟體上找原因,要確保硬體的正確性。我就又開始測硬體,經理過來幫忙測試,結果把我頭天辛苦焊到23點的元器件都給拆了。555。最後發現那個6.8 uH的電感沒有起作用。這時要麼換晶片要麼換電感,但是都需要一定時間。於是就直接用DCPower供電。並發現OLED的1腳位置定反了。重新試過,還是不亮。找OLED廠家的技術支援,又重新仔細的看了看spec,知道了這個晶片工作前是要reset的。如果不reset,它就不會工作。開始用一個電容與一個電阻做一個簡單復位,依舊是沒有什麼反應。實在是找不到什麼原因了,就在一籌莫展的時候,它奇跡般的突然亮了。“奶奶的。”究其根源,原來是我將reset的時序弄錯了。應該是先reset再運行程式,我卻給它先運行程式再reset , I/ I' b$ A6 Q7 o
鬼才會亮。點亮後顯示數位與字元就很簡單了,一天搞定。
6 T& b: o- V3 d, I8 T' r) R# r5 V, ?1 V0 |! G l
這時就要想法讓電池供電了,不能總是帶著兩個大DCPower去檢測呀,那個10V的IC最終決定用TC1044S替代。問經理要把這個OLED顯示檢測設備做成什麼樣的呀,他說了一句非常經典的話:你想怎麼玩,愛怎麼玩,就怎麼玩吧!這就是他的領導風格,從不約束我們的思想,總是儘量的讓我們依著自己的想法去做事。很慶倖遇到這樣的經理。於是我就窮盡所思地去設計這塊板。當然我的硬體功底不行,我就頻頻去請教我們的硬體工程師,他更是知無不言言無不盡,經常是你問他一個問題,他會連帶著把周圍20公里以內的東西都告訴你。唉,小女子真是三生有幸,怎麼竟遇到這些優秀的同事呀。對他們給予我的莫大幫助我真的是感激涕零,發自肺腑的...
, ]: t* T- S% ~1 G; O9 X% e: r- W0 E; U* M1 X: m
|
|