1 引言
随着嵌入式微处理器主频的不断提高,信号的传输处理速度越来越快,当系统时钟频率达到100MHZ以上,传统的电路设计方法和软件已无法满足高速电路设计的要求。在高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置等越来越重要。笔者所在的武汉华中科技大学与武汉中科院岩土力学所智能仪器室合作.以ARM9微处理器EP9315为核心的嵌入式系统完成工程检测仪的开发。其中在该嵌入式系统硬件电路设计中的SDRAM和IDE等长走线、关键信号的阻抗控制和差分走线是本文的重点,同时以cirrus logic公司的网络物理层接13芯片cs8952为例详细介绍了网络部分的硬件电路设计,为同类高速硬件电路设计提供了一种可借鉴的方法。
2 硬件平台
2.1 主要芯片
本设计采用的嵌入式微处理器是CirrusLogic公司2004年7月推出的EP93XX系列中的高端产品EP9315。该微处理器是高度集成的片上系统处理器,拥有200兆赫工作频率的 ARM920T内核,它具有ARM920T内核所有的优异性能,其中丰富的集成外设接口包括PCMCIA、接口图形加速器、可接两组设备的EIDE、 1/10/100Mbps以太网MAC、3个2.0全速HOSTUSB、专用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 声波仪相比,改系统功耗降低,体积变小,稳定性增强,成本降低,更适合工业控制中的运用。