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.

[参考译文] TMS570LS0332:LIN 唤醒触发

Guru**** 2460850 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LS0332

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/651437/tms570ls0332-lin-wake-up-trigger

器件型号:TMS570LS0332
主题中讨论的其他器件:HALCOGEN

您好!

我 使用控制器的 LIN 外设与外部从器件通信。 控制器的 LIN 配置为主机模式。 我能够与 LIN 从器件之间发送和接收数据。  我想从 TMS570LS0332微控制器生成唤醒信号以唤醒外部从器件。 我在 HalCoGen 生成的代码中使用了以下函数来生成唤醒信号。

void linSendWakupSignal (linbase_t * LIN)

/*用户代码开始(8)*/
/*用户代码结束*/

LIN->TDx[0U]= 0xF0U;
LIN->GCR2 |= 0x00000100U;

/*用户代码开始(9)*/
/*用户代码结束*/

我在 LIN 总线上看不到任何唤醒信号。  

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

    您的 LIN 仪表组是否具有用于 LIN 主从模式的收发器? 我在 Launchpad 上测试了 LIN1 (主器件)和 LIN2 (从器件)没有 LIN 收发器、我可以在主器件复用接头后从从器件发送唤醒信号。

    /*发送 LIN 报头,包括同步间隔字段、同步字段和标识符。 *
    LinSendHeader (linREG1、0x23);//主机 TX A 报头
    linSend (linREG2、&text1[0]);//从器件发送响应

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

    尊敬的 QJ Wang:

    我在 LIN 主控和 LIN 受控 sídes 上都有 PHY。 这次、我检查了 LIN 主控 TX 输出 引脚上的信号(即、直接在微控制 器输出上)。  我使用以下代码发送唤醒信号。

    LINSendHeader (LINREG、0x23);

    LinSendWakupSignal (LINREG);

    我在微控制器的 LIN Tx 输出上没有看到任何信号。   我还有一个问题与您上次的回答有关。

    linSendHeader (linREG1、0x23);
    LinSendWakupSignal (linREG2);

    在上面的代码中、您提到从器件以唤醒信号进行响应。 从器件为什么这么做? LIN 从机处于睡眠状态。 发送唤醒信号是否由主器件负责? 请告诉我您的宝贵意见

    谢谢、此致、

    Sreekanth Challa

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

    Sreenekanth、您好!

    这是我使用 TMS570LC43x Launchpad 进行 LIN 测试的设置。 LIN1是主器件、LIN2是从器件。 2条蓝色导线用于将 TX 和 RX 连接在一起、而黄色导线用作 LIN 总线。

    我没有将 LIN2 (从器件)置于睡眠模式。

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

    您好!

    我将 LIN2 (从器件)置于睡眠模式、然后 LIN2 (从器件)向 LIN 总线发送唤醒信号(0xF0):

    1:唤醒信号在 LIN 总线上产生  

    2.在 FLR 寄存器(位1)中生成 WAKEUP INT

    这是我的代码:

      /*发送 LIN 报头,包括同步间隔字段、同步字段和标识符。 *

      LinSendHeader (linREG1、0x23); //主机 TX A 报头

      LinSend (linREG1、&text1[0]);  //主控方发送响应

      LinSendHeader (linREG1、0x23); //主机 TX A 报头

      linSend (linREG2、&text1[0]);  //从器件发送响应

      linSendHeader (linREG1、0x23);

      linREG1->FLR |= LIN_WAKEUP_INT;//清除 WAKEUP 位

      linREG2->FLR |= LIN_WAKEUP_INT;

      linEnterSleep (linREG2);    //进入睡眠模式

      LinSendWakupSignal (linREG2);

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

    非常感谢您的详细回答。 我还有另一个与此相关的问题。 假设、Hecules 微控制器配置为 LIN 主控制器。 这会在 LIN 总线上发送睡眠帧、以将所有从机设置为睡眠模式。 根据 LIN 2.1规范、主器件可通过发送一个第一个数据字节等于0且剩余字节被设定为0xFF 的诊断主器件请求帧(ID=60、0x3C)来强制所有从器件进入睡眠模式。
    现在、我想向所有从器件发送唤醒信号、以便从器件的 LIN 外设为进一步通信做好准备。 现在、我尝试使用 linSendWakupSignal (linbase_t * LIN)函数在 CAN 上发送唤醒信号。 这不奏效。

    根据您的响应、以下是我在 Hercules 微控制器中对唤醒信号的低估。
    "微控制器只能在休眠时生成唤醒信号。"

    这是真的吗?

    谢谢、此致、

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

    如果要唤醒睡眠节点、它应能够随时生成唤醒信号。
    唤醒信号可由主器件生成
    2.从机可以产生唤醒信号

    圣诞节后、我将参加更多测试。