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