本期是幫群友解決的一個問題,及修改建議。
問題描述:
單片機連接仿真器無法正常使用調試器調試程序。提示復位失敗。板子上使用了一顆SGM809的電源監控復位芯片。
問題分析:
SGM809為推挽輸出型的電源監控復位芯片,其在電源穩定后,會輸出150mS的低電平復位信號讓單片機復位,然后再拉高RESET管腳讓單片機正常工作(除非電源有跌落之類的)。
當連接仿真器時,仿真器的連線中包含RST信號管腳,而仿真器下載程序需要釋放一個復位信號(讓程序從某個開始的地址開始跑),但是仿真器這個時候是拉不低復位信號的。因為復位信號已經被SGM809推挽輸出拉高了。搞不好此時復位信號就是半高不低的電平,或者就是高電平,單片機無法正常復位下載程序。
問題解決:
1. 調試的時候將SGM809拆掉,這樣就不會干擾到仿真器輸出的RST信號。
2. 將SGM809替換為SGM803(pin to pin),由于SGM803是開漏輸出,所以他在輸出高電平的時候(由上拉電阻輸出高電平),也不會干擾到仿真器拉低RST信號。
總結:
在使用這種電源監控復位芯片或者是看門狗芯片的時候,可以在RST輸出管腳和單片機的RST管腳處預留0Ω電阻。當需要仿真器調試的時候可以將0Ω電阻拆掉,這樣就可以不干擾調試。或者就是使用開漏輸出的芯片,這樣也可以不干擾調試。