熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 嵌入式系統中PCI總線仲裁器的設計與實現

嵌入式系統中PCI總線仲裁器的設計與實現

時間:2008-04-24 11:58:00來源:ronggang

導語:?描述了PCI總線仲裁的原理和仲裁算法,闡述了用可編程器件實現總線仲裁的具體方法,并實現了一個雙主設備仲裁器
  PCI(Peripheral Component Interconnect)總線是現今最為流行的工業控制總線之一。它廣泛地應用在計算機中,并且由于眾多廠商對PC]的良好支持,使得目前嵌入式設備中的很多解決方案都包含了PCI總線。在多主設備的PCI系統應用中,必須為各個主設備提供仲裁授權信號。很多廠家有針對性地發布了PCI仲裁邏輯的專用芯片或者集成了PCI仲裁邏輯的專用芯片,但使用不夠靈活。   為了使PCI設備能夠更方便地應用在嵌入式系統中,本文介紹了一種基于CPLD(復雜可編程邏輯器件)的PCI總線仲裁器的設計方法。此方法可以為系統量身定制適合于系統本身的PCI總線仲裁器,而不必局限于特定芯片的要求,在體積、功能、成本等諸多方面都有很好的應用前景。 1 PCI總線仲裁簡介   1.1 PCI總線的仲裁原理   PCI總線是一種共享式的總線,可以連接多個主設備,但由于數據傳輸的獨占性,每一時刻只能由一個主設備占用總線。因此,為了有效地利用PCI總線帶寬,必須設置一個總線仲裁器,按照一定的算法協調系統中各個主設備的操作。   每個具備主設備功能的PCI設備必須提供兩個與仲裁有關的信號:REQ#和GNT#。其中REQ為請求總線信號,由需要發起PCI傳輸事務的設備發出;GNT#為總線授權信號,由PCI總線仲裁器裁決后給出。接到GNT#信號的PCI設備將在下一次總線空閑后開始操作。   PCI總線仲裁的裁決過程可以在PCI傳輸期間完成,并不占用PCI總線的帶寬,這稱為隱式仲裁。即需要發起PCI操作的設備可以隨時發出請求REO,PCI仲裁器立即批準該請求并給出GNT。但是真正的傳輸操作一定要等到當前傳輸完成,即總線空閑后才可以開始。圖l描述了PCI總線設備與仲裁器的關系。   
  1.2 PCI總線仲裁規則約定   (1)仲裁器的仲裁算法必須保證所有的設備都能得到授權的機會,否則將會出現某個優先級低的設備永遠不能占有總線進行事務操作的情況。   (2)如果FRAME無效,GNT可以在任意時間撤消,以便服務于另一個主設備或者作為對主設備撤銷REQ的響應。   (3)如果GNT信號被撤消但FRAME有信號,當前的總線正在傳輸數據,則操作合法。   (4)如果總線不處于空閑狀態,則允許一個GNT的撤消和另一個GNT的發生在同一個周期。如果處在空閑狀態,則要求一個GNT撤消到下一個GNT的發出之間必須有一個時鐘周期間隔,否則可能會在AD線和PAR線上出現沖突。   (5)GNT信號的每次發出,只限于相應的總線主控器可以使用總線進行一次總線操作(一個FRAME發出到撤銷)。如果該主控器需要多次總線訪問,它可以保持REQ信號一直有效。仲裁器會按照特定的仲裁算法來決定是否仍判給該主設備。   (6)一個主控器可以在任意時刻撤消其REQ信號。REQ信號一旦撤消,仲裁器將認為該設備不再請求使用總線,因而撤消其GNT信號(參考上文(1))。如果一個主控器只希望做一次總線傳輸,則它應當在發出FRAME的同一時鐘周期撤消REQ。   (7)如果當前的主控器在它的GNT信號發出后,持續16個空閑周期還沒有開始總線操作,則仲裁器視其為超時,仲裁器可以在任意時刻撤消GNT信號,以便服務于另一個設備。   1.3 PCI總線仲裁的算法   目前,應用于PCI總線總裁的算法主要有固定優先級算法和動態優先級算法兩種。在固定優先級算法中,各個設備的優先級是事先確定好的,仲裁器針對事先設定好的優先級為每個設備分配使用權。這種算法的缺點是:一旦PCI總線事務非常繁忙,優先級高的設備會占有總線不放,將導致優先級低的設備無法申請到總線。   可見這是一種并不公平的算法,只適用于總線利用率非常低的情況。動態優先級算法是在每次仲裁授權后動態改變各個設備的優先級。在保證每個設備都有機會獲得總線的情況下,優先級改變的算法可以是各種各樣的。最常用的是循環優先級算法,即每次仲裁授權后將排隊中的設備優先級加l。因其算法簡單,且對大部分應用都十分有效,本設計采用循環優先級算法。   1.4 總線停靠   當PCI總線空閑時,一個設備從申請總線到被授權使用,最少也需要2個時鐘周期,這對于PCI總線是一種浪費。因此仲裁器通常選中一個最經常占用總線的設備,在PCI總線空閑時將GNT#賦予它,這叫做總線停靠。當總線空閑時,該設備需要占用總線時可馬上得到批準。 2 雙主設備PCI總線仲裁器的實現   下面描述了一個具有兩個設備的總線仲裁器的硬件實現,其一為TriMedia嵌入式DSPCPU PNXl300,其二為Intel i82559網絡控制器。系統結構如圖2所示。
  為設計方便起見,在程序中設計三類狀態機:總線狀態狀態機、總線主設備查詢狀態機、仲裁狀態機。   2.1 總線狀態狀態機   總線狀態狀態機用于記錄總線事務的狀態.定義如下:   type bus_state is(IDLE,BUSY,LAST_DATA,FINISH)   四種狀態分別表示總線空閑、忙、最后一個數據傳輸期以及傳輸完成。狀態圖如圖3。
  下面是以VHDL代碼形式實現的該狀態機的狀態轉換關系。
  2.2 總線主設備查詢狀態機   總線主設備查詢狀態機用來決定當前是否需要重新指定一個主設備。重新指定一個主設備的條件是:(1)當前被授權的設備已開始傳輸;(2)當前被授權的設備沒有開始傳輸并且超時。將主設備查詢狀態分為IDLE、GNTl、GNT2、WAIT_NOBUSY和WAIT_BUSY2五個狀態,并設置計數器count。當總線上某個設備被授權,但16個周期仍然沒有開始操作,count超過16,被視為超時,仲裁器可以撤銷其仲裁授權,并轉授其他設備。程序根據這個狀態機的輸出結果決定仲裁狀態機是否改變。   狀態轉換如圖4所示,狀態機描述的VHDL代碼略。
  該狀態機的驅動條件是由總線狀態狀態機的輸出結果(busbusy)、仲裁狀態機的狀態(idie,park)和計數器產生的超時信號(timeout)組成。設置WAIT_BUSY2的目的是為了避免可能會在AD線和PAR線上出現的沖突。該狀態機的輸出search_master作為仲裁狀態機狀態轉換使能信號,只有該信號有效時,仲裁狀態機才進行當前狀態的改變。
  2.3 仲裁狀態機   仲裁狀態機表示總線仲裁器的狀態,定義如下:   type arbiter_state is(IDLE,DEVl,DEV2,PARK);   當主設備查詢狀態機輸出使能信號(search_master)時,導致仲裁狀態機的狀態改變。   狀態轉變過程如圖5所示,狀態機描述的VHDL代碼略。
  仲裁器根據仲裁狀態機當前狀態控制仲裁授權信號(GNT)的給出。
  注:PARKMASTER是事先設置的停靠狀態。   2.4 仿真波形圖   由圖6可以看出,測試文件模擬了一個設備申請和兩個設備同時申請的情況,并給出了總線授權信號(GNT),驗證了仲裁器邏輯的正確性。
  2.5 資源占用情況分析   可編程邏輯器件使用Lattice公司的ispLSI2064E-135LTl00,在ispLever中綜合本例程序,結果如表2。
  綜合后的延遲分析顯示,該邏輯的時鐘周期最小為7.5ns,即該邏輯可以運行在133MHz以下的系統中,完全可以勝任33MHz PCI總線的仲裁工作。   本PCI總線仲裁器已成功地應用在基于PNXl300的IP會議電視終端系統中,用于處理嵌入式CPUPNXl300和網絡控制器182559的總線占用仲裁。該會議電視終端已于2005年1月在國家泰爾實驗室通過測試并取得入網許可證。

標簽:

點贊

分享到:

上一篇:多DSP局部總線與VME總線的接...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 陈巴尔虎旗| 吕梁市| 宜城市| 衡南县| 漯河市| 阿瓦提县| 个旧市| 湖州市| 泽库县| 班玛县| 惠州市| 泰顺县| 河北省| 阿坝| 中卫市| 丹阳市| 古丈县| 鄢陵县| 龙门县| 泉州市| 安远县| 平乡县| 虹口区| 宁国市| 湖口县| 丰宁| 正安县| 长葛市| 天镇县| 绵阳市| 崇明县| 太仆寺旗| 河池市| 万山特区| 玉山县| 开化县| 云梦县| 沛县| 和硕县| 区。| 弋阳县|