连接测试- 调试模式
来源: | 作者:风标电子工程师 | 发布时间: 2024-11-29 | 5 次浏览 | 🔊 点击朗读正文 ❚❚ | 分享到:

如果在测试过程中,某个特定的引脚导致JTAG链停止工作,或者导致电流消耗突然增加,那么XJDeveloper的“Debug Connection Test”屏幕可以帮助进行调试。

运行调试测试将测试所有可以从JTAG设备驱动的网络,除了以下网络:

  • 直接连接到电源/地网络,或者

  • “Constant Pins”屏幕中的项目或测试设备的Busses定义的Disable Value。

调试时网络将被设置到指定的初始状态(驱动高,驱动低或不驱动),然后按照“Debug Connection Test Settings”对话框(在XJDeveloper的“Debug Connection Test”屏幕的“Settings”齿轮中访问)中指定的,将它们设置为高或低。


图1 - 连接测试调试选项的设置

Wait for Keypress

调试模式有一个“Wait for keypress”选项,允许您使用按键手动逐个推进电平变化。如果您想监控每个电平组合的电流消耗,这可能很有用。

Test All Driver Pins

如果网络可以被多个JTAG设备(或一个JTAG设备和一个XJLink pin)驱动,勾选“Test all driver pins”复选框将多次测试该网络,每次使用不同的驱动器。

Forward/Reverse and Random Net Order

有时问题只会在网络以特定顺序变化时发生(例如,从步骤B到A会导致问题,但从A到B则不会)。如果您一直无法找到问题的根源,那么反转顺序方向可能有所帮助。这是通过更改“Direction”设置来完成的。


如果以上测试都没有确定原因,可能Soak Test会有用。通过勾选“Use random setting algorithm”复选框来完成此操作。测试将从所有网络设置为它们的定义初始状态开始,然后重复随机选择一个网络并将其设置为随机值。这将一直持续,直到按“q”键终止测试。


可以提供一个值来初始化所使用的伪随机序列。这很有用,因为它允许复现这个测试。

示例

为了调试链路中断错误,可以遵循以下过程。

1. 尝试将所有引脚设置为低电平,以查看是否可以重现问题:

  1. 将“State all nets will be set into at the start of the test”设置为“Input”,以便测试在它们都处于高阻抗状态时开始。

  2. 从“State the nets will be switched to”菜单中,选择“Low”并运行调试测试。第一个网络将被驱动为低电平,并读取值以检查冲突。这个过程将依次对其他网络重复,直到它们都保持低电平。如果发现冲突,系统将禁用所有网络并将JTAG设备返回到BYPASS状态。

  3. 如果测试因为检测到冲突而停止,检查它在哪里停止以查看导致问题的引脚值组合。

2. 如果在将网络设置为低电平时没有发现问题,请重复测试,这次将引脚从输入切换到高电平:

  1. 将“State all nets will be set into at the start of the test”设置为“Input”,以便测试在它们都处于高阻抗状态时开始。

  2. 从“State the nets will be switched to”菜单中,选择“High”并重新运行调试测试。第一个网络将被设置为高电平,并读取值以检查冲突。然后依次对其他网络重复此过程,直到所有网络保持高电平。如果发现冲突,系统将禁用所有网络并将JTAG设备返回到BYPASS状态。

  3. 如果测试因为检测到冲突而停止,检查它在哪里停止以查看导致问题的引脚值组合。

3. 通常,高低组合会产生错误,所以下一步是从所有网络设置为高电平开始,然后逐渐将每个设置为低电平,或者相反。您可以反转设置网络的顺序- 如果冲突只在特定的其他条件组合下发生,这将很有用。

  1. 将“State all nets will be set into at the start of the test”设置为“High”

  2. 从“State the nets will be switched to”菜单中,选择“Low”并运行调试测试。

  3. 如果没有显示问题,请选中“Backwards”方向单选按钮并重复。

4. 如果这仍然没有找到问题,请对剩余的组合重复该过程,直到找到有问题的值序列:

  1. 从所有网络“Low”开始,并运行一个将它们更改为“High”的测试。重复此操作,但反转顺序方向。

  2. 重复原始测试,其中网络从“Input”开始并更改为“Low”,但序列运行方向相反。

  3. 重复原始测试,其中网络从“Input”开始并更改为“High”,但序列运行方向相反。

5. 如果以上都没有复现错误,通过勾选“Use random setting algorithm”运行Soak test。这将随机选择网络并设置它们为随机值,直到您停止测试(通过按‘q’键)。