最近采用CY7C68013A芯片設(shè)計了一款產(chǎn)品,其實內(nèi)部就是一個51單片機,控制USB通訊。在測試過程發(fā)現(xiàn)部分電路板上電后,電腦無法發(fā)現(xiàn)新USB硬件,也不提示無法識別,設(shè)備管理器也沒有UNKNOW DEVICE的提示。經(jīng)過仔細排查懷疑內(nèi)部的51單片機沒有工作。
排查了晶振,供電,IO腳等等之后都沒發(fā)現(xiàn)問題,最后懷疑是電路reset有問題。
根據(jù)芯片資料所述:VCC上升時間不能太快,至少需要200us。在使用無源晶振時,reset復位時間必須是在VCC達到3.0V后大約5MS。若是外部時鐘的加電復位時間大約為200us。
實踐5圖1.jpg (23.13 KB, 下載次數(shù): 43)
下載附件
2020-6-9 10:56 上傳
我們一般使用單片機的時候,硬件電路中的復位電路設(shè)計如下圖所示。此復位電路是針對低電平有效復位而言的,其中二極管是起著在斷電的情況下能夠很快的將電容 兩端的電壓釋放掉,為下次上電復位做準備。
實踐5圖2.jpg (12.74 KB, 下載次數(shù): 71)
下載附件
2020-6-9 10:56 上傳
電容兩端的初始電壓為U0(一般情況下設(shè)為0V),T時刻電容兩端電壓為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
對電容充電至0.9*VCC時完成復位,此時可以得出T=9*RC,T就是所需要的復位時間。根據(jù)自己電路中的參數(shù)計算出復位時間
T=900MS;
但實際過程中采用LOTO的OSCA02示波器的觸發(fā)功能,捕捉正常工作USB電路板上電時刻復位信號的波形狀態(tài);如下圖所示(黃色為電壓VCC波形,藍綠色為復 位信號波形):
實踐5圖3.jpg (104.31 KB, 下載次數(shù): 61)
下載附件
2020-6-9 10:56 上傳
觀察波形狀態(tài),正常USB電路板上電時,VCC上升時間為100US左右,RESET復位信號為500US。
實踐5圖4.jpg (20.71 KB, 下載次數(shù): 57)
下載附件
2020-6-9 10:56 上傳
無反應(yīng)的USB電路板上電時,示波器捕捉的波形如圖5所示,VCC在100US可從0V上升到3.3V,而RESET復位信號上升時間持續(xù)400MS,而且一直達不到3.3V。
實踐5圖5.jpg (25.41 KB, 下載次數(shù): 40)
下載附件
2020-6-9 10:56 上傳
實踐5圖6.jpg (107.83 KB, 下載次數(shù): 49)
下載附件
2020-6-9 10:56 上傳
遇到此現(xiàn)象,使用示波器觀察上電復位波形和VCC電壓波形之間的延遲關(guān)系會很有幫助。當然使用USB 示波器在電腦上操作也很方便。檢查RESET管腳周圍的電阻和電容等有無虛焊、漏焊等失誤。這次故障應(yīng)該是電容焊錯,換了一個電容就正常了,故障排除。
|