1 引言??
隨著嵌入式微處理器主頻的不斷提高,信號的傳輸處理速度越來越快,當系統時鐘頻率達到100MHZ以上,傳統的電路設計方法和軟件已無法滿足高速電路設計的要求。在高速電路設計中,走線的等長、關鍵信號的阻抗控制、差分走線的設置等越來越重要。筆者所在的武漢華中科技大學與武漢中科院巖土力學所智能儀器室合作.以ARM9微處理器EP9315為核心的嵌入式系統完成工程檢測儀的開發。其中在該嵌入式系統硬件電路設計中的SDRAM和IDE等長走線、關鍵信號的阻抗控制和差分走線是本文的重點,同時以cirrus logic公司的網絡物理層接13芯片cs8952為例詳細介紹了網絡部分的硬件電路設計,為同類高速硬件電路設計提供了一種可借鑒的方法。??
2 硬件平臺??
2.1 主要芯片??
本設計采用的嵌入式微處理器是Cirrus?Logic公司2004年7月推出的EP93XX系列中的高端產品EP9315。該微處理器是高度集成的片上系統處理器,擁有200兆赫工作頻率的 ARM920T內核,它具有ARM920T內核所有的優異性能,其中豐富的集成外設接口包括PCMCIA、接口圖形加速器、可接兩組設備的EIDE、 1/10/100Mbps以太網MAC、3個2.0全速HOST?USB、專用SDRAM通道的LCD接口、觸摸屏接口、SPI串行外設接口、AC97接口、6通道I2S接口和8*8鍵盤掃描接口.并且支持4組32位 SDRAM的無縫連接等。??
主芯片豐富的外設接口大大簡化了系統硬件電路.除了網絡控制部分配合使用Cirrus Logic公司的100Base—X/10Base-T物理層(PHY)接口芯片CS8952外,其他功能模塊無需增加額外的控制芯片。??
2.2 系統主體結構??
由圖1可見.系統以微處理器EP9315為核心,具有完備的外設接口功能,同時控制工程檢測儀。IDE/CF卡接口為工程檢測數據提供大容量移動存儲設備;擴展32M的SDRAM作為外部數據存儲空間;3個主動USB接口支持USB鍵盤鼠標;LCD接口支持STN/TFT液晶和觸摸屏.為用戶提供友好的交互界面;1/10/100 Mbps以太網為調試操作系統時下載內核及工程檢測時遠程監控提供途徑;面板按鍵為工程人員野外作業無法使用鍵盤鼠標時提供人機交互接口。??
?
EP9315在操作系統下主頻達到200M,總線頻率100M,外設時鐘為50M,數據線和地址線的布線密度大,速度高,網絡部分對差分線和微帶線控制有特殊要求。以往使用Protel設計主要依照經驗進行PCB布局布線,顯然這種方法無法滿足當前的高速電路設計。CADENCE公司作為EDA領域最大的公司之一,其PCB設計工具性能上的優勢在高速電路設計中越來越明顯,故筆者使用CADENCE公司的PCB設計布局軟件Allegro完成高速電路設計。??
3 設計實現??
3.1 SDRAM的布線規則??
該嵌入式系統使用64M字節的SDRAM擴展數據存儲區,由兩片K4S561632組成工作在32位模式下。最高頻率可達100M以上,對于SDRAM的數據線、時鐘線、片選及其它控制信號需要進行線長匹配,由此提出以下布線要求:??
1. SDRAM 時鐘信號:時鐘信號頻率較高,為避免傳輸線效應,按照工作頻率達到或超過75MHz時布線長度應在1000mil以內的原則及為避免與相鄰信號產生串擾。走線長度不超過1000mil,線寬10mil,內部間距5mil,外部間距30mil,要求差分布線,精確匹配差分對走線。誤差允許在20mil以內。??
2. 地址,片選及其它控制信號:線寬5mil,外部間距12mil,內部間距10mil。盡量走成菊花鏈拓補。可有效控制高次諧波干擾,可比時鐘線長,但不能短。??
3. SDRAM數據線:線寬5mil,內部間距5mil,外部間距8mil,盡量在同一層布線,數據線與時鐘線的線長差控制在50mil內。??
根據布線要求,在Allegro中設置不同的約束:針對線寬設置3 個約束SDRAM_CLK,SDRAM_ADDDR,SDRAM_DATA,設置完約束后將約束添加到對應的net上。使得各個net都具有線寬、線距約束屬性。最后為不同的信號組選擇合適的約束即可。但是設置的約束在系統CPU內部是無法達到的。因為EP9315為BGA封裝。pin間距1.27毫米,顯然在CPU內部,線寬線距無法達到上述要求,利用Allegro設置CPU特殊走線區域cpu_area。并加上area屬性,在此區域中另設置適合 BGA內部走線的約束。??
3.2 Xnet在IDE總線等長布線中的應用??
3.2.1系統中的IDE接口設計??
EP9315強大的外設接口能力能夠直接驅動IDE硬盤 ,布線時需要注意IDE總線的等長設置,但是IDE總線這類高速線需要端接匹配,可以防止信號反射和回流。如圖2所示其中的排阻起到了端接匹配的作用,但使得整個走線被分為好幾個NET,而Allegro中常用的走線長度設置 propagation_delay和relative_propagation_delay只能針對同一NET設置.IDE總線信號由EP9315扇出,要求EP9315到IDE接口走線DD*+UBDD*(如圖2中NET)等長,誤差為+/-20mil,最簡單的方法是分別設置DD*等長和 UBDD*等長,誤差各位+/-10mil,就可以達到要求,但是增加了布線難度,特別當DD*有較大繞線空間。而UBDD*沒有足夠繞線空間時。這樣設置等長不可行。Allegro提供了一種方法,將DD*和UBDD*走線相加再進行等長比對,這就要用到Xnet。??
?
3.2.2 Xnet概念和Xnet等長設置??
通常把連續的幾段由無源元件(電阻,電容或電感)連接的NET合稱為Xnet,如圖3所示。??
Xnet示例??
?
圖2中將DD*和UBDD*設置為同一個Xnet。對屬于該Xnet的所有信號等長控制。Xnet等長設置分為以下步驟:??
1.設置Xnet??
選擇要設置Xnet的器件(圖2中為排阻RA1-RA4),創建ESpiceDevice model,Allegro將自動填入模型名稱,電路類型-Resistor,PIN連接順序:1,8,2,7,3,*,5,表示1和8是一個電阻 (見圖2)。至此,查看排阻兩邊NET都添加了同一Xnet屬性。??
2.Xnet的等長設置??
(1)建立Xnet的pin pair:在Allegro中打開constraint manager,選擇relative_propagation_delay屬性。已設置的Xnet自動顯示,選擇Xnet建立pin pair,Allegro提供整個項目中Xnet關聯的起始pin和結束pin。選擇需要等長設置的起始pin和結束pin。??
(2)建立等長 group:選中所有需要設置等長的pin pair,創建名為R_IDE_DATA的MATCH GROUP,在與relative_ propagation_delay對應的工作窗體選擇區中出現了剛創建的R_IDE_DATA,其內含建立的pin pair,按照IDE總線走線等長要求設置走線誤差10mil以內,一般選擇最長走線為基準線(target)。??
(3)走線完成后,重新打開constrait manager對實際走線進行分析,Allergo自動顯示分析結果,綠色表示走線以基準線為標準。走線誤差在10mil以內。紅色表示走線誤差超過10mil,如果分析結果,大部分走線都為紅色,可以適當調整基準線的選擇。??
此外,Allegro在等長走線時。會實時顯示走線長度是否在誤差范圍內,可以使用蛇型線調整走線長度。這些都極大的確保了布線可靠性。??
3.3差分線和阻抗控制在網絡布線中的應用??
3.2.1物理層接口芯片cs8952布線準則??
CS8952使用CMOS技術。提供一個高性能的100Base-X/10Base-T物理層(PHY)線路接口。它使自適應均衡器達到最優化的抗擾性和抗近端串擾(NEXT)性。可將接收器的應用擴展至超過160米的電纜,它結合了一個標準介質無關端口(MII),可簡便地連接微處理器EP9315的介質訪問控制器(MAC)。??
以下一些PCB布線規則,將使得CS8952工作更加穩定并得到良好的EMC性能:??
(1).差分傳輸線布線應靠近(線寬間距6-8mil),與其他走線、元件保證2個線寬的距離。TX和RX差分對布線遠離彼此。必要時使用pcb的相對面。
(2).對關鍵信號Tx+/-,RX+/-,RX_NRz+/-控制阻抗,作為微帶傳輸線(差分對100歐,單線60歐),MII信號作為68歐微帶傳輸線。??
(3).4.99k的參考電阻應該越靠近RES管腳越好,把電阻另外一端使用一個過孔接到地平面。鄰近的vss(85和87腳)接在電阻接地端,形成一個屏蔽。
(4). 使用多層電路板,至少有一個電源層,一個地層,疊層設置為:top,gnd,VCC,bottom。使用底層pcb走信號線只作為第二選擇。把所有的元件都放在頂層。然而,旁路電容優選越靠近芯片越好,最好放置在CS8952下方的底層pcb上。RJ45終端元件和光纖元件可以選擇放在底層。 ?
3.2.2網絡部分關鍵信號差分走線和阻抗控制的設置??
網絡部分差分線及其阻抗控制以信號Tx+/-為例。步驟如下:??
1.在Allegr o的assign diff pair菜單中選擇建立差分對的信號Tx+/-,命名為TX_Pair。??
2.按照對信號TX+/-阻抗控制要求計算差分對線寬、線距,如圖4所示,選擇走線層面top層,填入差分對阻抗100歐,單線阻抗60歐,得到線寬10.1mil,主要線間距8.1mil。??
3.定義差分對TX_PAIR電氣約束條件:??
主要線寬,線間距:10mil/8mil;??
次要線寬/線間距:10mil/8mi;??
線最小間距:6mil;??
兩條線無法走到一起時允許的線長:100mil;??
兩條線可允許的誤差值:25mil。??
4.分配差分對TX_PAIR到電氣約束集,打開差分對DRC模式。??
?
以上實現差分對走線和阻抗控制的方法在涉及到大量差分對的通信系統電路中非常簡單實用。??
4 結語??
筆者利用強大的PCB設計軟件Allegro實現了基于EP9315嵌入式系統的硬件電路設計。該板采用6層PCB布線,完全滿足高速電路設計中對等長、差分、阻抗控制的要求。 基于該電路設計的嵌入式系統與武漢中科院巖土力學所設計的SY5聲波工程檢測儀實現了良好接口,與由51單片機搭建的原 SY5 聲波儀相比,改系統功耗降低,體積變小,穩定性增強,成本降低,更適合工業控制中的運用。
評論
查看更多