?? pci總線接口芯片9054及其應用--skycanny的筆記.htm
字號:
</LI></UL></LI></UL></DIV></DIV>
<DIV id=centercontent>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-5340227906261827";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQnaWdzgEaCINObkyS6oFDKIvN93M";
google_ad_channel = "";
//--></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/show_ads.js"
type=text/javascript>
</SCRIPT>
<DIV class=day>
<DIV class=dayTitle>2006-8-16 8:49:00 </DIV>
<DIV class=postTitle>PCI總線接口芯片9054及其應用 </DIV>
<TABLE style="TABLE-LAYOUT: fixed" border=0>
<TBODY>
<TR>
<TD><SPAN id=ob_logd24203></SPAN>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD class=l16 height=40>
<DIV align=center>PCI總線接口芯片9054及其應用</DIV></TD></TR>
<TR class=l12>
<TD height=40>
<DIV align=center>福州南南信息科技有限公司 黃身錁</DIV></TD></TR>
<TR class=l12>
<TD>
<P>概述 <BR><BR>PCI9054是由美國PLX公司生產的先進的PCI
I/O加速器,采用了先進的PLX數據流水線結構技術,是32位、33MHz的PCI總線主I/O加速器;符合PCI本地總線規范2.2版,突發傳輸速率達到132MB/s,本地總線支持復用/非復用的32位地址/數據;有M、C、J三種模式;針對不同的處理器及局總線特性可選,盡量減少中間邏輯;具有可選的串行EEPROM接口,本地總線時鐘可和PCI時鐘異步。PC9054內部有6種可編程的FIFO,以實現零等待突發傳輸及本地總線和PCI總線之間的異步操作;支持主模式、從模式、DMA傳輸方式,因其強大的功能可應用于適配卡和嵌入式系統中。PCI
9054是一種性價比較高的PCI橋路芯片,比PCI9080、PCI9050等性能更優越。</P>
<P>PCI
9054其內部原理如圖1所示。它采用先進的PLX數據管道結構技術,是32Bit、33MHz的PCI總線主I/O加速器。</P>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG onmousewheel="return bbimg(this)"
src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/xsj062812_1.jpg"></DIV></TD></TR></TBODY></TABLE>
<P>PCI9054主要特性如下:</P>
<P>·符合PCI V2.1,V2.2規范,包含PCI電源管理特性。</P>
<P>·支持VPD(Vital Product Data)的PCI擴展。</P>
<P>·支持PCI雙地址周期,地址空間高達4GB。</P>
<P>·具備120準備報文單元,完全兼容120 V1.5規范。</P>
<P>·提供了兩個獨立的可編程DMA控制器,每個通道均支持塊和</P>
<P>Scatter/Gather的DMA方式,DMA通道0支持請求DMA方式。</P>
<P>·在PCI啟動模式下,PCI 9054可插入類型1和類型2的配置周期。</P>
<P>·PCI和Local Bus數據傳送速率高達132MB/S。</P>
<P>·支持本地總線直接接口Motorola MPC850或MPC860系列、Intel i960系列、IBM
PPC401系列及其它類似總線協議設備。
·本地總線速率高達50MHz;支持復用/非復用的32bit地址/數據;本地總線有三種模式;M模式、C模式和J模式,可利用模式選擇引腳加以選擇。</P>
<P>·具有可選的串行EEPROM接口。</P>
<P>·具有8個32bit Mailbox寄存器和2個32位Doorbell寄存器。</P>
<P><BR>功能描述</P>
<P>PCI9054的物理總線接口</P>
<P>PCI9054提供了三種物理總線接口:PCI總線接口,LOCAL總線接口及串行EPROM接口。LOCAL總線的數據寬度為32位,時鐘頻率可達到50MHz并且支持數據預取功能。</P>
<P>PCI9054的總線操作包括PCI總線操作和本地總線操作。對于PCI總線操作,它完全遵守2.2版本PCI規范。PCI9054本地總線支持非多路復用32位地址/數據總線,多路復用32位和8位,16位或32位本地總線設備從屬訪問,運行速率高達50MHz,可以獲得200MB/S的本地總線突發傳輸速率。</P>
<P>PCI9054的LOCAL總線與PCI總線之間數據傳輸有三種方式:主模式(Direct Master)、從模式(Direct
Slave)和DMA方式。其內部具有兩個DMA數據通道,雙向數據通路上各有6個FIFO進行數據緩沖,可同時進行高速的數據接收和發送。8個32位Maibox寄存器可為雙向數據通路提供消息傳送。
</P>
<P>PCI9054還提供了一個串行EEPROM接口,容量2K字節。在配置存儲器中存放了廠家標志、設備標志以及本地總線的基地址空間、I/O空間和中斷控制信號等信息。初始化時,系統自動將串行EEPROM中的配置參數裝入PCI配置寄存器,并根據本地總線對內存、I/O端口和中斷的需求統一劃分,自動配置。其中本地端寄存器也可以由本地CPU讀寫,直接進行配置。</P>
<P>PCI9054工作模式</P>
<P>PCI9054有3種工作模式:C、M和J模式。M模式主要針對Motorola公司高性能MPC850/860的應用而設計,主要應用在電信領域。J模式的接口設計相對比較復雜,通常用的是C模式。</P>
<P>C模式下PCI9054分為PCI Initiator操作和PCI Target操作。在PCI
Initiator操作過程中,本地處理器或本地總線主控設備能夠直接通過PCI9054訪問PCI總線,發起Local-to-PCI的數據傳輸。而在PCI
Target操作過程中,PCI總線主控設備可以以可編程的等待狀態、總線寬度和突發傳輸功能訪問PCI9054的三個本地空間(空間0,空間1和擴充ROM空間)。</P>
<P>PCI9054的DMA突發模式</P>
<P>PCI9054集成了兩個相互獨立的DMA通道,每個通道都支持Block DMA和Scatter/Gather
DMA,通道0還支持Demand DMA傳輸方式<BR>Block
DMA要求PCI主機或Local主機提供PCI和Local的起始地址、傳輸字節數、傳輸方向。主機設定DMA開始位啟動數據傳輸,一旦傳輸完成,PCI9054設定DMA"傳輸結束位"結束DMA。如果啟動中斷允許位,在傳輸結束時PCI9054將向主機申請中斷。在DMA傳輸中,PCI9054既是PCI總線的主控器又是Local總線的主控器。</P>
<P>Scatter/Gather
DMA要求主機在PCI空間或Local空間設定Descriptor模塊,模塊包括PCI和Local的起始地址、傳輸字節數、傳輸方向和下一個Descriptor模塊的地址。PCI9054載入第一個Descriptor模塊并發起傳輸,連續加載下一個模塊,直到它偵測到“鏈結束位”有效,PCI
9054設置“傳輸結束位”,或者申請PCI或Local中斷。這種模式下,PCI9054也可以在每個模塊加載時有效中斷信號,結束DMA傳輸。若Descriptor模塊在本地存儲空間,可以編程使DMA控制器在每次DMA傳輸結束后清除傳輸字節數。</P>
<P>PCI9054寄存器</P>
<P>PCI9054內部提供了5種寄存器:PCI配置寄存器、本地端配置寄存器、運行時間RUNTIME寄存器、DMA寄存器和120信息寄存器。下面對PCI配置寄存器和本地端配置寄存器的功能做簡要介紹。</P>
<P>PCI配置寄存器也就是我們常說的PCI配置空間,它提供了配置PCI的一些信息。其中VenderID,DeviceID,RevisionID,HeaderType,ClassCode用于PCI設備的識別。
</P>
<P>命令寄存器(Command)包含設備控制位,包括允許存儲器讀寫響應等。</P>
<P>狀態寄存器(Status)用于記錄PCI總線的相關事件。</P>
<P>PCI配置寄存器提供了6個基地址寄存器,這些基地址都在系統中的物理地址范圍內,其中BASE0和BASE1用來訪問其他配置寄存器的基地址,BASE1是其他配置寄存器映射到PCI端內存的基地址,BASE2是其他寄存器映射到PCI端I/O的基地址。</P>
<P>可以通過PCI端內存和PCI端I/O來訪問LOCAL配置寄存器與其他3種寄存器。BASE2~5四個空間提供了訪問本地端所接的4個芯片(當然可以少于4個),它們將本地端的芯片通過本地端地址(在LOCAL配置寄存器中設)翻譯成PCI的地址,也就是將本地的芯片映射到系統的內存或I/O口。這樣使得用程序操作這一段內存(或I/O)實際上就是對本地的芯片操作。</P>
<P>本地端配置寄存器提供了本地端的一些信息,如圖2 C模式部分時序圖</P>
<P></P>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG onmousewheel="return bbimg(this)"
src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/xsj062812_2.jpg"></DIV></TD></TR></TBODY></TABLE>
<P>LCLK:輸入信號,時鐘信號</P>
<P>LHOLD:輸入信號,申請使用本地總線</P>
<P>LHOLFA:輸入信號,對LHOLD應答</P>
<P><BR>基于PCI9054的PCI接口設計</P>
<P>PCI 9054
以其強大的功能和簡單的用戶接口,為PCI總線接口的開發提供了一種簡潔的方法,設計者只需設計出本地總線接口控制電路,即可實現與PCI總線的高速數據傳輸。</P>
<P>圖3是應用PCI9054作為接口芯片,開發PCI總線擴展卡的總體硬件框架圖</P>
<P></P>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD height=15>
<DIV align=center><IMG onmousewheel="return bbimg(this)"
src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/xsj062812_3.jpg"></DIV></TD></TR></TBODY></TABLE>
<P>下面簡單介紹以PCI9054為接口芯片的網卡設計。</P>
<P><BR>硬件設計</P>
<P>見圖4</P>
<P></P>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG onmousewheel="return bbimg(this)"
src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/xsj062812_4.jpg"></DIV></TD></TR></TBODY></TABLE>
<P>第一部分是9054和PCI插槽間的連接信號線。這些信號包括地址數據復用信號AD[31:0],總線命令信號C/BE[3:0]#和PCI協議控制信號PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、PERR#和SERR#。</P>
<P>第二部分是9054與EEPROM的連線。這里有四根信號線:EESK、EEDO、EEDI、EECS,串行EEPROM的數據通過燒寫編程的方式,也可以通過本地CPU直接編程的方式來完成初始化。</P>
<P>第三部分就是9054與應用電路的連接。其中LA地址總線、LD數據總線、LBE#字節使能信號和CPLD相連;LW/R讀寫信號、BLAST#、READY#、ADS#和8051單片機相連。</P>
<P>PCI9054工作在初始化器模式時,要求本地端的總線是32位的。在這里,用CPLD實現將80C51單片機的8位數據與16位地址轉換成32位的數據和地址,使用RAM的目的是提高8051的數據傳輸速度和處理復雜的TCP/IP協議,EEPROM用來保存相關的信息狀態等。</P>
<P><BR>軟件設計</P>
<P>軟件程序主要分為兩大部分,一是對PCI9054芯片的PCI端配置寄存器和本地端配置寄存器進行正確的編程配置;二是網絡通訊,包括網卡初始化、發送控制和接收控制3部分。</P>
<P><BR>結束語</P>
<P>在實踐開發中我們發現,用PCI9054開發各種高速數據采集系統、圖象處理系統等PCI設備,能夠減少許多相應的外圍器件,降低開發難度,縮短開發周期,大幅度壓縮成本。
</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV class=postDesc>posted @ 2006-8-16 8:49:00 skycanny <A
href="http://blog.21ic.com/user1/1202/24203.html#">閱讀全文<SPAN
id=ob_logreaded></SPAN></A> | <A
href="http://blog.21ic.com/user1/1202/24203.html#cmt">回復(0)</A> <SPAN
id=ob_logm24203></SPAN>| <A href="http://blog.21ic.com/showtb.asp?id=24203"
target=_blank>引用通告<SPAN id=ob_tbnum></SPAN></A> | <A
href="http://blog.21ic.com/user_post.asp?logid=24203"
target=_blank>編輯</A></DIV></DIV>
<DIV id=morelog>
<UL>
<LI>上一篇:<A
href="http://blog.21ic.com/user1/1202/24202.html">基于AT89C51的激光密碼鎖的設計</A>
<LI>下一篇:<A
href="http://blog.21ic.com/user1/1202/24204.html">基于DDS的調制信號發生器的設計</A>
</LI></UL></DIV>
<DIV id=form_comment>
<DIV id=gg_usercomment></DIV><A name=cmt></A>
<DIV class=title>發表評論:</DIV>
<FORM id=commentform name=commentform onsubmit="return Verifycomment()"
action=/savecomment.asp?logid=24203 method=post>
<DIV class=d1><LABEL>昵稱:<INPUT id=UserName maxLength=20
name=UserName></LABEL></DIV>
<DIV class=d2><LABEL>密碼:<INPUT id=Password type=password maxLength=20
name=Password> (游客無須輸入密碼)</LABEL></DIV>
<DIV class=d3><LABEL>主頁:<INPUT id=homepage maxLength=50 size=42 value=http://
name=homepage></LABEL></DIV>
<DIV class=d4><LABEL>標題:<INPUT id=commenttopic maxLength=50 size=42
value=Re:PCI總線接口芯片9054及其應用 name=commenttopic></LABEL></DIV>
<DIV class=d5><INPUT id=edit type=hidden name=edit>
<DIV id=oblog_edit>21IC頁面載入....</DIV></DIV>
<DIV class=d6><SPAN id=ob_code></SPAN><INPUT onclick='oblog_edittext.createTextRange().execCommand("Copy");' type=submit value= 提 交 ></DIV></FORM></DIV></DIV>
<DIV class=footer>Copyright ©2006 <SPAN id=blogname>21IC頁面載入....</SPAN></DIV>
<SCRIPT language=javascript src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/682187.js"
type=text/javascript></SCRIPT>
<NOSCRIPT><A href="http://www.51.la/?682187" target=_blank><IMG
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none"
alt=我要啦免費統計 src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/go.htm"></A></NOSCRIPT>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-5340227906261827";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQnaWdzgEaCINObkyS6oFDKIvN93M";
google_ad_channel = "";
//--></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/show_ads.js"
type=text/javascript>
</SCRIPT>
<SPAN id=gg_userbot></SPAN>
<DIV id=powered><A href="http://www.oblog.cn/" target=_blank><IMG
alt="Powered by Oblog."
src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/oblog_powered.gif" border=0></A></DIV>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/200608.htm"></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/count.htm"></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/commentedit.htm"></SCRIPT>
<SCRIPT
src="C:\Documents and Settings\yd\桌面\pci\PCI總線接口芯片9054及其應用--skycanny的筆記.files\count(1).htm"></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/login.htm"></SCRIPT>
<SCRIPT src="PCI總線接口芯片9054及其應用--skycanny的筆記.files/ShowXml.htm"></SCRIPT>
<SCRIPT
src="C:\Documents and Settings\yd\桌面\pci\PCI總線接口芯片9054及其應用--skycanny的筆記.files\count(2).htm"></SCRIPT>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -