CAN的工作原理
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/4238667fa22d7375a417866fb84ae45c3b35c232.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子系统中的通信协议。
它的工作原理基于串行通信,通过在多个节点之间传输数据来实现高效的通信。
本文将详细介绍CAN的工作原理。
一、引言概述CAN是一种高度可靠的通信协议,广泛应用于汽车电子系统中。
它具有高速传输、抗干扰能力强等特点,为汽车电子系统的稳定运行提供了重要的支持。
下面将从数据传输、帧结构、错误检测和纠正、总线访问和网络管理五个方面详细介绍CAN的工作原理。
二、数据传输1.1 传输速率:CAN协议支持多种传输速率,常见的有1Mbps、500kbps和250kbps等。
传输速率的选择取决于系统的需求和总线长度。
1.2 传输方式:CAN使用差分信号进行数据传输,通过CAN控制器将数字信号转换为差分信号,并在接收端将差分信号还原为数字信号。
1.3 传输距离:CAN总线的传输距离通常受到总线长度和传输速率的限制。
为了保证信号的质量,需要合理设计总线的布局和使用合适的终端电阻。
三、帧结构2.1 帧类型:CAN帧分为数据帧和远程帧两种类型。
数据帧用于传输数据,远程帧用于请求数据。
2.2 帧格式:CAN帧由起始位、标识符、控制位、数据域和校验位组成。
起始位用于同步传输,标识符用于区分不同的CAN帧,控制位用于指示帧的类型和长度,数据域用于存储传输的数据,校验位用于检测传输过程中的错误。
2.3 帧优先级:CAN帧的优先级由标识符的位值决定,位值越小的帧优先级越高。
通过帧优先级的设置,可以实现对不同类型数据的优先传输。
四、错误检测和纠正3.1 位错误检测:CAN使用CRC(循环冗余校验)算法对数据进行校验,以检测位错误。
如果接收到的CRC校验值与发送方计算的校验值不一致,则认为数据传输存在错误。
3.2 错误标志位:CAN控制器会在浮现错误时设置错误标志位,通过读取错误标志位可以判断总线的错误情况,如位错误、帧错误和CRC错误等。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/5508809248649b6648d7c1c708a1284ac850059e.png)
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的工作原理](https://img.taocdn.com/s3/m/7722c03f5bcfa1c7aa00b52acfc789eb172d9efc.png)
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的工作原理](https://img.taocdn.com/s3/m/25b1a2e751e2524de518964bcf84b9d528ea2cbd.png)
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的工作原理](https://img.taocdn.com/s3/m/275ebf596fdb6f1aff00bed5b9f3f90f76c64de6.png)
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工作原理](https://img.taocdn.com/s3/m/96db4acdb8d528ea81c758f5f61fb7360b4c2b88.png)
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的工作原理](https://img.taocdn.com/s3/m/9bde32fef021dd36a32d7375a417866fb94ac06d.png)
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的工作原理](https://img.taocdn.com/s3/m/0c358abc7d1cfad6195f312b3169a4517623e576.png)
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的工作原理](https://img.taocdn.com/s3/m/1ca1a468580102020740be1e650e52ea5518cefc.png)
CAN的工作原理标题:CAN的工作原理引言概述:Controller Area Network(CAN)是一种用于实时控制系统的串行通信协议,广泛应用于汽车、工业控制和航空航天等领域。
CAN的工作原理是通过一种高效的通信方式,实现多个节点之间的数据传输和控制。
一、CAN的物理层1.1 CAN总线结构CAN总线由两根导线组成,分别是CAN-H和CAN-L,采用差分信号传输方式。
1.2 电压水平CAN总线的电压范围为0-5V,CAN-H高电平对应CAN-L低电平,反之亦然。
1.3 抗干扰能力CAN总线具有较强的抗干扰能力,能够在恶劣环境下稳定传输数据。
二、CAN的数据链路层2.1 帧格式CAN数据帧由起始位、标识符、控制位、数据域、CRC校验和结束位组成。
2.2 帧类型CAN数据帧分为数据帧和远程帧两种类型,用于实现数据的传输和请求。
2.3 确认机制CAN数据帧通过确认机制确保数据的可靠传输,发送节点会等待接收节点的确认信号。
三、CAN的网络层3.1 节点通信CAN网络中的节点通过标识符进行通信,标识符的优先级决定了数据传输的顺序。
3.2 数据传输CAN网络中的节点可以同时发送和接收数据,实现实时的数据交换和控制。
3.3 网络拓扑CAN网络支持多种拓扑结构,如总线、星型和树型,适用于不同的应用场景。
四、CAN的协议层4.1 帧过滤CAN协议支持帧过滤功能,可以根据标识符过滤接收的数据帧,提高系统的效率。
4.2 错误处理CAN协议具有强大的错误处理能力,能够检测和纠正数据传输过程中的错误。
4.3 速率控制CAN协议支持不同的数据传输速率,可以根据应用需求调整通信速度。
五、CAN的应用领域5.1 汽车行业CAN总线在汽车电子系统中广泛应用,如引擎控制、制动系统和空调控制等。
5.2 工业控制CAN总线在工业自动化领域中起到关键作用,实现设备之间的实时通信和协作。
5.3 航空航天CAN总线被应用于航空航天领域,用于飞行控制系统和航空电子设备的数据传输。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/03a9e2e3294ac850ad02de80d4d8d15abe2300e0.png)
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的工作原理](https://img.taocdn.com/s3/m/8be53fe10129bd64783e0912a216147917117e2b.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业控制系统中的串行通信协议。
它是一种高度可靠且具有实时性的通信协议,能够实现多个节点之间的数据传输和通信。
CAN的工作原理主要包括以下几个方面:1. 物理层:CAN协议使用差分信号传输数据,采用双线制,即CAN_H和CAN_L两根线。
CAN_H线上的电压高于CAN_L线上的电压表示逻辑1,反之表示逻辑0。
这种差分信号可以有效抵消电磁干扰,提高通信的可靠性。
2. 数据链路层:CAN协议采用了一种基于帧的通信机制。
每一个CAN帧由一个起始位、一个帧ID、数据域、CRC校验码和一个结束位组成。
帧ID用于标识发送和接收节点之间的通信对象。
数据域中存储了要传输的数据。
CRC校验码用于检测数据传输过程中是否浮现错误。
3. 硬件过滤和接收:CAN节点在接收数据时,会根据自身的接收过滤器设置来判断是否接收该数据帧。
每一个节点都可以设置多个过滤器,以过滤不需要的数据帧,提高系统的效率。
4. 硬件发送:CAN节点在发送数据时,会将要发送的数据帧放入发送缓冲区,并通过CAN控制器进行发送。
CAN控制器会根据总线上的状态来判断是否可以发送数据,以避免冲突和碰撞。
5. 碰撞检测和错误处理:CAN总线上可能会浮现多个节点同时发送数据帧的情况,这时会发生碰撞。
CAN协议采用了CSMA/CD(载波监听多点接入/冲突检测)机制来解决碰撞问题。
当发生碰撞时,节点会住手发送,并在一段时间后重新发送数据。
此外,CAN协议还具有错误检测和错误处理机制,可以检测和纠正数据传输过程中的错误。
6. 速率和通信距离:CAN协议支持不同的通信速率,常见的有125kbps、250kbps、500kbps和1Mbps等。
通信距离也取决于通信速率和传输线的质量,普通在几十米到几百米之间。
总的来说,CAN的工作原理是基于差分信号传输数据,采用帧的通信机制,通过硬件过滤和接收、硬件发送、碰撞检测和错误处理等机制实现多个节点之间的可靠通信。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/18bad45dfbd6195f312b3169a45177232f60e4df.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业控制系统中的通信协议。
它的工作原理是基于串行通信和分布式控制的思想,通过多个节点之间的数据传输实现信息的交换和共享。
CAN的工作原理主要包括以下几个方面:1. 总线拓扑结构:CAN网络采用总线结构,所有节点通过一根双绞线连接在一起,形成一个共享的通信介质。
每一个节点都可以发送和接收数据,而且所有节点都能同时接收到总线上的数据。
2. 通信速率:CAN通信的速率可以根据需求进行调整,常见的速率有125kbps、250kbps、500kbps和1Mbps等。
通信速率越高,数据传输的速度越快,但也会增加总线上的传输误差。
3. 帧格式:CAN通信使用帧格式进行数据的传输。
每一个帧由一个起始位、一个帧ID、一个控制位、一个数据长度码、数据域和一些错误检测位组成。
帧ID用于标识不同的消息,控制位用于指示数据的类型,数据长度码表示数据域的长度。
4. 碰撞检测与优先级:由于多个节点同时发送数据可能会导致碰撞,CAN采用了非破坏性的位决策算法来解决碰撞问题。
每一个节点在发送数据前会先检测总线上的信号情况,如果检测到总线上有数据正在传输,则暂停发送,等待较高优先级的节点完成数据传输。
5. 错误检测与纠正:CAN通信具有较强的错误检测和纠正能力。
每一个节点在发送数据时会附带一些错误检测位,接收节点会对接收到的数据进行校验,如果发现错误,则会通过重发等机制进行纠正。
6. 网络管理:CAN网络中通常会有一个主节点负责网络的管理和控制。
主节点可以控制其他节点的工作状态,如启动和住手通信等。
同时,主节点还可以对网络进行故障诊断和错误处理。
总的来说,CAN的工作原理是通过总线结构、帧格式、碰撞检测与优先级、错误检测与纠正以及网络管理等机制来实现多个节点之间的可靠通信。
它具有高效、可靠、实时性强等特点,广泛应用于汽车、工业控制和航空航天等领域,为各种系统的数据交换和共享提供了可靠的通信手段。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/4b6ae87e86c24028915f804d2b160b4e777f8162.png)
CAN的工作原理CAN(Controller Area Network)是一种用于实时应用的串行通信协议,广泛应用于汽车、工业控制和其他领域。
它的工作原理基于一种主从架构,可以实现多个节点之间的高效通信。
CAN的工作原理主要包括以下几个方面:1. 物理层:CAN使用差分信号线进行通信,通常使用双绞线作为传输介质。
CAN总线上的节点通过电气特性来进行数据传输,其中包括电压水平、传输速率和信号传输方式等。
常用的CAN总线标准有CAN2.0A和CAN 2.0B。
2. 帧格式:CAN通信采用帧的方式进行数据传输。
每一个CAN帧由起始位、标识符、控制位、数据域和校验位组成。
标识符用于区分不同的消息,控制位用于定义帧的类型,数据域用于传输实际数据,校验位用于检测传输错误。
3. 仲裁机制:当多个节点同时发送消息时,CAN使用仲裁机制来确定哪个节点具有传输优先权。
仲裁机制基于标识符的优先级,标识符越小的节点具有更高的优先级。
节点在发送消息前会先监听总线上的数据,如果检测到有其他节点正在传输数据,则会等待。
4. 错误检测和恢复:CAN具有强大的错误检测和恢复能力。
每一个节点在发送数据时都会对数据进行CRC校验,接收节点在接收数据时也会进行CRC校验。
如果发现数据传输错误,节点会发送错误帧,并且其他节点会收到错误帧并进行相应的处理。
5. 网络拓扑:CAN网络可以采用总线型、星型、树型等多种拓扑结构。
总线型是最常见的拓扑结构,所有节点都连接在同一根总线上。
星型拓扑结构中,每一个节点都连接到一个中央控制器。
树型拓扑结构中,节点之间通过分支线连接。
6. 数据传输速率:CAN的数据传输速率可以根据实际需求进行设置。
常见的传输速率有125kbps、250kbps、500kbps和1Mbps等。
传输速率越高,数据传输的实时性越好,但同时也会增加通信路线的要求。
总结起来,CAN的工作原理基于物理层的差分信号线通信和帧的传输方式。
can总线的工作原理
![can总线的工作原理](https://img.taocdn.com/s3/m/7a4a6515814d2b160b4e767f5acfa1c7aa0082fc.png)
can总线的工作原理
CAN总线是一种常见的数据通信协议,广泛应用于汽车和工
业控制系统等领域。
它的工作原理如下:
1. 消息帧与帧格式:CAN总线通信基于消息帧的发送和接收。
每个消息帧由识别码(ID)和数据组成。
ID用于标识消息的
优先级和内容,数据则存储实际的信息。
CAN总线采用一种
基于事件触发的机制,只有当总线上没有其他节点在发送消息时,当前节点才能发送消息。
2. 仲裁机制:CAN总线使用一种分布式仲裁机制,以确保各
个节点之间的通信顺序。
当两个以上的节点准备发送消息时,会根据消息帧的ID来进行仲裁。
ID的低位优先级高,因此具
备低ID的节点在仲裁中具有更高的优先级。
3. 错误检测:CAN总线具有强大的错误检测和纠正机制。
每
个节点在发送消息时,会实时监测总线上的电压变化情况。
如果检测到总线上有其他节点发送了错误的帧,节点将一直等待,并重新尝试发送消息。
这种自适应机制使得CAN总线具有较
高的消息可靠性。
4. 实时性能:CAN总线以固定的时间间隔来发送消息,以确
保实时性的要求。
节点在一个时间窗口内发送消息,并在下一个时间窗口前接收消息。
通过控制时间窗口的大小和频率,可以满足不同应用场景中对实时性的要求。
总而言之,CAN总线通过消息帧的发送和接收来进行数据通
信。
它采用分布式仲裁机制、强大的错误检测和纠正机制,以及固定的时间间隔来保证通信的可靠性和实时性。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/acf1823db42acfc789eb172ded630b1c59ee9b22.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业控制系统中的通信协议,它的工作原理是基于串行通信和差分信号传输的。
CAN协议的工作原理如下:1. 总线结构:CAN采用总线结构,所有节点共享一条双绞线,每个节点通过收发器连接到总线上。
2. 差分信号传输:CAN使用差分信号传输数据,即将数据信号和其反相信号同时传输,以提高抗干扰能力。
CAN总线上的信号分为CAN_H和CAN_L两个线路,CAN_H线路上的电压高于CAN_L线路上的电压表示逻辑1,反之表示逻辑0。
3. 帧格式:CAN通信采用帧格式进行数据传输。
CAN帧包括标准帧和扩展帧两种类型。
标准帧由11位标识符、6位控制域和0-8个字节的数据组成;扩展帧由29位标识符、6位控制域和0-8个字节的数据组成。
标识符用于标识不同的CAN 帧,控制域包括帧类型、数据长度等信息。
4. 仲裁机制:当多个节点同时发送CAN帧时,会发生仲裁。
仲裁机制是基于标识符的优先级来确定哪个节点能够发送数据。
CAN标识符的低位优先级高于高位,具有较低标识符的节点具有更高的优先级。
5. 错误检测和纠正:CAN协议具有强大的错误检测和纠正能力。
每个节点在发送数据时都会计算CRC校验码,并在接收数据时进行校验。
如果接收到的数据与计算的校验码不一致,节点会认为发生了错误,并进行错误处理。
6. 帧重发机制:CAN协议具有帧重发机制,当数据发送出错时,发送节点会重新发送数据,以确保数据的可靠传输。
重发机制可以提高系统的可靠性和稳定性。
7. 网络拓扑:CAN网络可以采用总线型、星型或混合型拓扑结构。
总线型拓扑结构是最常见的,所有节点连接到一条总线上;星型拓扑结构是将所有节点连接到一个中心节点上;混合型拓扑结构是总线型和星型的结合。
8. 通信速率:CAN协议支持不同的通信速率,常见的有125kbps、250kbps、500kbps和1Mbps等。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/2161aeb9760bf78a6529647d27284b73f24236d9.png)
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的工作原理](https://img.taocdn.com/s3/m/fe4fb6b98662caaedd3383c4bb4cf7ec4bfeb656.png)
CAN的工作原理CAN(Controller Area Network)是一种常用于汽车和工业控制领域的通信协议,它具有高可靠性和实时性的特点。
CAN的工作原理主要包括物理层和数据链路层两个部分。
一、物理层CAN的物理层采用差分信号传输,即通过两根线(CAN_H和CAN_L)来传输数据。
CAN_H线上的电压高于CAN_L线上的电压表示逻辑1,反之表示逻辑0。
这种差分信号传输方式能够有效抵抗电磁干扰,提高通信的可靠性。
二、数据链路层1. 帧格式CAN的数据链路层使用帧格式进行数据传输。
其中,标准帧包含11位的标识符(ID)和8位的数据,扩展帧包含29位的ID和8位的数据。
帧格式还包括远程帧和错误帧等。
2. 帧传输CAN的数据链路层采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的传输方式。
在发送数据前,节点会先监听总线上是否有其他节点正在发送数据,如果没有,则节点可以发送数据。
如果多个节点同时发送数据,会发生冲突,此时节点会检测到冲突并停止发送数据,然后等待一段时间后重新发送。
3. 确认机制CAN的数据链路层采用了ACK(Acknowledgement)机制来确保数据的可靠传输。
当一个节点发送数据后,其他节点会接收数据并发送ACK信号给发送节点,表示数据已经成功接收。
如果发送节点没有收到ACK信号,会认为数据传输失败,并进行重传。
4. 错误检测与纠正CAN的数据链路层具有强大的错误检测和纠正能力。
每个CAN帧都包含了CRC(Cyclic Redundancy Check)校验码,用于检测数据传输过程中是否发生错误。
如果接收节点检测到CRC校验错误,会发送错误帧给发送节点,请求重新发送数据。
以上就是CAN的工作原理的详细描述。
CAN通过差分信号传输和CSMA/CD传输方式,实现了高可靠性和实时性的数据通信。
同时,它还具有错误检测和纠正的能力,确保数据的可靠传输。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/162e3031f02d2af90242a8956bec0975f565a441.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于车辆和工业控制领域的网络通信协议。
它的工作原理基于分布式控制系统,通过一种高效的消息传输机制实现节点之间的通信。
本文将详细介绍CAN的工作原理。
1.物理层:CAN的物理层采用差分信号传输方式,常见的有两根导线CAN_H和CAN_L。
CAN_H线上的信号电位高于CAN_L线上的电位表示数字1,反之表示数字0。
这种差分信号传输方式具有抗干扰能力强、传输距离远等特点。
2.数据链路层:CAN的数据链路层采用CSMA/CR(Carrier Sense Multiple Access with Collision Resolution)协议。
节点在发送消息前,会先监听总线,如果当前总线上没有其他节点在发送消息,则可以发送自己的消息。
如果多个节点同时发送消息,会发生冲突,CAN通过位优先级来解决冲突,优先级高的消息会被优先发送。
3.应用层:CAN的应用层定义了消息的结构和标识符。
每个CAN消息由标识符(ID)和数据组成。
标识符用于区分不同的消息类型,数据用于传输具体的信息。
标识符分为标准标识符和扩展标识符,标准标识符由11位组成,扩展标识符由29位组成。
标识符越短,优先级越高。
1.初始化:CAN总线上的每个节点在开始工作之前,需要进行初始化操作。
初始化包括设置通信速率、设置节点模式(发送或接收)等。
2.消息发送:节点在发送消息前,会先检查总线是否空闲,即没有其他节点在发送消息。
如果总线空闲,节点就可以发送自己的消息。
节点会根据消息的标识符和数据组装CAN帧,并发送到总线上。
3.消息接收:节点在接收消息时,需要监听总线上的消息。
当节点检测到总线上有消息时,会判断消息的标识符和自己的过滤规则是否匹配。
如果匹配,则接收该消息,并进行相应的处理。
4.冲突解决:当多个节点同时发送消息时,会发生冲突。
CAN通过位优先级来解决冲突,优先级高的消息会被优先发送,而优先级低的消息会等待。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/fcc0eb41cd1755270722192e453610661ed95ad2.png)
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业领域的通信协议,它的工作原理是通过在一个总线上连接多个节点,实现节点之间的数据交换和通信。
本文将详细介绍CAN的工作原理。
一、总线结构CAN总线由两根线组成:CAN_H(CAN High)和CAN_L(CAN Low)。
这两根线通过电阻终止器连接在一起,形成一个环路。
CAN总线上的每一个节点都通过一个收发器与CAN总线相连。
二、数据帧格式CAN数据帧由四个部份组成:起始位、标识符、控制位和数据域。
起始位用于同步数据传输,标识符用于区分不同的数据源,控制位包含数据帧的类型和长度信息,数据域则是实际的数据内容。
三、工作模式CAN总线有两种工作模式:数据帧模式和远程帧模式。
数据帧模式用于节点之间的实际数据传输,远程帧模式用于请求其他节点发送数据。
四、帧ID每一个节点在CAN总线上都有一个惟一的帧ID。
帧ID由11位或者29位组成,取决于CAN的版本。
较短的帧ID用于标识标准帧,较长的帧ID用于标识扩展帧。
五、数据传输CAN总线上的数据传输是基于事件触发的。
当一个节点有数据要发送时,它会检查总线是否空暇,如果空暇,则开始发送数据。
如果多个节点同时发送数据,会发生冲突,这时会根据CAN的冲突检测机制进行处理。
六、错误检测CAN总线具有强大的错误检测和纠正能力。
每一个节点在发送数据时会监测总线上的数据是否与发送的数据一致,如果不一致,则会触发错误处理机制。
七、速率控制CAN总线的速率通常由波特率来表示,常见的波特率有125Kbps、250Kbps和500Kbps等。
波特率的选择取决于传输的数据量和总线的长度。
八、网络拓扑CAN总线可以采用多种网络拓扑结构,包括总线型、星型和混合型。
总线型是最常见的拓扑结构,所有节点都连接在同一根总线上。
星型拓扑结构中,每一个节点都与一个中央控制器相连。
混合型拓扑结构则是总线型和星型的结合。
CAN的工作原理
![CAN的工作原理](https://img.taocdn.com/s3/m/7afc55c70342a8956bec0975f46527d3250ca641.png)
CAN的工作原理CAN(Controller Area Network)是一种常用于汽车和工业控制系统中的串行通信协议。
它的工作原理是通过在通信线路上传输不同电压的电信号来实现数据传输和通信。
CAN的工作原理可以简单概括为以下几个步骤:1. 总线结构:CAN通信系统由一个主控制器和多个节点组成。
主控制器负责控制通信的开始和结束,而节点则负责发送和接收数据。
这种结构使得多个节点可以同时进行通信,提高了系统的效率和可靠性。
2. 信号传输:CAN通信使用差分信号传输。
差分信号是指通过两根线(CAN_H和CAN_L)传输数据,其中CAN_H线的电压高于CAN_L线的电压表示1,反之表示0。
这种差分传输方式可以有效地抵抗电磁干扰,提高数据传输的可靠性。
3. 帧结构:CAN通信使用帧结构进行数据传输。
每个CAN帧由一个起始位、一个帧ID、数据域、CRC校验码和结束位组成。
起始位标识了一个新的帧的开始,帧ID用于标识不同的消息,数据域存储了要传输的数据,CRC校验码用于检测数据传输过程中的错误,结束位表示一个帧的结束。
4. 碰撞检测与冲突解决:由于CAN通信是多节点同时进行的,可能会出现碰撞的情况,即多个节点同时发送数据导致数据冲突。
CAN采用了非破坏性位定时器和优先级标识符的方式来解决冲突。
每个节点在发送数据前会根据优先级标识符判断是否可以发送数据,如果多个节点同时发送数据,会根据标识符的优先级进行冲突解决。
5. 错误检测与纠正:CAN通信系统具有高度的错误检测和纠正能力。
每个节点在发送数据时会对数据进行CRC校验,接收节点在接收数据时也会进行CRC校验。
如果校验失败,节点会向其他节点发送错误帧,同时尝试重新发送数据。
这种错误检测和纠正机制可以有效地保证数据传输的可靠性。
总之,CAN的工作原理是通过差分信号传输、帧结构、碰撞检测与冲突解决、错误检测与纠正等方式实现数据的可靠传输和多节点之间的通信。
CAN通信在汽车和工业控制系统中得到广泛应用,提高了系统的效率和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、概述对于一般控制,设备间连锁可以通过串行网络完成。
因此,BOSCH公司开发了CAN总线(Controller Area Network),并已取得国际标准化组织认证(ISO11898),其总线结构可参照I SO/OSI参考模型。
同时,国际上一些大的半导体厂商也积极开发出支持CAN总线的专用芯片。
通过CAN总线,传感器、控制器和执行器由串行数据线连接起来。
它不仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI参考模型中的数据链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。
CAN网络的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇总到主计算机后再行处理。
二、CAN在国外的发展对机动车辆总线和对现场总线的需求有许多相似之处,即较低的成本、较高的实时处理能力和在恶劣的强电磁干扰环境下可靠的工作。
奔驰S 型轿车上采用的就是CAN总线系统;美国商用车辆制造商们也将注意力转向CAN 总线;美国一些企业已将CAN作为内部总线应用在生产线和机床上。
同时,由于CAN总线可以提供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到广泛应用。
三、CAN的工作原理当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
对每个节点来说,无论数据是否是发给自己的,都对其进行接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。
在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。
当几个站同时竞争总线读取时,这种配置十分重要。
CAN总线的报文发送和接收参见图1。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。
CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。
每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。
我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。
当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。
它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
四、位仲裁要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。
在几个站同时需要发送数据时,要求快速地进行总线分配。
实时处理通过网络交换的紧急数据有较大的不同。
一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。
CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。
这种优先级一旦在系统设计时被确立后就不能再被更改。
总线读取中的冲突可通过位仲裁解决。
如图2所示,当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。
所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。
站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。
注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。
在此例中,站2的报文被跟踪。
这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。
所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。
CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。
这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。
对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取 (许可)控制,在系统中分几次完成。
这是实现有较高可靠性的通信系统的唯一方法。
五、CAN与其它通信方案的比较在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。
在第一种方法中 ,不管每个节点是否申请总线,都对每个节点按最大期间分配。
由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。
这将保证在总线存取时有明确的总线分配。
在第二种方法中,总线按传送数据的基本要求分配给一个站 ,总线系统按站希望的传送分配(如:Ethernet CSMA/CD)。
因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。
为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。
这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。
不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。
甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。
虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。
在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
六、CAN的报文格式在总线中传送的报文,每帧由7部分组成,见图3。
CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。
@@TB17125002.GIF;在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。
RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。
它还包括一个保留位 (ro),为将来扩展使用。
它的最后四个字节用来指明数据场中数据的长度(DLC)。
数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。
发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。
用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。
在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
七、数据错误检测不同于其它总线,CAN协议不能使用应答信息。
事实上,它可以将发生的任何错误用信号发出。
CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。
1.循环冗余检查(CRC)在一帧报文中加入冗余检查位可保证报文正确。
接收站通过CRC可判断报文是否有错。
2.帧检查这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。
3.应答错误如前所述,被接收到的帧由接收站通过明确的应答来确认。
如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。
CAN协议也可通过位检查的方法探测错误。
4.总线检测有时,CAN中的一个节点可监测自己发出的信号。
因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。
5.位填充一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。
然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。
为保证同步,同步沿用位填充产生。
在五个生。
在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。
例如,五个连续的低电平位后,CAN自动插入一个高电平位。
CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。
如果至少有一个站通过以上方法探测到一个或多个错误,它将发送出错标志终止当前的发送。
这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。
当大量发送数据被终止后,发送站会自动地重新发送数据。
作为规则,在探测到错误后23个位周期内重新开始发送。
在特殊场合,系统的恢复时间为31个位周期。
但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。
因此,如果不采取自监测措施,总线系统应采用模块化设计。
为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。
这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。
八、CAN的可靠性为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统要求数据传输具有较高的安全性。
如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。
从总线系统数据的角度看,可靠性可以理解为,对传输过程产生的数据错误的识别能力。
残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。
它描述了传送数据被破坏和这种破坏不能被探测出来的概率。
残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。
计算残余错误概率要求能够对数据错误进行分类 ,并且数据传输路径可由一模型描述。
如果要确定CAN的残余错误概率,我们可将残留错误的概率作为具有80~90位的报文传送时位错误概率的函数,并假定这个系统中有5~10个站,并且错误率为1/1000,那么最大位错误概率为10—13数量级。
例如,CAN网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工作寿命4000小时、平均报文长度为 80位的系统,所传送的数据总量为9×1010。
在系统运行寿命期内,不可检测的传输错误的统计平均小于10—2量级。
换句话说,一个系统按每年365天,每天工作8小时,每秒错误率为0. 7计算,那么按统计平均,每1000年才会发生一个不可检测的错误。