最近采用CY7C68013A芯片設(shè)計(jì)了一款產(chǎn)品,其實(shí)內(nèi)部就是一個(gè)51單片機(jī),控制USB通訊。在測(cè)試過程發(fā)現(xiàn)部分電路板上電后,電腦無法發(fā)現(xiàn)新USB硬件,也不提示無法識(shí)別,設(shè)備管理器也沒有UNKNOW DEVICE的提示。經(jīng)過仔細(xì)排查懷疑內(nèi)部的51單片機(jī)沒有工作。
排查了晶振,供電,IO腳等等之后都沒發(fā)現(xiàn)問題,最后懷疑是電路reset有問題。
根據(jù)芯片資料所述:VCC上升時(shí)間不能太快,至少需要200us。在使用無源晶振時(shí),reset復(fù)位時(shí)間必須是在VCC達(dá)到3.0V后大約5MS。若是外部時(shí)鐘的加電復(fù)位時(shí)間大約為200us。

我們一般使用單片機(jī)的時(shí)候,硬件電路中的復(fù)位電路設(shè)計(jì)如下圖所示。此復(fù)位電路是針對(duì)低電平有效復(fù)位而言的,其中二極管是起著在斷電的情況下能夠很快的將電容 兩端的電壓釋放掉,為下次上電復(fù)位做準(zhǔn)備。

電容兩端的初始電壓為U0(一般情況下設(shè)為0V),T時(shí)刻電容兩端電壓為UT。3.3V電壓設(shè)為VCC。
由流經(jīng)電容的電流I和電容兩端的電壓變化關(guān)系式:I=C*dUt/dt
可以得到:I*dt=C*dU t
兩邊分別積分可以的得到:I*T=∫(0-1)C*dUt;即I*T=C*Ut?C*U0
(其中U0=0V),
由VCC=UR+UT 可以得到公式:VCC=R1*(C*UT/T)+UT
對(duì)電容充電至0.9*VCC時(shí)完成復(fù)位,此時(shí)可以得出T=9*RC,T就是所需要的復(fù)位時(shí)間。根據(jù)自己電路中的參數(shù)計(jì)算出復(fù)位時(shí)間
T=900MS;
但實(shí)際過程中采用LOTO的OSCA02示波器的觸發(fā)功能,捕捉正常工作USB電路板上電時(shí)刻復(fù)位信號(hào)的波形狀態(tài);如下圖所示(黃色為電壓VCC波形,藍(lán)綠色為復(fù) 位信號(hào)波形):

觀察波形狀態(tài),正常USB電路板上電時(shí),VCC上升時(shí)間為100US左右,RESET復(fù)位信號(hào)為500US。

無反應(yīng)的USB電路板上電時(shí),示波器捕捉的波形如圖5所示,VCC在100US可從0V上升到3.3V,而RESET復(fù)位信號(hào)上升時(shí)間持續(xù)400MS,而且一直達(dá)不到3.3V。

遇到此現(xiàn)象,使用示波器觀察上電復(fù)位波形和VCC電壓波形之間的延遲關(guān)系會(huì)很有幫助。當(dāng)然使用USB 示波器在電腦上操作也很方便。檢查RESET管腳周圍的電阻和電容等有無虛焊、漏焊等失誤。這次故障應(yīng)該是電容焊錯(cuò),換了一個(gè)電容就正常了,故障排除。
電子發(fā)燒友App






































評(píng)論