搜索
bottom↓
回复: 25

TJA1021 LIN总线使用疑问, lin总线老司机求带

[复制链接]

出0入0汤圆

发表于 2016-11-21 01:10:44 | 显示全部楼层 |阅读模式
1.关于lin总线协议疑问:我由主节点向从节点发送数据采用波特率19200,同步间隔场我设置的波特率为9600,主节点发送出去的内容为0x80 0x55 ID  Data1 Data2 校验 。这样做对么?
2.关于TJA1021使用 电路这样设计是否正确
3.假如电路设计没有问题 那么是不是我从串口脚发送出去的内容接收脚也应该收到同样的?
4.关于TJA1021进入睡眠过程是设置SLP_N的么 拉低为睡眠 拉高为唤醒 如果是这样我可以一直把这引脚拉高么?
5.假如主节点发的数据格式不对 LIN总线脚也应该有数据传出?只是不能通信 可不可以把它想成max232 只是一个高级的电平转换芯片。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2016-11-21 06:56:21 来自手机 | 显示全部楼层
1,主节点发送数据需要吧checksum也发了。

出0入0汤圆

发表于 2016-11-21 07:06:06 来自手机 | 显示全部楼层
3,是的,可以在接收中断里发送,这样只需要开一个接收中断就行了,当然更高级的芯片可以直接整帧收发的除外      4,不需要睡眠可以的,需要注意这个芯片进去睡眠slp必须下降沿,如果上电就一直为低会有0.6mA的电流。      6,是的,但是部分MCU的LIN功能有监测总线,如果发送检测到异常会进错误中断的,硬件方面可以没试过232,可以用三极管搭,不过EMC不太好把控,静态电流好像也没芯片低

出0入0汤圆

发表于 2016-11-22 09:04:07 | 显示全部楼层
楼主使用的MCU不支持LIN模式吗,不明白为什么数据场和同步间隔场会有2个不同波特率,其他楼上已经回答了~

出0入0汤圆

 楼主| 发表于 2016-11-22 21:12:02 | 显示全部楼层
shuxmpx123 发表于 2016-11-22 09:04
楼主使用的MCU不支持LIN模式吗,不明白为什么数据场和同步间隔场会有2个不同波特率,其他楼上已经回答了~ ...

就是一般的串口,我是这样想的同步间隔场要求的时间比较长至少13个位,我发送的是0x80波特率降低的话相当于发了7*2=14位低。

出0入0汤圆

 楼主| 发表于 2016-11-22 21:16:45 | 显示全部楼层
q457344370 发表于 2016-11-21 07:06
3,是的,可以在接收中断里发送,这样只需要开一个接收中断就行了,当然更高级的芯片可以直接整帧收发的除 ...

谢谢 解惑。我还是没有把从机驱动起来。

出0入0汤圆

发表于 2016-11-22 22:12:59 | 显示全部楼层
不知道你为什么要把同步场换个波特率?从始至终就一个波特率。。。

出0入0汤圆

发表于 2016-11-22 22:22:51 | 显示全部楼层
需要注意的:1,发送的时候不是发送ID,而是PID。   2,checksum 根据ID的不同有两种算法,当然结果也不一样。   3 数据不对从机就没有反应。4,break你居然用0X80代替,估计位数不够吧。。。,5,Sync Field和数据时同一个波特率。

出0入0汤圆

 楼主| 发表于 2016-11-23 00:25:01 | 显示全部楼层
godsend 发表于 2016-11-22 22:12
不知道你为什么要把同步场换个波特率?从始至终就一个波特率。。。

我换的是同步间隔场就是那个至少13位的低信号。

出0入0汤圆

 楼主| 发表于 2016-11-23 00:30:43 | 显示全部楼层
godsend 发表于 2016-11-22 22:22
需要注意的:1,发送的时候不是发送ID,而是PID。   2,checksum 根据ID的不同有两种算法,当然结果也不一 ...

是的 我有4位是地址 有2位是校验 有2位是长度 是这样的。目前测试是读从机数据 也就是主机只负责发送头出去。从机只要匹配就会有响应,但是没看到从机有数据回应个。悲剧了。
以下是从机芯片手册上的例子通信过程
(1) The master sends a dummy signal. (The slave wakes up upon receiving a dummy signal.)
(2) The master sends a header (0xC1). (Requests a reply in order to obtain the status of slave 1.)
(3) The slave with pin ID0 set to 1 and pins ID1 to ID3 set to 0 sends a reply.
(4) The master receives the reply data.
(5) The master sends a header (0x11). (Requests slave 1 to receive data.)
(6) The master sends data. (Slave 1 receives the data.) and so on
关于唤醒不是说有头部传输就会唤醒么?我发的0xC1也就应该唤醒呢。
我实用的从机芯片型号是TB9056FNG 请问你们调试过这芯片么?

出0入0汤圆

 楼主| 发表于 2016-11-23 00:31:31 | 显示全部楼层
遇到问题了 大晚上的 还在加班 苦逼 我想休息 我想养生

出0入0汤圆

发表于 2016-11-23 07:49:48 来自手机 | 显示全部楼层
godsend 发表于 2016-11-22 22:12
不知道你为什么要把同步场换个波特率?从始至终就一个波特率。。。

同步间隔场至少要持续13位低电平,不换波特率你怎么实现?切成gpio?

出0入0汤圆

 楼主| 发表于 2016-11-23 08:21:18 来自手机 | 显示全部楼层
aduecho 发表于 2016-11-23 07:49
同步间隔场至少要持续13位低电平,不换波特率你怎么实现?切成gpio?

是的 是的 我串口是一般的串口。13位 必须波特率 降低。

出0入0汤圆

发表于 2016-11-23 08:27:33 | 显示全部楼层
楼主发的PID是从机需要响应的PID吗,再就是看看主机发出的帧头波形跟协议上正常波形有没有区别;

出0入0汤圆

发表于 2016-11-23 11:10:21 | 显示全部楼层
1066950103 发表于 2016-11-23 00:25
我换的是同步间隔场就是那个至少13位的低信号。

同步间隔场是个什么鬼?我好像记得是间隔场是13-26个Bit,同步场是0x55吧。

出0入0汤圆

发表于 2016-11-23 11:26:07 | 显示全部楼层
你要解决问题,最好贴出你的原理图,关键程序,还有示波器观察LIN总线的图形,这样空谈效果不是很好。

出0入0汤圆

 楼主| 发表于 2016-11-25 09:03:51 | 显示全部楼层
这是逻辑分析仪抓到的数据,为什么RX脚一直为低呢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-12-16 17:51:25 | 显示全部楼层
过了那么久!由于其它原因中断了一段时间。前来结贴!目前基本调试成功。前来总结几点。
1.关于LIN芯片TJA1020电路图可以论坛里面已经有了,就他们的就可以了。
2.注意单片机的TX和RX脚。我们平常都是单片机的TX对外的RX,但是这个模块是单片机的TX对TX脚。
3.关于Lin总线协议,基本的应用很简单的论坛里面也可以找到资料。认真学习一下即可。
4.关于LIN总线主从都是单片机的通信部分还好控制。但是一个是Lin芯片IC的时候 一定要认真看数据手册。
我出的问题:1.单片机TX脚没对好TJA1020TX
                    2.Lin里面有休眠功能,有些时候久了不用就会自动休眠。休眠虽然帧间隔符(至少13位0)可以唤醒,
                      但是有些从机(IC)它从唤醒到接收命令需要一定的时间。所以一定要使用发送唤醒命令,等待一会在
                      去与从机通信。
希望对新人有帮助。谢谢指点我的人。

出0入0汤圆

发表于 2017-3-8 22:59:35 | 显示全部楼层
1066950103 发表于 2016-12-16 17:51
过了那么久!由于其它原因中断了一段时间。前来结贴!目前基本调试成功。前来总结几点。
1.关于LIN芯片TJA1 ...

谢谢楼主的经验分享,我知道自己为什么通信不成功了,好像把RX和TX接反了

出0入0汤圆

发表于 2017-4-19 11:18:14 | 显示全部楼层
1066950103 发表于 2016-12-16 17:51
过了那么久!由于其它原因中断了一段时间。前来结贴!目前基本调试成功。前来总结几点。
1.关于LIN芯片TJA1 ...

你好,我最近也在调试一个LIN超声波模块;

请教个问题,可以用USB转TTL模块来调试吗
     比如TJA1021的RXD TXD 连接到USB转TTL模块的RXD TXD,可以用串口调试软件来调试吗?

出0入0汤圆

 楼主| 发表于 2017-4-19 18:20:12 来自手机 | 显示全部楼层
Zigbee2012 发表于 2017-4-19 11:18
你好,我最近也在调试一个LIN超声波模块;

请教个问题,可以用USB转TTL模块来调试吗

串口调试助手不好控制,因为里面有两种波特率,你可以自己写一个简单的串口程序调试。

出0入0汤圆

发表于 2017-4-19 18:42:40 | 显示全部楼层
1066950103 发表于 2017-4-19 18:20
串口调试助手不好控制,因为里面有两种波特率,你可以自己写一个简单的串口程序调试。 ...

有个叫Uart2any的软件工具。。。。是一家公司开发不晓得,我试了下不能用,估计必须他们公司的设备才能用

出0入0汤圆

发表于 2017-4-23 10:52:24 | 显示全部楼层
有LIN开发经验者,可站内联系合作

出0入0汤圆

 楼主| 发表于 2017-4-23 11:04:31 | 显示全部楼层
zirong0804 发表于 2017-4-23 10:52
有LIN开发经验者,可站内联系合作

???搞什么东西?

出0入0汤圆

发表于 2017-4-23 11:21:14 | 显示全部楼层

http://www.amobbs.com/thread-5672979-1-1.html

出105入79汤圆

发表于 2021-6-26 03:06:41 | 显示全部楼层
学习LIN,单线方便
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 01:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表