在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于EPLD技術(shù)的PCI總線接口設(shè)計(jì)

            基于EPLD技術(shù)的PCI總線接口設(shè)計(jì)

            作者: 時(shí)間:2009-02-26 來(lái)源:網(wǎng)絡(luò) 收藏

            自其問(wèn)世以來(lái),以其諸多優(yōu)點(diǎn),在當(dāng)今的計(jì)算機(jī)系統(tǒng)中得到了廣泛應(yīng)用,已經(jīng)成為計(jì)算機(jī)設(shè)備的標(biāo)準(zhǔn)接口。本文在認(rèn)真分析的接口信號(hào)和接口時(shí)序的基礎(chǔ)上,利用器件設(shè)計(jì)實(shí)現(xiàn)了接口。由于器件支持在線編程,所以可以根據(jù)使用要求將PCI總線接口配置成即插即用和非即插即用兩種形式,這種設(shè)計(jì)方式結(jié)構(gòu)簡(jiǎn)單、集成度高,具有較高的實(shí)用價(jià)值。

            本文引用地址:http://www.biyoush.com/article/202713.htm

            1 PCI總線概述

              局部總線特別是PCI總線的發(fā)展,打破了PC數(shù)據(jù)傳送的瓶頸。傳統(tǒng)的PC總線結(jié)構(gòu)不能滿足圖形系統(tǒng)和大型應(yīng)用程序的要求,所以在此基礎(chǔ)上產(chǎn)生和發(fā)展了局部總線。它將計(jì)算機(jī)外設(shè)從I/O總線上移下來(lái),使它們更靠近系統(tǒng)處理器,從而提高了處理器和外設(shè)之間的傳送速度。

              從設(shè)備的PCI接口至少需要47條信號(hào)線,而主控設(shè)備的PCI接口至少需要49條信號(hào)線,包括數(shù)據(jù)/地址復(fù)用總線、接口控制線、仲裁、總線命令以及系統(tǒng)線等。

              PCI總線在進(jìn)行數(shù)據(jù)傳輸時(shí),地址節(jié)拍、總線命令在C/BE[0..3]上由主機(jī)輸出,用于說(shuō)明當(dāng)前PCI總線周期需要執(zhí)行的功能。其命令如表1所示。

            2 PCI總線協(xié)議和讀寫(xiě)時(shí)序

              PCI總線的傳輸機(jī)制是成組數(shù)據(jù)猝發(fā)傳輸,每組數(shù)據(jù)由一個(gè)地址脈沖和一個(gè)或幾個(gè)數(shù)據(jù)脈沖組成。一般基本的PCI傳輸由三個(gè)信號(hào)控制:

              信號(hào)由PCI主控設(shè)備驅(qū)動(dòng),表示總線操作的開(kāi)始和結(jié)束;

              信號(hào)由PCI主控設(shè)備驅(qū)動(dòng),在讀周期表示主控設(shè)備準(zhǔn)備接收數(shù)據(jù),在寫(xiě)周期表示AD[31..0]上數(shù)據(jù)有效;

              信號(hào)由PCI從設(shè)備驅(qū)動(dòng),在讀周期,表示從設(shè)備準(zhǔn)備好傳輸數(shù)據(jù),在寫(xiě)周期表示從設(shè)備準(zhǔn)備好接收數(shù)據(jù)。

            當(dāng)數(shù)據(jù)有效時(shí),數(shù)據(jù)源設(shè)備需要無(wú)條件地設(shè)置XRDY有效,一旦主控設(shè)備使有效,中途不能改變狀態(tài),直到信號(hào)無(wú)效或數(shù)據(jù)傳送結(jié)束。

              PCI是地址/數(shù)據(jù)復(fù)用總線,其讀操作的時(shí)序如圖1所示。當(dāng)進(jìn)行PCI讀傳輸時(shí),首先置低,有效,讀傳輸開(kāi)始,同時(shí)AD[31..0]保持有效地址信號(hào),C/BE[3..0]保持總線命令。如果總線命令為存儲(chǔ)器讀(0110),AD[31..0]地址在從設(shè)備地址范圍內(nèi),從設(shè)備置有效,主控設(shè)備驅(qū)動(dòng),表明主控設(shè)備準(zhǔn)備好接收數(shù)據(jù)。為避免總線沖突,接下來(lái)的一個(gè)周期AD[31..0]既不被主控設(shè)備驅(qū)動(dòng),也不被從設(shè)備驅(qū)動(dòng)(該周期成為總線轉(zhuǎn)換周期),此后AD[31..0]上出現(xiàn)數(shù)據(jù),C/BE[3..0]變?yōu)樽止?jié)允許信號(hào),主控設(shè)備開(kāi)始檢測(cè)信號(hào)。如果信號(hào)無(wú)效(為高電平),則主控設(shè)備自動(dòng)插入等待周期,如果信號(hào)有效,則總線開(kāi)始傳輸數(shù)據(jù)。在最后一個(gè)數(shù)據(jù)脈沖之后,主控設(shè)備將和 置為無(wú)效,表示傳輸結(jié)束。

            寫(xiě)傳輸時(shí),由于地址均由主控設(shè)備提供,因此不存在總線轉(zhuǎn)換周期。其傳輸過(guò)程與讀周期基本類似,只是C/BE[3..0]上的總線命令為存儲(chǔ)器寫(xiě)(0111),具體的傳輸時(shí)序如圖2所示。

            3 PCI總線的方案

            根據(jù)以上分析,選用ALTER的高速器件EPM7128S84來(lái)完成PCI總線接口的設(shè)計(jì)。為簡(jiǎn)化起見(jiàn),選用存儲(chǔ)器作為從設(shè)備,其總體結(jié)構(gòu)如圖3所示。

            下面將給出用AHDL語(yǔ)言編寫(xiě)的EPLD控制程序以及仿真結(jié)果。為簡(jiǎn)單起見(jiàn),設(shè)定從設(shè)備為非即插即用類型的PCI插卡,直接將其地址空間配置為0X50000000~0X5FFFFFFF(或在計(jì)算機(jī)內(nèi)不與其他設(shè)備沖突的地址),時(shí)鐘周期選用33MHz,具體的程序如下:

            SUBDESIGN pci_if

            (

            clkin : input;

            frame : input;

            ad[31..0] : input;

            cbe[3..0] : input;

            irdy : input;

            trdy : output;

            devsel : output;

            wr : output;

            cs : output;

            a[10..0] : output;

            )

            variable

            count[1..0] : DFF;

            da[31..0] : DFF;

            wr1 : node;

            rd1 : node;

            sign1 : node;

            sign2 : node;

            sign4 : node;

            sign3 : node;

            cs1 : node;

            begin

            count[1..0].clk=clkin;

              count[1..0].clrn=!frame;

            sign1=(count[]==3);

            if sign1 then count[].d=count[].q;

            else

            count[].d=count[].q+1;

            end if;

              sign2=(count[]1)!frame;

              sign3=(count[]>=2)(count[]=3);

              sign4=(count[]>=1)(count[]=3);

            da[31..0].clk=sign2!frame;

              da[31..0].d=ad[31..0];

              cs1=!da31da30!da29da28;

              if cs1 then

            devsel=!sign4;

            a[10..0]=ad[10..0];

            wr1=!cbe3cbe2cbe1cbe0;

            rd1=!cbe3cbe2cbe1!cbe0;

            if rd1!irdy then

            trdy=!sign3;

              !cs=cs1!frame;

            wr=rd1!frame;

            end if;

            if wr1!irdy then

            trdy=!sign4;

            !cs=cs1!frame;

            !wr=wr1frame;

            end if;

            end if;

            end ;

              仿真結(jié)果如圖4所示。



            關(guān)鍵詞: EPLD PCI 總線 接口設(shè)計(jì)

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉