3IAP(在線編程)設(shè)計(jì)
PSD4235G2有2個(gè)內(nèi)部寄存器:頁寄存器(page)和VM寄存器。8位的頁寄存器可使MCU的尋址空間擴(kuò)大256倍,他的內(nèi)容可以由MCU來讀寫。頁寄存器可直接參與PSD內(nèi)部存儲(chǔ)器的地址選擇,在作為頁尋址時(shí)寫入要訪問的頁地址,PSD內(nèi)部地址譯碼邏輯就立刻選中目標(biāo)存儲(chǔ)器空間。另外,在頁寄存器實(shí)現(xiàn)分頁存儲(chǔ)時(shí),應(yīng)該設(shè)置一個(gè)公共存儲(chǔ)器區(qū),即程序在任何頁面位置執(zhí)行時(shí)都能訪問到的空間(或者說是與頁不相關(guān)的地址空間),用于放置初始化程序、中斷服務(wù)程序、頁切換程序以及物理設(shè)備驅(qū)動(dòng)程序等重要子程序。同樣,重要數(shù)據(jù)也應(yīng)當(dāng)在任何頁都可以訪問,例如PSD控制寄存器、I/O、用于保存堆棧和全局變量的系統(tǒng)RAM等。VM寄存器用來分開程序空間和數(shù)據(jù)空間,并把PSD4235G2中主Flash、次Flash和SR AM設(shè)置在不同空間。
在進(jìn)行在線編程時(shí),首先將PSD的次Flash存儲(chǔ)器映射到80C196KC的程序存儲(chǔ)區(qū),將PSD的主F lash存儲(chǔ)器映射到80C196KC的數(shù)據(jù)存儲(chǔ)區(qū),系統(tǒng)從PSD的次Flash啟動(dòng),執(zhí)行引導(dǎo)/下載程序,如果需要的話從上位機(jī)下載程序到PSD的主Flash存儲(chǔ)器;然后,再通過PSD中的VM寄存器,將主Flash存儲(chǔ)器存儲(chǔ)空間從數(shù)據(jù)存儲(chǔ)區(qū)跳變到程序存儲(chǔ)區(qū),轉(zhuǎn)而執(zhí)行Flash存儲(chǔ)器中的程序,從而實(shí)現(xiàn)對(duì)原程序的升級(jí)。
系統(tǒng)的運(yùn)行有2個(gè)基本模式:一個(gè)是引導(dǎo)/下載模式;另一個(gè)是正常運(yùn)行模式。系統(tǒng)啟動(dòng)時(shí)從引導(dǎo)/下載模式到正常運(yùn)行模式轉(zhuǎn)換過程中系統(tǒng)存儲(chǔ)器的變化步驟為:
(1) 上電時(shí)系統(tǒng)存儲(chǔ)器映射
上電時(shí)系統(tǒng)開始執(zhí)行次Flash中的程序,檢查是否要通過MCU對(duì)主Flash中的程序進(jìn)行升級(jí)。此時(shí),PSD中主Flash存儲(chǔ)器存儲(chǔ)空間都處于MCU的數(shù)據(jù)空間,而次Flash存儲(chǔ)空間則處于MCU的程序空間。
(2) 主Flash存儲(chǔ)空間從數(shù)據(jù)空間移至程序空間
在完成對(duì)Flash中程序升級(jí)或不需要升級(jí)時(shí),寫VM寄存器為06H,將主Flash的存儲(chǔ)空間從MCU的數(shù)據(jù)空間移到程序空間。
(3) 切換主Flash和次Flash存儲(chǔ)空間
MCU從PSD次Flash中運(yùn)行程序跳到主Flash中的運(yùn)行程序。在程序?qū)?/SPAN>1到‘swap’位(上電時(shí)‘swap’的值是0)進(jìn)行地址“切換”,程序就進(jìn)入主Flash中運(yùn)行了。
(4) 次Flash存儲(chǔ)空間移至數(shù)據(jù)空間
程序已經(jīng)在PSD的主Flash中運(yùn)行,寫0CH到VM寄存器,把次Flash的存儲(chǔ)空間從MCU的程序空間移到數(shù)據(jù)空間。并且,MCU轉(zhuǎn)跳到在PSD的主Flash的復(fù)位入口地址,用戶的程序開始真正執(zhí)行。
用戶程序啟動(dòng)模塊的流程如圖3所示。
4結(jié)語
PSD4235G2的獨(dú)特結(jié)構(gòu)簡(jiǎn)化了硬件接口電路,為嵌入式MCU系統(tǒng)提供了簡(jiǎn)單靈活的解決方案。其IAP功能使產(chǎn)品可以在應(yīng)用中編程和測(cè)試,并遠(yuǎn)程升級(jí)程序代碼,縮短了產(chǎn)品開發(fā)周期,降低了產(chǎn)品維護(hù)和升級(jí)成本,搶先占領(lǐng)市場(chǎng)。
參考文獻(xiàn)
[1]孫涵芳.Intel 16位單片機(jī)[M].北京:北京航空航天大學(xué)出版社,1999
[2]劉復(fù)華.8*C196KX單片機(jī)及其應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002
[3]孫涵芳.單片機(jī)現(xiàn)場(chǎng)可編程外圍芯片PSD的原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,1998
[4]可編程單片及外圍芯片技術(shù)手冊(cè).
評(píng)論