关于51单片机的can总线通信电路图,有几个不明白的地方想请教大家
http://cache.amobbs.com/bbs_upload782111/files_26/ourdev_533789.jpg(原文件名:1.jpg)
关于上面的那张图,有几个不明白的地方
1,INT端有个上拉电阻,这有什么用?
2,晶振处的10M电阻有什么用?
3,如果我用24M的晶振,能不能通信?
4,终端电阻是不是必须是120欧姆,100欧姆行吗?
5,如果2个节点通信,他们的CANH,CANL是不是像下面这张图这样连接的?
6,3个节点通信,是不是像最后一张那样连接的?
http://cache.amobbs.com/bbs_upload782111/files_26/ourdev_533790.jpg
(原文件名:2.jpg)
***************************
http://cache.amobbs.com/bbs_upload782111/files_26/ourdev_533791.jpg
(原文件名:3.jpg)
今天过年,祝大家新年快乐... 1,INT端有个上拉电阻,这有什么用?
--集电极输出型的,所以需要加上拉电阻。如果mcu的int输入脚内部有上拉电阻,此电阻可以省略。
2,晶振处的10M电阻有什么用?
--貌似帮助起振吧。
3,如果我用24M的晶振,能不能通信?
--可以的,SJA1000振荡器频率最大为24MHz。
4,终端电阻是不是必须是120欧姆,100欧姆行吗?
--也行,如果线路负载很大,100欧姆有可能不行。
5,如果2个节点通信,他们的CANH,CANL是不是像下面这张图这样连接的?
--是的。
6,3个节点通信,是不是像最后一张那样连接的?
--“T”连接是可以的,但是分支最好不要太长。具体长度和波特率、线路负载有关。
曾经用过“H”型网络。建议每个端点都要放终端电阻。 回复【1楼】erxun 老孟
-----------------------------------------------------------------------
谢谢你的回答,
我是个CAN总线的初学者,现在要实现的目标是一个单片机发一个字节,另一个收一个字节
我想把电路图尽可能弄明白一点,如果没有问题我就准备动手焊板子了.
哦对了,还有一个问题我忘了,
我看资料说图中的那两个LED是起指示作用的,那么它们接入TX0,RX0两端后会不会对通信用影响? 回复【2楼】yiyepz
-----------------------------------------------------------------------
不会的,放心吧 回复【3楼】yunqian09
-----------------------------------------------------------------------
哦,,这样啊,谢谢 友情提醒一下:SJA1000寄存器的地址编号是10进制的。注意一下。。。。。 要实现的目标是一个单片机发一个字节,另一个收一个字节
CAN通讯,传输是按照帧来的,关于数据的,有0-8个字节的数据帧。 回复【5楼】avrstm32
-----------------------------------------------------------------------
谢谢,写软件的时候注意下就应该行了吧?
回复【6楼】erxun 老孟
-----------------------------------------------------------------------
我的单片机用的是89s52,不知道INT端应不应该加上上拉电阻 手机上网,没法看图,但89S52INT端内部有上拉电阻,无需外接 回复【楼主位】yiyepz
-----------------------------------------------------------------------
补充一下问题1、4.6:89S52除P0端口外都内带上拉电阻,INT端上拉可有可无。标准的CAN通信应该使用双绞线连接并且每增加一个CAN端口都需要一个120欧的匹配电阻,100欧的电阻可能会影响CAN的传输距离和准确度,不加电阻可能会通信错误。 再补充2:10M电阻一般是并联在晶振两端增加晶振的负载减少晶振不起振的概率,89S52不加电阻也可以起振。本人孤陋寡闻楼主这样的接法倒是没有接触过。 mark mark 原来这样啊,学习了,谢谢!
页:
[1]