www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]基于Altera的CPLD器件的PCI總線仲裁器設(shè)計(jì),實(shí)現(xiàn)仲裁器的AHDL編程,并結(jié)合仿真結(jié)果對(duì)PCI總線的仲裁進(jìn)行了論述。

 作者Email:  jie_yi@sohu.com

        摘要:基于Altera的CPLD器件的PCI總線仲裁器設(shè)計(jì),實(shí)現(xiàn)仲裁器的AHDL編程,并結(jié)合仿真結(jié)果對(duì)PCI總線的仲裁進(jìn)行了論述。

    關(guān)鍵詞:PCI仲裁器,CPLD,仿真

    PCI總線仲裁器通常是集成在PCI芯片組中。隨著計(jì)算機(jī)應(yīng)用的深入,尤其是嵌入式系統(tǒng)的不斷發(fā)展,集成的仲裁器難以滿足某些場(chǎng)合的應(yīng)用。而采用CPLD技術(shù)實(shí)現(xiàn)的獨(dú)立的PCI總線仲裁器,則較好的適應(yīng)了這方面的需求。

    一﹑PCI總線仲裁機(jī)制

    PCI的仲裁是基于設(shè)備訪問,而不是基于時(shí)間分配的。在任一時(shí)刻,總線上的一個(gè)主設(shè)備要想獲得對(duì)總線的控制權(quán),就必須發(fā)出它的請(qǐng)求信號(hào)(PCIreqN),如果此刻該設(shè)備有權(quán)控制總線,總線仲裁器就使該設(shè)備的總線占用允許信號(hào)(PCIgntN)有效,進(jìn)而獲得總線的使用權(quán)。當(dāng)有多個(gè)主設(shè)備同時(shí)發(fā)出總線控制請(qǐng)求時(shí),就必須由仲裁器根據(jù)一定的算法判定,當(dāng)前應(yīng)該由哪個(gè)主設(shè)備獲得控制權(quán)。

    二、仲裁算法

    常用的仲裁算法有:公平算法、循環(huán)算法等。

    本仲裁器設(shè)計(jì)采用的是循環(huán)算法,設(shè)備的優(yōu)先級(jí)預(yù)先設(shè)定。目前的設(shè)計(jì)實(shí)現(xiàn)對(duì)四個(gè)PCI設(shè)備請(qǐng)求的仲裁,各設(shè)備優(yōu)先級(jí)由高到低安排為:設(shè)備0 >設(shè)備1 > 設(shè)備2 > 設(shè)備3。

    系統(tǒng)啟動(dòng)伊始,沒有設(shè)備使用PCI總線,也沒有設(shè)備請(qǐng)求使用PCI總線,仲裁器總是設(shè)定設(shè)備0擁有總線控制權(quán),即將總線??坑谠O(shè)備0。此時(shí)設(shè)備0的PCIgntN是有效的。而在此之后,仲裁器總是指定PCI總線的最后一個(gè)使用者為總線的??吭O(shè)備。

    當(dāng)有一個(gè)或多個(gè)設(shè)備提出擁有總線使用權(quán)的請(qǐng)求時(shí),仲裁器將按照事先安排的設(shè)備優(yōu)先級(jí)順序逐一查詢。對(duì)于只有一個(gè)設(shè)備請(qǐng)求的情況,該設(shè)備的請(qǐng)求將會(huì)馬上得到響應(yīng);如果多個(gè)設(shè)備同時(shí)發(fā)出請(qǐng)求時(shí),仲裁器裁定首先響應(yīng)優(yōu)先等級(jí)高的設(shè)備的請(qǐng)求,當(dāng)此設(shè)備完成數(shù)據(jù)傳輸交出總線使用權(quán)后,再由優(yōu)先等級(jí)低的設(shè)備使用總線。示意框圖見圖2。

    如果一個(gè)設(shè)備已獲得總線使用權(quán)并且正在進(jìn)行地址、數(shù)據(jù)傳輸時(shí),比它優(yōu)先級(jí)別高的設(shè)備也發(fā)出了占用請(qǐng)求,仲裁器將會(huì)撤銷優(yōu)先級(jí)別低的設(shè)備的總線占用信號(hào),并把總線使用權(quán)交給優(yōu)先級(jí)別高的設(shè)備,同時(shí)還要確保在任一時(shí)刻不會(huì)出現(xiàn)多個(gè)設(shè)備同時(shí)占用總線的情況。具體見仿真分析。

    三、編程設(shè)計(jì)與實(shí)現(xiàn)

    本設(shè)計(jì)使用AHDL語言,在MaxplusII 10.0上編譯通過,并進(jìn)行了仿真。

    1. 仲裁器信號(hào)定義


SUBDESIGN  PCI_arb
(       -- 輸入
PCIclk         :INPUT  -- PCI時(shí)鐘
          Arbiter_rstN     :INPUT  -- 復(fù)位信號(hào)
          PCIreqN[3..0]    :INPUT  -- 總線占用請(qǐng)求信號(hào)
          frameN         :INPUT  -- 數(shù)據(jù)交易的啟動(dòng)或開始,主設(shè)備發(fā)出
          irdyN           :INPUT  --交易數(shù)據(jù)準(zhǔn)備好,主設(shè)備發(fā)出
         
-- 輸出
          PCIgntN[3..0]    :OUTPUT -- 總線占用允許信號(hào)
     )

    frameN和irdyN決定了總線的狀態(tài),只要兩個(gè)信號(hào)中的一個(gè)有效,就表明總線上有數(shù)據(jù)通過,總線處于忙狀態(tài);當(dāng)兩個(gè)信號(hào)都無效時(shí),則總線處于空閑狀態(tài)。

2. 仲裁器狀態(tài)機(jī)定義
parb_sm : MACHINE
  OF BITS ( PARB2 , PARB1 , PARB0 )
  WITH STATES (
    PARB_SLT0  = 0, -- PCIgnt0#有效,設(shè)備0擁有總線使用權(quán),總線空閑
    PARB_SLT0D = 1, -- PCIgnt0#有效,數(shù)據(jù)在總線上傳輸,總線處于忙狀態(tài)
    PARB_SLT1  = 2, -- 以下類同
    PARB_SLT1D = 3,
    PARB_SLT2  = 4,
    PARB_SLT2D = 5,
    PARB_SLT3  = 6,
PARB_SLT3D = 7 );

    3. 仲裁的實(shí)現(xiàn)

   由于采用循環(huán)算法,對(duì)每一個(gè)設(shè)備而言狀態(tài)的變換都是相同的,下面僅以設(shè)備0的狀態(tài)轉(zhuǎn)換為例:
    CASE  parb_sm  IS
       WHEN PARB_SLT0 =>
           IF ( !frameN # !irdyN # frameN & irdyN & PARBtout4 ) THEN
              IF ( !PCIreqN1 ) THEN
                 PCIgntN1  = GND;
                 parb_sm   = PARB_SLT1D;
              ELSIF ( !PCIreqN2 ) THEN
                 PCIgntN2  = GND;
                 parb_sm   = PARB_SLT2D;
              ELSIF ( !PCIreqN3 ) THEN
                 PCIgntN3  = GND;
                 parb_sm   = PARB_SLT3D;
              ELSE
                 PCIgntN0  = GND;
                 parb_sm   = PARB_SLT0D;
           ELSE
              PCIgntN0  = GND;
              parb_sm   = PARB_SLT0D;
           END IF;

      WHEN PARB_SLT0D =>
          PCIgntN0    = GND;
           IF ( frameN & irdyN ) THEN
              parb_sm   = PARB_SLT0;
           ELSE
              Parb_sm   = PARB_SLT0D;
           END IF;
    
    為了避免AD線上和PAR線上出現(xiàn)時(shí)序競(jìng)爭(zhēng),一個(gè)設(shè)備的PCIgntN信號(hào)有效和另一個(gè)設(shè)備的PCIgntN的撤銷,如果不是在總線空閑狀態(tài),則兩者之間至少要有一個(gè)時(shí)鐘的延遲。設(shè)計(jì)中,將每個(gè)設(shè)備占用總線的狀態(tài)分為兩部分,PARB_SLTx(總線空閑)和PARB_SLTxD(總線忙);狀態(tài)機(jī)不能從一個(gè)設(shè)備的PARB_SLTxD狀態(tài)直接轉(zhuǎn)到另一個(gè)設(shè)備的PARB_SLTyD狀態(tài),中間必須經(jīng)過至少一個(gè)時(shí)鐘的PARB_SLTx狀態(tài)的銜接,這樣就避免了總線上競(jìng)爭(zhēng)的出現(xiàn)。

    代碼中,PARBtout為一5位計(jì)數(shù)器,對(duì)PCI時(shí)鐘個(gè)數(shù)進(jìn)行計(jì)數(shù),用來判別設(shè)備發(fā)出請(qǐng)求信號(hào)后是否在規(guī)定時(shí)間內(nèi)(16個(gè)時(shí)鐘,即PARBtout[4..0] = 10000)占據(jù)了總線,啟動(dòng)了數(shù)據(jù)的傳輸;如果超時(shí),則撤銷該設(shè)備的請(qǐng)求信號(hào),并按預(yù)設(shè)的優(yōu)先級(jí)順序,對(duì)其余設(shè)備總線使用權(quán)進(jìn)行新一輪的裁定。計(jì)數(shù)器的編程實(shí)現(xiàn):

IF ( PARBtout4 # PCIreqN0 & PCIreqN1 & PCIreqN2 & PCIreqN3 ) THEN
PARBtout [ ] = 0;
     ELSIF ( frameN & irdyN ) THEN
        PARBtout [ ] = PARBtout [ ] + 1;
     ELSE
        PARBtout [ ] = 0;
     END IF;

四、仿真分析

    1. 單一設(shè)備總線請(qǐng)求情況

    系統(tǒng)初始化后自動(dòng)將總線??坑谠O(shè)備0上,總線處于空閑狀態(tài),frameN、irdyN均為高電平。需要強(qiáng)調(diào)的一點(diǎn)是,仲裁所用的PCI控制信號(hào)均在PCI時(shí)鐘信號(hào)的上升沿采樣而得。如圖3所示,設(shè)備2發(fā)出總線占用信號(hào),仲裁器在時(shí)鐘上升沿A處采樣到該信號(hào),并開始啟動(dòng)PARBtout計(jì)數(shù),此時(shí)的frameN、irdyN為高電平,設(shè)備0仍然擁有總線使用權(quán);隨后設(shè)備2驅(qū)動(dòng)使得frameN和irdyN有效,在時(shí)鐘上升沿B處,仲裁器采樣到frameN和irdyN,計(jì)數(shù)器清零,使設(shè)備2的PCIgntN2信號(hào)有效,從而占用總線,設(shè)備把地址、數(shù)據(jù)驅(qū)動(dòng)到總線上,總線處于忙狀態(tài)。

之后,設(shè)備2撤銷其PCIreqN2信號(hào),放棄對(duì)總線的占用;接著frameN、irdyN信號(hào)相繼無效,表明數(shù)據(jù)傳輸?shù)耐瓿?,總線變?yōu)榭臻e,仲裁器在C處采樣后,將總線??吭谠O(shè)備2上。

    2. 多個(gè)設(shè)備同時(shí)請(qǐng)求總線使用權(quán)(以兩個(gè)設(shè)備為例)

    設(shè)備3首先發(fā)出請(qǐng)求信號(hào),仲裁器在時(shí)鐘A處采樣后,計(jì)數(shù)器開始計(jì)數(shù),此時(shí)總線仍然為設(shè)備0占用著;在時(shí)鐘B處的采樣,檢測(cè)到frameN有效,表明數(shù)據(jù)傳輸?shù)拈_始,仲裁器使得PCIgntN3信號(hào)有效,設(shè)備3獲得總線所有權(quán);

    在隨后的一個(gè)時(shí)鐘上升沿,仲裁器采樣到設(shè)備2的總線請(qǐng)求信號(hào),此時(shí)由于frameN、irdyN依然有效,表明數(shù)據(jù)傳輸正在進(jìn)行中,必須等當(dāng)前數(shù)據(jù)傳輸完成后,設(shè)備2才能占用總線進(jìn)行自己的數(shù)據(jù)傳輸,此時(shí)仲裁器隱含設(shè)定設(shè)備2擁有總線使用權(quán)。設(shè)備3在時(shí)鐘C之前使得frameN、irdyN無效,總線進(jìn)入空閑狀態(tài),??吭谠O(shè)備3上。設(shè)備2檢測(cè)到總線空閑,驅(qū)動(dòng)自己的frameN、irdyN信號(hào),仲裁器在時(shí)鐘D處采樣到有效的frameN、irdyN信號(hào)后,使PCIgntN2有效,設(shè)備2占據(jù)總線,開始數(shù)據(jù)的傳輸。設(shè)備2使用完總線后,使總線回到空閑狀態(tài),停靠在設(shè)備2上;設(shè)備3檢測(cè)到總線空閑,再次驅(qū)動(dòng)frameN、irdyN有效,從而再次獲得總線使用權(quán)(時(shí)鐘上升沿F處)。所有傳輸完成后,總線將停靠在設(shè)備3上。

    值得一提的是,如果設(shè)備3在被迫交出總線前不能完成所有數(shù)據(jù)的傳輸,它必須使自己的PCIreqN3信號(hào)持續(xù)有效,這樣在設(shè)備2用完總線后,仲裁器能將使用權(quán)交回,從而完成剩余數(shù)據(jù)的傳輸。

    圖5為設(shè)備獲得總線使用權(quán),在設(shè)定的16個(gè)時(shí)鐘周期內(nèi)沒有啟動(dòng)傳輸,仲裁器狀態(tài)的變換。仍以兩個(gè)設(shè)備為例。

    五、應(yīng)用CPLD進(jìn)行PCI總線仲裁器的設(shè)計(jì),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單;配置靈活,可以根據(jù)系統(tǒng)的需要,對(duì)有關(guān)信號(hào)進(jìn)行裁減或者擴(kuò)展;在線修改方便。本設(shè)計(jì)采用Altera的EPM3064實(shí)現(xiàn),并應(yīng)用于所設(shè)計(jì)的系統(tǒng)板中。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉