汽车驱动总线(嵌入式软件专题三:LIN总线驱动调试)

来自:知晓新闻网  |  2025年02月08日

浏览量:

最近在移植LIN总线驱动的过程中,遇到了几个问题我总结了一下:

问题1:LIN总线一直输出高,没有数据输出

原因分析:LIN芯片没有使能成功。

LIN芯片我们一般采用NXP的TJA1028,集成LDO的方案。

嵌入式软件专题三:LIN总线驱动调试

问题2:LIN总线一直输出低

原因分析:break发送阻塞。验证,去掉break发送,做发送测试

if(ChkU0_TxIF_DAT())

{

UART0_D = 0x55;

}

能正常发送0x55。

问题3:break发送阻塞

原因分析:主节点lin驱动不完整。移植的是从节点驱动程序,添加主节点配置,并修改break发送方式,能正确发出相关数据。

问题4:接收不到同步场

解决方式:底层将break当作数据接收了,因此需要剔除该值。

case L_RX_STAT_SYNC:

if (rx_dat == L_FRM_SYNC)

{

GotoL_RxID();

return;

}

else if(rx_dat == 0) //abandon break

{

return;

}

else

{

RstL_Rx();

return;

}

break;

友情链接