探究MPC82XX的UPM方式應(yīng)用
引 言
本文引用地址:http://m.butianyuan.cn/article/149887.htmMPC82XX是Freescale公司繼MPC860之后推出的一系列高性能通信處理器中性能價(jià)格比十分出色的一款,它具有獨(dú)立的64位數(shù)據(jù)總線和32位地址總線,獨(dú)立的32位PCI2.2總線接口,豐富的外設(shè)接口(MII、I2C、SP、USB、UART等),足夠的用戶可自定義的GPI0。MPC82XX的這些技術(shù)特點(diǎn)使它非常適合于應(yīng)用在某些既具有多樣通信接口又具有一定計(jì)算和控制功能的自動(dòng)化智能設(shè)備中。新型涉及能方便的嵌入到其它裝置中的帶控制功能的低壓電力載波通訊處理器,提供了與外界聯(lián)系的信號(hào)采集接口、控制輸出接口、通訊接口等多種接口,自身就可以完成對(duì)外部信號(hào)的采集、計(jì)量、控制、通訊轉(zhuǎn)發(fā)等功能,既可以是一個(gè)獨(dú)立的用低壓電力線作通訊信道的數(shù)據(jù)采集、計(jì)量、控制、通訊轉(zhuǎn)發(fā)產(chǎn)品,又可以作為電力載波通訊調(diào)制解調(diào)單元嵌入到其它產(chǎn)品中,線路簡單,性能穩(wěn)定,抗干擾能力強(qiáng),信息傳輸精確,沒有可調(diào)元件,易于批量生產(chǎn)。
在此類自動(dòng)化智能設(shè)備的開發(fā)設(shè)計(jì)過程中經(jīng)常遇到的一個(gè)問題是總線器件的擴(kuò)展。對(duì)于地址總線和數(shù)據(jù)總線分開的器件,例如常見的STl6C554、NOR Flash等,MPC82XX提供了8路用戶可自定義地址區(qū)間的片選信號(hào),采用GPCM(General—Purpose Chip—Select Machine)模式可以非常方便地進(jìn)行掛接。
總線(Bus)是計(jì)算機(jī)各種功能部件之間傳送信息的公共通信干線,它是由導(dǎo)線組成的傳輸線束, 按照計(jì)算機(jī)所傳輸?shù)男畔⒎N類,計(jì)算機(jī)的總線可以劃分為數(shù)據(jù)總線、地址總線和控制總線,分別用來傳輸數(shù)據(jù)、數(shù)據(jù)地址和控制信號(hào)??偩€是一種內(nèi)部結(jié)構(gòu),它是CPU、內(nèi)存、輸入、輸出設(shè)備傳遞信息的公用通道,主機(jī)的各個(gè)部件通過總線相連接,外部設(shè)備通過相應(yīng)的接口電路再與總線相連接,從而形成了計(jì)算機(jī)硬件系統(tǒng)。在計(jì)算機(jī)系統(tǒng)中,各個(gè)部件之間傳送信息的公共通路叫總線,微型計(jì)算機(jī)是以總線結(jié)構(gòu)來連接各個(gè)功能部件的。當(dāng)總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個(gè)器件要與目的器件通信時(shí),發(fā)起通信的器件驅(qū)動(dòng)總線,發(fā)出地址和數(shù)據(jù)。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數(shù)據(jù)。發(fā)送器件完成通信,將總線讓出(輸出變?yōu)楦咦钁B(tài))。
但是當(dāng)遇到某些數(shù)據(jù)總線與地址總線復(fù)用的器件,如CAN總線驅(qū)動(dòng)器SJAl000等,或者某些控制時(shí)序比較特殊的器件,在這些情況下一般的做法是通過增加CPLD進(jìn)行數(shù)據(jù)總線、地址總線和控制總線的時(shí)序和邏輯轉(zhuǎn)換,以滿足特定的要求。但是它的缺點(diǎn)也是顯然的:首先,增加了CPLD這種占PCB面積較大的芯片,同時(shí)還需要提供燒寫CPLD的JTAG接口;其次,增加了CPLD軟件的開發(fā)和維護(hù)工作。
1 UPM的特點(diǎn)
1.1 接口信號(hào)及時(shí)序控制
MPC82XX的UPM接口信號(hào)線如表1所列。
其中,GPLx、CSx的時(shí)序用戶可以自定義,它們最小可調(diào)整時(shí)序間隔為1/4個(gè)總線時(shí)鐘周期。同時(shí)地址總線和數(shù)據(jù)總線的時(shí)序也可作一定程度的修改,以適應(yīng)各種不同的應(yīng)用場(chǎng)合。
MPC82XX具有3個(gè)UPM,GPLx信號(hào)為各UPM所共用,每一個(gè)UPM對(duì)應(yīng)一個(gè)由64個(gè)字(32位)組成的RAM陣列,RAM陣列中每個(gè)字對(duì)應(yīng)一個(gè)時(shí)鐘周期內(nèi)總線上各信號(hào)的狀態(tài),同時(shí)可以通過設(shè)置LOOP位或者RE—D0位進(jìn)行時(shí)間上的擴(kuò)展,以適應(yīng)某些慢速設(shè)備。UPM每個(gè)狀態(tài)序列的結(jié)束由LAST位確定。
1.2 劃分基本操作
根據(jù)要掛接的芯片的基本操作,對(duì)UPM的RAM陣列進(jìn)行分割,即在適當(dāng)?shù)奈恢迷O(shè)置LAST位,以形成幾個(gè)基本微操作,如讀寫等。每次需要UPM進(jìn)行某項(xiàng)操作時(shí),先將該操作在RAM陣列中的起始地址寫入U(xiǎn)PM控制寄存器MxMR,RAM(隨機(jī)存取存儲(chǔ)器)RAM -random access memory 隨機(jī)存儲(chǔ)器。存儲(chǔ)單元的內(nèi)容可按需隨意取出或存入,且存取的速度與存儲(chǔ)單元的位置無關(guān)的存儲(chǔ)器。這種存儲(chǔ)器在斷電時(shí)將丟失其存儲(chǔ)內(nèi)容,故主要用于存儲(chǔ)短時(shí)間使用的程序。 按照存儲(chǔ)信息的不同,隨機(jī)存儲(chǔ)器又分為靜態(tài)隨機(jī)存儲(chǔ)器(Static RAM,SRAM)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Dynamic RAM,DRAM)。接下來的操作對(duì)于用戶來說相當(dāng)于是透明的,只需要進(jìn)行簡單的賦值操作即可,總線時(shí)序?qū)⒂蒛PM來控制。
下文將以利用UPM掛接兩種常見的芯片為例進(jìn)行詳細(xì)說明。
2 擴(kuò)展CAN總線驅(qū)動(dòng)器
在工業(yè)控制領(lǐng)域,CAN總線應(yīng)用相當(dāng)廣泛,SJAl000是最常見的CAN總線驅(qū)動(dòng)器,利于MPC827X的UPM模式可以很好的掛接總線復(fù)用的SJAl000芯片。
2.1 硬件連接
MPC82XX利用UPM掛接SJAl000的連接如圖l所示。
在該應(yīng)用實(shí)例中,SJAl000的讀寫信號(hào)和地址有效信號(hào)均由GPL提供,74LVC245用于完成5 V邏輯和3.3 V邏輯的轉(zhuǎn)換。
2.2 設(shè)計(jì)要點(diǎn)
對(duì)SJAl000的操作可以分為讀數(shù)據(jù)和寫數(shù)據(jù)兩個(gè)基本操作,同時(shí)SJAl000是總線復(fù)用器件,待讀寫數(shù)據(jù)的地址必須先行給出,還需加上一個(gè)寫地址的操作,因此可以將微操作定義為三個(gè)。不論是數(shù)據(jù)還是地址,都由MPC82XX的數(shù)據(jù)總線給出,通過分別使能ALE、RD和WR信號(hào)以區(qū)分以上三類操作,ALE、RD和WR功能由UPM的GPL信號(hào)線來模擬實(shí)現(xiàn)。
3 擴(kuò)展NAND Flash存儲(chǔ)器
閃存(Flash Memory)是一種長壽命的非易失性(在斷電情況下仍能保持所存儲(chǔ)的數(shù)據(jù)信息)的存儲(chǔ)器,數(shù)據(jù)刪除不是以單個(gè)的字節(jié)為單位而是以固定的區(qū)塊為單位(注意:NOR Flash 為字節(jié)存儲(chǔ)。),區(qū)塊大小一般為256KB到20MB。閃存是電子可擦除只讀存儲(chǔ)器(EEPROM)的變種,EEPROM與閃存不同的是,它能在字節(jié)水平上進(jìn)行刪除和重寫而不是整個(gè)芯片擦寫,這樣閃存就比EEPROM的更新速度快。由于其斷電時(shí)仍能保存數(shù)據(jù),閃存通常被用來保存設(shè)置信息,如在電腦的BIOS(基本輸入輸出程序)、PDA(個(gè)人數(shù)字助理)、數(shù)碼相機(jī)中保存資料等。閃存存取比較快速,無噪音,散熱小。你買的話其實(shí)可以不考慮那么多,同樣存儲(chǔ)空間買閃存。如果硬盤空間大就買硬盤,也可以滿足你應(yīng)用的需求。
3.1 硬件連接
該應(yīng)用中,NAND Flash的讀寫信號(hào)、地址有效信號(hào)、命令有效信號(hào)均由GPL提供,NAND Flash的Ready/Busyr信號(hào)則由MPC82XX的通用I/O引腳讀取。
3.2 設(shè)計(jì)要點(diǎn)
NAND Flash的操作具有以下特點(diǎn):其一,地址是通過I/0口串行寫入的,即一次寫入8位或者16位(視具體芯片IO總線寬度而定);其二,F(xiàn)lash在非空白區(qū)寫入時(shí)需先進(jìn)行擦除操作,擦除和寫入的速度相對(duì)于CPU的速度來說是比較長的,因此CPU需等待一個(gè)操作完成后才能進(jìn)行下一步操作;其三,對(duì)NAND Flash的讀寫操作之前必須先寫入相應(yīng)的命令字。
值得注意的是,寫入了地址的最后一個(gè)字段后不能立即進(jìn)行數(shù)據(jù)操作,必須等待幾μs的時(shí)間,這個(gè)等待時(shí)間可以通過設(shè)置UPM的LOOP和REDO實(shí)現(xiàn)。經(jīng)測(cè)試,該方案讀數(shù)據(jù)的速度達(dá)到2 MB/s,寫數(shù)據(jù)的速度達(dá)到1.5MB/s,可以滿足應(yīng)用需求。
結(jié) 語
PowerPC UPM方式配置靈活,適應(yīng)力強(qiáng),能有效地減少應(yīng)用系統(tǒng)軟硬件的復(fù)雜程度,提高系統(tǒng)可靠性,降低設(shè)備的研發(fā)成本和制造成本,使得PowerPC更加適合用在空間、成本等方面有諸多限制而接口要求又豐富多樣的嵌入式應(yīng)用系統(tǒng)中。
評(píng)論