PCI9052接口電路的功能及應用
摘要:PCI總線(xiàn)是Pentium主機最常見(jiàn)的總線(xiàn),基于PCI總線(xiàn)形成的CompactPCI和PXI總線(xiàn)廣泛地應用在儀器和自動(dòng)化領(lǐng)域。PCI適配卡的接口設計變得越來(lái)越重要,介紹PCI專(zhuān)用接口電路PCI9052的功能,通過(guò)一個(gè)例子介紹它的應用。
本文引用地址:http://dyxdggzs.com/article/149312.htm關(guān)鍵詞:外部設備互連總線(xiàn);局部總線(xiàn);接口電路;PCI9052;應用
1 引言
PCI(Peripheral Component Interconnect)總線(xiàn)具有獨立于處理器、高數據傳速率、即插即用、低功耗、適應性強等特點(diǎn),已成為微型機的主流總線(xiàn)?;赑CI總線(xiàn)形成的CompactPCI和PXI總線(xiàn)廣泛應用于儀器和自動(dòng)化領(lǐng)域。隨著(zhù)PCI總線(xiàn)的廣泛應用,其接口的設計開(kāi)發(fā)顯得尤為重要。由于PCI總線(xiàn)的獨特性能,如信號負載能力、支持數據的突發(fā)傳送、地址/數據、命令/字節使能信號總線(xiàn)復用等,使中小規模的器件難以實(shí)現接口電路。實(shí)現PCI總線(xiàn)接口一般采用CPLD或FPGA設計PCI接口,這種方法難度很大;另一種是采用專(zhuān)用的PCI接口電路,使設計開(kāi)發(fā)者免除繁瑣的時(shí)序分析,縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)成本。本文介紹PCI9052接口電路的功能及其在PCI板卡設計中的應用。
2 接口電路
PCI9052是PLX公司開(kāi)發(fā)的低價(jià)位PCI總線(xiàn)目標接口電路,功耗低,采用PQFP型160引腳封裝,符合PCI2.1規范,它的局部總線(xiàn)(LOCAL BUS)可以通過(guò)編程設置為8/16/32位的(非)復用總線(xiàn),數據傳送率可達到132Mb/s。提供了ISA接口,可以使ISA適配器迅速、低成本地轉換到PCI總線(xiàn)上。主要功能與特性如下所述:
異步操作。PCI9052的Local Bus與PCI總線(xiàn)的時(shí)鐘相互獨立運行,兩總線(xiàn)的異步運行便于高、低速設備的兼容。Local Bus的運行時(shí)鐘頻率范圍為0MHz~40MHz,TTL電平,PCI的運行時(shí)鐘頻率范圍為0MHz~33MHz。
支持突發(fā)操作。PCI9052提供一個(gè)64字節的寫(xiě)FIFO和一個(gè)32字節的讀FIFO,從而支持預取模式即突發(fā)操作。
中斷產(chǎn)生器??梢杂蒐ocal Bus的二個(gè)中斷信號LINTi1和LINTi2產(chǎn)生一個(gè)PCI中斷信號INTA#。
串行EEPROM接口,用于存放PCI總線(xiàn)和Local總線(xiàn)的配置信息。
5個(gè)局域總線(xiàn)地址空間和4個(gè)片選,基址和地址范圍可以由串行EEPROM或主控設備進(jìn)行編程。
大/小Endian模式的字節交換,有二種交換字節順序的輸出方式。
總線(xiàn)驅動(dòng)。所有地址、數據和控制信號都有PCI9052直接驅動(dòng),不用額外的驅動(dòng)電路。
Localbus等待狀態(tài)。除了等待信號LRDYI#用于握手之外,PCI9052還有一個(gè)內部等待產(chǎn)生器(包括地址到數據周期、數據到數據周期和數據到地址周期的等待)。
PCI鎖定機制。主控設備可以通過(guò)鎖定信號占有對PCI9052的唯一訪(fǎng)問(wèn)權。
ISA總線(xiàn)模式。PCI9052提供一個(gè)ISA邏輯接口,用戶(hù)可直接使PCI總線(xiàn)和ISA總線(xiàn)相連,可以非常容易地將ISA設計轉換到PCI。
PCI9052的接口示意圖如圖1所示。
圖1 PCI總線(xiàn)接口示意圖
3 PCI9052的功能及操作
3.1 初始化
上電時(shí),PCI總線(xiàn)的RST#信號將PCI9052的內部寄存器設置為缺省值,同時(shí),PCI9052輸出局部復位信號(LRESET#),并且檢查EEPROM是否存在。如果設備上裝有EEPROM,且EEPROM的第一個(gè)16字節非空,那么,PCI9052根據EEPROM內容設置內部寄存器,否則設為缺省值。
3.2 復位
PCI9052支持二種復位方式:硬件復位和軟件復位。硬件復位是PCI9052總線(xiàn)接口的RST#信號輸入有效時(shí)將引起整個(gè)PCI9052復位,并輸出LRESET#局部復位信號。軟件復位是PCI總線(xiàn)上的主機可以通過(guò)設置控制寄存器CNTRL(50H)中的軟件復位字節(Bit30)來(lái)對PCI9052復位,并輸出LRESET#信號。此時(shí),PCI和局部總線(xiàn)的配置寄存器的值將保持不變。當CNTRL中的軟件復位字節有效時(shí),PCI9052僅對配置寄存器的訪(fǎng)問(wèn)應答,對局部總線(xiàn)的訪(fǎng)問(wèn)不響應。PCI9052保持這種狀態(tài)直到PCI總線(xiàn)上的主機清除軟件復位字節。
3.3 對串行EEPROM接口的訪(fǎng)問(wèn)
復位后,PCI9052開(kāi)始讀串行EEPROM,若讀出的第一個(gè)字非FFFFH,則PCI9052認為有一個(gè)有效的EEPROM存在,并且繼續進(jìn)行讀操作,否則,認為EEPROM無(wú)效。PCI總線(xiàn)的主設備可以讀、寫(xiě)連接在PCI9052上的串行EEPROM。對其進(jìn)行讀、寫(xiě)操作之前需要將控制寄存器CNTRL[25](使能位)設置為“1”,并控制CNTRL[24]位以產(chǎn)生串行EEPROM的時(shí)鐘,然后,從EEDI送入指令代碼。如果在指令代碼之后由EEDO輸出“0”,則表明可以對其進(jìn)行讀、寫(xiě)。需要結束操作時(shí),只要將CNTRL[25]設置為“0”即可。
3.4 對內部寄存器訪(fǎng)問(wèn)
PCI9052提供了二種類(lèi)型的片內寄存器,即PCI配置寄存器和局部配置寄存器,二者都只能由PCI總線(xiàn)和串行EEPROM訪(fǎng)問(wèn),也可以通過(guò)設置寄存器CNTRL[13:12]禁止對后者的訪(fǎng)問(wèn),這樣,極大地增強了接口設計的靈活性。
3.5 直接數據傳輸模式
PCI9052支持PCI總線(xiàn)上的主處理器對局部總線(xiàn)上的設備進(jìn)行直接訪(fǎng)問(wèn)。PCI9052的配置寄存器將訪(fǎng)問(wèn)映射到局部地址空間。片內的讀寫(xiě)FIFO存儲器使PCI9052支持PCI總線(xiàn)與局部總線(xiàn)之間進(jìn)行高性能的猝發(fā)傳送。PCI總線(xiàn)主控訪(fǎng)問(wèn)局部總線(xiàn)示意圖如圖2所示。
圖2 PCI主控直接訪(fǎng)問(wèn)局部示意圖
3.6 PCI中斷(INTA#)的產(chǎn)生
要產(chǎn)生PCI中斷INTA#,首先將寄存器INTCSR[6](PCI中斷使能位)設置為“1”,如果需要以軟件方式產(chǎn)生中斷,則只需將INTCSR[7](軟件中斷位)設置為“1”。如果系統設計方案中選用由局部總線(xiàn)上的設備產(chǎn)生中斷信號INTi1和INTi2、再生成PCI中斷INTA#的方式,只要將寄存器INTCSR的相關(guān)位按表1進(jìn)行設置,復位后INTCSR的值全部為“0”。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論