一種實(shí)用的PIC編程器的設計
摘要 介紹一種簡(jiǎn)便實(shí)用的PIC編程器實(shí)現方案。設計思想是:以單片機作為主控機,欲寫(xiě)入的PIC程序代碼存放在主控機中,由主控機提供PIC芯片編程所需信號,并監測整個(gè)編程流程。在時(shí)鐘脈沖信號作用下,把代碼寫(xiě)入PIC的Flash中以達到對芯片編程的目的。該方案可以在脫離PC的環(huán)境下運行,適用于對批量的PIC芯片進(jìn)行編程。
關(guān)鍵詞 PIClOF202 串行編程 89C51
隨著(zhù)工業(yè)生產(chǎn)的擴大,存在著(zhù)對同一型號芯片進(jìn)行相同代碼編程的需要。目前采用的編程方式是通過(guò)專(zhuān)用的編程器來(lái)執行,其編程過(guò)程離不開(kāi)PC機。在對一定批量的芯片編程時(shí),操作比較煩瑣,保密性能差,且難以在工業(yè)現場(chǎng)進(jìn)行。
本編程器設計簡(jiǎn)單,操作方便,保密性好,易攜帶,需要的外部設備少。編程器以PIClOF202為例進(jìn)行設計。PIClOF2xx系列是 Microchip公司生產(chǎn)的低功耗,高性能Flash單片機。其封裝小,易于使用,成本低。性能穩定,在通用電子設計中被廣泛使用。本設計的基本思想適用于其他類(lèi)型的單片機。
1 PICl0F2xx的存儲結構及編程方法
1.1 存儲空間映射
以PICl0F202為例,其內部程序存儲空間映射如下:
0000H~0lFFH是用戶(hù)可以使用的代碼存儲空間,0200H~03FFH是系統的配置空間。其中01FFH單元是復位向量,系統復位后程序指針PC 將指向此地址單元。0200H~0203H是用戶(hù)ID信息存儲區間。0204H地址單元存放的是備份的OSCCAL值,被預留用來(lái)測試內部晶振,因此該值在任何情況下都不應該被更改。一旦被擦除,必須恢復該值,否則芯片不能正常工作。03FF地址單元存放系統的配置字,其他地址單元系統保留。
1.2 芯片編程方法
采用串行在線(xiàn)編程的方式,串行時(shí)鐘信號由主控單元的I/O口發(fā)出,從PIC的時(shí)鐘引腳ISCLK輸入。在串行時(shí)鐘信號作用下,串行數據從數據引腳ISDAT輸入/輸出,完成對芯片的Flash的代碼寫(xiě)入。
只有在進(jìn)入編程模式后,PIClOF202才能允許對其存儲空間的操作,如圖l所示。當保持ISDAT(串行數據輸入端)和ISCLK(串行時(shí)鐘輸入端) 為低電平時(shí),VCC(芯片電源)上升到高電平。經(jīng)tl延時(shí),MCLR(編程模式選擇端)上升到高電平,再經(jīng)t2延時(shí),開(kāi)始時(shí)鐘脈沖和數據的輸入/輸出。此時(shí)PIClOF202進(jìn)入編程模式。
2 系統硬件結構
系統邏輯框圖如圖2所示,由主控機、控制模塊、監控顯示模塊和目標芯片組成。主控機選用89C51單片機,用單片機的2個(gè)I/O口分別提供ISDAT和 ISCLK信號;目標芯片即PIC。PIC的MCLR端為編程模式選擇端。為了讓PIC10F202能夠進(jìn)入編程狀態(tài),需要由控制模塊實(shí)現對MCLR端的電平控制。監控顯示模塊用于指示目前系統的工作狀態(tài)和監控系統運行。
評論