基于CPCI总线的多网口卡设计 2010-09-18 10:12:15作者:赵健来源:电子设计工程

  以太网(Ethernet)作为应用最广泛的局域网技术异军突起,已经迅速走向工业自动化控制领域的前台。CPCI总线系统插槽有限,设计基于CPCI总线的多网口卡可节省空间,又可以满足状态监测及故障诊断系统要求的实时和大数据量传输。

  1模块总体设计

  该模块采用CPCI并行总线进行设计。图1给出该模块总体设计框图,其中,通过PCI桥扩展总线分别连接4片INTEL82551,由于INTEL82551内部已集成PCI接口,PCI桥可实现与INTEL82551之间的无缝连接。J1和J2为CPCI的接口插件。


点击看大图

  2CPCI总线结构模块

  2.1原理和结构

  在1条PCI总线上如果连接过多的电气负载或设备,总线不能正常工作。通过在系统内另外增加1条或多条PCI总线,问题可以得到解决。在系统内扩展另1条PCI总线,唯一的方法是使用PCI-PCI(即P2P)桥进行系统扩展。P2P桥是特殊的PCI设备,可把系统中的PCI总线粘合在一起。P2P桥在系统中连接主从两条PCI总线,它作为上一级总线的一个负载,通过对PCI信号的重新驱动和仲裁,而向下可以驱动一个总线段。

  其作用是协调2条PCI总线之间的数据传输,监视在这两条PCI总线上启动的所有交易,并决定是否将交易传送通过另一条PCI总线。当桥确定将一条总线上的交易传送到另一条总线时,桥必须充当交易总线的总线目标,以及交易的目的总线的主设备。系统设计者也可以安装多个P2P桥。

  2.2PCI2050B简介

  根据系统集成的特性,这里选择TI公司的PCI2050B桥接器来实现P2P桥。PCI2050B属于透明的PCI-PCI桥,在2个32位最高工作频率66MHz的PCI总线之间提供桥连接。该桥支持突发模式(burstmodetransfers),极大增加了数据的吞吐量,桥的总线数据路径(tmstrafficpaths)独立工作。桥的主、从总线分别可以工作在3.3V或者5V的环境下,而桥的核心逻辑工作在3.3V,以减少功耗。主机软件通过内部寄存器对桥进行操作。通过内部寄存器既可以得到标准PCI的状态,也可以对主、从总线进行控制。桥的PCI配置头只能通过主PCI接口来操作。PC-I2050B带9个从总线,除了为每个从总线提供内部仲裁外,也可为系统提供外部仲裁。PCI2050B提供10个从侧时钟输出。

  2.3PCI桥的设计

  根据该模块总体设计框图,系统设计需要注意以下几个方面。

  2.3.1时钟设计

  图2为PCI2050B的时钟设计框图。


点击看大图

  该时钟设计要点如下:

  1)PCI2050B有2个独立的时钟域,主接口受主侧输入时钟P_CLK的控制,从接口受从侧输入时钟S_CLK的控制。这2个时钟相互独立,但保持同步,而且从侧的时钟频率不能高于主侧的时钟频率。P_CLK与S_CLK最大延时不得超过7ns,S_CLK不能超前P_CLK。

  2)PCI2050B的从侧有10个时钟输出S-clkout[9:0],其中9个时钟输出可以供给扩展的PCI槽,为保证时钟输出同步,另1个必须反馈给从侧的输入时钟S_CLK,每一个时钟只能驱动一个负载。

  3)为了减小时钟的信号反射,输出到扩展槽的9个时钟输出必须在起始端加串联电阻匹配,匹配电阻阻值与电路板特征阻抗大小有关,对65Ω的传输线,选用50Ω串联匹配电阻。

  4)为了减小这些时钟之间的抖动(skew),供给扩展槽(或扩展设备)的9根时钟线(9个S_clkout)与S_CLK必须等长。所以,从S_clkout[9]输出反馈至S_CLK的时钟线长度应等于从PCI2050B的时钟输出引脚到扩展设备的时钟线的总长。本模块扩展4个网口,使用PCI2050B从侧的4个输出时钟,在PCB布线中这4根时钟线与反馈时钟线必须等长。

  2.3.2中断设计和IDSEL映射

  PCI2050B支持9个从设备,在初始化配置空间读写时,PCI2050B作为上一级PCI总线的操作对象,提供了IDSEL引脚进行器件选择,该引脚可以连接到高24位PCI总线中的任意一根。同时,为了减少地址线的容性负载,需要在该信号连线上串接一只1kΩ的电阻。本模块仅扩展一级总线,PCI2050B主侧的IDSEL引脚直接连接到CPCI插座J1的IDSEL。对于二级总线侧的PCI器件(本模块为INTEL82551),