基于EP2SGX系列FPGA的PCI接口設計
0 引 言
在現代雷達數據處理系統和其他應用系統中,傳統的ISA、EISA等總線(xiàn)已逐漸無(wú)法適應高速數據傳輸的要求。而PCI局部總線(xiàn)以其高性能、低成本、使用方便和適應性等優(yōu)點(diǎn)成為大多數系統的主流總線(xiàn)。其中常用的33 MHz、32位的PCI總線(xiàn)尖峰傳輸速率為132 MB/s。PCI總線(xiàn)接口相對其他總線(xiàn)接口來(lái)說(shuō)是比較復雜的,它有著(zhù)嚴格的同步時(shí)序要求,且為了實(shí)現即插即用和自動(dòng)配置,PCI總線(xiàn)的配置空間有許多配置寄存器需要設置。本文在簡(jiǎn)要介紹PCI總線(xiàn)及其特點(diǎn)的基礎上,介紹了如何利用FPGA設計PCI總線(xiàn)的接口電路,并給出了設計PCI總線(xiàn)接口時(shí)應注意的一些問(wèn)題。
1 PCI總線(xiàn)與數據傳輸規范
PCI總線(xiàn)信號可劃分為如圖1所示的幾種類(lèi)型。其中64位總線(xiàn)擴展信號、資源鎖存信號和邊界掃描信號是可選的。
PCI總線(xiàn)上的數據傳送是基于猝發(fā)傳送的機制,一個(gè)猝發(fā)傳送包括一個(gè)地址相和一個(gè)或多個(gè)數據相?;镜腜CI傳輸由FRAME#、IRDY#和TRDY#信號控制。當數據有效時(shí),數據資源需要無(wú)條件設置xRDY#信號(寫(xiě)操作為IRDY#,讀操作為T(mén)RDY#)。接收方可在適當時(shí)間發(fā)出它的xRDY#信號。FRAME#信號有效后的第一個(gè)時(shí)鐘上升沿是地址周期的開(kāi)始,此時(shí)傳送地址信息和總線(xiàn)命令。下一個(gè)時(shí)鐘上升沿開(kāi)始一個(gè)(或多個(gè))數據周期,當IRDY#和TRDY#同時(shí)有效時(shí),數據在主、從設備之間傳送。在此期間,可由主設備或從設備分別利用IRDY#和TRDY#的無(wú)效而插入等待周期。PCI總線(xiàn)傳輸包含讀、寫(xiě)和中止3個(gè)內容,圖2和圖3所示的時(shí)序圖顯示了PCI總線(xiàn)讀、寫(xiě)操作的傳輸過(guò)程。
2 設計考慮及芯片選擇
目前PCI接口主要有2種實(shí)現方式:使用專(zhuān)用接口芯片和采用可編程器件。專(zhuān)用芯片如PLX公司的9050等,專(zhuān)用芯片可以實(shí)現完整的PCI主控模塊和目標模塊接口功能,將復雜的PCI總線(xiàn)接口轉換為相對簡(jiǎn)單的用戶(hù)接口。缺點(diǎn)是缺少靈活性,用戶(hù)可能只用到了部分的PCI接口功能,造成了一定的邏輯資源浪費。采用FPGA的優(yōu)點(diǎn)在于其靈活的可編程性,首先PCI接口可以依據插卡功能進(jìn)行最優(yōu)化設計,而不必實(shí)現所有的PCI功能,可以節約系統的邏輯資源。其次可以將PCI插卡上的其他用戶(hù)邏輯與PCI接口邏輯集成在一個(gè)芯片上,實(shí)現緊湊設計。再者當系統升級時(shí),只需對可編程器件重新進(jìn)行邏輯設計,而無(wú)需更新PCB版圖。
評論