新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 雙口RAM在PCI總線與AVR接口設(shè)計中的應(yīng)用

雙口RAM在PCI總線與AVR接口設(shè)計中的應(yīng)用

作者: 時間:2011-11-05 來源:網(wǎng)絡(luò) 收藏

摘要:為了提高單片機之間的數(shù)據(jù)傳輸速度,利用通過共享的方式實現(xiàn)單片機之間的高速數(shù)據(jù)交換。利用有限狀態(tài)機方法將芯片局部端邏輯轉(zhuǎn)換為讀寫控制信號和地址數(shù)據(jù)信號,并通過仿真工具M(jìn)odelsim Se對電路進(jìn)行了驗證,得出的仿真波形符合要求;利用乒乓操作方法實現(xiàn)PCI芯片和單片機交替讀/寫數(shù)據(jù)存儲區(qū),有效提高了PCI與AVR單片機之間的數(shù)據(jù)傳輸速度。實踐證明該方法是解決高低速設(shè)備的傳輸瓶頸問題的有效途徑。
關(guān)鍵詞:;AVR;CPLD;狀態(tài)機;乒乓操作

由于PCI總線工作在頻率33 MHz,AVR單片機工作在16 MHz,它們之間時鐘不同步,要進(jìn)行有效通信,必須在它們中間設(shè)置數(shù)據(jù)緩沖區(qū),作為雙方交換數(shù)據(jù)的單元。雙口RAM正好解決了這個問題,它既作為PCI總線的局部空間又作為AVR單片機的外部擴(kuò)充存儲器,通過交替讀/寫達(dá)到交換數(shù)據(jù)的目的。下面以PLX公司的PCI總線接口芯片PCI9052和IDT公司的雙口RAMIDT7006為例,介紹實現(xiàn)數(shù)據(jù)交換的方法。

1 PCI9052和IDT7006
1.1 PCI9052簡介
PCI9052是PLX公司為擴(kuò)展適配板卡推出的低價位PCI總線目標(biāo)接口芯片,低功耗,符合PCI V2.1規(guī)范,它的本地總線(Local Bus)可以通過編程設(shè)置為8/16/32位的復(fù)用或非復(fù)用總線。其主要性能特點如下:
(1)異步操作。PCI9052的Local Bus與PCI總線的時鐘相互獨立運行,兩總線的異步運行方便了高、低速設(shè)備的兼容。Local Bus的時鐘頻率范圍為0~40 MHz,TTL電平;PCI的時鐘頻率范圍0~33MHz。
(2)可編程的局部總線配置。PCI9052支持8位、16位或32位Local Bus,它們是復(fù)用或非復(fù)用。PCI9052有4個字節(jié)允許信號(LBE[3:0]#),26條地址線(LA[27:2])和32位、16位、8位數(shù)據(jù)線(LAD[31:0])。
(3)直接從(目標(biāo))數(shù)據(jù)傳送模式。PCI9052具有雙向FIFO,可用于零等待狀態(tài)突發(fā)操作,支持從PCI總線到Local Bus的存儲器映射空間的突發(fā)傳送和I/O訪問。Local Bus能被設(shè)置成突發(fā)或持續(xù)單周期。
(4)4個局部片選。PCI9052提供4個片選,每個片選的基地址和范圍被E2PROM或主機編程成唯一的。
(5)5個局部地址空間。PCI9052提供5個局部地址空間,每個局部地址空間的基地址和范圍可以被E2PROM或主機編程成惟一的。
1.2 IDT7006簡介
IDT7006是美國IDT公司開發(fā)研制的高速16K×8 B雙口靜態(tài)RAM。該雙口RAM提供兩個獨立的具有控制、地址和I/O引腳的端口。其主要性能特點如下:可同時訪問雙端口同一存儲器空間;高速存儲訪問,訪問速度最高可達(dá)到15 ns;低功耗運行;雙片選,允許不需要外部邏輯的深度擴(kuò)展;使用級聯(lián)和主從選擇引腳可以擴(kuò)展IDT7006的數(shù)據(jù)總線寬度到16位或更寬;具有硬件仲裁方式、中斷仲裁方式和信號燈仲裁方式,來防止訪問沖突。

2 PCI9052和IDT7006的時序轉(zhuǎn)換
為將PCI9052的局部信號邏輯轉(zhuǎn)換為雙口RAMIDT7006的讀/寫控制信號邏輯,采用有限狀態(tài)機的方法來實現(xiàn)它們之間的邏輯轉(zhuǎn)換。在可編程器件中,狀態(tài)機的方法是最廣泛的設(shè)計方法之一,它是一種簡單、結(jié)構(gòu)清晰、設(shè)計靈活的方法,易于建立、理解和維護(hù),特別在具有大量狀態(tài)轉(zhuǎn)移和復(fù)雜時序控制的系統(tǒng)中,更顯其優(yōu)勢。設(shè)計中用VerilogHDL描述的狀態(tài)機來實現(xiàn)接口的時序轉(zhuǎn)換。
2.1 硬件連接
硬件上采用可編程邏輯器件MAXⅡ(EPM240)來實現(xiàn)PCI9052和IDT7006的接口電路,PCI9052采取非復(fù)用、8 b局部總線寬度和單周期讀/寫方式,信號連接關(guān)系如圖1所示。

本文引用地址:http://2s4d.com/article/172431.htm

a.jpg


2.2 有限狀態(tài)機
PCI9052局部總線有4個基本的狀態(tài):空閑狀態(tài)、地址狀態(tài)、數(shù)據(jù)/等待狀態(tài)和恢復(fù)狀態(tài)。一旦局部總線的主設(shè)備擁有總線并需要開始一個總線訪問,則進(jìn)入地址狀態(tài),b.jpg有效,此時一個有效的地址出現(xiàn)在地址/數(shù)據(jù)總線上;數(shù)據(jù)傳輸是在數(shù)據(jù)/等待狀態(tài)進(jìn)行的,c.jpg或者內(nèi)部等待產(chǎn)生器用來在此狀態(tài)插入等待狀態(tài);d.jpg在最后的數(shù)據(jù)/等待狀態(tài)有效,用來申明最后的數(shù)據(jù)傳輸;在地址/數(shù)據(jù)復(fù)用的模式下,所有數(shù)據(jù)傳輸完畢后,總線會進(jìn)入恢復(fù)狀態(tài);隨后總線回到空閑狀態(tài),等待下一次的總線訪問。
整個狀態(tài)機分為外狀態(tài)機和內(nèi)狀態(tài)機兩個大的部分,外狀態(tài)機識別PCI9052的讀周期和寫周期,并轉(zhuǎn)移到相應(yīng)的內(nèi)部狀態(tài)機,然后內(nèi)部狀態(tài)機再進(jìn)行讀/寫的內(nèi)部狀態(tài)轉(zhuǎn)移,通過不同的狀態(tài)輸出不同的雙口RAM讀/寫控制等信號,達(dá)到時序轉(zhuǎn)換的目的。外狀態(tài)機狀態(tài)轉(zhuǎn)移圖如圖2所示。

e.jpg


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉