总线接口与计算机通信(五)CAN总线

?
?

  1. CAN网络图示

?
?

  1. CAN的特点?

    ?
    ?

CAN协议具有以下特点。

??
?

(1)?多主控制?

在总线空闲时,所有的单元都可开始发送消息(多主控制)。?最先访问总线的单元可获得发送权(CSMA/CA方式*1)。?

多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。

?
?

?(2)?消息的发送?

在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier?以下称为?ID)决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。

?
?

?(3)?系统的柔软性?

与总线相连的单元没有类似于"地址"的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。?

?
?

(4)?通信速度?

根据整个网络的规模,可设定适合的通信速度。?

在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。

?(5)?远程数据请求?

可通过发送"遥控帧"?请求其他单元发送数据。?

?
?

(6)?错误检测功能·错误通知功能·错误恢复功能?所有的单元都可以检测错误(错误检测功能)。?

检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。?

正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。

?
?

?(7)?故障封闭?

CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

?
?

?(8)?连接?

CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

?
?

?
?

?
?

?
?

参考:

?
?

  1. CAN总线协议讲解 <http://wenku.baidu.com/view/7c3907ee172ded630a1cb601.html>
时间: 2024-10-04 02:05:50

总线接口与计算机通信(五)CAN总线的相关文章

总线接口与计算机通信(二)SPI总线

[SPI基础知识简介] SPI总线是Motorola公司推出的三线同步接口,用于 CPU与各种外围器件进行全双工.同步串行通讯. 同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO; SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等. SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式. ? ? 源文档 <htt

总线接口与计算机通信

微机中总线一般有内部总线.系统总线和外部总线. 内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连: 系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连: 外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连. 计算机通信方式可以分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线. 并行通信速度快.实时性好,但由于占用的口线多,不适于小型化产品:串行通信速率虽低,但在数据通信吞吐量不是很大的

总线接口与计算机通信(四)USB外部总线(初级认识)

USB简介 ? USB是英文Universal?Serial?BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术.USB接口支持设备的即插即用和热插拔功能. USB的电气特性 USB连接器包含四条线:2条用于电源供电(VBUS和GND),2条用于USB数据传输(D+和D-).VBUS提供5V电源,电流可达500mA.D+和D-为双向信号线,信号传输速率为12Mbps(每位83ns).D+和D-信号电平为3.3V? USB的特点? 1)

总线接口与计算机通信(四)USB外部总线

USB简介 ? ? USB?是英文Universal?Serial?BUS(通用串行总线)的缩写,是一个外部总线标准,用于规?范电脑与外部设备的连接和通讯,是应用在PC?领域的接口技术.USB?接口支持设备的即插?即用和热插拔功能. ? ? USB?的拓朴结构 1)?USB?的网络协议中每个USB?的系统有且只有一个host?它负责管理整个USB?系统,包括USB?Device?的连接与删除.与USB?Device?的通信.总路线的控制等等? 2)?Host?端有一个Root?Hub,可提供一个

总线接口与计算机通信(三)起止式异步串口

串口简介 1. 什么是串口? 串口是计算机上一种非常通用的设备通信的协议.串口通信的概念非常简单,串口按位(bit) 发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数 据的同时用另一根线接收数据.串口能够轻松实现远距离通信. spi,iic属于同步串口. uart属于异步串口(Universal Asynchronous Receiver and Transmitter通用异步收发器). 2. 异步串口应用线路图示 典型地,异步串口通信使用3??根线完成:??

CAN总线学习系列之二——CAN总线与RS485的比较

CAN总线学习系列之二--CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线做一 下比较,首先呢,就比较一下大家耳熟能详的485总线,其实485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但 是有助于大家理解.       下面开始比较了: CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式

20150225 IMX257 总线设备驱动模型编程之总线篇

20150225 IMX257 总线设备驱动模型编程之总线篇 2015-02-25 19:40 李海沿 从现在开始,我们开始来实现 总线-设备-驱动模型中的总线.. 我们这个程序的目标是在 sysfs文件系统的/sys/bus/ 目录下面建立一个文件夹. 一.总线介绍 1. 总线数据结构bus_type struct bus_type 结构体的定义如下: struct bus_type { const char *name; --总线名 struct bus_attribute *bus_att

altasmi_parallel宏功能有avalon总线接口?

http://d.dxy.cn/preview/8341490 http://d.dxy.cn/preview/8341491 http://d.dxy.cn/preview/8341492 http://d.dxy.cn/preview/8341493 http://d.dxy.cn/preview/8341494 http://d.dxy.cn/preview/8341496 http://d.dxy.cn/preview/8341497 http://d.dxy.cn/preview/83

ARM裸板开发:07_IIC 通过IIC总线接口读写时钟芯片时间参数实现的总结

问题一:程序直接在iRAM内部可正常执行,而程序搬移(Nand ->SDRAM)之后,就不能正常运行了 #define NAND_SECTOR_SIZE 2048 /* 读函数 */ void nand_read(unsigned char *buf, unsigned long start_addr, int size) { int i, j; //if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) if