[CAN-bus/DeviceNet] 关于CAN总线的一些疑问...

[复制链接]
2767|6
 楼主| ppbbcc 发表于 2007-8-30 00:42 | 显示全部楼层 |阅读模式
各位达人,我在学习Can总线是有一些疑问请各位能够指点一下..<br />我是用STC89C52+SJA1000+PCA82C250做的系统(从网上看的..),程序用的是BasicCAN_V1,改了一下,Basic模式.<br />我想知道,<br />1,如果多个节点同时向总线上写数据,会不会造成冲突,在Basic模式下可不可以实现,当一个节点在使用总线时,其他的节点就暂时不发送数据,等总线空了再发.如果可以,是用软件控制,还是硬件自己会控制.<br /><br />2,PCA82C250收发器,书上说是协议控制器和物理传输线路之间的接口,那所说的CAN2.0协议,是不是在PCA82C250上通过硬件的形式实现了..<br /><br />谢谢..<br />
桂电飞天鼠 发表于 2007-8-30 08:17 | 显示全部楼层

rt

回答:<br />1,不会冲突,这是由SJA1000总线控制器来协调的(即硬件自己会控制);不过特大数据那种不清楚。<br />2,协议由SJA1000实现,SJA1000才是总线控制器,PCA82C250只是总线驱动器。
 楼主| ppbbcc 发表于 2007-8-30 09:26 | 显示全部楼层

谢谢

昨天后来在网上找了一下,看到貌似SJA1000带有CSMA/CD,这个功能...<br />那像CANOpen这些协议是不是要通过软件的形式写入MCU.<br />
桂电飞天鼠 发表于 2007-8-30 12:00 | 显示全部楼层

rt

CANOpen这些属于应用层协议了,作为程序的一部分而存在
 楼主| ppbbcc 发表于 2007-8-30 12:05 | 显示全部楼层

明白了!

多谢
jdwang 发表于 2007-8-30 16:46 | 显示全部楼层

会不会造成冲突?

CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而优先级高的节点可以不受影响的继续传输数据,从而大大节省了总线冲突仲裁时间,尤其在网络负载很重的情况下也不会出现网络瘫痪的情况。
wxj1952 发表于 2007-8-30 18:55 | 显示全部楼层

载入史册的名字,影响世界的人

1967年,在ARPA研究人员的一次会议上,Wes&nbsp;Clark构思了一种观念——采用精密的硬件为网络服务。这个设备后来被称为接口通信处理器——IMP。(SJA1000。)同年,Lawrence&nbsp;Roberts发表了第一篇RATANET设计论文,题为&nbsp;“Mutiple&nbsp;Computers&nbsp;Networks&nbsp;and&nbsp;Intercomputer&nbsp;Communications”。<br /><br />1973年5月,哈佛大学的Robert&nbsp;M.Metcalfe&nbsp;在他的博士论文中提出了以太网通信的思想。把这种方法称为载波侦听多路访问——CSMA,......这种侦听的思想意义深远,它被广泛地应用于当今的许多网络,例如CAN,......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部