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