在板編程雖然為程序的開發(fā)、調試和升級提供了便利,,但編程接口的設計將會影響編程的效率和質量,,本文將闡述如何設計一個高效、穩(wěn)定的編程接口以及注意事項,。
為了提高芯片程序的可升級性、可維護性,許多系統(tǒng)設計師放棄了傳統(tǒng)的座燒方式,,轉向了新穎的、更加靈活的在板編程方式,,如汽車電子,、電表系統(tǒng),、空調控制板等均采用在板編程。
圖1 汽車電子
圖2 電表
如何設計在線編程才能更快從工程階段轉向生產階段呢,?
首先,,尋找芯片是否自帶編程觸發(fā)管腳。
我們來看一下芯片是如何進入編程模式的,?芯片一般在復位后,,會執(zhí)行Boot程序,該程序通過檢測芯片的編程管腳(如LPC系列芯片的ISP引腳,、STM32的Boot0與Boot1引腳等)狀態(tài),,進入不同的運行模式,如編程模式,,正常執(zhí)行模式等,。該引腳可以通過編程接口提供給編程器控制,也可以通過短路帽或撥碼開關等集成在電路板中,,在芯片需要編程時再手動將其置高或置低,,可以方便生產端進行硬件配置。
圖3 編程短路帽
其次,,芯片復位(Reset)對編程模式的影響,。
進入編程模式一般有兩種方式,第一種通過上電自動復位的方式進入編程模式,,而第二種則通過外部控制RESET復位管腳復位進入編程模式,。有些開發(fā)工程師為了簡化芯片的編程接口,在設計中并沒有引出RESET引腳,,利用上電復位進入編程模式,,此方法雖然簡潔,節(jié)約資源,,但也存在許多不穩(wěn)定的因素,,特別是板子電路比較復雜時,如電容,、電感集合較多,,上電瞬間會出現(xiàn)電源不穩(wěn)定,從而導致在線編程握手失敗,。因此,,接口設計時應盡可能引出芯片的RESET管腳,這樣編程器可以等待上電穩(wěn)定后再控制芯片進入編程模式,,有效避免問題的產生,,如致遠電子P800在線編程器,可以設置上電的時間,,可根據(jù)客戶的現(xiàn)場情況進行調試,,降低失敗率,。
圖4 P800電源設置
最后,電路硬件設計方面的注意事項,。
在對P800的技術支持過程中,,如果注意一下幾點,你的在線編程的失敗率會降低90%:
1,、當板子設計有硬件看門狗時,應將看門狗禁能引腳或“喂狗”引腳引出,,防止芯片在編程時被復位,;
2、使用I2C接口編程時,,為提高通訊的穩(wěn)定性,,接口的上拉電阻不宜過大;
3,、編程引腳需要注意不要連接過大的電容,,如有必要則需要使用跳線帽或其他方式將編程功能和正常功能電路分開,某些需要提供編程高壓的引腳要引出,,可以使用跳線帽或其他方式將編程高壓和正常功能電路分開,;
4、當編程接口使用排針時,,VCC引腳不宜與GND引腳靠得太近,,如圖5所示,當燒錄人員不慎將接口左錯一個位,,此時,,編程器的VCC引腳直接接到芯片的GND引腳,芯片的RXD引腳接到編程器的GND引腳,,結果將直接燒毀芯片的RXD引腳,。為避免此類問題的產生,VCC與GND引腳應分別位于排針兩側,。
圖5 接口左錯一位