打印

CAN总线的一些问题

[复制链接]
楼主: 3B1105
手机看帖
扫描二维码
随时随地手机跟帖
21
bit6019| | 2010-10-30 11:26 | 只看该作者 回帖奖励 |倒序浏览
ARM体系结构(英文版...

使用特权

评论回复
22
huzixian| | 2010-10-30 11:39 | 只看该作者
CAN总线节点现在就是线路断了,其它节点能检测出来了吗?

使用特权

评论回复
23
huzixian| | 2010-10-30 11:48 | 只看该作者
睡眠模式/唤醒(Sleep Mode / Wake-up):
为了减少系统电源的功率消耗,可以将CAN 器件设为睡眠模式以便停止内部活动及断开与总线驱动器
的连接。CAN 器件可由总线激活,或系统内部状态而被唤醒。唤醒时,虽然传输层要等待一段时间使系统
振荡器稳定,然后还要等待一段时间直到与总线活动同步(通过检查11 个连续的“隐性”的位),但在总
线驱动器被重新设置为“总线在线”之前,内部运行已重新开始。为了唤醒系统上正处于睡眠模式的其他
节点,可以使用一特殊的唤醒报文,此报文具有专门的、最低等级的识别符。(rrr rrrd rrrr; r =‘’隐性’ d
= ‘显性’)最后一句是什么意思了

使用特权

评论回复
24
huzixian| | 2010-10-30 11:51 | 只看该作者
CTMA8251A芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC 2500V的隔离功能。

这个DC2500是个什么意思!

使用特权

评论回复
25
yoyowodeai| | 2010-10-30 11:56 | 只看该作者
该芯片特别适合+3.3V系统的CAN控制器,实现CAN节点的收发与隔离功能。在以往的设计方案中需要光耦、DC-DC电源隔离、CAN收发器等其他元器件才能实现带隔离的CAN收发电路,但现在您只需利用一片CTM8251A接口芯片就可以实现带隔离的CAN收发电路,隔离电压可以达到DC 2500V,其接口简单,使用方便,是嵌入式系统的理想选择

使用特权

评论回复
26
yoyowodeai| | 2010-10-30 12:26 | 只看该作者
电路采用了隔离CAN收发器模块,有了隔离CAN-bus接口电路,就可以很好地实现总线上各节点电气、电源之间完全隔离和独立,提高了节点的稳定性和安全性。

使用特权

评论回复
27
yoyowodeai| | 2010-10-30 12:30 | 只看该作者
芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC 2500V的隔离功能

使用特权

评论回复
28
yoyowodeai| | 2010-10-30 12:33 | 只看该作者
TJA1050应用

TJA1050应用.pdf

566.41 KB

使用特权

评论回复
29
yoyowodeai| | 2010-10-30 12:34 | 只看该作者
真不明白TJA1050与CTMA8251A有什么区别

使用特权

评论回复
30
米其林r| | 2010-10-30 12:38 | 只看该作者
CAN波特率寄存器计算软件

NXP_CAN.zip

348.54 KB

使用特权

评论回复
31
米其林r| | 2010-10-30 12:45 | 只看该作者
TJA2050升级记录

TJA2050升级记录.pdf

372.63 KB

使用特权

评论回复
32
米其林r| | 2010-10-30 12:45 | 只看该作者
选择CAN收发器的准则是什么?

使用特权

评论回复
33
米其林r| | 2010-10-30 13:05 | 只看该作者
can总线中,当其它节点断电时,会对总线上其它节点有影响吗?

使用特权

评论回复
34
6019赵文| | 2010-10-30 13:23 | 只看该作者
发送数据(TXD)控制超时显性功能
这个功能CTM8251A有吗?

使用特权

评论回复
35
6019赵文| | 2010-10-30 13:30 | 只看该作者
TJA2050有个位速率限制是50K,CTM8251A有这个限制吗?

使用特权

评论回复
36
6019赵文| | 2010-10-30 13:35 | 只看该作者
CAN-bus以其开发维护的低成本、高总线利用率、很远的传输距离(最远可达10Km)、高速的传输速率(最高可达1Mbps)、根据优先级的多主结构、可靠的错误检测和处理机制,全面弥补了传统RS-485网络的低总线利用率、单主从结构、无硬件错误检测的不足,使用户能组建起稳定、高效的现场总线控制系统,从而产生最大的实际价值。

使用特权

评论回复
37
6019赵文| | 2010-10-30 13:42 | 只看该作者
如图所示,当该节点处于网络终端时,电阻RT1是必需的,该电阻阻值为120,称为终端电阻。
  当选择屏蔽电缆线时,屏蔽电缆线的屏蔽层可接FGND引脚,也可以将屏蔽层单点接地,其中RC1及CR1为耐高压的电阻、电容,具有滤波等作用。

使用特权

评论回复
38
6019赵文| | 2010-10-30 13:52 | 只看该作者
can网中一个节点中的CTM8251损坏是否会导致整条总线挂掉?

还有如何排查CTM8251A的错误可能性

使用特权

评论回复
39
6019赵文| | 2010-10-30 13:54 | 只看该作者
CTM8251A手册

CTM8251A手册.pdf

494.88 KB

使用特权

评论回复
40
3B1105|  楼主 | 2010-10-30 14:00 | 只看该作者
转:

我做成功了CAN,把经验提供给需要的人们。
一、硬件设计
我采用的是5伏收发器,所以我还给CAN输入、输出引脚加了电平转换心片。但是我发现简单的上拉电阻和分压模式也是可以的。
其次,CAN输入和输出管脚都要接好。我在这里走了很多弯路,因为我想我只负责发送,就只接了输出管脚。事实上,CAN2。0B要求要握手。所以CAN在发送的时候由于需要判断发送优先级,于是CAN收发器将被CAN模块自动监控,如果CAN收发器坏了,那么在CAN输出引脚根本测量不到输出信号。接着,CAN还要监控发送信号是否成功,所以必须要有一个接受节点,而且节点要能正常接收,如果接收节点不能正常接收,发送方不会成功,CAN模块就认为发送失败,就以高速自动重新发送信息,很容易把接收方的缓冲器塞死。这就是“握手”概念。当然两者的波特率也绝对要一致。
二、软件设计反面。
这里仅以发送为例。TI有很现成的例子,可以参考。值得注意的是,要学会使用影子模式来访问CAN寄存器。还有在改变数据场的时候,为了保险起见,用CDR是最明智的。
下面说一下发送。等数据场填好了,启动发送命令。这个时候别像TI给的例子一样等到发送成功再接着下一步。你可以不管发送成功不成功,在主程序适当的地方监视CANTA的信号,一旦CANTA被置位了你软件清除一下。

按照TI给的程序,我发现对与我自己的设计来说,不完全合用。


我就知道这么多,欢迎大家指点。我的email:mazijin126@126.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则