摘要: 利用并行、串行或IEEE-488 (GPIB、HPIB)端口设计低预算到中等规模自动测试设备(ATE)的技术。
电子设备测试的复杂性变化很大,从最简单的手动测试到最复杂的大型自动测试设备(ATE)。在简单的手工测试和大规模ATE之间是低预算和中等规模的测试,这是本应用程序说明的重点。这些类型的测试系统通常在PC机的控制下专门用于测试特定的组件或电路。PC机的并行或串行端口提供了PC机和小型、成本敏感的应用程序之间的方便连接。IEEE-488总线可以方便地将PC机连接到多个测试仪器,这是并行或串行端口无法完成的。虽然它增加了测试系统的价格,但它提供的一次将多个仪器连接到PC的能力证明了额外的成本是合理的。在设计测试仪器的硬件时,从一开始就使用适当的设计技术,可以消除或最小化在设计过程中可能出现的难以解决的问题。分离数字和地,使用光隔离器,识别高阻抗节点,在组件放置上花费时间,考虑电源和地走线的电压降,以及其他技术都增加了成功设计的机会。
电子设备测试的复杂性变化很大,从最简单的手动测试到最复杂的大型自动测试设备(ATE)。手动测试通常需要在特定配置中设置dvm、示波器和其他设备。当要测试的设备类型发生变化时,通常需要更改测试硬件。另一方面,ATE测试仪提供了极大的灵活性,允许在不更改测试硬件的情况下测试许多不同类型的设备。软件更改重新配置这种类型的测试仪,以适应不同类型的设备。除了该设备提供的多功能性之外,它还可以进行非常复杂的电子测试,尽管价格不菲:这些测试器的价格可能高达一百万美元。
在简单的手工测试和大规模ATE之间是低预算和中等规模的测试,这也是本文的重点。这些类型的测试系统通常在个人计算机的控制下,专门用于测试特定的组件或电路。与大规模ATE相比,它们缺乏灵活性和测试复杂性。然而,为这种设备支付的价格通常证明其使用是合理的;它比大型测试器便宜得多。参见图1。
图1所示。测试系统的复杂程度从(a)劳动密集型手动测试到(d)全自动测试设备不等。本文主要关注低预算和中等规模的测试系统(b和c)。
本文讨论了适用于低预算和中等规模测试的各种主题,包括用于将pc连接到测试设备的不同接口,以及硬件和软件设计。
将测试设备和被测设备(DUT)连接到个人计算机的最简单方法之一是使用PC机的并口。这个端口是几乎所有ibm兼容PC机上的标准设备。标准并口提供12个逻辑输出和5个输入,可直接连接到TTL/CMOS电路。您还可以使用许多现代计算机上的增强版并行端口。软件设计简单:PC机并口易于使用C或Basic编程。有关编程细节,请参阅Jan Axelson编写的并口完成。
因为PC包含操作PC并口所需的硬件,所以不需要打开PC来安装卡。使用并口可以避免在计算机处于打开状态时因操作不当而造成ESD损坏的风险。
工程师将并口连接到各种类型的接口。并行端口通常驱动2线I²C接口。由于I²C标准规定I²C变送器通过开路集电极输出提供逻辑信号,因此接口电路可以像单个74HC05开路集电极逆变器IC一样简单。图2显示了一个并行端口到I²C接口,用于向被测设备发送和接收数据。
图2。这个并行端口到I2C接口提供了开放采集器连接到I2C规范规定的I2C串行端口。MAX367电路保护IC保持电压超过供电轨道从损坏接口电路以及并行端口本身。
除了通过PC并行端口进行通信的优点之外,它的使用还伴随着一些小缺陷。例如,当使用为Microsoft Windows编写的程序时,可以专用于应用程序的未使用并行端口输入引脚的数量减少到4个。出现这个问题是因为为Microsoft Windows编写的程序不能可靠地确定并行端口的地址。将并行端口的一个输出引脚连接到它的一个输入引脚,允许软件自动确定并行端口地址。然而,这样做会将可用输入引脚的数量减少到4个。如果超过供电轨道的电压与连接到并口的任何电路接触,则会出现更困难的问题;这些电压可以破坏计算机外部的电路以及并行端口本身。
防止电压过高的一种方法是包括一个电路保护芯片。图2所示的MAX367电路保护器IC可以防止这种情况发生。(图中所示的电路可在Maxim的接口板上使用。)当施加到该集成电路内任何保护器的任何一侧的电压超过供电轨道时,特定保护器的电阻变得非常高,阻止明显的电流流过它。此外,该芯片将电压限制在供电轨道内,确保无意中放置在SCL, SDA或DUT +5V引脚上的任何高压都不会损坏接口电路以及并行端口。
当使用PC并行端口时,可能会出现其他小问题。因为只有少量的功率可以从未使用的并行端口输出引脚(不超过10mA,输出电压可能下降到低至3V),可能需要一个外部电源。然而,一个精心设计的微电源系统可以消除这种外部供应的需要。另一个可能的问题是,并行端口逻辑水平可以从一个PC到下一个变化。由于计算机制造商在其计算机中使用S, TTL, LSTTL或CMOS输出驱动器,因此一些驱动器提供接近5V的输出电平,而其他驱动器则更接近3V。
低预算的测试系统通常共享一台运行其他应用程序的计算机,这可能会导致问题。例如,当计算机包含打印驱动程序时,即使没有打印任何东西,它也可以保持对并行端口的控制。因为大多数pc机只包含一个并行端口,所以在这些条件下不可能通过该端口与测试设备进行通信。总线争用的另一个可能的来源是插入并行端口的软件保护密钥。
今天的计算机通常包括增强功能,允许通过并行端口进行双向通信。相对现代的ECP和EPP标准允许并行端口自动地将数据块从PC传输到PC(即双向传输)。有时系统BIOS禁用这些增强功能,有时包含这些增强功能的计算机与其他计算机不兼容。
当必须与测试系统进行精确定时通信时,并行端口可能不是正确的选择。当主处理器刷新PC机的动态存储器时的周期性间隔常常导致并行端口合成的波形“抖动”。更糟糕的是,当使用Windows时,驱动并行端口的程序可能会周期性地中断。虽然所有编程的事件都按照正确的顺序发生,但这些事件的确切时间是不能保证的。
PC串行端口(有时称为RS-232端口)提供了另一种将PC连接到被测设备的简便方法。像并口一样,串行口在大多数pc机上都是可用的;接口卡不需要安装。然而,与使用逻辑级电压的并口不同,串行端口的信号具有正负摆动的电压。RS-232规范要求的发射机电压水平至少为±5V。但实际上,电压水平可以在±3V到±30V之间变化。使用并行端口时发生的逻辑电平变化不适用于串行端口,因为在接收RS-232信号后,RS-232接收器提供接近为接收器供电的电源电压的逻辑电平输出(如果输出负载轻)。
串行端口允许每条信号线上只有一个驱动程序,因此它一次只能将PC连接到一个设备。一些设备通过使用硬件握手线来发送信号来克服这个限制;然而,这是一种非正统的技术,其描述超出了本文的范围。由于pc机通常只包含一个或两个串行端口,并且每个仪器都需要单独使用一个端口,因此基于串行端口的测试系统扩展能力有限。
串行端口提供的功率甚至比并口更小,并且电压水平无法调节。如上所述,这些电压的范围从3V到30V,信号极性可以是正的或负的。在一些附加电路的帮助下,串行端口可以为微功率电路供电,但大多数应用需要外部电源。
当你使用串行端口时,发送和接收数据通常需要一个微控制器。一些微控制器,如68HC11、8051和PIC16C63,包括一个UART。这些微控制器与MAX3320 RS-232收发器和低成本陶瓷谐振器配合使用,可以从PC上运行的用户界面程序接收命令。这个用户界面可能有两种选择:使用纯文本终端程序(例如,Hyperterminal或Procomm)或自定义图形界面。
图3所示的微处理器在接收到来自用户界面的这些命令后,无需PC机的帮助即可执行相对复杂的控制功能。
图3。这些微处理器通过串行总线接收来自PC的命令,可以在没有PC的帮助下执行相对复杂的控制功能。
IEEE-488总线是一个更复杂,但更通用的系统。它也被称为GPIB或HPIB总线。与串行和并口不同,该总线可以一次直接连接多个仪器。在图4所示的测试系统中,一台PC机控制一个烤箱、一个压力源、一个电压表和一个压力传感器测试仪。使用IEEE-488总线可以通过一个总线控制这些不同的被测仪器和设备。
图4。该测试系统允许压力传感器的自动生产测试和补偿。IEEE-488总线便于PC机与测试系统组件之间的通信。
IEEE-488规范允许多个仪器共享同一总线,因为IEEE-488总线使用不同于所讨论的串行和并行端口的输出驱动器结构。每个IEEE-488驱动器包括一个强下拉电阻和一个弱上拉电阻,允许连接到总线的一个或多个设备将每个信号线拉低(或允许线路在没有设备断言低时保持高)。
使用这种总线还有其他优点。IEEE-488接口的一个优点是,它包括一个硬件握手,有助于防止数据丢失。另一个显著的优势是它在主要的台式测试设备供应商(例如,HP/Agilent、Tektronix、Fluke和Keithley)中很受欢迎。由于电源、继电器开关组、环境室、示波器、数字电压表、函数发生器和其他设备都可与IEEE-488总线一起使用,因此您几乎可以自动化任何台式测试设置。
控制该总线的软件是现成的,也可以在内部开发。美国国家仪器公司的Labview和安捷伦公司(前身为惠普公司)的Agilent- vee是通过IEEE-488总线控制仪器的两个最流行的软件包。另外,控制软件可以使用传统的“C”编程开发,给定一定水平的专业知识。然而,使用Labview或HP-VEE允许新手程序员快速轻松地设计复杂的程序。Labview和HP-VEE带有驱动许多常见仪器的软件模块。
一些问题与使用IEEE-488总线有关。由于IEEE-488总线不是大多数个人电脑的标准设备,因此必须添加一个接口适配器卡,而这些卡的价格为500美元或更多。这些接口卡可以从National Instruments、IOTech、Measurement Computing、Agilent和Tektronix等公司获得。加上这张卡的成本是IEEE-488电缆的成本,每根大约20美元。IEEE-488仪器本身很昂贵。同样,如果您的测试系统要求您开发定制的仪器,那么大量的软件和硬件开发时间将是必要的。定制仪器需要一个微处理器和一个IEEE-488接口控制器,这两者都意味着大量的开发时间。
图5描述了MAX145X测试仪,它是图4所示压力传感器测试系统的关键部分。该测试仪是Maxim公司开发的多路复用/驱动仪器。使用烤箱、压力控制器和多路复用器/驱动仪器,购买MAX1457、MAX1458或MAX1459压力传感器信号调理芯片的原始设备制造商(oem)可以轻松地测试和校准这些ic。当这些信号调节芯片与压力传感器一起使用时,该测试仪对它们进行校准和测试。由于该系统允许访问控制IEEE-488总线的Labview程序,因此可以对测试系统进行修改,以满足特定生产线的独特需求。发送给测试仪的简单文本命令与MAX1457-MAX1459通信,并应用补偿算法补偿随附的压力传感器。
图5。图4测试系统测试部分的简化框图显示了用于测试和补偿与MAX1457-MAX1459信号调理ic配合的压力传感器的定制硬件。
使用IEEE-488总线控制测试仪器可能需要编写控制接口的软件的耗时过程。但是,通过使用总线控制器IC(如National Instrument的NAT9914)可以节省软件开发时间。使用总线控制器还可以将微处理器从监控IEEE-488总线的耗时活动中解放出来。
当噪声水平或测量精度至关重要时,从一开始就解决这些问题是很重要的。随着项目的进展,这些性能问题变得越来越难以解决。在图5所示的测试仪中,采取了两个预防措施来达到所需的测量精度。首先,数字和地面是分开的。其次,采用高速光耦合器从信号中隔离微处理器开关噪声。
另一个重要的预防措施是确保识别高阻抗节点,例如在运算放大器输入处发现的节点。因为这些节点对噪声很敏感,所以要远离有噪声的信号线。噪声线是那些携带快速上升和下降时间信号的线路,它们通常来自数字或视频源。
这种高速信号可能需要通过传输线传输,这取决于它们传输的距离。使用特殊的控制阻抗布局技术将这些传输线集成到印刷电路板中。这些线路需要精确计算尺寸,并且通常没有过孔。
当同时测试多个设备时,确保一个失败的设备不会妨碍对其余设备的测试。当被测设备的电源引线与地短路时,就会出现这个问题;这种短路会使电源负荷过大,从而妨碍对剩余器件的准确测试。与每个被测设备的电源引线串联的镇流器电阻避免了这种问题的发生。
当对大量设备进行组队测试时,最好使用独立于软件运行的硬件来识别并快速断开任何短路的dut,从而防止进一步损坏。软件带来的额外延迟可能会增加电流过大造成的损坏。此外,如果这个过大的电流使微处理器供电的电源负载过重,则软件命令的操作可能不会发生。图6显示了此类硬件的一个示例;该电路说明了测试仪(图5)如何检测过流故障。当控制软件要求时,该电路的上电触发器被设置,它打开功率MOSFET Q2。MAX472电流传感器件检测通过0.5欧姆电阻(R4)进入被测设备的电源电流。如果通过R4的电流超过160mA,电阻R11上的电压激活U2的两个比较器之一。如果这种过流状态持续大约30毫秒以上,C1就会充足电荷,使U2的第二个比较器跳闸,从而设置过流触发器。这种情况会立即禁用Q2。控制软件检测到过流报警并识别出故障设备,同时继续对其他设备进行测试。控制软件必须在Q2再次上电之前移除并重新插入上电信号。
图6。该电路检测进入被测设备的过大电流,随后从设备中移除电源,并通过故障信号将故障设备识别到测试仪的微处理器。
在布局电路板之前,对电路的各个部分进行原型设计并手动测试是有帮助的。这样做可以确保这些电路在将它们与其他电路放在一块电路板上并在IEEE-488总线的控制下之前正常工作。
在考虑电路板布局时,检查电路板的接地电流流是很重要的。电路板设计者有时会错误地假设所有的接地回路都保持在零电压。相反,电流通过地走线的电阻会产生不必要的电压降。特别麻烦的是流经地回系统的数字电路的瞬态开关电流。图7说明了误差不仅是由未指定的地路走线电阻引起的,而且是由电源路的走线电阻引起的。当地回电流流动时,根据欧姆定律(该电压等于地回电流乘以走线电阻),使V(SS)升高。此外,由于被测设备的负载电流,电源走线遭受电压下降。图7中的运算放大器检测这些电压损失并调整电源以补偿它们。注意,检测引线必须直接连接在被测设备的V(DD)和V(SS)引脚上。以这种方式连接引线通常被称为“开尔文连接”。
图7。开尔文力感配置可确保在被测器件的V(CC)和V(SS)端子处的电压精度和稳定性。
预算组件放置的时间是您认为所需时间的两倍。做一个初步的路由,也许与一个自动路由器,并寻找拥塞的区域,调整组件的位置,以减少拥塞。如前所述,突出显示所有高阻抗信号线,尽量减少它们的长度,并使它们远离噪声信号。在开始布局之前,优先考虑设计约束。即使是最好的布局设计师也无法将100mil的走线插入0.65mm的细间距引线中。
当在测试装置中控制仪器时,需要定义启动这种控制的命令。控制并行端口的命令以“比特撞击”格式发送数据。RS-232串行总线和IEEE-488总线都传输串行字符串字符数据。
IEEE-488标准管理总线本身,而不是通过总线发送的消息种类。尽管如此,对于发送什么类型的消息还是有一些共识的。例如,现代dvm使用几乎相同的命令集,从而节省了客户的开发时间。然而,对于旧的或非标准的仪器,很少或没有协议存在。可编程仪器的标准命令(SCPI)是一种增加命令集之间一致性的尝试。查看SCPI,看看它的任何命令是否适合您的仪器,否则您将不得不为您的仪器发明部分或全部独特的命令语言。然而,使用SCPI是首选,因为它使使用仪器的人能够更快地理解其操作。
开发软件最好是循序渐进、循序渐进。例如,在为图5所示的信号调节器/压力传感器测试仪开发软件时,其设计者首先开发了命令处理器,这是一组软件例程序,用于解释文本命令并相应地控制硬件。在早期阶段,命令处理器只接受来自测试器微处理器的内置RS-232串行端口的命令。一旦测试器的设计者使用该端口构建了命令处理器,他就开发了许多低级的子程序,并使用命令处理器对它们进行测试。渐渐地,他为每个子系统(例如,IEEE-488控制器、A-to-D转换器和数字I/O)添加了设备驱动程序,总是有已知的工作代码,以便在出现问题时返回。
这种模块化的软件设计方法有利于软件的初始开发以及未来的软件更改,特别是当创建更改的人不是最初的开发人员时。在测试完成后,一位经理要求它支持测试额外的IC。测试器的设计者能够在几周内支持新设备,因为他已经将软件组织成独立的设备驱动程序。对软件一部分的更改不会改变其他不相关的部分,因为设计师积极地划分代码,总是预测未来的更改。
在调试您开发的软件时,您会发现RS-232端口是一个方便的诊断工具。除了在软件开发的开始阶段(如上所述)可能有用之外,您还可能发现在项目的最后阶段,在调试软件时,它是必不可少的。即使测试器的最终设计不提供客户对RS-232端口的访问,它仍然可以作为对现场技术人员有用的状态消息的有效且廉价的门户。
在编写软件时,保留一个内存位置作为诊断启用项,另一个作为诊断状态指示器。在软件的最终版本中保留这些内存位置;如果客户遇到问题,这些诊断工具可以提供有价值的信息。
看门狗定时器是一个有用的设备,如果微处理器陷入无限循环,它会重置微处理器。软件必须定期服务看门狗定时器,以防止其定时器过期。当看门狗定时器到期时,表明微处理器陷入无限循环,它重置仪器的微处理器,将其恢复到已知的工作状态。看门狗定时器复位可以启动诊断状态指示器内容的打印,显示软件的哪一部分可能负责崩溃。
只有输入、输出和延迟子程序需要服务看门狗,防止其定时器过期。作为一般规则,软件将大部分时间花在其输入或输出子例程上,因此这些子例程是为看门狗定时器服务的最佳位置。
也许这是显而易见的,但仍然值得一说:经常对源代码进行备份。每次编写新的ROM映像时,只复制更改后的文件以节省时间。此外,请确保您有一种修补ROM代码的方法。即使补丁可用的内存有限,为编写、编译和测试代码的每个实例节省的时间也是非常可观的,特别是在马拉松式的开发会议期间。
PC机的并口提供了一个方便的连接PC机和小型,成本敏感的应用程序。它也是一个有用的工具,当原型电路快速。RS-232串行端口通常用于与并行端口相同类型的应用程序中,但它通常需要添加微处理器。并行端口和串行端口都有潜在的问题,尽管大多数都是小问题。
IEEE-488总线可以方便地将PC机连接到多个测试仪器。对于这里讨论的测试系统类型,该总线是明确的选择。虽然它增加了测试系统的价格,但它提供的一次将多个仪器连接到PC的能力证明了额外的成本是合理的。
在设计测试仪器的硬件时,从一开始就使用适当的设计技术,可以消除或最小化在设计过程中可能出现的难以解决的问题。分离数字和地,使用光隔离器,识别高阻抗节点,在组件放置上花费时间,考虑电源和地走线的电压降,以及其他技术都增加了成功设计的机会。
开发测试仪器的软件也需要精心设计。以小步骤编写软件,确保对软件进行分区,以便将来可以快速进行更改。如果可能,在使用IEEE-488总线时使用SCPI命令。在调试软件时,PC机的RS-232串行端口提供了与测试仪微处理器通信的方便手段。在软件的最终版本中保留用于诊断目的的内存位置,因为客户和现场技术人员可以从中受益。此外,使用看门狗定时器,因为这些设备提供了一种方便的方法来从无限循环中提取微处理器。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308