随着现代军事通信技术的进步,数字化短波电台逐步往嵌入式、模块化的方向发展。CPCI总线作为一种新兴的总线技术,在短波电台的模块化设计上具有重要的应用价值,可以较大程度地提高数字化短波电台的可靠性和保障性。
CPCI总线架构
CPCI规范是由PICMG(PCI Industrial Computer Manufacturer’s Group,PCI工业计算机制造商联盟)制定的一种新的开放工业计算机标准,用于工业和嵌入式应用。它定义了更加坚固耐用的PCI版本,在电气、逻辑和软件功能等方面,与PCI标准完全兼容。
CPCI全称Compact PCI,简单的说就是PCI specification(PCI电气规范)加上rugged Eurocard packaging(欧式卡)结构。CPCI模块以插卡的方式安装在机箱内的支架上,并采用垂直方向通风散热,具有更好的散热性和抗震动性。这样,在CPCI系统中就可采用在台式机中广泛使用的高性能PCI技术,降低了新技术的使用成本,系统的整体性能得以提升。而且,基于PCI技术的丰富软件工具,也使得用户在使用中更加便捷。同时,欧式卡结构使得系统的可靠性进一步提高。另外采用IEEE 1101.11后端输出方式,使得对系统的维护更加方便快捷,大大缩短了系统的平均维护时间。
CPCI系统背板和CPCI板卡采用的是标准2mm高密度气密性针孔连接器,板卡的尺寸分3U(100mm×160mm)和6U(160mm×233mm)两种,3U的系统只提供32位/64位的PCI系统总线,6U的系统除了提供32位/64位的PCI系统总线外,还有多达315线的用户定义输入/输出线,非常适用于数字化短波电台的模块化设计应用。CPCI总线具有极高的性能,其主要特点是:
- 具有地址数据多路复用的高性能32位或64位的同步总线。总线引脚数目和部件数量少(对于总线目标设备只有47根信号线,对于主设备最多只有49根信号线),降低了成本及布线复杂度。
- CPCI局部总线在33MHz总线时钟、32位数据通路时,可达到峰值132Mb/s的带宽;在33MHz总线时钟,64位数据通路时可达到峰值264Mb/s的带宽;在66MHz主频时,对于32位数据通路和64位数据通路带宽的峰值,可分别达到264Mb/s或528Mb/s的带宽;CPCI总线还有线性突发传输功能,保证了满载的高速传输。
- 隐蔽的总线仲裁,减小了仲裁开销。
- 极小的存取延时,采用总线多主控和异步数据转移操作。
- CPCI提供的数据和地址奇偶校验功能,保证数据完整性和准确性。
- CPCI总线与CPU和时钟频率无关,它能支持多个外设,设备间通过局部总线可以完成数据快速传递,从而很好地解决数据传输的瓶颈问题。
- 对CPCI扩展卡及元件,能够自动配置,实现设备的即插即用。
从结构上看,CPCI总线的特点表明它是一种理想的系统交换平台的载体,能提供高传输带宽,同时能够保证数据完整性和准确性;能够支持多外设,很好地适应了系统可扩展性的要求;采用的是PCI总线操作规程,很好地适应了一般的PCI扩展元件,降低了开发难度;独特的引脚及外围电路设计集连接紧密牢固、抗干扰、易更换、热插拔等优点于一身。背板是CPCI总线架构的基础,它为CPCI总线交换提供物理连接、电路保证。CPCI背板有8个插槽,其中一个为系统板插槽(system slot),其他7个为外设板插槽(peripheral slot),像这样一个系统插槽外带7个外设插槽的单元称为一个CPCI段(CPCI segment)。系统插槽提供总线仲裁、时钟分配和整个CPCI段的重新启动等功能,系统插槽要通过管理每块外设插槽上板卡的IDSEL信号来完成整个系统的初始化;外设插槽上可以安放简单的接口板、智能从属装置(intelligence slave)或PCI总线控制装置(PCI master)。
CPCI总线接口设计
为了提高数字化短波电台的数据处理能力,可以为其配置ETX嵌入式计算机模块。虽然ETX嵌入式计算机模块定义了符合PCI规范的CPCI总线,但由于如上所述的电气负载的原因,对于PCI/CPCI总线而言,如果总线上连接过多的电气负载或设备,总线将不能正常工作。在不扩充总线的情况下,标准PCI总线的驱动能力是驱动4个PCI插槽,而CPCI控制器模块要求驱动7个仪器模块。因此,即使采用PCI插卡到CPCI插座的物理结构转换后,嵌入式计算机模块的PCI总线主桥路仍然不能直接驱动CPCI总线。所以在设计数字化短波电台的CPCI总线时,需要在ETX嵌入式计算机的CPCI总线和CPCI机箱底板的CPCI总线之间引入了PCI-PCI桥接设备。
1 桥接芯片的选择
PCI桥接芯片尽管可以使用FPGA通过硬件编程语言来实现,但由于PCI总线规范自身的复杂性,要想在短期内做到性能优化和操作稳定,难度很大。而现在市场上有许多厂家提供了很多成熟的产品,根据系统集成的特性,我们选择TI公司的PCI-to-PCI桥接芯片PCI2050。
PCI2050属于透明PCI-to-PCI桥,提供了两条PCI总线间的高性能连接,实现一条PCI总线的主设备和另外一条PCI总线的从设备间的传输,兼容Intel 21150。PCI2050桥符合PCI局部总线规范2.2,并可用于PCI总线的扩展,提供支持9个设备的可编程2优先级总线仲裁器;一次侧和二次侧都支持33MHz时钟、32位扩展信号。PCI2050提供CPCI热插拔能力,可完美解决多功能CPCI卡和单功能CPCI的热插拔问题。PCI2050桥符合PCI-to-PCI Bridge Specification1.1,符合PCI电源管理规范1.0/1.1。
2 电源和地的连接
PCI2050使用的核心工作电压为+3.3V,CPCI标准机箱的底板上通过J1连接器提供满足要求的+3.3V电压,在使用时无须DC/DC转换。但根据标准设计规范,在PCI2050的电源引脚附近需要设置旁路电容。所以在印制电路板布线时,在PCI2050的所有电源引脚附近需要设置一个0.1μF的陶瓷电容器作为旁路电容。
PCI2050在两侧总线方向都支持+5V和+3.3V信号环境,它们的选择是通过对P_VCC和S_VCC引脚施加不同的电压来实现的,详细的选择方式如表1所示。
由于PCI总线为高速总线,为了避免电源和地的干扰,在印制板布线时采取单独的电源层和地层布线。但因为在设计过程中使用了+5V和+3.3V两种电源,所以在同一电源层上又为+5V和+3.3V两部分分开铺铜。
3 PCI总线一次侧的连接
数字化短波电台的嵌入式计算机模块提供了符合PCI总线规范的标准PCI信号接口,这些信号与PCI2050的第一级总线侧的信号定义完全兼容,在设计时可以将嵌入式计算机的PCI信号输出直接连接到PCI2050一次侧的相应引脚。在初始化配置空间读写时,PCI2050作为上一级PCI总线的操作对象,提供了IDSEL引脚进行器件选择,按照PCI2050使用手册,该引脚可以连接到高24位PCI总线中的任意一根。同时,为了减低地址线的容性负载,需要在该信号连线上串接一个1kΩ的电阻。
在CPCI总线设计中,将PCI2050的IDSEL引脚通过1kΩ电阻连接到了AD19引脚。同样,PCI2050在二级总线侧可以支持9个PCI器件,对于每个二级总线侧的PCI器件的IDSEL引脚,也可以经过1kΩ电阻连接到PCI2050的S_AD31-S_AD16引脚中的任意一根。
4 PCI总线二次侧的连接
PCI总线信号经过桥接,在PCI2050的二级总线侧提供了标准的次级PCI总线接口信号,它们符合PCI总线规范的定义,同CPCI底板上的相应信号的定义也是相同的。但根据CPCI规范和PCI2050手册的要求,这些信号线需要经过适当的调理后才能与相应的CPCI J1、J2连接器的对应信号连接。
① 根据CPCI规范的要求,为了减小单板上的CPCI总线的信号线分支(stub)对总线的影响,必须对总线信号进行串联电阻匹配。PCB的布线特征阻抗应设计为65Ω±10%,匹配电阻阻值为10Ω。需要加串联匹配电阻的信号包括:AD0~AD31、C/BE0#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、DEVSEL#、PERR#、SERR#、RST#以及INTA#、INTB#、INTC#、INTD#。而且,从接插件J1或J2到PCI2050相应管脚,总的信号线长度要小于63.5mm(2.5英寸)。其中,从接插件插针到串联电阻的PCB连线长度小于15.2mm(0.6英寸)。所以,对上述信号在实际中使用10Ω排阻作为端接终端电阻进行串联的匹配。
② 在CPCI总线的设计中,对于GNT#0~GNT#6、REQ#0~REQ#6和二级时钟输出SCLKOUT0~SCLKOUT6等引脚根据CPCI规范对系统卡的要求,也需要加上相应的10Ω端接终端电阻。
③ 根据规范要求,对CPCI总线接口来说,对系统卡的一些PCI信号输出需要进行上拉,且上拉电阻必须被放置在端接终端电阻靠近CPCI J1、J2连接器的一侧上。可以在设计时对PCI2050的二级总线侧的相应信号通过8.2kΩ电阻上拉。需要上拉的电阻包括:FRAME#、IRDY#、TRDY#、STOP#、LOCK#、DEVSEL#、PERR#、SERR#、RST#、INTA#、INTB#、INTC#、INTD#、GNT#0~GNT#9、REQ#0~REQ#9等。
④ 对于二级时钟输出,PCI2050的二次侧有10个时钟输出S_CLKOUT[0..9],这些时钟输出可以通过相关寄存器分别使能。同时,为了保证PCI2050的二级PCI总线时钟和其他时钟输出同步,应将S_CLK引脚经一个75Ω电阻反馈到S_CLKOUT9引脚,如图1所示。
图1 PCI2050的时钟连接
⑤ PCI2050提供的JTAG边界扫描接口TDI、TDO、TMS、TCLK、TRST#,这些引脚可以与CPCI规范定义的J1连接器上的相应引脚直接连接。
⑥ 对于二级总线的仲裁,PCI2050提供两种方式:外部总线仲裁和内部总线仲裁。S_CFN#引脚为选择引脚,当S_CFN#引脚为高时,使用外部总线仲裁器。这时,S_REQ#1~S_REQ#8和S_GNT#1~S_GNT#8引脚被置为高阻状态,外部仲裁器与PCI2050的连接方式如图2所示。
图2 PCI2050与外部仲裁器的连接
在PCI2050的内部总线仲裁模式中,S_CFN#引脚为低,PCI2050对外围卡通过S_REQ#0~S_REQ#8引脚提出的请求进行仲裁,然后通过S_GNT#0~S_GNT#8引脚和进行响应。PCI2050的S_REQ#0~S_REQ#8和S_GNT#0~S_GNT#8引脚分别与CPCI规范定义的CPCI J1、J2的相应引脚经过串接端接电阻和上拉后连接。
5 芯片工作模式的选择
PCI2050可以选择工作在三种不同的工作模式下:TI CPCI热插拔模式、TI电源管理模式和与Intel 21150兼容模式。选择引脚分别为:MS0、MS1,模式选择定义如表2所示。
TI CPCI热插拔模式支持CPCI热插拔,满足CPCI电源管理接口规范1.1版本;TI电源管理模式不支持CPCI热插拔,只满足CPCI电源管理接口规范1.1版本;与Intel 21150兼容模式也不支持CPCI热插拔,且只满足CPCI电源管理接口规范1.0版本。根据CPCI总线应用设计的需要,可以选择TI CPCI热插拔工作模式。
当PCI2050选择工作在TI CPCI工作模式下时,为了确保热插拔逻辑的正常工作,要求必须将PCI2050的HS_SWITCH/GPIO3和HSENUM#引脚上拉。同时,由于没有使用PCI2050的关于GPIO的引脚,且因为这些引脚在缺省条件下定义为输入脚,为了避免误触发,应该将这些引脚全部上拉。
6 芯片内部寄存器设置
PCI2050桥接芯片作为一个独立功能的PCI器件,具有和所有PCI设备一样的配置空间,并且作为PCI桥,它遵守PCI-to-PCI桥规范1.1所定义的PCI配置空间。PCI2050除了具有标准的PCI-to-PCI桥规范定义的配置空间外,还具有TI特有的寄存器组(40h-FFh)。这些寄存器组包含PCI2050某些特有功能的控制位,在PCI2050的应用中起特殊控制作用。但在本设计中,根据系统实际应用需求,对PCI2050的内部寄存器不需要进行特别操作,可以使用其缺省值。
结论
基于PCI2050桥接芯片的CPCI总线设计在数字化短波电台中的应用比较稳定可靠,为数字化短波电台提供了丰富的可插拔插槽。CPCI总线的标准化规范也为数字化短波电台的模块化设计和功能扩展提供了便利,并且还极大地提高了电台的可操作性、维修性和保障性,使数字化短波电台能更好地适应各种复杂的应用环境。