This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPIC1021:LIN接口模块的硬件故障排除困难

Guru**** 1133870 points
Other Parts Discussed in Thread: TPIC1021
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/604516/tpic1021-difficulty-with-hardware-troubleshooting-of-lin-interface-module

部件号:TPIC1021

支持路径:/Product/开发和故障排除/

您好,TI:

我在排除汽车环境中的TPIC1021 LIN总线接口模块硬件故障时遇到问题。

我对1个主设备和2个从设备的配置如下:

  • 直接连接到TPIC1021的LIN引脚的LIN导线;
  • 仅主设备-通过1k电阻器和串联二极管将LIN导线拉高;  
  • 连接至12伏电源电压的电压;
  • 接地至公共接地;
  • INH未连接;
  • n未连接唤醒;
  • EN引脚直接连接至3.3V;
  • RxD引脚直接连接到MCU UART RX;
  • 直接连接到MCU UART TX的TxD引脚;

所有三种器件的MCU都是STM8S103F3,它使用正常的UART协议进行传输和接收。  TX和RX均在内部处于高电平状态,通信由TX引脚上的逻辑低电平启动,然后是从属设备的地址和命令。  通信由下降边缘触发器在RX上检测。

拆下两个TPIC1021 (主和从)后,两个MCU之间的通信在工作台上工作正常。  但是,当两个MCU之间包含两个接口模块时,LIN导线上似乎没有通信。  不幸的是,我没有示波器,只有一台Saleae逻辑分析仪,它不能承受12伏电压。  因此,我尝试执行静态测试,而不是动态测试通信,如下所示:

  • 为MCU (3.3V)及TPIC1021(12V)提供电源;
  • 初始状态- EN=3.3V,RXD和TXD从MCU拉高;
  • 或者,将LIN导线和MCU的TX拉低;

结果不如我所希望的那么有帮助。  拉低TX对LIN IO针脚没有影响;但是拉低LIN导线会导致RXD针脚出现预期逻辑低电平。  我不确定如何继续进行故障诊断。  如果我有一个示波器或一个12伏容差逻辑分析仪,这种情况本来可以缓解,但遗憾的是,这暂时是不可能的。

我的问题是:

  • LIN接口模块最初是否进入低功率或待机模式并等待唤醒状态?
  • EN引脚上有恒定的3.3V电压,因此模块是否等待显式EN低到高电平,以便在通电后唤醒?
  • 未连接的NWAKE针脚是否会影响TPIC1021?
  • 在LIN引脚跟随TXD引脚之前,TXD引脚上是否存在特定的逻辑条件?

我已上传了LIN-MCU连接示意图。  由于公司的知识产权,我无法上传整个原理图。

如有上述任何帮助,我们将不胜感激。  提前感谢您的参与。

e2e.ti.com/.../TI_5F00_E2E_5F00_schematic_5F00_1.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Willie,

    根据您的描述,听起来您正在正确使用TPIC1021设备。 要回答您的问题:

    •LIN接口模块最初是否进入低功率或待机模式并等待唤醒状态? -当低功耗模式是TPIC1021设备的默认状态(假设Vsup > Vsup_D欠 压)时,EN引脚上的逻辑高将导致设备立即从低功耗或待机模式切换到正常模式。

    •EN引脚上有恒定的3.3V电压,因此模块是否等待显式EN低到高电平,以便在通电后唤醒? - EN引脚是水平触发的,而不是边缘触发的。 恒定的3.3V应强制部件进入正常模式。

    •未连接的NWAKE针脚是否会影响TPIC1021? - NAWKE引脚作为内部上拉电流为10uA,因此引脚保持浮动将导致其默认值高。 这应该不是问题。

    •在LIN引脚跟随TXD引脚之前,TXD引脚上是否存在特定的逻辑条件? -一旦零件处于正常模式(EN为高),LIN引脚应跟随TXD引脚。 如果TXD针脚为逻辑高电平(根据数据表,TXD > 2V),则LIN总线应处于隐性状态,如果TXD针脚为逻辑低电平,则LIN总线应被下拉至显性状态。

    需要检查的一件事是TPIC1021设备的接地。 在您的描述中,您描述了INH和NWAKE未连接时,GND连接到公共GND。 但是,在您所附的原理图中,没有显示引脚5 GND的连接(它看起来与原理图中引脚3 NWAKE和引脚8 INH相同)。

    假设接地正确,则要检查的另一件事是实际达到EN引脚上的逻辑电压。 TPIC1021部件有一个内部下拉电阻器,标称电阻为350千欧,可稍微降低电压。 但是,从原理图看,EN引脚似乎直接连接到3.3V电源,因此这应该没问题,但在双重检查中没有损害。

    如果您在检查接地和EN引脚电压后仍然遇到TPIC1021设备问题,请告诉我。 如果您还有其他问题,请随时提问。

    此致,
    Richard Broughton
    收发器接口-应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Richard:

    感谢您的快速响应,非常感谢。

    是的,TPIC1021已正确接地,即使原理图没有这样的指示。  请参见随附的安装在PCB上的IC图片。  

    对于启动时未插入MCU的主设备,针脚具有以下电压:

    • 引脚1,RXD      = 10.3V (浮动);
    • PIN2,EN       = 3.3V;
    • 引脚3,NWAKE  = 9.9V (浮动);
    • PIN4,TXD      = 9.8V (浮动);
    • 引脚5,GND      = 0V (公共接地);
    • 引脚6,LIN       = 11.6V (外部拉高);
    • PIN7,Vsup      = 11.8伏;
    • PIN8,INH       = 9.9V (浮动);

    对于    在启动时插入MCU的主设备(UART已初始化,引脚内部拉高),TPIC1021引脚具有以下电压:

    • 引脚1,RXD      = 3.8V (MCU内部拉高);
    • PIN2,EN       = 3.3V;
    • 引脚3,NWAKE  = 6.2V (浮动);
    • PIN4,TXD      = 3.3V (MCU内部拉高);
    • 引脚5,GND      = 0V (公共接地);
    • 引脚6,LIN       = 10.9V (外部拉高);
    • PIN7,Vsup      = 11.3V;
    • PIN8,INH       = 3.7V (浮动);

    在上述配置(即插入MCU,初始化UART和内部引脚拉高)下,执行以下测试:

    • TPIC1021 LIN引脚被强制接地  - RXD = 0.6V; INH和NWAKE略微降低; 其他所有引脚均保持与预期相同;
    • TPIC1021 TXD强制接地     - LIN = 8.6V (从11V起); RXD的意外行为= NWAKE = INH ~ 0.7V;

    因此,当TXD引脚上放置逻辑低电平时,LIN引脚没有向下拉至足够低的位置,以记录信号线上的主导状态,因此导线上没有通信。

    我不100 % 能确定的一件事(其中包括)是TPIC1021是否确实安装在印刷电路板上,且是否正确对齐。  数据表显示引脚1 (RXD)处有缺口,但我未能看到任何引脚的缺口或指示。  能否仔细检查芯片是否正确安装?  此外,您是否可以建议进行任何进一步的故障排除检查/测试?

    再次提前感谢。

    此致,

    Willie,Jnr. EEe2e.ti.com/.../TI_5F00_E2E_5F00_photo_5F00_1.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Willie,

    从您所附的照片来看,TPIC1021未正确对齐安装到PCB上。 设备顶部一侧的水平线通常表示设备的针1侧。 尝试翻转设备,一切都应正常工作,尽管您可能会更换一个新设备,因为安装在错误对齐位置的设备由于未对齐而暴露在某些引脚上的一些较大电压应力下。

    未对准也说明了您所进行的电压测量。 在这种情况下,设备的GND引脚(引脚5)连接到主板上的RXD点。 因此在第一个示例中,没有插入MCU的TPIC1021设备上的GND引脚是浮动的,所有未直接连接到电路板上的电压电源的引脚都向12V浮动。

    在第二个示例中,插入MCU后,器件的接地引脚连接到PCB上的RXD迹线,电压为3.3V,许多引脚上的测量电压接近3.3V。

    解决设备对齐问题后,请告诉我是否还有问题。

    此致,
    Richard Broughton
    收发器接口-应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Richard:

    再次浏览数据表并特别查看机械数据(第13节)信息后,我假定IC的安装位置不正确。  我拆下了旧的一个,用一个正确对齐的备用TPIC1021替换了它,即引脚1位于侧边的左侧,带有水平线。

    更换IC后,我在启动后再次检查针脚电压,插入MCU并将RX/TX针脚内部拉高:

    • 引脚1,RXD      = 3.3V (MCU内部拉高);
    • PIN2,EN       = 3.3V;
    • 引脚3,NWAKE  = 9.8V (浮动);
    • PIN4,TXD      = 3.3V (MCU内部拉高);
    • 引脚5,GND      = 0V (公共接地);
    • 引脚6,LIN       = 11.5V (外部拉高);
    • PIN7,Vsup      = 11.4V;
    • PIN8,INH       = 11.4V (浮动);

    再次执行之前的测试时,会出现以下读数:

    • TPIC1021 LIN引脚被强制接地  - RXD = 0.1V; INH和NWAKE再次略微降低; 所有其他情况保持不变;
    • TPIC1021 TXD强制接地     -LIN = 11.4V (从11.5V起); RXD,NWAKE和INH保持不变;

    因此,通过手动将TXD接地,LIN引脚仍不会跟随TXD引脚。  但是,在仔细阅读数据表后,我再次注意到,在显性状态超时(~9毫秒)后,LIN导线返回隐性状态(~12伏),如果LIN导线上没有示波器或逻辑分析仪,则无法看到这种状态。  这就是为什么人们看着LIN引脚没有跟随TXD引脚的原因。

    因此,我尝试通过简单地向从属设备发送几个字节来再次建立主设备和从属设备之间的通信。  通过逻辑分析器,我监控了主机的TXD引脚,并看到以1.44万波特率传输到主机的TPIC1021 TXD引脚的几个字节。  我还监控了Slave的TPIC1021 RXD销,但没有看到任何东西。  RXD引脚上未接收到字节。  因此,我得出结论,通信未放置在LIN针脚上。

    是否有进一步的建议或建议?

    此致,

    Willie,Jnr. ee.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Willie,

    您是否使用新的/正确的对齐方式更换了主侧和从侧的设备?

    当1.44万波特流量被发送到主控制器的TXD引脚时,您监控了从控制器的TPIC1021 RXD引脚,但没有看到任何内容,您是否还可以检查主控制器的侧RXD引脚(它应实时读取其自身的传输)? 您可以尝试的一件事是断开主控制器与从属控制器的连接,然后尝试先让主控制器端工作。

    根据您的引脚读数,TPIC1021器件似乎在正常模式下是正确的,因为RXD引脚都是3.3V,而INH引脚被拉高至11.4V (与Vsup的电压完全相同)。 在待机模式下,RXD将被驱动为低电平,而在低功率模式下,INH引脚将是高阻抗。 您可以检查的一件事是使用电阻器接地,以检查INH引脚是否实际被拉起,而不仅仅是HiZ和11.4V浮动。 这将确认设备处于正常模式。

    请告诉我,仅检查主侧是否会改善结果。 我会继续调查这个问题。

    此致,
    Richard Broughton
    收发器接口-应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard

    是的,我更换了主控制器和从控制器的TPIC,并焊接了新的备用IC。

    感谢您提供其他故障排除建议。  很遗憾,我现在不再工作,只能在明天执行这些检查。

    因此,如果我理解正确,则LIN引脚跟随TXD,RXD跟随同一TPIC1021的LIN引脚,而无论从属设备是否连接到LIN导线?  因此,如果从Lin总线中删除从属设备(根据您的建议),并且主设备将字节"0x0d"传输到TXD,它应该从RXD接收相同的字节"0x0d"?

    进一步阐述此理解,如果主控制器将字节"0x0d"传输到TPIC1021的TXD引脚,且逻辑分析器看不到RXD上的通信(即 RxD保持高),那么我可以假设TXD和LIN之间或者LIN和RXD引脚之间存在问题?

    此致,

    Willie,Jnr. ee.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Willie,

    您的理解是正确的。 LIN引脚跟随TXD,而RXD跟随同一TPIC1021设备的LIN引脚,而不管从属设备是否连接到LIN导线(假设设备处于正常模式,从您的电压测量结果来看,这种情况)。 如您所述,如果您在主设备上传输字节"0x0d",即使主设备与LIN总线/从属节点完全断开,您也应看到数据显示在同一主设备的RXD引脚上(经过一个小传播延迟后)。

    从原理图上看,上拉电阻器和二极管就位于主侧PCB上。 即使它们不是本地的,TPIC1021器件内也有较弱的上拉电阻器版本(30千欧),因此当数据在TXD引脚上传输时,主控器件上的RXD引脚仍应响应总线。

    您可以重复实验,手动将LIN引脚拉至主设备上的接地,以确保连接至RXD路径的LIN引脚也在主侧工作。 之后,您可以在主节点与总线断开连接时,使用逻辑分析器在数据传输过程中监控主设备的TXD和RXD引脚。

    如果您得到的结果与您所得到的结果相同,则RXD引脚会对被拉下的总线作出反应,但不会对发送到同一主设备上的TXD引脚的数据作出反应,而主节点与总线断开连接, 然后,您知道问题出现在主设备/ PCB上的TXD至LIN路径上的某个位置。

    如果在主节点单独运行时问题消失,则从属节点或总线本身出现问题,导致主节点无法完全向下拉。 TXD至LIN路径的LIN引脚上的下拉电流通常限制为150mA (最大250mA), 因此,如果总线上存在短路的低电阻或类似的电阻,它可以阻止TPIC1021将总线向下拉至足够远的位置,以达到RXD路径的阈值。

    如果您还有任何疑问,请告诉我接下来的故障排除步骤是如何执行的。

    此致,
    Richard Broughton
    收发器接口-应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Richard:

    主设备和每个从属设备之间的Lin总线通信正常,可以在每个设备之间进行传输和接收!

    我按照您的建议从LIN总线和其他节点上移除每个设备,并测试其自己的TPIC1021 IC。  我像以前一样为每个针脚供电并检查其电压,强制LIN针脚接地,并检查RXD针脚是否符合要求并接地。  然后,我将逻辑分析器连接到TXD和RXD引脚,从MCU传输几个字节,监控两个引脚并验证传输的字节和接收的字节是否相同,从而确认TPIC1021在正常模式下完全正常工作。

    在将每个设备连接到Lin总线之前,我分别对它们重复了此测试。  连接到LIN总线后,我会分别监控每个设备的TXD和RXD引脚 ,并确认LIN线上的通信稳定,以便在每个设备之间传输和接收信号。

    最后,我遇到的主要问题是TPIC1021在多氯联苯上的错位。

    再次感谢您对TPIC1021 Lin接口模块硬件故障排除的帮助和建议。

    此致,

    Willie,Jnr. ee.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Willie,

    不用客气! 我很高兴,您能够建立LIN总线通信。

    此致,
    Richard Broughton
    收发器接口-应用工程师