在調試時,發現M20的430芯片整體處于休眠狀態時的電流消耗為4MA,很不正常,功耗偏大,一般MSP430休眠時,電流為幾個UA,在調試中發現,MSP430的TXD引腳與CH340的引腳電平不匹配,由于將430引腳配置為第二功能引腳,所以該引腳電平一直為高,而CH340 RXD引腳卻是低電平,而且,主芯片與CH340之間橫跨有電阻,所以在休眠時,電流從MSP430引腳流向CH340 RXD引腳,從而產生功耗。 解決辦法:在不通信的時候,將MSP430第二功能關閉,將引腳電平置低。 同時卻引發了另外一個問題:就是在功能切換或則引腳輸出方向變化時,由于CH340無法識別這種模糊狀態,會向串口發送00數據。對通信產生一定的印象。 2011年1月份,同樣解決CH340上述的問題,經過測試發現了上述的真正原因:由于該芯片的電源端接在USB的供電端(5V),所以當拔去USB時,CH340芯片無電源供電,所以該芯片的電壓被倒灌,由于通信的時候,CH340T和主芯片的TXD和RXD都是高,所以出現了,主芯片TXD端電壓3.3V,而CH340的電壓也是被上拉的,只不過因為沒有電源供電,所以CH340的RXD引腳電平為1.2V左右,中間有電阻,所以空了電流。 所以,在1月12日的早上,本人將CH340用內部3.3V供電,而不是USB供電,所有功能都正常,也無端口不匹配的現象。當時出了一個問題,就是整個儀器在LPM3的休眠方式下,功耗卻是100UA,于是我們將CH340的供電斷開,發現功耗只有5UA左右。可以很明確CH340本身耗掉大概90UA,所以我們還是不能用內部電源給CH340供電。 由于通信上傳歷時數據(數據量大),是端口IO功能的切換,導致產生了0X00數據跟在了數據包后面,于是我們采用軟件延時的方法,當歷時數據上傳時,通信時間較長,所以我們延時也稍微長一些。每當有上位機通信的時候,我們就開始計時,并將計時器清零,當計時30S時,我再將端口切換為IO功能,因為USB通信時整個儀器也是USB供電,不消耗內部電源,當通信一次拔去時,也已經耗費5S左右,在后25秒的時候實現切換,節省功耗。
|