低成本PCI仲裁器邏輯擴展設計
摘要: 本文論述了飛思卡爾公司32位處理器MPC5200B的PCI接口設計要點(diǎn),闡述了PCI仲裁器邏輯擴展設計及方法。經(jīng)過(guò)CPLD仿真及實(shí)際應用證明,該電路設計正確,針對MPC5200B有效地擴展了PCI仲裁器邏輯,增加了PCI總線(xiàn)上主設備個(gè)數。
關(guān)鍵詞: PCI仲裁器;邏輯擴展;MPC5200B
PCI總線(xiàn)是現今最為流行的控制總線(xiàn)之一,它廣泛地應用在計算機中,目前嵌入式設備中的很多解決方案都包含了PCI總線(xiàn)。在多主設備的PCI系統應用中,必須為各個(gè)主設備提供仲裁授權信號。為了使PCI設備能夠更方便地應用在嵌入式系統中,本文介紹一種基于飛思卡爾MPC5200B的低成本PCI總線(xiàn)仲裁器邏輯擴展的設計方法,此方法可以在已有的PCI仲裁器的基礎上,實(shí)現擴展PCI總線(xiàn)上主設備的個(gè)數,從而滿(mǎn)足多PCI設備的設計要求,提高系統的擴展性要求,在體積、功能、成本等諸多方面都有很好的應用前景。
MPC5200B
飛思卡爾公司的MPC5200B是基于PowerPC架構下的一款性能卓越的微處理器。它具有760MIPS、帶浮點(diǎn)運算單元(FPU)、低功耗等特點(diǎn)。該處理器采用高性能的e300內核,集成了高性能存儲控制器、中斷控制器、DMA控制器、PCI控制器、以太網(wǎng)控制器以及USB、CAN 2.0A/B、I2C等豐富的接口。其結構框圖如圖1所示。
圖1 MPC5200B 框圖
MPC5200B能夠快速提供數據吞吐和處理。集成的 BestComm DMA控制器可降低主e300核心傳送I/O密集數據的負荷。集成的雙倍數據速率(DDR)內存控制器的有效內存總線(xiàn)速度達到266MHz,能夠實(shí)現高速數據訪(fǎng)問(wèn)。 BestComm DMA 控制器和DDR內存支持的高速PCI 接口能夠實(shí)現高速數據輸入和輸出。
MPC5200B內部集成了一個(gè)PCI總線(xiàn)仲裁器,但其仲裁只支持兩個(gè)外部PCI主設備(包含MPC5200B的PCI模塊)。為了增加PCI主設備,我們必須對PCI仲裁器進(jìn)行擴展。
PCI總線(xiàn)仲裁
PCI總線(xiàn)是一種共享式的總線(xiàn),可以連接多個(gè)主設備,但由于數據傳輸的獨享性,每一時(shí)刻只能由一個(gè)主設備占用總線(xiàn)。因此,為了有效地利用PCI總線(xiàn)帶寬,總線(xiàn)上必須設置一個(gè)仲裁器。
每個(gè)具有主設備功能的PCI設備必須提供兩個(gè)與仲裁有關(guān)的信號:REQ#(請求總線(xiàn)信號)和GNT#(總線(xiàn)授權信號)。由需要發(fā)起PCI傳輸事務(wù)的設備發(fā)出REQ#信號,由PCI總線(xiàn)仲裁器裁決后給出GNT#信號。接到GNT#信號的PCI設備將在下一次總線(xiàn)空閑后開(kāi)始操作。
PCI總線(xiàn)仲裁的裁決過(guò)程可以在PCI傳輸期間完成,并不占用PCI總線(xiàn)的帶寬,這被稱(chēng)為隱式仲裁:即需要發(fā)起PCI操作的設備可以隨時(shí)發(fā)出請求REO#,PCI仲裁器立即批準該請求并給出GNT#。但實(shí)際的傳輸過(guò)程一定要等到當前傳輸完畢、線(xiàn)空閑后才可以開(kāi)始。
具體設計及仿真
以MPC5200B外擴兩個(gè)主PCI設備為例,依據PCI仲裁原理及MPC5200B PCI控制器接口,邏輯擴展方式如圖2所示。其中邏輯單元(Logic Unit)就是本文詳細闡述的部分。
圖2 MPC5200B PCI仲裁邏輯擴展示意圖
MPC5200B含有一個(gè)片上PCI總線(xiàn)仲裁器,現在需要對外擴展其仲裁功能,以滿(mǎn)足多主PCI設備的需求。
對于外擴PCI主設備而言,有兩對REQ#和GNT#信號需要和MPC5200B片上PCI仲裁器進(jìn)行通訊;對于MPC5200B而言,邏輯單元就是它一對一的主PCI設備,通訊信號為相關(guān)的PCI總線(xiàn)控制信號。邏輯單元電路如圖3所示。
圖3 MPC5200B PCI仲裁邏輯擴展電路
圖3b MPC5200B PCI仲裁邏輯擴展電路(續)
PCI總線(xiàn)復位信號對邏輯電路復位后,如果僅有一個(gè)總線(xiàn)請求,則相對應的總線(xiàn)授權信號MASTER_GNT通過(guò)由此總線(xiàn)請求控制的MUX進(jìn)行輸出,實(shí)現總線(xiàn)“請求-授權”過(guò)程。
如果兩PCI外設同時(shí)產(chǎn)生總線(xiàn)請求信號REQ0#和REQ1#,則DR(Dual Require)信號配合PCI_PRAME和PCI_CLK,鎖住NG(Next Grant)信號的更新,直到當前幀傳輸完畢。
由圖4可以看出,仿真環(huán)境模擬了一個(gè)設備申請和兩個(gè)設備同時(shí)申請的情況,并分別給出了總線(xiàn)授權信號(GNT),驗證了仲裁器擴展邏輯的正確性。
圖4 MPC5200B PCI仲裁邏輯擴展電路仿真
結語(yǔ)
PCI總線(xiàn)協(xié)議抽象性很強,且時(shí)序邏輯復雜。本文采用簡(jiǎn)單的邏輯設計實(shí)現了對于PCI仲裁器擴展,已經(jīng)在CPLD中實(shí)現,成功應用于MPC5200B的PCI仲裁器邏輯擴展。
參考文獻:
1. MPC5200B User’s manual. Rev.1
2. PCI Local Bus Specification. Rev 2.2
評論