预算有限的自动测试设备

描述

电子设备测试的复杂性差异很大,从最简单的类型(手动测试)到最复杂的大型自动测试设备(ATE)。在简单的手动测试和大规模ATE之间,是低预算和中等规模的测试,这是本应用笔记的重点。这些类型的测试系统通常专用于在PC的控制下测试特定的组件或电路。PC 的并行或串行端口可在 PC 和成本敏感的小型应用程序之间提供方便的连接。IEEE-488总线可以方便地将PC连接到多个测试仪器,这是并行或串行端口无法完成的。虽然它提高了测试系统的价格,但它提供的将多个仪器一次连接到PC的能力证明了额外的成本是合理的。在 设计 测试 仪器 的 硬件 时, 应 一 长 使用 适当 的 设计 技术, 可 消除 或 最大限度 减少 在 设计 进行 过程中 可能 出现 的 难以 解决 的 问题。分离数字和模拟接地、使用光隔离器、识别高阻抗节点、花时间放置元件、考虑电源和接地走线的压降以及其他技术都增加了成功设计的机会。

电子设备测试的复杂性差异很大,从最简单的类型(手动测试)到最复杂的大型自动测试设备(ATE)。手动测试通常需要在特定配置中设置DVM、示波器和其他设备。当要测试的设备类型发生变化时,通常需要更改测试硬件。另一方面,ATE测试仪提供了极大的灵活性,允许在不更改测试硬件的情况下测试许多不同类型的设备。软件 更改 会 重新 配置 此 类型 的 测试 仪, 以 适应 不同 类型 的 设备。除了该设备提供的多功能性外,它还可以实现非常复杂的电子测试,尽管价格很高:这些测试仪的成本可能超过一百万美元。

在简单的手动测试和大规模ATE之间是低预算和中等规模的测试,这是本文的重点。这些类型的测试系统通常专用于在个人计算机的控制下测试特定的组件或电路。与大规模ATE相比,它们缺乏灵活性和测试复杂性。但是,为该设备支付的价格通常证明其使用是合理的;它比大型测试仪便宜得多。参见图1。

ATE

图1.测试系统的复杂性从(a)劳动密集型手动测试到(d)全自动测试设备不等。本文 重点 介绍 低 预算 和 中等 规模 测试 系统 (b 和 c)。

本文 讨论 了 适用于 低 预算 和 中 大规模 测试 的 各种 主题, 包括 用于 将 PC 连接到 测试 设备 的 不同 接口, 以及 硬件 和 软件 设计。

将 PC 连接到测试设备

电脑并行端口

将测试设备和被测设备 (DUT) 连接到个人计算机的最简单方法之一是使用 PC 的并行端口。此端口是几乎所有与 IBM 兼容的 PC 的标准设备。标准并行端口提供 12 个逻辑输出和 <> 个输入,可直接连接到 TTL/CMOS 电路。您还可以使用许多现代计算机上的并行端口的增强版本。软件设计简单:PC并行端口很容易使用C或Basic进行编程。有关编程详细信息,请参阅 Jan Axelson 的并行端口完成。

由于 PC 包含操作 PC 并行端口所需的硬件,因此无需打开 PC 即可安装卡。使用并行端口从而消除了在计算机打开时由于操作程序不当而导致 ESD 损坏的风险。

工程师将并行端口连接到各种类型的接口。并行端口通常驱动2线I²C接口。由于I²C标准规定I²C发送器通过集电极开路输出提供逻辑信号,因此接口电路可以像单个74HC05集电极开路逆变器IC一样简单。图2所示为与DUT之间发送和接收数据的并行端口至I²C接口。

ATE

图2.此并行端口到 I2C 接口提供与 I2C 规范规定的 I2C 串行端口的集电极开路连接。MAX367电路保护器IC可防止超过供电轨的电压损坏接口电路以及并行端口本身。

除了通过PC并行端口进行通信的优势外,它的使用还伴随着许多小陷阱。例如,当使用为Microsoft Windows编写的程序时,您可以专用于应用程序的未使用的并行端口输入引脚的数量将减少到四个。出现此问题的原因是为微软 Windows 编写的程序不能可靠地确定并行端口的地址。将并行端口的一个输出引脚连接到其输入引脚之一,软件可以自动确定并行端口地址。但是,这样做会将可用输入引脚的数量减少到四个。如果超过电源轨的电压与连接到并行端口的任何电路接触,则可能会出现更困难的问题;这些电压会破坏计算机外部的电路以及并行端口本身。

防止电压过高的一种方法是包括电路保护器芯片。图367所示的MAX2电路保护器IC可防止此类情况发生。(图中所示电路可在Maxim的接口板上找到。当施加到该IC内任何保护器任一侧的电压超过电源轨时,特定保护器的电阻变得非常高,从而阻止可观的电流流过它。此外,该芯片将电压限制在电源轨以内,确保防止无意中放置在SCL、SDA或DUT +5V引脚上的任何高电压损坏接口电路以及并行端口。

使用PC并行端口时可能会出现其他小问题。由于只能从未使用的并行端口输出引脚获取少量功率(不超过10mA,输出电压可能低至3V),因此可能需要外部电源。然而,精心设计的微功耗系统可以消除对这种外部电源的需求。另一个可能的问题是并行端口逻辑电平可能因 PC 而异。由于计算机制造商在其计算机中使用 S、TTL、LSTTL 或 CMOS 输出驱动器,因此某些驱动程序提供的输出电平接近 5V,而其他驱动程序则接近 3V。

低 预算 测试 系统 通常 共享 一台 运行 其他 应用 程序 的 计算机, 这 可能 导致 问题。例如,当计算机包含打印驱动程序时,即使未打印任何内容,它也可以保持对并行端口的控制。由于大多数PC仅包含一个并行端口,因此在这些条件下无法通过该端口与测试设备进行通信。可能出现总线争用的另一个来源是插入并行端口的软件保护密钥。

当今的计算机通常包括允许通过并行端口进行双向通信的增强功能。相对现代的 ECP 和 EPP 标准允许并行端口自动将数据块传输到 PC 和从 PC 传输数据块(即双向)。有时系统 BIOS 会禁用这些增强功能,有时包含这些增强功能的计算机与其他计算机不兼容。

当 必须 以 精确 的 定 时 进行 与 测试 系统 的 通信 时, 并行 口 可能 不是 正确 的 选择。主处理器刷新PC动态内存的周期性间隔通常会导致并行端口合成的波形“抖动”。更糟糕的是,在使用Windows时,驱动并行端口的程序可能会定期中断。尽管所有编程事件都以正确的顺序发生,但不能保证这些事件的确切时间。

电脑串行端口 (RS-232)

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上运行的用户界面程序接收命令。此用户界面有两个选项:使用纯文本终端程序(例如,超级终端或 Procomm)或自定义图形界面。

从用户界面接收到这些命令后,图3所示的微处理器无需借助PC即可执行相对复杂的控制功能。

ATE

图3.通过串行总线从PC接收命令后,这些微处理器可以在没有PC帮助的情况下执行相对复杂的控制功能。

IEEE-488总线

IEEE-488总线是一个更复杂但用途更广的系统。它也被称为GPIB或HPIB总线。与串行和并行端口不同,该总线一次可以直接连接到多个仪器。在图 4 所示的测试系统中,PC 控制烤箱、压力源、电压表和压力传感器测试仪。使用 IEEE-488 总线,可以通过这些被测仪器和设备通用的总线进行控制。

ATE

图4.该测试系统允许压力传感器的自动生产测试和补偿。IEEE-488总线有助于PC和测试系统组件之间的通信。

IEEE-488 规范允许多个仪器共享同一总线,因为 IEEE-488 总线使用的输出驱动结构与所讨论的串行和并行端口不同。每个IEEE-488驱动器都包括一个强下拉电阻和一个弱上拉电阻,允许连接到总线的一个或多个器件将每根信号线拉低(或者当没有器件置位低电平时,允许线路保持高电平)。

使用这种巴士还有其他优点。IEEE-488接口的一个优点是它包括一个硬件握手,有助于防止数据丢失。另一个显著优势是它在主要的台式测试设备供应商(例如,惠普/安捷伦、泰克、福禄克和吉时利)中的受欢迎程度。由于 IEEE-488 总线提供电源、继电器开关组、环境室、示波器、数字电压表、函数发生器和其他设备,因此您几乎可以自动执行任何台式测试设置。

控制此总线的软件现成,也可以内部开发。NI 的 Labview 和 安捷伦 的 Labview 和 安捷伦 的 安捷伦 维 仪 是 两 款 最 流行的 软件包, 用于 通过 IEEE-488 总 线 控制 仪器。或者,在具有一定水平的专业知识的情况下,可以使用传统的“C”编程开发控制软件。然而, 使用 Labview 或 HP-VEE 可 让 新手 编 程 人员 快速 而 容易 地 设计 复杂 的 程序。Labview 和 HP-VEE 附带 了 用于 驱动 许多 常见 仪器 的 软件 模 块。

一些问题与使用IEEE-488总线有关。由于IEEE-488总线不是大多数PC的标准设备,因此必须添加接口适配器卡,这些卡的价格为500美元或更多。这些接口卡可从NI、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通信,并应用补偿算法补偿随附的压力传感器。

ATE

图5.图4测试系统测试器部分的简化框图显示了为测试和补偿与MAX1457-MAX1459信号调理IC配合的压力传感器而开发的定制硬件。

测试系统设计技术

硬件设计

使用 IEEE-488 总线控制测试仪器可能需要编写控制接口的软件的耗时过程。但是,通过使用总线控制器IC(如NI的NAT9914)可以节省软件开发时间。使用总线控制器还可以使微处理器免于监视IEEE-488总线的耗时活动。

当噪声水平或测量精度至关重要时,从一开始就解决这些问题非常重要。随着项目的进展,此类性能问题变得越来越难以解决。在图5所示的测试仪中,采取了两种预防措施来达到所需的测量精度。首先,数字和模拟接地保持分离。其次,使用高速光耦合器将微处理器开关噪声与模拟信号隔离开来。

另一个重要的预防措施是确保识别高阻抗节点,例如在运算放大器输入端发现的节点。由于这些节点对噪声敏感,因此请使它们远离嘈杂的信号线。嘈杂线路是那些携带快速上升和下降时间信号的线路,它们通常来自数字或视频源。

这种高速信号可能需要通过传输线进行路由,具体取决于它们传播的距离。使用特殊的受控阻抗布局技术将这些传输线整合到印刷电路板中。这些线路需要精确计算的尺寸,并且通常在没有过孔的情况下布线。

同时测试多个设备时,请确保一个故障设备不会阻止对其余设备的测试。当被测器件的电源引线短路至地时,可能会出现此问题;此短路可以充分加载电源,以防止对其余设备进行准确测试。镇流电阻与每个被测器件的电源引线串联,可防止此问题发生。

在对大量设备进行联派测试时,最好使用独立于软件运行的硬件来识别并快速断开任何短路的 DUT,从而防止进一步损坏。软件可能增加的延迟可能会增加过电流造成的损坏。此外,如果这种过大的电流负载了为微处理器供电的电源,则软件命令的操作可能不会发生。图 6 显示了此类硬件的示例;该电路说明了测试仪(图5)如何检测过流故障。当控制软件要求时,设置该电路的上电触发器,接通功率MOSFET Q2。MAX472电流检测器件检测通过0.5欧姆电阻(R4)进入DUT的电源电流。如果流经R4的电流超过160mA,电阻R11两端的电压激活U2的两个比较器之一。如果这种过流条件持续超过约30毫秒,C1的充电足以使U2的第二个比较器跳闸,该比较器设置过流触发器。此条件会立即禁用 Q2。控制软件检测过流报警并识别故障设备,同时继续测试其他设备。控制软件必须移除然后重新设置上电信号,然后Q2才能再次上电。

ATE

图6.该电路检测流入被测器件的过大电流,随后断开器件电源,并通过故障信号向测试仪的微处理器识别故障器件。

在布局电路板之前,对电路的各个部分进行原型设计并手动测试它们很有帮助。这样做可确保这些电路在将附加电路放在单个板上并在IEEE-488总线的控制下正常运行。

在考虑电路板布局时,检查电路板接地电流的流动非常重要。电路板设计人员有时会错误地假设所有接地返回路径都保持在零伏。相反,电流流过接地走线的电阻会产生不必要的压降。特别麻烦的是流经接地回路的数字电路的瞬态开关电流。图7显示了不仅接地路径的未指定走线电阻以及电源路径的走线电阻引入的误差。当接地回路电流流动时,它会升高V党卫军根据欧姆定律(该电压等于接地回路电流乘以走线电阻)。此外,由于DUT的负载电流,电源走线会遭受压降。图7中的运算放大器检测这些电压损耗,并调整电源以补偿这些损耗。请注意,检测引线必须直接连接到 V 处DD和 V党卫军被测物的引脚。以这种方式连接引线通常称为“开尔文连接”。

ATE

图7.开尔文力检测配置可确保电压精度和电压稳定性抄送和 V党卫军被测设备的端子。

预算两倍于您认为需要的元件放置时间。做一个初步的路由,也许用自动路由器,寻找拥挤的区域,调整组件放置以减少拥塞。如前所述,突出显示所有高阻抗信号线,最小化其长度,并使其远离噪声信号。在开始布局之前确定设计约束的优先级。即使是最好的布局设计师也无法将 100mil 走线馈入 0.65mm 细间距引线。

软件设计

在测试设置中控制仪器时,需要定义启动此控制的命令。控制并行端口的命令以“位撞击”格式发送数据。RS-232串行总线和IEEE-488总线都传输字符数据的串行字符串。

IEEE-488标准管理总线本身,而不是通过总线发送的消息类型。尽管如此,对于发送的消息类型还是有一些共识。例如,现代 DVM 使用几乎相同的命令集,从而节省了客户的开发时间。但是,对于较旧或非标准仪器,很少或根本没有协议。可编程仪器的标准命令 (SCPI) 试图增加命令集内的一致性。查看 SCPI 以查看其任何命令是否适合您的仪器,否则您将不得不发明部分或全部特定于您的仪器的命令语言。然而,使用SCPI是首选,因为它使使用该工具的人能够更快地了解其操作。

最好以小步骤和逻辑进展开发软件。例如,在为图5所示的信号调理器/压力传感器测试仪开发软件时,其设计人员首先开发了命令处理器,这是一个软件例程的集合,用于解释文本命令并相应地控制硬件。在早期阶段,命令处理器仅接受来自测试仪微处理器内置RS-232串行端口的命令。一旦测试仪的设计者使用此端口构建了命令处理器,他就开发了许多低级子例程,使用命令处理器来测试它们。渐渐地,他为每个子系统(例如,IEEE-488控制器、模数转换器和数字I/O)添加了设备驱动程序,始终具有已知的工作代码,以便在出现问题时回退。

这种模块化的软件设计方法有助于其初始开发以及未来的软件更改,特别是如果创建更改的人不是初始开发人员。测试仪完成后,一位经理要求它支持附加IC的测试。测试仪的设计者能够在几周内支持新设备,因为他已经将软件组织成独立的设备驱动程序。对软件一部分的更改并没有改变其他不相关的部分,因为设计人员积极地对代码进行分区,始终预测未来的更改。

在调试您开发的软件时,您会发现RS-232端口是一个方便的诊断工具。除了在软件开发开始时可能有用(如上所述)之外,在调试软件时,您可能还会发现它在项目的最后阶段是必不可少的。即使测试仪的最终设计不提供客户对RS-232端口的访问,它仍然可以作为一个有效且廉价的门户,用于对现场技术人员有用的状态消息。

编写软件时,保留一个内存位置作为诊断启用,另一个作为诊断状态指示器。将这些内存位置保留在软件的最终版本中;如果客户遇到问题,这些诊断工具可以提供有价值的信息。

看门狗定时器是一种有用的设备,如果微处理器陷入无限循环,则会重置微处理器。软件必须定期为看门狗定时器提供服务,以防止其定时器过期。当看门狗定时器到期时,表明微处理器陷入无限循环,它会重置仪器的微处理器,将其恢复到已知的工作状态。看门狗定时器复位可以启动诊断状态指示器内容的打印,显示软件的哪个部分可能导致崩溃。

只有输入、输出和延迟子例程需要为看门狗提供服务,从而防止其计时器过期。作为一般规则,软件将大部分时间花在输入或输出子例程中,因此这些子例程是维护看门狗定时器的最佳位置。

也许这是显而易见的,但仍然值得一提:经常制作源代码的备份副本。每次对新ROM映像进行编程时,仅复制更改的文件以节省时间。另外,请确保您有修补ROM代码的方法。即使可用于修补程序的内存量有限,您编写、编译和测试代码的每个实例所节省的时间也非常长,尤其是在马拉松式开发会话期间。

结论

PC 的并行端口可在 PC 和成本敏感的小型应用程序之间提供便捷的连接。在快速对电路进行原型设计时,它也是一个有用的工具。RS-232串行端口通常用于与并行端口相同类型的应用,但它通常需要添加微处理器。并行端口和串行端口都存在潜在问题,尽管大多数通常是次要的。

IEEE-488总线可以方便地将PC连接到多个测试仪器。对于 这里 讨论 的 测试 系统 类型 , 该 线 是 明确 的 选择。虽然它提高了测试系统的价格,但它提供的将多个仪器一次连接到PC的能力证明了额外的成本是合理的。

在 设计 测试 仪器 的 硬件 时, 应 一 长 使用 适当 的 设计 技术, 可 消除 或 最大限度 减少 在 设计 进行 过程中 可能 出现 的 难以 解决 的 问题。分离数字和模拟接地、使用光隔离器、识别高阻抗节点、花时间放置元件、考虑电源和接地走线的压降以及其他技术都增加了成功设计的机会。

开发测试仪器的软件还需要仔细设计。以小步骤编写软件,确保对软件进行分区,以便将来可以轻松进行更改。如果可能,请在使用 IEEE-488 总线时使用 SCPI 命令。调试软件时,PC的RS-232串行端口提供了与测试仪微处理器通信的便捷方式。在软件的最终版本中保持用于诊断目的的内存位置可用,因为客户和现场技术人员可以从中受益。此外,使用看门狗定时器,因为这些器件提供了一种将微处理器从无限循环中解救出来的便捷方法。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分