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