-
工
作
原
理
当
CAN
总
线上
的一
个节
点(
站)
发送
数
据时
,它
以报
文的<
/p>
形
式
广播
给网<
/p>
络中
所有
节
点,
对
每个
节点
来说
,无论
数据
是否
是发
给自
己
的,
都对
其接
收。
每组
报文
开头
的
11
位字
符为
标识
符,<
/p>
定
义了
报文
的优
先级
,
这
种<
/p>
报
文
格
式
成
为
面
向
内
容
的
编
制
方
案
。
同
一
系
统
中
标
识
符
是<
/p>
唯
一
的
,
不可
能有
两个
站发<
/p>
送
具有
相同
标识
符的
报
文,当
几个
站同
时竞
争总
线
读取
时,
这种
< br>配置
十
分重
要。
大体
的工
作原
理我
们
搞清
了,但
是根
本的
协议
我们
p>
还要
花一
番
功
p>
夫。下面
介绍
一个
重
要的
名词
,“
显性
”和“
隐性
”:首
先
CAN
数
据
总
线
有
两
条
导
线
,
一
条
是
黄
色
的
,
一<
/p>
条
是
绿
色
的
------
分
别
是
CAN_High
线
和
CAN_Low
线,
当静
止状
态
时,
这两
条导
线上
的
电平
一
样,
这个
电平
称为
静
电平
,大
约为
2.5
伏。
这个
静
电
平状
态就
是
隐形
状态,
也称
隐性
< br>电平,
也就
是没
有任
何干
扰的
时候
的状
态称
为
隐性
状态。当
有
信号
修改
时,
CAN_High
线上
的电
压值<
/p>
变高
了,一
般来
说会
升高
至少
1V
;而
CAN_Low
线
上的
p>
电压
值会
降
低一<
/p>
个同
样值
,也
是
1v
。
那么
这时
候,
CAN_High
就
是
2.5
v+1v=3.5v
,
它就
处于
激活
状态
了。
而
p>
CAN_Low
降
为
2.5v-1v=1.5v
。
可以
看看
这个
图
由此
我们
得到
在隐
性状
态下
,
CAN_High
线
与
CAN_Low
没有
电压
差
,
这
样我
们看
到
没
有
任
何
变
化
也
就
检
测
不
到
信<
/p>
号
。
但
是
在
显
性
状
态
时
,
改
值
最
低
为
2V
,
我们
就可
< br>以
利用
这种
变化
才传
输数
据
了。
所以
出现
了
那些
帧,
那些
帧中
的场
,那
些场
中
的位
p>
,云
云。
在总<
/p>
线上
通常
逻辑
1
表示
隐性
。
而
0
表示
显性
。这
些
1
啊,
0
啊,
就可
以利
用
起来
为我
们传
数据
了
。
利
用这
种电
压差
,
我们
可以
< br>接收
信号
。
< br>一般
来说,控制
单元
通过
收发
器连
接到
CAN
驱动
总线
上,这
个收
发器(
顾名
思义,可<
/p>
发送,可接
收)内
有
一个
接收
器,该
接收
器是
安装
在
接
收
一
侧
的
< br>差
动
信
号
放
大
器
。
然
后
,
这
个
p>
放
大
器
很
自
然
地
就
放
大
了
CAN_High
和
CAN_Low
线
的电
平差
,然
后
传到
接收
区。
如下
图
由上
图可
知,当有
电
压差
p>
,差
动信
号放
大<
/p>
器放
大传
输,将相
应
的
数据
位转
化为
0
。
下
面
我
们
进<
/p>
入
重
点
难
点
-----
报
文<
/p>
所谓
报文
,就
是
CAN
总线上
要
传输
的数
据报
< br>,为
了安
全,
我
们要
给我
们传
输的
数据
报
编码
定一
下协
议,
这
样才
能不
容易
出错,
所以
出现
了很
多的
帧,
以及
仲
裁啊
,
CRC
效
验。
< br>这
些都
是难
点。
识
别
符
的
概
念
识
别
符
顾
名<
/p>
思
义
,
就
是
为
了
区
分
不
同
报
文
的
可
以
鉴
别
的
好
多
字
符
位。有标
准的
,和扩
展的
。标
准的
是
11
位,扩展
的
是
29
位
。他
有一
个功
能就<
/p>
是可
以提
供
优先
级,
也
就是
决
定
哪个
报文
优先
被传
输
,
报文
标
识符
的值
越小
,报
文
具有
越高
< br>的优
先权
。
CAN
的
报
文格
式
有
两
种
,
不
同
之
处<
/p>
其实
就
是识
别<
/p>
符
长
度
不同
p>
,具
有
11
位识
别符
的帧
称为
标准
帧,
而还
有
29
位识
别符
的帧
为扩
展帧,
CAN
报文
有以
下
4
个不
同的
帧类
型。
分
别是
:
(
1
)
p>
数
据帧
:数
据
p>
帧将
数据
从发
送器
传
输到
接收
器
;
(
2
)
p>
远
程帧
:总线
节点
发出
远程
帧,请
求发
送具
有同
一标
< br>识
符的
数
据帧
< br>;
(
3
)
p>
错
误帧
:任
何
p>
节点
检测
到总
线错
误
就发
出错
误
帧
;
(
4
)
p>
过
载帧
:过
载
p>
帧用
已在
先行
的后
续
的数
据帧(
或远
程帧
)之间
提供
< br>一附
加的
延时
。
我
们
先
研
究
数
据
帧
吧
。
<
/p>
一
,
数
据
帧
由
7
个不
同
位
场
组
成
(帧起
始、
仲裁
场、
控制
场
、数
据
场、
CRC<
/p>
场
、应
答场
、帧
结尾
)。
这
里
的位
场,就是
不
同位
的组
合,这名
字
起的
很烂
,让
人看
了
感
觉
很
抽
象
。
我
< br>们
来
看
看
这
些
个
不
同
的
位
场
吧
p>
。
一
开
始
是
一
位
帧
起
始
,
也叫
SOF
。它
用显
性
位表
示,也就
是
0
;它告
诉我
们,两个
线
上有
电压
差了
,也
就是
有
数
据
了。
这个
帧起
始看
起来
只
有一
位,其
实不
简单
了。为
了让
所有
的分
站
都同
步于
发送
p>
报文
的
发送
站,<
/p>
好接
收数
据
,有
很多
要考
虑的
地
方。
报
文
的数
据帧
结构
然后
下一
个场
是仲
裁
场。
这
个仲
裁很
抽象
,
< br>其实
在这
里就
是为
了解
决一
个问
题。如
果
2
个
或
2
个以
上的
单
元同
时
开
始传
送报
文
,那么
就
会
有
总
线
访
问
冲<
/p>
突
,
那
么
仲
裁
机
制
就
是
用
来
根
据
标
识
符
优
先
级
来
一
个
一
个<
/p>
的
去
掉
低
级
别
的
数
据
。
我
们
可
以
详
细
的
描
述
这
场
生
动
的
争<
/p>
抢
总
线
的战
p>
斗。
当
总
线
处
于
空
闲
状
态
时
呈
隐
性
电
平
,
此
时
任
何
节
点
都<
/p>
可
以
向
总
线
发送
显性
电平
p>
作为
帧
的开
始。<
/p>
2
个或
2
个
以
上的
节点
同时
发
送开
始争
抢总
线,
但是
总
线只
< br>能被
一个
人抢
走
。
这
时候
到底
怎么
决定
谁
留下
,
谁
滚蛋
呢。我
们开
始思
索,我
们以
p>
前定
义了
标识
符,
标
识符
有优
先级,它
< br>越小
,它
优先
级越
高
。那
么怎
么实
现的
呢
。看
下面
图:
首先
搞明
白两
点,
一、
下图
中,
低
波
形代
表<
/p>
0
(
显性
),<
/p>
高波
形代
表
1<
/p>
(
隐性
);
<
/p>
二、
当隐
性碰
到
显
性
,就
变为
显性
。
如
图
所示
,节
点
A
和节
点
B
的标
识符
的第
10
、
9
、
8
位电
平相
同,因
此两
个节
点侦
听到
< br>的信
息和
它们
发
出的
信息
相同。第
7
位节
点
B
发出
一个“
1
”,但
从节<
/p>
点上
接收
到的
消
息却
是“
0
”
。
为什
么呢
,因
为
A
节点
同时
发出
显性
位,
< br>让总
线也
变
成显
性了
,也
就是
0
。节
点
B
会退
出发
送处
于单
纯
监听
方式
而不
发送
p>
数
据;
节点
A <
/p>
成功
发
送仲
裁位
从而
获得
总线
的控
制
权,
继而
发送
全部
消
息。
总
线
中
的
信
号
持<
/p>
续
跟
踪
最
后
获
得
总
线
控
制
权
发
出
的
报
文
,
本
例
中
节点
A
的报
文将
被
跟踪
。这
种非
破坏
性
位仲
裁方
法的
优点
在
< br>于,
在网
络最
终确
定哪
个节
点
被传
送前,报文
的起
始部
分已
经在
网络
中
传
输
了,
因此
具有
高优
先级
的
节点
的数
据传
输没
有
< br>任何
延时
。
< br>在
获
得
总
线
控
制
权
的
节
点
发
送
p>
数
据
过
程
中
,
其
他
节
点
成
为
< br>报
文
的
接
收
节
点
,
并
且
不
会
在
p>
总
线
再
次
空
闲
之
前
发
送
报
文
< br>,
在
这
逐
位
的
比
较
中
,
最
终
节点
B
因
为第
七位
的
偏
差丢
掉
了总
线。
从此
单纯
监
听,
江山
就拱
手让
< br>给了
节点
A
了
。这
就是
仲裁
机
制。
上面
我们
说过,报文
有两
种格
式,
标
准和
扩展。这里
,不
同的
格式
仲裁
场是
不一
样的
。
标准
格式
下,
仲裁
场
由
11
位识
别符<
/p>
和
RTR
位
组
成。
<
/p>
但在
扩展
格式
里
,包
括
29
位
识别
符、
SRR
位、
IDE
位、
RTR
位
。
RTR
位
,
Remote
Tranmission Request BIT
全称
为远
程发
送
请求
位
。
它在
数据
帧里
必须
为
显性
0
,
但在
远程
帧里
< br>为隐
性
1
。
SRR
位,替代
远程
请
求位,
SRR
是<
/p>
一隐
性
位,也
就
是
1
,它
在
扩
展
格式
的标
准
帧
RTR
位位
置,
< br>那么
标准
帧
怪不
得优
先于
扩展
帧
了,
因为
在传
输完
11
位标
识
符之
p>
后
(扩
展帧
的后<
/p>
18
位在
最后
发送
,
先发
送
11
位标
识符
),
< br>轮到
标
准帧
的
< br>RTR
位
和扩
展帧
的
SRR
位
了。
这时
候,标
准帧
的
RTR
为显
性,而
扩展
帧
SRR
为
隐性
,这
样,总
线自
然就<
/p>
被标
准帧
占
据。
同
时上
面<
/p>
那
个
问
题,
p>
也
一目
了
然
了
,
CAN
总
p>
线
协
议设
计
者
,
肯定
是设
计了
数据
帧优
先
p>
于远
程帧。所以
IDE(Identifi
er Extension Bit)
,
全称
< br>识别
符扩
展位
,
它属
于扩
展格
式的
仲
裁场
。
对于
扩展
格式
,
IDE
位属
于仲
裁场
p>
;对
于
标准
格式<
/p>
,
IDE
位
属<
/p>
于控
制场
。
标准
格式
的
IDE
位为
“
显性
”
,
而扩
展格
式的
IDE
位为
“
隐性
< br>”
。
标准
格式
中的
数据
< br>帧
拓展
格式
中的
数据
帧
< br>
控制
场
控制
场由
6
个位
< br>组
成,
标准
格式
和扩
展
格式
的控
制场
格式
不
同。
标准
格式
里的
帧包
括数
据
长度
代码、<
/p>
IDE
位(
为显
性位)及保
留
位
r0
< br>。扩
展
格式
里的
帧包
括数
据
长度
代码
和两
个保
留
位:
r1
和
r0
。其
保
留位
必须
发送
为显
性,但是
接
收器
认可“显
性
”和“隐
性”位的
任
何组
合。其结
构如
图所
示:<
/p>
控
制
场
结
构
数据
长度
代码
(标
准
格式
以及
扩展
p>
格式
)
DLC
,<
/p>
如下
表所
示
数
据
帧
p>
长
度
代
码
DLC
数
据
长
度
代
码
指
示
了
数
据
场
里
的
字
节
数
量
。
其
中
:
d
—<
/p>
“
显
性
”
,
r
—“隐
性
”,数
据
帧允
p>
许的
数据
字节
数<
/p>
为
{0
,
1
p>
,
...
,
7
p>
,
8}
。其他
的<
/p>
数值
不允
许使
用
。
数
据
场
p>
数据
场由
数据
帧里
的
发送
数据
组
成
。它
可
以为
0~8
个
字节
,
每字
节包
含了
8
个
位,
首
先发
送最
高有
效位
(
< br>MSB
)
。
< br>循环
冗余
码
CRC
场
是数
据通
信领
域中
最
常用
的一
种差
错校
验
码,
其特
征是
信息
字段<
/p>
和
校验
字段
的长
度可
以
任意
选
定
。
CRC
场
包
括
CRC
序列
(
CRC
Sequence
p>
),
其后
是
CRC
界
定符
(
CR
C
Delimiter
),
结构
p>
如图
:
-
-
-
-
-
-
-
-
-
上一篇:人教版七年级生物上册期末复习提纲完整版汇总
下一篇:ibr污水处理工艺