CAN的工作原理
- 格式:doc
- 大小:43.00 KB
- 文档页数:4
CAN的工作原理CAN(Controller Area Network)是一种用于汽车电子系统中的通信协议,它的工作原理是基于串行通信的方式,通过CAN总线连接各个节点,实现数据的传输和控制。
CAN的工作原理可以分为物理层和数据链路层两个部份。
物理层是CAN总线的物理连接标准,它规定了CAN总线的传输速率、电气特性和连接方式。
CAN总线采用双绞线作为传输介质,其中一根线为CAN_H,另一根线为CAN_L。
CAN_H和CAN_L之间通过电阻进行差分信号的传输,从而提高了抗干扰能力。
CAN总线的传输速率普通有几种选择,如500kbps、250kbps、125kbps等。
数据链路层是CAN通信的核心部份,它负责数据的传输和控制。
数据链路层采用了一种基于帧的通信方式。
CAN通信中的数据被封装成帧,每一帧包括了一个起始位、一个帧ID、数据域、CRC校验码和一个结束位。
帧ID用于标识不同的消息,数据域用于存储实际的数据内容,CRC校验码用于检测数据的完整性。
CAN总线上的节点可以同时发送和接收数据,通过帧的优先级和仲裁机制来解决冲突,保证数据的可靠传输。
CAN的工作原理可以简单描述为以下几个步骤:1. 发送节点准备发送数据。
发送节点首先检查总线是否空暇,如果总线空暇,则发送节点可以开始发送数据。
2. 发送节点发送数据帧。
发送节点将数据封装成帧,并发送到总线上。
发送节点在发送数据帧之前,会先发送一个错误检测标志位,用于检测总线上是否有其他节点正在发送数据。
3. 接收节点接收数据帧。
接收节点监听总线上的数据,并接收数据帧。
接收节点会根据帧ID来判断是否需要处理该帧,如果需要处理,则接收节点会提取数据域中的数据,并进行相应的处理。
4. 仲裁机制。
当多个节点同时发送数据时,可能会发生冲突。
CAN总线采用了仲裁机制来解决冲突。
仲裁机制是基于帧ID的优先级来确定哪个节点可以发送数据。
帧ID越小的节点具有更高的优先级,优先发送数据。
CAN的工作原理CAN(Controller Area Network)是一种常用于汽车和工业控制系统中的通信协议,它的工作原理是基于串行通信和分布式控制的思想。
CAN协议由德国Bosch公司于1986年开发,现已成为国际标准ISO 11898。
CAN的工作原理主要包括物理层、数据链路层和应用层三个部分。
1. 物理层CAN的物理层采用差分信号传输方式,即CAN_H和CAN_L两个信号线分别传输相反的电压信号。
这种差分信号传输方式能够有效抵抗电磁干扰,提高通信的可靠性。
物理层还包括传输速率、线缆特性阻抗等参数的定义,以确保数据的正确传输。
2. 数据链路层数据链路层负责数据的传输和错误检测。
CAN采用了一种基于帧的通信方式,每个CAN帧由一个起始位、一个帧ID、数据域、CRC(循环冗余校验)和结束位组成。
帧ID用于标识不同的消息,数据域用于传输实际的数据信息,CRC用于检测数据传输过程中的错误。
在CAN总线上,所有节点都可以同时发送和接收数据,这种分布式控制的方式使得系统具有较高的实时性和可靠性。
数据链路层还包括错误检测和错误恢复机制,例如通过ACK位确认数据是否被正确接收,以及通过重传机制确保数据的可靠传输。
3. 应用层应用层是CAN协议的最上层,它定义了数据的格式和含义。
在汽车领域,CAN协议被广泛应用于车辆的诊断、传感器数据的采集和控制指令的发送等方面。
不同的应用领域可以定义自己的CAN消息格式和含义,以满足特定的需求。
总结一下,CAN的工作原理是通过物理层的差分信号传输、数据链路层的帧结构和错误检测、以及应用层的数据格式定义,实现了节点之间的高效通信和分布式控制。
CAN协议的优点包括高实时性、可靠性和可扩展性,使其成为了汽车和工业控制系统中的重要通信协议。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车、工业控制和通信领域的串行通信协议。
它的工作原理是基于一种分布式通信机制,可以同时连接多个节点,实现高效的数据传输和控制。
CAN的工作原理可以简单概括为以下几个方面:1. 物理层:CAN总线采用双绞线作为传输介质,通常使用差分信号传输方式。
这种方式可以有效地抵抗电磁干扰,提高通信的可靠性。
CAN总线上的每个节点都通过一个传输线连接到总线上。
2. 数据链路层:CAN总线采用一种基于帧的通信协议,数据传输以帧为单位进行。
每个CAN帧由四个部分组成:起始位、帧类型位、数据位和CRC校验位。
起始位用于同步节点的时钟,帧类型位用于标识数据帧或远程帧,数据位用于传输实际的数据,CRC校验位用于检测数据传输的错误。
3. 帧传输:CAN总线上的节点可以同时发送和接收数据。
当一个节点要发送数据时,它首先检查总线上是否有其他节点正在发送数据,如果没有,则它可以开始发送数据。
发送节点会将数据和标识符封装成一个CAN帧,并通过总线发送出去。
其他节点在接收到这个CAN帧后,会检查标识符,如果匹配,则接收数据。
4. 碰撞检测:由于CAN总线是一种共享总线结构,多个节点可能同时发送数据,导致碰撞。
为了解决碰撞问题,CAN总线采用了非破坏性的碰撞检测机制。
当一个节点发送数据时,它会同时监听总线上的数据,如果检测到其他节点同时发送数据,那么发送节点会停止发送,并等待一个随机的时间后重新发送。
5. 优先级:CAN总线上的每个节点都有一个唯一的标识符,用于标识节点的优先级。
当多个节点同时发送数据时,具有更低标识符的节点具有更高的优先级,可以优先发送数据。
这种优先级机制可以确保重要数据的及时传输。
总的来说,CAN的工作原理基于分布式通信机制,通过物理层和数据链路层的协议实现数据的高效传输和控制。
它具有高可靠性、抗干扰能力强、支持多节点等特点,因此在汽车、工业控制和通信领域得到广泛应用。
CAN的工作原理CAN(Controller Area Network)是一种串行通信协议,广泛应用于汽车、工业控制和其他领域。
CAN的工作原理是通过差分信号传输数据,实现高速、可靠的通信。
本文将从CAN的基本原理、数据传输、错误处理、帧格式和应用领域等方面进行详细介绍。
一、CAN的基本原理1.1 CAN总线结构:CAN总线由两根信号线组成,分别是CAN_H和CAN_L,通过这两根信号线进行数据传输。
1.2 差分信号传输:CAN使用差分信号传输数据,即在CAN_H和CAN_L之间传输相反的信号,以减少干扰和提高抗干扰能力。
1.3 环状拓扑结构:CAN总线采用环状拓扑结构,所有节点通过总线连接在一起,实现节点之间的通信。
二、数据传输2.1 帧格式:CAN数据传输采用帧格式,包括起始位、帧类型、数据段、CRC 校验和结束位等字段。
2.2 传输速率:CAN总线的传输速率通常为1Mbps,根据实际需求可调整传输速率。
2.3 数据传输方式:CAN支持两种数据传输方式,分别是标准帧和扩展帧,用于传输不同长度的数据。
三、错误处理3.1 错误检测:CAN总线具有强大的错误检测和纠正能力,能够检测出传输过程中的错误,并进行相应处理。
3.2 错误标识:CAN在传输过程中会生成错误标识,用于标识出错的节点和错误类型,以便及时处理。
3.3 错误处理机制:CAN采用重发机制和错误帧处理机制,确保数据传输的可靠性和稳定性。
四、帧格式4.1 标准帧:标准帧包括11位标识符,用于传输短数据,适合于实时性要求不高的应用场景。
4.2 扩展帧:扩展帧包括29位标识符,用于传输长数据,适合于实时性要求高的应用场景。
4.3 过滤机制:CAN支持过滤机制,可以根据标识符过滤接收的数据,提高数据传输的效率和准确性。
五、应用领域5.1 汽车行业:CAN在汽车行业广泛应用,用于车载电子系统之间的通信,如发动机控制、仪表盘显示、车载娱乐系统等。
5.2 工业控制:CAN在工业控制领域被广泛应用,用于PLC、传感器、执行器等设备之间的通信,实现自动化生产。
can工作原理
CAN(Controller Area Network)是一种串行通信总线技术,
用于在汽车等领域的电子控制单元(ECU)之间进行通信。
CAN的工作原理如下:
1. 帧结构:CAN通信使用帧(Frame)结构进行数据传输。
每帧包含了标识符(Identifier)、控制位(Control Bits)、数据
域(Data Field)和帧校验序列(CRC)等部分。
2. 总线拓扑结构:CAN通信中存在一个主控节点和多个从节点。
主控节点负责控制总线上的数据传输,在传输过程中,拥有较高的优先级。
从节点则被动地接收和发送数据。
3. 数据传输:CAN通信采用的是非归零编码和差分传输机制。
在数据传输时,通过将数据和时钟信号进行异或运算,减小了传输的干扰和误差。
4. 简化通信:CAN具有较高的抗干扰能力,能在恶劣环境下
稳定工作。
它采用了帧优先级和冲突检测机制,可以方便地实现多个节点的同时通信。
5. 错误检测与容错:CAN使用CRC机制对传输的数据进行检错,确保数据的准确性。
同时,CAN还具备故障检测、错误
帧重传等功能,保证了通信的可靠性。
6. 通信速率:CAN通信可以根据需要进行不同的波特率设置,典型速率包括125kbps、250kbps、500kbps和1Mbps。
这使得
CAN系统可以适应不同的应用需求。
总的来说,CAN的工作原理基于帧结构、总线拓扑结构和数据传输机制。
它提供了高效、可靠且灵活的通信方式,因此被广泛应用于汽车等领域的电子控制系统中。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子系统和工业控制领域的串行通信协议。
它的工作原理是基于一种主从式的通信架构,其中一个节点充当主节点(Master),其他节点则充当从节点(Slave)。
CAN的工作原理如下:1. 物理层:CAN总线采用差分信号传输,使用两根导线CAN_H和CAN_L来传输数据。
CAN_H线上的电压高于CAN_L线时表示逻辑1,反之表示逻辑0。
这种差分信号传输方式具有较好的抗干扰性能。
2. 数据帧:CAN通信基于数据帧的传输。
每个数据帧由一个起始位、11位标识符(ID)、6位控制位、8位数据位和6位校验位组成。
标识符用于标识数据帧的优先级和内容,控制位用于控制传输过程,数据位用于携带实际数据,校验位用于检测传输错误。
3. 碰撞检测:CAN总线采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的碰撞检测机制。
当多个节点同时发送数据时,可能会发生碰撞,此时节点会检测到碰撞并停止发送数据,然后等待一段随机时间后重新发送。
4. 帧优先级:CAN通信使用基于标识符的帧优先级机制。
标识符的前面几位用于表示帧的优先级,优先级高的帧具有更高的传输优先级。
5. 数据传输速率:CAN总线支持不同的数据传输速率,常见的有1Mbps、500kbps、250kbps等。
传输速率的选择取决于系统的需求和总线长度。
6. 容错性:CAN总线具有较好的容错性能。
当节点发送错误帧时,其他节点会检测到错误并发送错误帧的错误标志位,以便进行错误处理。
7. 网络拓扑:CAN总线可以采用总线型、星型、树型等多种网络拓扑结构。
总线型结构是最常见的,所有节点通过一根总线连接。
总结一下,CAN的工作原理是基于差分信号传输的主从式通信架构。
它使用数据帧进行通信,采用碰撞检测机制和帧优先级机制来实现数据传输和冲突解决。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子系统中的通信协议。
它的工作原理是基于串行通信的方式,通过在汽车各个电子模块之间传递数据和控制信息,实现各个模块之间的相互协调和通信。
CAN的工作原理可以简单分为物理层和数据链路层两个部分。
1. 物理层:CAN协议使用差分信号传输数据,这种差分信号可以有效抵抗噪声干扰。
CAN总线上的每个节点都有一个CAN收发器,用于将数字信号转换成差分信号并发送到总线上。
CAN总线上的每个节点都通过终端电阻连接,形成一个总线拓扑结构。
2. 数据链路层:CAN协议采用了一种基于CSMA/CD(载波监听多点接入/冲突检测)的访问机制。
当一个节点准备发送数据时,首先检测总线上的信号是否被其他节点占用,如果没有被占用,则发送数据。
如果多个节点同时发送数据,就会发生冲突,此时节点会停止发送,并根据一定的算法进行重传。
CAN协议中的数据帧包括以下几个部分:- 起始位(Start of Frame,SOF):表示数据帧的开始。
- 标识符(Identifier):用于标识数据帧的类型和发送节点的地址。
- 控制位(Control):包括数据长度和远程传输请求等信息。
- 数据域(Data):包含实际的数据信息。
- CRC(Cyclic Redundancy Check):用于校验数据的完整性。
- 确认位(Acknowledgement):用于确认数据的正确接收。
- 结束位(End of Frame,EOF):表示数据帧的结束。
CAN协议支持两种工作模式:标准帧和扩展帧。
标准帧使用11位的标识符,可以传输8字节的数据;而扩展帧使用29位的标识符,可以传输更大长度的数据。
CAN协议具有以下特点:- 高可靠性:CAN总线具有抗干扰能力强、误码率低的特点,能够在恶劣的环境下正常工作。
- 高实时性:CAN总线的通信速率较高,可以满足实时性要求。
- 灵活性:CAN总线可以连接多个节点,节点之间可以进行灵活的数据交换和控制。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子控制系统的通信协议,它的工作原理是通过一种高效的串行通信方式来实现多个电子控制单元(ECU)之间的数据传输。
本文将从引言概述、正文内容和结尾总结三个部份来详细阐述CAN的工作原理。
引言概述:CAN是一种被广泛应用于汽车电子控制系统的通信协议,它的浮现极大地促进了汽车电子化的发展。
CAN的工作原理基于一种高效的串行通信方式,通过在总线上传输数据帧来实现多个ECU之间的数据交换。
下面将详细介绍CAN的工作原理。
正文内容:一、物理层1.1 传输介质:CAN协议可以使用两种传输介质,即双绞线和光纤。
双绞线是最常见的传输介质,它具有成本低、抗干扰能力强等优点,适合于大多数汽车电子控制系统。
而光纤传输介质具有传输速度快、抗干扰能力更强等优点,适合于高速数据传输场景。
1.2 总线结构:CAN总线采用了一种主从结构,其中一个ECU扮演主节点的角色,负责控制总线上的数据传输,其他ECU作为从节点,接收和发送数据。
1.3 电气特性:CAN总线的电气特性是保证数据传输可靠性的重要因素之一。
CAN总线采用差分信号传输,即CAN_H和CAN_L两个信号线,通过CAN收发器将数据转换为差分信号进行传输,从而提高了抗干扰能力。
二、数据链路层2.1 帧结构:CAN数据帧由四个部份组成,分别是起始位、帧类型位、数据位和校验位。
起始位用于同步传输,帧类型位标识数据帧还是远程帧,数据位用于传输实际数据,校验位用于检测数据传输过程中的错误。
2.2 帧ID:CAN数据帧的帧ID用于标识数据的发送和接收对象。
帧ID由11位或者29位组成,其中11位的帧ID用于标识标准帧,29位的帧ID用于标识扩展帧。
2.3 确认机制:CAN协议采用了一种基于优先级的确认机制,即具有高优先级的数据帧可以中断低优先级的数据帧的传输,从而提高了数据传输的实时性。
三、网络层3.1 数据传输:CAN协议通过循环发送数据帧的方式来实现数据传输。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业领域的串行通信协议。
它的工作原理是通过差分信号传输来实现高可靠性和抗干扰能力。
CAN协议采用了分布式的总线结构,其中包含多个节点,每个节点都可以发送和接收数据。
节点之间通过双线(CAN_H和CAN_L)进行通信。
CAN_H和CAN_L之间的电压差异表示数据的逻辑状态,高电平表示逻辑“0”,低电平表示逻辑“1”。
CAN的工作原理可以分为两个基本模式:数据帧传输和远程帧传输。
在数据帧传输模式下,发送节点首先准备好数据帧,包括数据、标识符和控制位等信息。
然后,发送节点将数据帧通过CAN总线发送出去。
接收节点在接收到数据帧后,会进行数据的解析和处理。
在远程帧传输模式下,发送节点发送一个远程帧请求给接收节点。
接收节点收到请求后,会返回一个数据帧,包含了请求的数据。
CAN的工作原理还包括以下几个关键概念:1. 位定时:CAN总线上的每个节点都需要同步自己的位定时,以确保数据的准确传输。
位定时由一个定时器和一个采样点组成,定时器用于确定位的开始和结束时间,采样点用于确定数据的采样时间。
2. 状态迁移:CAN总线上的节点可以处于不同的状态,包括空闲状态、发送状态、接收状态和错误状态。
节点之间的状态迁移是通过发送和接收数据帧来触发的。
3. 确认机制:发送节点在发送数据帧后,会等待接收节点的确认信息。
如果接收节点正确接收到数据帧,会发送一个确认信息给发送节点。
如果发送节点没有收到确认信息,会认为数据帧发送失败,并进行重发。
4. 冲突检测:CAN总线上的节点可以同时发送数据帧。
如果发生冲突,节点会检测到总线上的电压差异,并停止发送数据。
然后,节点会根据优先级规则重新发送数据帧。
5. 错误检测和纠正:CAN总线上的节点可以检测到错误,并进行相应的纠正。
常见的错误包括位错误、帧错误和仲裁错误。
位错误是指在位定时过程中出现的错误,帧错误是指在数据帧传输过程中出现的错误,仲裁错误是指在冲突检测过程中出现的错误。
CAN的工作原理CAN(Controller Area Network)是一种用于在控制器之间进行高速通信的网络技术。
它最初在20世纪80年代由德国Bosch开发,主要用于汽车电子系统中,但现在已广泛应用于其他领域,如工业自动化、航空航天和医疗设备等。
1.物理层:CAN总线使用的是一种双绞线(双线)的物理结构,其中两根线称为CAN_H和CAN_L。
CAN_H和CAN_L之间的差分电压定义了一个CAN信号,这种差分信号可以有效地抵消电磁干扰。
CAN总线上的通信速率通常为1Mbps或更高,这使得它能够传输大量的数据。
在CAN总线上,不同的节点(控制器)通过电气终端(transceiver)连接到总线上。
电气终端有助于电平转换和发送/接收CAN信号。
2.数据链路层:CAN总线使用一种事件驱动的通信机制,其中节点只在需要发送数据时才会将数据放入一个消息队列中。
消息的优先级是通过标识符(Identifier)来决定的,具有较低标识符的消息优先级更高。
当一个节点要发送消息时,它首先检查总线上是否有其他节点在同一时间段发送消息,如果没有,它会开始发送消息。
然后,所有节点都会监听总线上的消息,并检查消息的标识符是否与它们感兴趣的标识符匹配。
如果匹配成功,节点会接收消息并响应相应的操作。
消息的传输使用一种先进先出(FIFO)的方式,每个消息帧由一个开始位、一个标识符、数据、CRC(循环冗余校验)和结束位组成。
CRC用于检测数据传输过程中是否发生错误。
如果多个节点同时发送消息,就会发生总线冲突。
为了解决这个问题,CAN总线使用了一种叫作非破坏性位定时算法(Non-DestructiveBitwise Arbitration)的方法。
这种方法基于CAN总线上不同节点的电平观测,通过观察在总线上的电平是否与发送节点期望的电平相匹配来决定哪个节点将继续发送消息,而哪个节点将放弃。
3.应用层:CAN总线上的通信可以通过一些标准协议(如CANopen和DeviceNet)进行。
CAN的工作原理CAN的工作原理当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
对每个节点来说,无论数据是否是发给自己的,都对其进行接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。
在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。
当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。
CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。
每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。
我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。
当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。
它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
什么是CAN ?CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。
最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。
比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。
实际应用中,节点数目受网络硬件的电气特性所限制。
例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。
CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。
另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN 是怎样发展起来的?CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。
提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。
1993年,CAN 已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。
当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。
CAN 是怎样工作的?CAN通讯协议主要描述设备之间的信息传递方式。
CAN层的定义与开放系统互连模型(OSI)一致。
每一层与另一设备上相同的那一层通讯。
实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。
CAN的规范定义了模型的最下面两层:数据链路层和物理层。
下表中展示了OSI开放式互连模型的各层。
应用层协议可以由CAN用户定义成适合特别工业领域的任何方案。
已在工业控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC和智能传感器设计的。
在汽车工业,许多制造商都应用他们自己的标准。
表1 OSI开放系统互连模型CAN能够使用多种物理介质,例如双绞线、光纤等。
最常用的就是双绞线。
信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。
用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H = 3.5V 和CAN_L = 1.5V 。
CAN 有哪些特性?CAN具有十分优越的特点,使人们乐于选择。
这些特性包括:低成本极高的总线利用率很远的数据传输距离(长达10Km)高速的数据传输速率(高达1Mbit/s)可根据报文的ID决定接收或屏蔽该报文可靠的错误处理和检错机制发送的信息遭到破坏后,可自动重发节点在错误严重的情况下具有自动退出总线的功能报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息什么是CSMA/CD ?CSMA/CD是“载波侦听多路访问/冲突检测”(Carrier Sense Multiple Access with Collision Detect)的缩写。
利用CSMA访问总线,可对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。
利用这种方法,可以允许多个节点挂接到同一网络上。
当检测到一个冲突位时,所有节点重新回到…监听‟总线状态,直到该冲突时间过后,才开始发送。
在总线超载的情况下,这种技术可能会造成发送信号经过许多延迟。
为了避免发送时延,可利用CSMA/CD方式访问总线。
当总线上有两个节点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的的报文优先发送。
在CAN总线上发送的每一条报文都具有唯一的一个11位或29位数字的ID。
CAN总线状态取决于二进制数…0‟而不是…1‟,所以ID号越小,则该报文拥有越高的优先权。
因此一个为全…0‟标志符的报文具有总线上的最高级优先权。
可用另外的方法来解释:在消息冲突的位置,第一个节点发送0而另外的节点发送1,那么发送0的节点将取得总线的控制权,并且能够成功的发送出它的信息。
CAN的高层协议CAN的高层协议(也可理解为应用层协议)是一种在现有的底层协议(物理层和数据链路层)之上实现的协议。
高层协议是在CAN规范的基础上发展起来的应用层。
许多系统(像汽车工业)中,可以特别制定一个合适的应用层,但对于许多的行业来说,这种方法是不经济的。
一些组织已经研究并开放了应用层标准,以使系统的综合应用变得十分容易。
一些可使用的CAN高层协议有:制定组织主要高层协议CiA CAL协议CiA CANOpen协议ODVA DeviceNet 协议Honeywell SDS 协议Kvaser CANKingdom协议什么是标准格式CAN和扩展格式CAN?标准CAN的标志符长度是11位,而扩展格式CAN的标志符长度可达29位。
CAN 协议的2.0A版本规定CAN控制器必须有一个11位的标志符。
同时,在2.0B版本中规定,CAN控制器的标志符长度可以是11位或29位。
遵循CAN2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文。
如果禁止CAN2.0B,则CAN 控制器只能发送和接收11位标识符的标准格式报文,而忽略扩展格式的报文结构,但不会出现错误。
BOSCH CAN 2.0规范简介:1983年,德国BOSCH开始研究新一代的汽车总线;1986年,第一颗CAN-bus芯片交付应用;1991年,由德国BOSCH公司发布CAN 2.0 规范;1993年,国际标准ISO11898正式出版;1995年,ISO11898进行了扩展,从而能够支持29位CAN标识符。
2000年,市场销售超过1亿个CAN器件。
CAN 2.0 规范分为CAN 2.0A与CAN 2.0B。
CAN 2.0A支持标准的11位标识符;CAN 2.0B同时支持标准的11位标识符和扩展的29位标识符。
CAN 2.0 规范的目的是为了在任何两个基于CAN-bus的仪器之间建立兼容性;规范定义了传输层,并定义了CAN协议在周围各层当中所发挥的作用。
CAN 2.0 规范涉及兼容性的不同方面,比如电气特性和数据转换的解释。
为了达到设计透明度以及实现柔韧性,CAN被细分为以下不同的层次:CAN对象层(the object layer)CAN传输层(the transfer layer)物理层(the phyical layer)对象层和传输层包括所有由ISO/OSI模型定义的数据链路层的服务和功能。
定义对象处理较为灵活。
对象层的作用范围包括:查找被发送的报文。
确定由实际要使用的传输层接收哪一个报文。
为应用层相关硬件提供接口。
传输层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。
总线上什么时候开始发送新报文及什么时候开始接收报文,均在传输层里确定。
位定时的一些普通功能也可以看作是传输层的一部分。
理所当然,传输层的修改是受到限制的。
物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。
当然,同一网络内,物理层对于所有的节点必须是相同的。
尽管如此,在选择物理层方面还是很自由的。
作为通用、有效、可靠及经济的平台,CAN-bus已经广泛地受到了欢迎。
它可以使用于汽车系统、机械、技术设备和工业自动化里几乎任何类型的数据通信。
CAN 2.0 规范没有规定媒体的连接单元以及其驻留媒体,也没有规定应用层。
因此,用户可以直接建立基于CAN 2.0 规范的数据通信;不过,这种数据通信的传输内容一般不能灵活修改,适合于固定通讯方式。
由于CAN 2.0 规范没有规定信息标识符的分配,因此可以根据不同应用使用不同的方法。
所以,在设计一个基于CAN的通讯系统时,确定CAN标识符的分配非常重要,标识符的分配和定位也是应用协议、高层协议的其中一个主要研究项目。