寒来暑往,马上到了2020年的年尾,虹科 小李断断续续发了一些关于PXI的科普文章,今天在2020年的最后一天,我们来个完结篇吧,等到了2021年,我们再来一起开启新的篇章,继续一起学习交流。
今天带大家学习2部分内容,首先带大家学习下混合机箱,之后呢,会详细带大家看下从机箱背板到模块的一些介绍。下面我们先来看下混合机箱。
混合机箱
背景
正如前面部分所看到的在PXI和PXIe之间存在重大的区别,这导致了难以向前兼容。现有来自大量制造商的种类众多的PXI模块产品将无法在纯PXIe机箱中使用,这种情景也许会在未来数年出现。对于很多类型的产品,包括开关,并不不需要高的数据带宽,而由于在电源供应规范和触发操作方面发生重大变化,意味着很多制造商可能选择不采用PXIe。以上这些在制定PXIe标准时已经被充分考虑,所以标准允许在同一个机箱中同时支持PXI和PXIe——即混合机箱。机箱必须设计为可以支持这种工作模式并且有两种方式来管理兼容性,即包含旧式插槽或提供混合插槽。
传统插槽
在混合机箱中,传统插槽特别设计为仅支持PXI模块。它具有传统的32/64位PCI和PXI以及电源供应。只有PCI接口可以用于模块控制,并且插槽应该兼容任何PXI模块。某些特性可能受到限制(如星状触发,内部总线)并且机箱中仅存在少量此类插槽。对于机箱制造商来说这是成本最低的解决方案,但这意味用户必须慎重选择与可用插槽相匹配的模块。
混合插槽
在混合插槽中同时存在PCI和PCIe接口。机箱同时向两种总线供电。槽位上一次只允许使用一种接口,并且必须使用与之相匹配的电源和触发(否则需要创建支持两种连接器和混合插槽的模块)。
在PXIe机箱中对用户透明的混合插槽可以提供兼容任何形式模块的灵活性。通常不会传送大量数据的PXI模块可以安装在任何混合槽位中。这意味着机箱中除了系统控制器和触发槽位(如果存在)外均为混合插槽。对于制造商来说这种解决方案的成本最高,因为机箱必须同时为每个槽位提供两组电源以及PCI和PCIe接口。PXI模块只能使用一组内部总线连接,但是一般极少有PXI模块使用内部总线。
并不是所有的PXI模块都兼容PXIe混合插槽,为了保持兼容性,模块不能安装全长的上部连接器——但可以没有上部连接器(类似cPCI)或者装有短版的连接器。图3.2显
示了适合PXIe混合插槽的PXI模块,而图3.3中的模块只能用于常规的PXI机箱。
机箱电源的要求
一个混合机箱必须能够提供同时满足PXI和PXIe模块需要的电源,但是不需要同时为PXIe和PXI供电(事实上是不允许这样供电的,只能采用PXIe控制+PXIe供电或PXI控制+PXI供电)。机箱需要满足每个槽位上PXI和PXIe的电源需求(但并不需要同时满足每个独立插槽)。通常用户无需过多关注3.3V和12V电源,PXIe机箱对这些电源有更高的要求,但是用户需要检查5V和-12V的容量,在PXIe中并未要求这两种电源。
背板的连接
混合机箱的控制器必须为PXIe控制器,不能使用PXI控制器。控制器的PCIe接口通过PCIe到PCI桥来支持混合插槽与旧式插槽中的PXI模块。这显然会使背板设计变得复杂,并且增加了更多的PCI总线段。
从背板到模块
PCI(e)背板在物理层提供了一种低时延的高速数据传输方法。需要特别注意标称的时延与数据传送速率——通常这并不代表控制器与PXI(e)模块之间数据传送的真实延迟或速率。标称速率通常仅用于描述物理层的性能,并未考虑软件开销或模块的硬件问题。下一章描述了其中部分问题。PXI(e)提供了快速I/0机制,但是对于大多数现有产
品,模块的响应时间不受I/0速率限制。
PCI(e)硬件接口
数据通过背板传送,无论是通过PCI还是PCIe,都可以承载高数据速率。接口设备用于缓冲这些来自背板到模块的数据并处理所有PCI(e)接口的底层指令和数据。
虽然理论上可以设计出全速运行的硬件,但达到这样预期的速率依然需要面对很多实际问题——包括实施的成本。大部分模块使用串行回路从背板接口传送数据到硬件模
块,通常采用SPI和I2C接口,这两种接口的传输速率都明显低于(可以相差几个数量级)背板的数据速率。
有一些设备,例如高速率的内存/寄存器,可以或多或少直接应对处理背板数据速率,但是这占据空间并增加额外的成本。所以倾向于仅在需要传输大量数据的应用中采用,这些数据从相对简单的功能模块传输到处理数据的智能控制器。在一些情况下,这种传输可能通过FPGA处理,FPGA在硬件中处理数据以降低系统控制器的重负,并且减少数据传输的次数。然而这些方法仅用于小部分PXI模块,大部分模块采用更常规的接口方法。
对于大多模块,数据传输速率要求不高,模块的面积更多是为了扩展硬件的功能而与数据传输无关,例如在数据采集系统中提供更多的通道,或是在开关模块中安装更多继电器。
数据传输最常用的方法是采用商用的接口解决方案如PLX或者IDT,这些接口可以将背板数据转换为一组数字输出。接口可能包含一些内部缓冲来缓冲背板数据,但是数量十分有限乃至完全不包含缓冲的方案也很常用。模块的驱动程序通过SPI或I2C接口将背板数据以串行方式传送到到模块。这个过程所需时间受制于串行接口的速率。例如,如果一个串行端口的数据速率为3Mbits/s,并且串行回路需要传送300bits数据,则全部的传送时间(排除其他因素)需要100μs。通过这种方式处理接口所需硬件最简单而且总成本较低。同时也最大程度减少了接口部分所占用的面积,这对很多产品来说非常重要。
接口也可以通过FPGA来实现,需要从FPGA工具制造商处获取适当的内核以实现背板接口,FPGA可以增加缓冲器来缓冲数据并且允许数据以比较慢的速率通过SPI或者I2C接口来同步输出。只要缓冲区足够大,这种方法可以更快地释放背板,更少占用控制器时间。
当FPGA用于PXI时,必须能够兼容5V背板信号。由于FPGA的设计已经普遍转向更小的封装,兼容5V的产品已经越来越少,因此还需要专门的接口器件兼容PCI标准接口并对FPGA提供保护。
使用FPGA设计PXI,制造商还增加了风险因为必须确保他们的设计完全符合PCI(e)标准。因此这项技术很少用于小规模的制造商或者提供低成本产品的制造商。
无论使用哪个接口方案I0速度都很高,但是通常无法达到PCI(e)接口的标称速率。
控制器
用户需要了解的另一方面是PXI(e)系统的初始设计是将系统控制器作为整个系统的智能中心。在一些情况下任务可能被分配到模块硬件(例如一个FPGA),但是对于大部分模块来说,解析来自于应用程序的指令(例如闭合某个继电器的指令)并将其转换为底层数据控制硬件的工作通常由系统控制器中所安装的驱动程序来执行。系统控制器通常可认为运行速度非常快,但是速度越快的控制器成本越高,其资源在系统所有模块中共享并且同时用于运行应用程序。对于相对简单的任务,控制器负荷不是很高,所以驱动程序可以很快完成任务,但是总线延迟等因素使得传输速率无法达到标称的高值。
控制器还有一种负荷来自于其运行的操作系统。很多系统使用Windows环境,一些使用Linux环境,其它的可能使用实时操作系统(RTOS)。在所有情况下延迟时间都是主要由操作系统产生的,操作系统的延迟时间远远大于背板接口的延迟时间。众所周知Windows的任务调度在某些情况下可能需要上百毫秒。实时操作系统并非指的是具有低延迟,主要指的是决定性——确保任务具有优先级以及保证在指定时间内完成。这个时间可能很短,也可能相对比较长,过多的短时间任务可以很容易导致控制器超负荷,因此任务需要设定优先级。
开关系统的延迟
Pickering公司的主要产品为开关系统。产品范围覆盖三种主要的继电器形式:
- 舌簧继电器(Reed Relay)的操作时间约为数百微秒
- 电磁继电器(EMR)的操作时间约为数十毫秒
- 固态继电器(SSR)的操作时间约为数微秒至数百微秒
对于这些产品来说I0速度和控制器延迟仅占总操作时间的一小部分,但一些开关操作速度非常快的固态继电器产品由于操作非常快,可能不在此列。
安装在控制器中的驱动程序的一项重要功能为时序管理,使开关首先执行打开操作然后其它开关再执行闭合操作,以保证用户不会承担偶然短路的风险。一些情况要求改变开关系统的状态时执行几种特定操作,这取决于开关系统的种类,可能如下列情况:
- 操作当前状态为闭合而需要设置为打开的继电器。
- 改变任何隔离继电器的状态,以优化系统参数如热切换能力或系统带宽。
- 操作当前状态为打开而需要设置为闭合的继电器。
如果使用IVI,这其中很多工作可以在驱动程序中完成。理想的顺序要求每次操作之间存在合理延迟,以确保在下一个操作执行之前继电器已经完成前一操作,防止出现意外的短路以及隔离继电器不被热切换操作所破坏。因此在实际使用中一些开关结构要求通过几个操作的组合来完成系统状态的改变,这和I0速度相比相当于一个非常长的时间。
开关系统不是唯一具有受时间约束的功能的模块。如DMM产品事实上需要集成长时间采样以降低噪声干扰的功能——如果噪音主要来自于AC电源则采样速率需限定为AC频率的整数倍。用户当然也可以选择在控制器中进行平均运算而不是通过DMM来完成,但是这也只是把任务调整到占用控制器的资源来代替DMM的硬件资源。
开关系统时序示例
不同的PXI(e)制造商用不同的方式来实现他们的接口。这取决于市场对成本的需求,控制时序可以相对独立于控制器性能以及其他任务的繁忙程度(包括操作系统任务)
。下面给出的示例显示了在一个合理密度的PXI(e)开关模块上可能发生的情况:
开关系统包含256个继电器,通过一个串行回路经由商业级PCI(e)芯片组连接到背板。串行回路以每秒两百万个指令循环的速率来传输数据。
此处列举两个实例,第一个采用单一的操作来设置继电器状态,这是开关系统制造商提供的数据表中描述的最典型的用法。
第二个实例中采用了两种操作,第一个操作用来打开所有被设置为打开状态的继电器。第二个操作用来闭合所有需要闭合的继电器。这样的时序适用于需要严格避免偶发短路的场合,尤其是存在对电源操作或存在高敏感度信号的应用。
在等待期间系统控制器不需要被开关系统所占用,它可以在此期间完成其它任务。PCI总线同样可以用于控制其它模块。
对于开关系统来说,操作时间取决于继电器类型,在本例中所采用的是电磁继电器。如果是采用舌簧继电器或者固态继电器,开关的操作时间可以大大降低——对于舌
簧继电器,操作时间与接口延迟大致相当。
总结
PXI(e)系统可以提供很高的I0速率,但是用户不能简单地把高I0速率理解为对测试系统的高速操作。在很多情况下测试系统的速度受诸多实际问题的限制。它可以比其
它系统结构更快,但制造商广泛采用这种体系结构并非仅基于这一考虑。在很多系统中PXI的优点更多的体现在用户可以通过标准化的机箱将多个制造商的解决方案集成在
一起,而仅占用很小的空间。当用户了解这个情况后就可以对所需产品做出合理的选择,PXI(e)解决方案将不会使用户感到失望。
今天的篇幅有点长,感激各位感到文章最后,让我们一起来迎接新的2021年吧,最后祝各位元旦快乐,虹科2021与您继续相约。
转载:https://blog.csdn.net/weixin_50371049/article/details/112027920