- 相關(guān)推薦
PowerPC和Dallas的時(shí)鐘芯片接口設(shè)計(jì)
摘要:分析摩托羅位的PowerPC系列處理器和Dallas的實(shí)時(shí)時(shí)鐘芯片的時(shí)序,并詳細(xì)給出一種較為實(shí)用的接口設(shè)計(jì)方法。關(guān)鍵詞:實(shí)時(shí)時(shí)鐘CPLDPowerPC地址/數(shù)據(jù)復(fù)用
在通信領(lǐng)域,摩托羅位的PowerPC(如MPC850、MPC860、MPC8260等)的應(yīng)用越來(lái)越廣泛。由于這些嵌入式CPU上集成著豐富的通信資源(如快速以太網(wǎng)接口、多個(gè)串口等),而且有較高的運(yùn)行速度和較低的價(jià)位,故在一些遠(yuǎn)程測(cè)控領(lǐng)域的應(yīng)用也越來(lái)越多。同時(shí)在許多系統(tǒng)中都需要實(shí)時(shí)時(shí)鐘,而應(yīng)用最廣泛的當(dāng)數(shù)Dallas的時(shí)鐘芯片。摩托羅拉的PowerPC系列地址線和數(shù)據(jù)線是獨(dú)立的,而Dallas的時(shí)鐘芯片的地址線和數(shù)據(jù)線是復(fù)用的。本文以MPC860和DS1687為例,給出接口的設(shè)計(jì)方法和電路。因?yàn)橛肅PLD來(lái)實(shí)現(xiàn),進(jìn)步增加了通用性。
1DS1687的功能和時(shí)序特點(diǎn)
在我們開(kāi)發(fā)的寬帶接入服務(wù)器(BNAS)中用到了MPC860,作為客戶端與RADIUS服務(wù)器配合實(shí)現(xiàn)對(duì)用戶信息的認(rèn)證、鑒權(quán)、計(jì)費(fèi)等功能。在處理計(jì)費(fèi)信息時(shí)需要有實(shí)時(shí)時(shí)鐘基準(zhǔn),我們選擇了Dallas的DS1687實(shí)時(shí)時(shí)鐘芯片。DS1687的引腳分布如圖1所示。
DS1687具有以下主要功能:
*集成晶振和鋰電池,芯片中RAM的數(shù)據(jù)在掉電后不會(huì)丟失;
*解決千年蟲(chóng)問(wèn)題;
*集成242字節(jié)的NVRAM;
*可編程方波輸出;
*輸出32.768kHz信號(hào),以支持電源管理功能;
*在不加電時(shí)數(shù)據(jù)至少保存10年。
DS1687的CPU接口為地址線數(shù)據(jù)線復(fù)用,讀寫(xiě)時(shí)序分別如圖2和圖3所示。
2MPC860的時(shí)序特點(diǎn)
MPC860有異步和同步兩種總線接口,分別稱為CPU和GPCM。UPM連接同步操作芯片,如SDRAM、SSRAM,具有較高的總線速度;GPCM連接異步操作的芯片,如異步時(shí)序內(nèi)存、異步時(shí)序的專用芯片。MPC860的GPCM接口是地址和數(shù)據(jù)非復(fù)用的,基本操作時(shí)序如圖4所示。為了簡(jiǎn)單起見(jiàn),將讀寫(xiě)時(shí)序在同一幀圖上描述。其中片選讀信號(hào)OE和寫(xiě)信號(hào)WE的上升或下降沿的位置可通過(guò)設(shè)置寄存器進(jìn)行調(diào)整。
3接口的設(shè)計(jì)原理和具體實(shí)現(xiàn)
從DS1687的時(shí)序看出,在一次讀或?qū)懙牟僮髦,地?數(shù)據(jù)線先出現(xiàn)地址后出現(xiàn)數(shù)據(jù);而GPCM接口在一次操作中,數(shù)據(jù)線輸出數(shù)據(jù),地址線輸出地址。從這個(gè)特點(diǎn)出發(fā),設(shè)想用MPC860的兩次操作產(chǎn)生的時(shí)序來(lái)完成DS1687的一次操作。具體思路如下:把MPC860的數(shù)據(jù)線(D0…D7)與DS1687的地址/數(shù)據(jù)線(AD0…AD7)相連,通過(guò)MPC860的GPCM口直接輸出的地址A11(也可根據(jù)內(nèi)存空間劃,隨著選擇一根地址線)、片選CS5(MPC860共有8個(gè)片選輸出)、讀信號(hào)OE和寫(xiě)信號(hào)WE的邏輯運(yùn)算產(chǎn)生DS1687的ALE信號(hào)、讀信號(hào)DS_RD、寫(xiě)信號(hào)DS_WE和片選信號(hào)DS_CS。邏輯運(yùn)行如下:
ALE=!(CS5)+A11+WE)
DS_RD=OE+!A11
DS_WE=WE+!A11
DS_CS=CS5+/A11
上述邏輯用或門(mén)、非門(mén)很容易實(shí)現(xiàn),但在本系統(tǒng)中,還要實(shí)現(xiàn)MPC860上電配置字設(shè)置、長(zhǎng)監(jiān)控時(shí)間的看門(mén)狗、MPC860與其它專用芯片的接口等其它功能,故選擇可編程邏輯器件PLD來(lái)完成這些功能。隨著PLD器件密度的提高和價(jià)格的下降,在系統(tǒng)中的應(yīng)用會(huì)越來(lái)越廣泛。在本設(shè)計(jì)中選擇了Xilinx公司的CPLD器件XC95144。它屬XC9500系列,由多個(gè)功能塊(FB)和I/O塊(IOB)組成,由開(kāi)關(guān)矩陣FastCONNECTII完全互連。IOB提供器件的輸入和輸出緩沖,每個(gè)FB提供具有54個(gè)輸入和18個(gè)輸出的可編程邏輯的容量。該系列54個(gè)輸入和18個(gè)輸出的可編程邏輯的容量,該系列都是在系統(tǒng)可編程的,編程/擦除次數(shù)最少為
1萬(wàn)次。CPLD的延時(shí)可以預(yù)測(cè),適合作小規(guī)模的、對(duì)時(shí)序要求嚴(yán)格的邏輯。設(shè)計(jì)采用圖形輸入方式,邏輯原理如圖5所示。
下面分析該電路的工作過(guò)程。當(dāng)MPC860對(duì)DS1687進(jìn)行讀操作時(shí)(假設(shè)讀取地址0x55的數(shù)據(jù)),首先執(zhí)行一條地址為0x07060000,數(shù)據(jù)為0x55的寫(xiě)指令:
REG8(0x07060000)=0x55
地址可根據(jù)系統(tǒng)定,但要保證A11=0,此時(shí)DS_RD、DS_WE、DS_CS均無(wú)效。DS1687的ALE信號(hào)在下降沿將AD0~AD7上的數(shù)據(jù)鎖存作為地址,從ALE的表達(dá)式看到,ALE的下降沿正是WE的上升沿,而此時(shí)AD0~AD7上的數(shù)據(jù)也正是是指令寫(xiě)入的數(shù)0x55,也就是DS1687在ALE下降沿把0x55鎖存作為地址。緊接著執(zhí)行一條讀取指令:
value=REG8(0x07160000)
應(yīng)保證讀操作地址的A11=1。由操作時(shí)序和邏輯表達(dá)式可知,此時(shí)
ALE=0
DS_CS=CS5
DS_RD=OE
在DS_RD(OE)的上升沿,將0x55單元處的數(shù)據(jù)鎖存進(jìn)MPC860的value單元。
當(dāng)MPC860對(duì)DS1687進(jìn)行寫(xiě)操作時(shí)(假設(shè)地址為0x55,寫(xiě)入的數(shù)據(jù)為0xaa),需要兩條寫(xiě)指針,第一條與讀DS1687操作時(shí)相同,目的是把地址寫(xiě)入DS1687:
REG8(0x07060000)=0x55
第二條同樣是一條寫(xiě)指令:
REG8(0x07160000)=0xaa
但目標(biāo)地址要保證A11=1,此時(shí)接口輸出的信號(hào)值為:
ALE=0
DS_CS=CS5
DS_WE=WE
在DS_WE(即WE)的上升沿,將數(shù)據(jù)鎖存進(jìn)DS1687。
4小結(jié)
在實(shí)際使用過(guò)程中,可以將讀寫(xiě)DS1687分別編成一個(gè)函數(shù),簡(jiǎn)化編程。該方法不僅適合于MPC860和DS1687的接口,也適合其它的數(shù)據(jù)地址非復(fù)用的CPU和數(shù)據(jù)地址復(fù)用的外圍芯片的接口。該接口設(shè)計(jì)在BNAS系統(tǒng)中成功使用之后,已陸續(xù)在公司其他部門(mén)得到了應(yīng)用。
【PowerPC和Dallas的時(shí)鐘芯片接口設(shè)計(jì)】相關(guān)文章:
Trimedia DSP芯片JTAG接口的仿真器設(shè)計(jì)08-06
IC卡接口芯片TDA8007的讀寫(xiě)器設(shè)計(jì)08-06
GPIB接口專用芯片TNT488208-06