郭建昌
(1.南陽理工學院,河南 南陽 473000;2.中國礦業大學(北京)機電與信息工程學院,北京 100083)
鋰電池在便攜式電子設備中應用廣泛,電源軟開關技術也與之配合在便攜式電子設備中廣泛應用。如手機,同一個按鍵能實現開機和關機功能,與直接采用機械開關實現電源的開和關完全不同,而是采用電子開關和MCU(微控制單元)配合來實現便攜式電子設備的電源開關。同時便攜式電子設備中的MCU大多采用ISP(在系統可編程)和JTAG(聯合測試行動工作組)技術來實現程序的下載。二者的應用相當成熟,目前市場上常見的51單片機中基本上都采用ISP實現程序下載,功能更強大的一些51單片機、AVR單片機和ARM采用JTAG技術來實現程序下載。
在實際工程應用中,鋰電池、電源軟開關技術和JTAG、ISP結合在一起實現程序下載會出現無法實現下載或者燒毀DC/DC(直流轉直流)電源芯片的故障。筆者基于工程開發中兩例程序下載故障問題的分析,提出一種基于JTAG和ISP的新型編程電路,通過工程應用驗證,能有效解決下載中的兩類問題。
在線可編程下載電路故障模型包括基于JTAG和基于ISP兩種,二者雖然模型不同,但電路中都包括鋰電池、電子開關、DC/DC、MCU和下載電路,采用電源軟開關設計。
電源軟開關電路原理如圖1所示,包括鋰電池、電子開關、DC/DC電路、MCU和電源按鍵或觸發電路。觸發電路可以是另外一個MCU或者一個系統,比如上位機。電源軟開關電路工作原理如下:按下電源按鍵或由觸發電路觸發,電子開關使能端有效后打開,鋰電池給DC/DC電路供電,實現需要的電壓,包括多電壓系統,可以采用多個不同輸出電壓的DC/DC,MCU實現上電啟動,啟動后給電子開關一個有效使能信號,此時不管電源按鍵或觸發電路對電子開關使能端是否有效,電子開關使能端由MCU控制,一直保持有效,鋰電池實現對整個系統的供電。需要關閉電源時,只需要給MCU一個關閉電源觸發信號即可,觸發源可以是電源按鍵,就如手機的電源開關,也可以是可視界面中的系統關機菜單,或者應用程序中的關機菜單。

圖1 基于鋰電池的嵌入式軟開關原理
基于JTAG的在線可編程下載電路故障模型是在設計基于ARM9和WinCE的便攜儀中出現的[1],電路下載原理如圖2所示。故障現象是通過JTAG接口無法實現bootloader程序下載,但如果ARM9中已經有bootloader程序則可以通過JTAG接口實現系統下載。通過分析電路原理圖和實際測試確認是電源電路中針對JTAG下載設計不完整導致,主要是電源軟開關電路的設計。JTAG下載時是先連接好JTAG下載器,按下電源鍵然后進行下載。無法下載原因是電路由JTAG通過電子開關供電,ARM9中在沒有bootloader程序時按下電源鍵無法實現對電子開關的使能控制,也就是說ARM9沒有實現供電,所以無法下載,但bootloader下載后就可以實現對電子開關的使能控制,所以通過JTAG能實現后續WinCE系統的下載。這種故障現象可采用一個臨時辦法解決:下載bootloader時一直按著電源鍵,使電子開關使能端強制有效,直到下載完畢。因為這種下載只在生產完成后下載一次即可,正常使用中不需要,但不熟悉的測試工程師就會面臨麻煩,也不符合電子電路設計規范。

圖2 基于JTAG的在線可編程下載電路原理
基于ISP的在線可編程下載電路故障模型是在設計基于AVR(ATMEL8L)單片機的電力線接地監測節點中出現的[2],電路下載原理如圖3所示。故障現象是多次下載程序后無法下載,最終確認是電源電路中DC/DC芯片燒毀,輸出管腳對地短路。換上新的DC/DC芯片后能正常下載,但多次下載還是出現同樣的故障。通過分析后確認是由于下載電路ISP的電源VCC直接給AVR供電,電源VCC與DC/DC輸出連在一起,也就是說下載電源不經過軟開關的電子開關、DC/DC電路,同時下載電源電壓為5V,這樣形成DC/DC輸出電壓比輸入電壓高的情況,長時間就導致DC/DC芯片燒毀。

圖3 基于ISP的在線可編程下載電路原理
上面兩類分別為MCU在下載時不能使能電子開關和在DC/DC后直接給MCU供電導致DC/DC芯片燒毀。基于工程實踐,筆者設計出一種新型的基于鋰電池的嵌入式電源軟開關電路,能解決這兩類下載問題,電路模型原理如圖4所示。

a. 高電平使能控制有效

b. 低電平使能控制有效
電子開關使能控制分為高電平和低電平有效,如果是高電平使能控制有效,則新型電路如圖4a,在圖1的基礎上增加兩個二極管D1和D2。該電路的工作原理為:正常使用時通過D1反向截止,使鋰電池不能控制電子開關使能端,這樣保證電子開關的使能功能不受影響;通過D2反向截止,使電子開關使能控制信號不影響鋰電池的供電;也就是說通過D1和D2,正常使用時該電路不影響基于鋰電池的嵌入式電源軟開關電路的功能。下載程序時,下載電路通過JTAG或者ISP方式下載,通過D1下載器電源作為電子開關的輸入;通過D2強制電子開關使能端在整個下載過程中一直有效,從而實現電子開關的使能控制。該電路解決了程序下載中軟開關中MCU不能啟動控制電子開關的問題,同時因為采用下載器通過電子開關、DC/DC實現系統供電,不存在電源匹配的問題,特別是存在多電源的系統也沒有問題,也就不存在直接給MCU供電時燒毀DC/DC芯片的問題。如果電子開關是低電平使能控制有效,則可在圖2的基礎上,在D2后增加一個反相電路,比共射極反相電路或非門電路;也可在圖3的基礎上增加一個電阻R,電子開關使能端由下載電路地(GND)控制(圖4b)。需要注意的是,此處的R一般建議采用1kΩ,不能去掉,否則電子開關使能端直接接地,不再受MCU控制。
這種新型編程電路在改版后的WinCE便攜儀和基于AVR單片機的電力線觸地監測節點中得到了應用,很好地解決了下載中存在的問題。
基于AVR單片機的電力線接地監測節點中軟開關、ISP下載電路如圖5所示[3]。電子開關采用AAT4610,輸入端為鋰電池VBAT,使能端ON高電平有效,其使能控制由上位機來實現,DC/DC采用TPS79330,獲得AVR單片機ATMEL8L的工作電源為3V。ISP下載電路應用了設計的新型下載電路,下載電路提供的電源VISP通過二極管D1與VBAT連接,這樣下載中鋰電池拔出與否都可以,VISP通過D2與電子開關ON端連接,這樣下載過程中ON保持有效,不需要上位機電源使能控制來配置。這樣的新型下載電路,不管在什么狀態下都可以直接實現程序下載。通過工程實際應用,該方法達到設計目的,沒有出現無法下載和燒毀DC/DC芯片的情況。

圖5 基于ISP的新型編程電路
基于JTAG和ISP的在線可編程下載新型電路雖然只在常規電路中增加了兩個二極管或一個二極管、一個電阻,但解決了基于鋰電池的嵌入式電源軟開關電路與基于JTAG和ISP的在線可編程下載電路的故障,此電路原理具有通用性,使JTAG在下載中不用考慮額外的操作,便于不同嵌入式工程的調試,同時使ISP下載方式也更加便捷,不用考慮軟開關的強制打開問題,特別是沒有
按鍵而是由另外電路控制的電子開關。