PCB布線規則之PCI卡篇
PCI卡的布線比較講究,這是PCI信號的特點決定的。在常規性的高頻數字電路設計中我們總是力求避免阻抗不匹配造成的信號反射、過沖、振鈴、非單調性現象,但是PCI信號卻恰恰是利用了信號的反射原理來傳輸物理信號,為使能夠合理利用信號反射同時又盡力避免較大的過沖、振鈴和非單調性等副作用,PCI-SIG在PCI規范中對PCB物理實現做了一些規定。
PCI-SIG推薦PCI卡使用四層PCB板,PCI-SIG規定的PCI連接器的信號分布也正是為便于四層板布線而優化定義的。PCI-SIG對PCI控制器的引腳分布也做了一個推薦性的示意圖,實際上AMCC、PLX、OXFORD等PCI控制器生產商也執行了這個推薦,在這個推薦的pin分布下,使用兩層PCB板實際上也是很方便布線的,但是如果PCI卡系統硬件很復雜,需要多個電源分割層面的情況下還是多層PCB更好。
PCI卡上任何一個PCI信號僅能連接到一個負載(包括也不能另外連接到一個上拉電阻)。除了CLK,RST,INTA#~INTD#,JTAG這些pin之外,所有pin從金手指與卡座的接觸點算起到負載端不得大于1.5inch;CLK信號長度為2.5+-0.1inch,這個長度有點長,所以許多情況下需要繞彎走線以達到長度要求,這就是為什么常常在PCI卡上見到CLK的蛇形走線的原因;對其余幾個pin沒有特殊規定。多層PCB時信號走線不要跨越不同的電源層面(至少,存在分割電源層面的那一層應位于PCB的另一面),這也就是為什么常常見到PCI卡上A面金手指走上來的所有信號往往都打個過孔走到B面(元件面)的原因。
每個PCI信號的特性阻抗為60~100歐姆,負載電容不得超過10pf,IC的IO Pad應能夠承受-3.5V的下沖和+7.1V的信號過沖。對于AMCC、PLX、OXFORD等PCI控制器生產商來說,他們的控制器IC都滿足這些規定,用戶不必考慮,但是如果使用CPLD/FPGA來實現PCI控制器則必須考慮使用的型號是否滿足這些規定,一般Altera、Xilinx等CPLD/FPGA廠商會在其數據手冊中明確聲明該型號CPLD/FPGA是否兼容PCI信號規范。
好了,普通32位33MHz PCI卡的布線還是比較簡單的,主要滿足長度要求就可以了。其實如果沒有非常嚴格按照布線要求來作的話一般也不會出現問題,但是根據主板芯片組不同,一旦引發信號兼容性問題,要硬件調試PCI卡,那將是電路設計中最痛苦的經歷了。
?