CAN的数据链路层和物理层注意事项
2014-01-03 16:37
666 查看
1、CAN节点在总线上TX的同时还在RX上监听发送数据
节点在发送每个位的同时读取总线上的电平信号,所有从节点上发送的位必须与回读的位一致,否则就是一个位错误
2、有些CAN收发芯片会有数据帧的自动重发功能,实现驱动时需要注意
3、CAN电平--隐性与显性
物理信号
CAN2.0B规范定义了两种互补的逻辑数值:“显性”和“隐性”,同时传送“显性”和“隐性”位时,总线结果值为“显性”。“显性”(“Daminant”)数值表示逻辑“0”,而“隐性”(“Recessive”)表示逻辑“1”。
在CAN规范中并未定义代表逻辑电平的物理状态(例如电压),iCAN网络使用符合ISO11898-2标准的电平信号,典型地,CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L的电平为2.5V(电位差为0V);CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平分别是3.5V和1.5V(电位差为2.5V)
由此可见,无论从实时性、适应性、灵活性,还是可靠性上来看,CAN总线都是一种比RS-232更为优秀的串行总线。当两台串口设备的相距较远,不能直接用RS-232把它们连接起来时,就可以把RS-232转换为CAN,通过CAN总线来实现串口设备的网络互连。
但是,RS-232和CAN在电平和帧格式上都是很大的不同。具体表现如下:
RS-232标准电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”和“CAM_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V;
差分电压定义: Vdiff = CAN_H - CAN_L
那个图中黄线为CAN_H波形,绿线为CAN_L
在波形左,右两端时,CAN_H=CAN_L=2.5v,称为"隐性" (差值为"0v")
在波形中间时,CAN_H=3.5V,CAN_L=1.5V,称为"显性" (差值为"2v")
节点在发送每个位的同时读取总线上的电平信号,所有从节点上发送的位必须与回读的位一致,否则就是一个位错误
2、有些CAN收发芯片会有数据帧的自动重发功能,实现驱动时需要注意
3、CAN电平--隐性与显性
物理信号
CAN2.0B规范定义了两种互补的逻辑数值:“显性”和“隐性”,同时传送“显性”和“隐性”位时,总线结果值为“显性”。“显性”(“Daminant”)数值表示逻辑“0”,而“隐性”(“Recessive”)表示逻辑“1”。
在CAN规范中并未定义代表逻辑电平的物理状态(例如电压),iCAN网络使用符合ISO11898-2标准的电平信号,典型地,CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L的电平为2.5V(电位差为0V);CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平分别是3.5V和1.5V(电位差为2.5V)
由此可见,无论从实时性、适应性、灵活性,还是可靠性上来看,CAN总线都是一种比RS-232更为优秀的串行总线。当两台串口设备的相距较远,不能直接用RS-232把它们连接起来时,就可以把RS-232转换为CAN,通过CAN总线来实现串口设备的网络互连。
但是,RS-232和CAN在电平和帧格式上都是很大的不同。具体表现如下:
RS-232标准电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”和“CAM_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V;
差分电压定义: Vdiff = CAN_H - CAN_L
那个图中黄线为CAN_H波形,绿线为CAN_L
在波形左,右两端时,CAN_H=CAN_L=2.5v,称为"隐性" (差值为"0v")
在波形中间时,CAN_H=3.5V,CAN_L=1.5V,称为"显性" (差值为"2v")
相关文章推荐
- 关于在真实物理机器上用cloudermanger或ambari搭建大数据集群注意事项总结、经验和感悟心得(图文详解)
- C# 使用DateTimePicker与数据库中类型为datetime的数据作比较的一些注意事项
- MySQL_MySQL数据类型:UNSIGNED注意事项
- 将数据从MySQL迁移到Oracle的注意事项
- 关于取List中的指定几条数据以及注意事项
- MVC-Model数据注解(三)-Remote验证的一个注意事项
- 计算机网络数据链路层和物理层
- MVC-Model数据注解(三)-Remote验证的一个注意事项
- 11g物理DG搭建注意事项
- SQL分组处理气象数据及注意事项
- Swift: 把 Struct 作为数据模型的注意事项
- 淘淘商城(请求数据-注意事项)
- 【Android】数据共享 sharedPreferences 相关注意事项
- 数据泵使用的注意事项之远程导入导出
- ECharts图表初级入门(三):ECharts对象的数据实例化方法汇总以及注意事项
- 文本文件数据导入mysql注意事项
- 关于SET/GET PARAMETER ID的注意事项,以及取own data中数据的方法
- text数据类型字段输出显示内容(注意事项)
- 上线数据导入的几个注意事项
- C#引用c++DLL结构体数组注意事项(数据发送与接收时)