《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于EPLD技術的PCI總線接口設計

基于EPLD技術的PCI總線接口設計

2009-02-20
作者:王魯平 李 飚

  摘? 要: 分析了PCI總線接口信號及時序,利用ALTERA公司的EPLD器件EPM7128 設計和實現了PCI總線接口。

  關鍵詞: PCI總線? 接口? EPLD器件? AHDL語言

?

  PCI總線自其問世以來,以其諸多優點,在當今的計算機系統中得到了廣泛應用,已經成為計算機設備的標準接口。本文在認真分析PCI總線的接口信號和接口時序的基礎上,利用EPLD器件設計實現了PCI總線接口。由于EPLD器件支持在線編程,所以可以根據使用要求將PCI總線接口配置成即插即用和非即插即用兩種形式,這種設計方式結構簡單、集成度高,具有較高的實用價值。

1 PCI總線概述

  局部總線特別是PCI總線的發展,打破了PC數據傳送的瓶頸。傳統的PC總線結構不能滿足圖形系統和大型應用程序的要求,所以在此基礎上產生和發展了局部總線。它將計算機外設從I/O總線上移下來,使它們更靠近系統處理器,從而提高了處理器和外設之間的傳送速度。

  從設備的PCI接口至少需要47條信號線,而主控設備的PCI接口至少需要49條信號線,包括數據/地址復用總線、接口控制線、仲裁、總線命令以及系統線等。

  PCI總線在進行數據傳輸時,地址節拍、總線命令在C/BE[0..3]上由主機輸出,用于說明當前PCI總線周期需要執行的功能。其命令如表1所示。

?

2 PCI總線協議和讀寫時序

  PCI總線的傳輸機制是成組數據猝發傳輸,每組數據由一個地址脈沖和一個或幾個數據脈沖組成。一般基本的PCI傳輸由三個信號控制:

  信號由PCI主控設備驅動,表示總線操作的開始和結束;

  信號由PCI主控設備驅動,在讀周期表示主控設備準備接收數據,在寫周期表示AD[31..0]上數據有效;

  信號由PCI從設備驅動,在讀周期,表示從設備準備好傳輸數據,在寫周期表示從設備準備好接收數據。

當數據有效時,數據源設備需要無條件地設置XRDY有效,一旦主控設備使有效,中途不能改變狀態,直到信號無效或數據傳送結束。

  PCI是地址/數據復用總線,其讀操作的時序如圖1所示。當進行PCI讀傳輸時,首先置低,有效,讀傳輸開始,同時AD[31..0]保持有效地址信號,C/BE[3..0]保持總線命令。如果總線命令為存儲器讀(0110),AD[31..0]地址在從設備地址范圍內,從設備置有效,主控設備驅動,表明主控設備準備好接收數據。為避免總線沖突,接下來的一個周期AD[31..0]既不被主控設備驅動,也不被從設備驅動(該周期成為總線轉換周期),此后AD[31..0]上出現數據,C/BE[3..0]變為字節允許信號,主控設備開始檢測信號。如果信號無效(為高電平),則主控設備自動插入等待周期,如果信號有效,則總線開始傳輸數據。在最后一個數據脈沖之后,主控設備將 置為無效,表示傳輸結束。

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

?

?

3 PCI總線的接口設計方案

??? 根據以上分析,選用ALTER的高速EPLD器件EPM7128S84來完成PCI總線接口的設計。為簡化起見,選用存儲器作為從設備,其總體結構如圖3所示。

?

?

? 下面將給出用AHDL語言編寫的EPLD控制程序以及仿真結果。為簡單起見,設定從設備為非即插即用類型的PCI插卡,直接將其地址空間配置為0X50000000~0X5FFFFFFF(或在計算機內不與其他設備沖突的地址),時鐘周期選用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=!da31&da30&!da29&da28;?

  if cs1 then?

?????? devsel=!sign4;

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

?????? wr1=!cbe3&cbe2&cbe1&cbe0;

?????? rd1=!cbe3&cbe2&cbe1&!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=wr1&frame;

???????????????????? end if;

??????? end if;

end ;??

  仿真結果如圖4所示。

?

參考文獻

1 陳利學.微機總線與接口設計.成都:成都電子科技大學出版社,1998

2 ALTER DATABOOK.ALTER公司,1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 精品一区二区三区在线观看| 亚洲精品短视频| 日韩亚洲欧美视频| 亚洲精品视频网| 色妞妞www精品视频| 国产精品一区二区久久精品涩爱| 一级毛片免费观看不卡视频| 旧里番yy4480在线高清影院| 亚洲精品国产成人| 精品国产三级在线观看| 国产在线观看中文字幕| 91精品国产免费| 成人a免费α片在线视频网站| 亚洲aⅴ在线无码播放毛片一线天| 男人扒开女人腿使劲桶动态图| 国产三级精品三级男人的天堂| 老妇bbwbbw视频| 壮汉紫黑粗大好深用力| 中文字幕久久综合| 日韩大片在线永久免费观看网站| 亚洲欧美中文日韩v在线观看| 精品一区二区三区av天堂| 国产乱子精品免费视观看片| 亚洲五月丁香综合视频| 在线日本中文字幕| 一本色道久久88加勒比—综合 | 国产成人精品免费视频大全五级| 99re热久久精品这里都是精品| 成人三级k8经典网| 久久免费观看视频| 欧美亚洲欧美区| 亚洲精品熟女国产| 精品久久久久国产免费| 国产一区在线视频| 黑人巨鞭大战中国妇女| 国产精品成熟老女人视频| 99视频免费播放| 妓女嫖客叫床粗话对白| 中文字幕日韩wm二在线看| 日韩在线观看免费完整版视频| 亚洲制服丝袜在线播放|