PCI总线的布线有什么特殊要求
我们可以从下面的几点来分析一下PCI:
1 、首先,PCI系统是一个同步时序的体统,而且是Common clock方式进行的。
2、 PCI的电平特点是依靠发射信号叠加达到预期的电平设计。
3 、PCI系统一般是多负载的情况,一个PCI的桥片最多按照PCI的规范可以带6个负载(好像一般系统也不会操作5个)。
4、 PCI的拓扑结构可以是菊花链等多种拓扑结构,选择什么样的拓扑结构需要根据系统的布局和仿真结果进行设计。
5、 另外PCI的AD信号线是双向的,需要在布局和仿真的时候关注PCI的slave和Master之间的关系。
指导了上面的几个问题我们可以根据PCI规范以及PCI的仿真结果大致得到下面的几个约束:
1 、PCI的各个时钟之间的Skew不要大于2ns。
2 、PCI的flight time不要超过10ns(自己拿一个系统计算就知道为什么这样规定了),这个是针对33M PCI进行越是的,这个延时只的信号从一个设备传输到另一个设计后,经过反射回到最初的芯片的传输延时,包括,PCB走线延时,和因为驱动器buffer(包括拓扑)造成的信号畸变的延时。
3、 PCI的阻抗设计需要根据实际的系统进行仿真决定,PCI规范的推荐值在50-110ohm之间。
4 、需要考虑一些特殊的信号走线的延时,比如REQ#。可以查一下规范我记着应该有特殊的要求。
5 、PCI规范上面规定的2.5"和1.5"的大小那是为了规范各个不同的PCI厂家的规范进行的。如果你在系统的板上面进行设计,只要计算的时序满足要求就可以了。
6 、如果存在PCI的桥片,这些桥片一般都会通过PLL或者DLL的时钟调节PCI设计的setup和hold时间,这些时钟的处理可以根据实际的芯片进行调整,一般的要求是延时和PCI CLk的一样,记住这里的延时不仅仅是指PCB走线的延时。
7 、如果你设计的是CPCI系统,终端电阻是需要考虑的。大家如果有研究就会发现CPCI系统的槽间距是有要求的,好像是0.8",为什么?从时序和PCI信号反射的角度考虑,而且需要仿真决定stub长度以及电阻的大小。