JTAG模式下的MPC5554外部FLASH編程的設(shè)計與實現(xiàn)
0 引 言
隨著信息技術(shù)的發(fā)展,嵌入式系統(tǒng)越來越廣泛地應(yīng)用于手機通信、汽車、航空航天、工業(yè)控制等領(lǐng)域。在這些電子產(chǎn)品中,大多以嵌人式微處理器為核心,配套相關(guān)的外圍輔助設(shè)備,對控制對象進行軟硬件的功能剪裁性設(shè)計,并將控制程序固化在非易失性存儲器中。FLASH作為一種存儲速度快,容量大,可多次擦寫并且價格便宜的存儲器得到了廣泛的應(yīng)用。由于有些微處理器內(nèi)部不包含FLASH或FLASH存儲空間太小、擦寫次數(shù)有限,為了提供足夠的程序存儲空間,需要對其進行外部FLASH擴展。JTAG是目前廣泛使用的一種系統(tǒng)在線編程的模式,大大方便了嵌入式系統(tǒng)下載程序至FLASH。該設(shè)計使用的微處理器為MPC5554,通過JTAG接口對外擴FLASH進行編程。
1 MPC5554簡介
MPC5554是Freescale公司推出的采用PowerPC內(nèi)核的一款32位微控制器.屬于MPC5500系列第一代產(chǎn)品,可用于航空航天、汽車、工業(yè)控制等嵌入式系統(tǒng)中。如圖1所示,MPC5554內(nèi)部帶有浮點運算單元,集成DSP運算指令,擁有較高的計算能力,可以滿足多任務(wù)處理和實時控制的要求。MPC5554包含64 KB內(nèi)部SRAM,32 KB Cache,2 MB內(nèi)部FLASH,64路eDMA,24路eMIOS,64路eTPU通道,2路eSCI,4路DSPI,3路FlexCAN,40路12 b A/D(可擴展為64路),中斷控制器,以及JTAG,Nexus調(diào)試接口等功能模塊。MPC5554為416腳PBGA封裝,可在-40~+150℃的環(huán)境下工作,系統(tǒng)時鐘可達132 MHz,中斷延遲小于70 ns(@132 MHz),內(nèi)部邏輯供電1.5 V,輸入/輸出供電3.3 V,5 V,外部總線接口支持1.62~3.6 V操作。
MPC5554提供2 MB可編程、非優(yōu)化內(nèi)部FLAsH,可用于指令存取和數(shù)據(jù)存儲。然而MPC5554內(nèi)部的FLASH為CMF型FLASH,這種FLASH的缺陷是擦寫次數(shù)有限,以擦寫一次為單位計算,MPC5554的內(nèi)部FLASH只能進行100次。對于開發(fā)人員,這種局限性非常不利于開發(fā)階段的程序?qū)懭牒凸δ苷{(diào)試。一種有效方法是擴展外部FLASH,這樣可以在開發(fā)階段將程序?qū)懭胪獠縁LAsH,待程序定版后,只需做稍微修改再寫入內(nèi)部FLASH。此外,當(dāng)控制對象為復(fù)雜的多變量系統(tǒng)時,內(nèi)部FLASH往往無法提供足夠的程序存儲空間,采用外部擴展FLASH就顯得尤為必要。
2 JTAG介紹
JTAG(Joint Test Action Group)成立于1985年,由幾家主要的電子制造商發(fā)起制訂的PCB和IC測試標(biāo)準(zhǔn)。JTAG建議于1990年被IEEE批準(zhǔn)為IEEE1149.1-1990測試訪問端口和邊界掃描結(jié)構(gòu)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)規(guī)定了進行邊界掃描所需要的硬件和軟件。JTAG主要用于:電路的邊界掃描測試和可編程芯片的在系統(tǒng)編程。目前MPC5554中使用的JTAG為IEEE1149.1-2001標(biāo)準(zhǔn)。
評論