找回密码
 注册
关于网站域名变更的通知
查看: 55|回复: 0
打印 上一主题 下一主题

can总线优点和特定

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-10-29 16:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
2 a. M5 R  L( w2 l, u
" Y/ {5 H, M+ X+ n
概念和特征' q1 ]: v/ F/ A  i

6 G- r) b+ ?8 i  CAN总线的工作原理
& K! F# U, S- y- p7 x& }- L( A
6 v/ E& {4 ?& \5 m( P. F  CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。 [1] CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
& s( F9 o/ q9 u2 Z; R; p8 r) a4 g" ^  s9 h; q! C
  当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
( e! r4 d$ \9 T9 ~' W, i
, A) k6 R' @2 f+ r& T; X7 A  CAN总线特征
# _  @& J7 k6 P( [0 p5 }/ ]% f, s+ d7 g, J7 \
  (1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。$ ~4 a& T( E# Q3 C, V$ [

' O( s/ W. k1 E  E  (2)信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。! }. v7 @2 y) Y8 T" o; U9 m
2 t' Q+ T& [7 r- ]8 r
  (3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。
0 B( f* \1 e: v. d1 ~1 @' E8 w0 r" Y7 c' I# B: Q: A, ?5 d9 A* R
  (4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。" E6 C; J, h# o

% ?" C) U0 B- N) B" W  (5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
& |  y) d3 O: W6 D! f5 {7 }/ k
  (6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。+ |! y0 w- h1 w% _
/ y9 _/ @+ v, c( Y
  (7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
6 W1 k* ?  J$ A( E
- t' d/ k  E, @, _  (8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
1 d) R& i! f: z% r% {
7 ^- B7 `3 w/ e2 V. T2 V2 l  (9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式。0 z+ ]8 X% d  W* z8 N

& ~( w: C8 T6 M1 r- a" N: x: r- K  (10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。
7 g* ?+ F% i) Z! |3 E9 C% k! i9 Y, q
  (11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。% ^4 c8 U) A+ ~, E) D' ~
5 p* ^& s2 H" S
  (12)CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为1Mbps(设通信距离为40米)。) W: K1 W. t$ H9 d8 X" ~
& I0 i* I" }. X5 G
  (13)CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。
# C9 s" V9 O0 h1 u/ K0 F7 O# `' `2 f& I) @' i
  (14)报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了CAN通信的可靠性。' m+ J3 f9 j: |. }8 C# f

, L( q2 p2 A- I; }& U6 H  CAN总线的特点% }7 {7 W' k& b9 \/ L4 `  l

4 L+ P7 L9 b* r$ i6 u- t0 h8 i  (1)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;4 Z: |. \; I. f  i9 j8 @7 ^
; C, f$ T& Y8 v. Z7 n6 i4 @
  (2)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;5 _# u& x8 ]# Q$ @1 C2 C. R9 Z
; h" ]: c3 N, ?, p
  (3)具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;( j( {6 o0 J7 m+ M& m& q2 u
0 n( q2 n/ a6 n/ c& x9 @0 P
  (4)可根据报文的ID决定接收或屏蔽该报文;
# |+ c. d+ T+ H
) h# I2 ^, }' d5 ^7 ~! B  (5)可靠的错误处理和检错机制;1 R, I( O' T1 c& l& t. H% x8 B8 s

/ V; b& ~2 N. W# [" A  (6)发送的信息遭到破坏后,可自动重发;
- d6 m1 c1 A! u. V9 q& B: M( z6 b$ K; c+ Q6 c& r: u
  (7)节点在错误严重的情况下具有自动退出总线的功能;1 D6 I$ V% R1 \" Z4 ~- |' t3 X
8 X% y# s! W! [7 q$ i" B
  (8)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
. x* M, U% e9 |3 |: l6 F& \7 m" _/ q9 }$ v# c: {* [9 |
  协议内容
- q+ ~) V5 o# p; K( f
$ N7 @* u# Z/ c0 X  CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。" o7 w: [$ i+ I% }7 Z! j
! P6 [/ J# W/ g. j7 d9 t
  总线竞争的原则7 _0 G. E& _9 n  _" {! F

* O: p* F& `/ s; n0 T, s! _  BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。- k# F0 u$ f; ?% |

8 B! A4 U& ^. I3 M  在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理信号层(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Media Dependent:Inter-face,MDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6。PMA和MDI两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISOll898定义的高速CAN发送/接收器标准。% M" b9 `. Z& @7 _- a

/ `& S$ v5 D' c. J2 f1 i  节点数量% y/ B. \* L" I) }

+ S) l5 l$ o( ^7 w& Y1 V  CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统,CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。 CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。 CAN上的节点数主要决定于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。
+ Z0 e* T9 B! {, ?! C, a5 Q
2 @) P' F" L4 I. C; M; R& t; v8 |8 z. @  CAN的数据链路层$ I9 C- t$ k$ F2 h" ~

. @! J: x# P; M, E( t3 C  CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Access control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。; |  _; \& x. Z7 ~. U
2 X0 R- c- Y& a5 ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 21:14 , Processed in 0.125000 second(s), 28 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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