CAN总线的编码方式

合集下载

CAN总线简介(2024版)

CAN总线简介(2024版)
目前汽车上的网络连接方式主要采用2条CAN, 一条用于驱动系统的高速CAN,速率达到500kb/s; 另一条用于车身系统的低速CAN,速率是100kb/s。
驱动系统的高速CAN
• 驱动系统CAN主要连接对象是发动机控制器 (ECU)、ABS控制器、安全气囊控制器、 组合仪表等等,它们的基本特征相同,都是 控制与汽车行驶直接相关的系统。
倍。这种传统布线方法不能适应汽车的发展。CAN总线可有效减少线束,节省空间。
例如某车门-后视镜、摇窗机、门锁控制等的传统布线需要20-30 根,应用总线 CAN 则
只需要 2 根。(3)关联控制在一定事故下,需要对各ECU进行关联控制,而这是传统
汽车控制方法难以完成的表1 汽车部分电控单元数据发送、接受情况
• (5)直接通信距离最远可达10km(速率5Kbps以下)。
• (6)通信速率最高可达1MB/s(此时距离最长40m)。
• (7)节点数实际可达110个。
• (8)采用短帧结构,每一帧的有效字节数为8个。
• (9)每帧信息都有CRC校验及其他检错措施,数据出错 率极低。
• (10)通信介质可采用双绞线,同轴电缆和光导纤维,一 般采用廉价的双绞线即可,无特殊要求。
可靠性高:传输故障(不论是由内部还是外部引起 的)应能准确识别出来 使用方便:如果某一控制单元出现故障,其余系统 应尽可能保持原有功能,以便进行信息交换 数据密度大:所有控制单元在任一瞬时的信息状态 均相同,这样就使得两控制单元之间不会有数据偏 差。如果系统的某一处有故障,那么总线上所有连 接的元件都会得到通知。 数据传输快:连成网络的各元件之间的数据交换速 率必须很快,这样才能满足实时要求。
• (2)网络上的节点(信息)可分成不同的优先级,可以满 足不同的实时要求。

布瑞特单圈绝对值旋转编码器 CAN 总线产品说明书

布瑞特单圈绝对值旋转编码器 CAN 总线产品说明书

布瑞特单圈绝对值旋转编码器CAN总线产品说明书深圳布瑞特科技有限公司ShenZhen Briter Technology Co.Ltd产品优势特性●CAN接口具有实时双向通讯能力,CAN接口旋转编码器兼容CAN2.0电气规范。

用户可通过命令设置编码器的ID地址、零点、数据发送模式等参数,是目前最为友好的智能旋转编码器;●单圈编码器在不掉电情况下可作电子多圈编码器使用(此功能非断电记忆),最高可达百万圈;增加测量速度功能,便于使用者计算;●单圈量程范围内任何位置都是唯一的,即使有干扰或断电运动,都不会丢失位置信息;●单圈分辨率有1024(10bit)、4096(12bit)、16384(14bit)、32768(15 bit),量程范围内最高可实现0.01度的分辨率;●所有参数均可通过CAN总线通讯进行设定,可在任意位置设定零点,因此安装编码器时可将设备停留任意位置,无需考虑本编码器的旋转位置、即可固定好连接轴,通电后只要在外部引线处或通过CAN总线通讯进行一次置零操作即可自动修正;●特别适用于塔式起重机、矿山起重机、施工升降机、机床、3D打印机、自动化流水线、工业机器人、印刷机械、包装机械、物流机械、移动广告屏幕滑轨等设备的高度、行程、角度及速度的可靠/精确测量。

产品型号说明型号:CAN 接口--3D 模型以及相关资料请到布瑞特科技官网下载。

尺寸型号图1:输出6mm IP54尺寸型号图2:输出轴8mm IP54机械尺寸线出口方向与3个M3安装孔的角度关系是随机的D 字型轴尺寸比例5:1螺纹孔深6mm尺寸型号图3:盲孔8mm IP54尺寸型号图4:输出6mm防水IP67尺寸型号图5:输出8mm防水IP67注意事项●编码器属于精密仪器,请轻拿轻放、小心使用,尤其对编码器轴请勿敲、撞击及硬拽等。

●编码器与机械连接应选用柔性连接器或弹性支架,应避免刚性联接不同心造成的硬性损坏。

●编码器防水等级有IP54、IP67两种可选,如选用IP54编码器,转轴处防护等级为IP65,应避免轴朝上安装或者浸泡在水中,否则请采用防水护罩等措施;IP67防水经48小时水深一米运作测试,户外情况请放心使用。

汽车CAN总线系统检修考核试卷

汽车CAN总线系统检修考核试卷
A.仪表盘指示异常
B.发动机无法启动
C.车辆行驶中突然熄火
D.空调系统不工作
7.在检修汽车CAN总线系统时,以下哪些步骤是必要的?()
A.检查总线线路连接
B.检查节点电源电压
C.使用诊断仪读取故障码
D.更换可疑的CAN收发器
8.以下哪些措施可以提高汽车CAN总线系统的抗干扰能力?()
A.使用屏蔽线
B.增加总线终端电阻
汽车CAN总线系统检修考核试卷
考生姓名:答题日期:得分:判卷人:
一、单项选择题(本题共20小题,每小题1分,共20分,在每小题给出的四个选项中,只有一项是符合题目要求的)
1.汽车CAN总线系统最早是由哪家公司开发的?()
A.美国通用汽车公司
B.德国博世公司
C.日本丰田汽车公司
D.法国标志汽车公司
2.以下哪项不是CAN总线的主要特点?()
C.检查节点电源是否正常
D.以上都对
10.在汽车CAN总线系统中,哪个设备通常用于监控整个网络的通信状态?()
A. CAN控制器
B. CAN收发器
C.网络管理器
D. LIN控制器
11.以下哪种方法不能有效提高CAN总线系统的抗干扰能力?()
A.使用屏蔽线
B.增加总线终端电阻
C.提高总线电压
D.采用差分信号传输
C.采用差分信号传输
D.提高总线电压
9.汽车CAN总线系统中,以下哪些情况可能导致通信故障?()
A.线路短路
B.线路断路
C.节点电源故障
D.节点软件故障
10.以下哪些设备通常用于监控汽车CAN总线系统的通信状态?()
A. CAN控制器
B.网络管理器
C. LIN控制器

CAN总线的编码方式

CAN总线的编码方式

对CAN总线的常见编码格式解析我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。

但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。

本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。

我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。

但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。

下面我们就来说一下两种格式的区别。

首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。

如下图所示。

byte xbit(8*x+7)bit(8*x)msb lsb注:x=0,1,2,3 (7)图1一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。

第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。

根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。

我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。

上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。

如下图所示。

图3我们现在以第一种矩阵模式进行说明。

在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。

CAN总线

CAN总线
三种工作模式:高速、斜率、准备模式。 高速模式:最快的速度切换,因此一般使用屏蔽的
总线电缆来防止可能的扰动。 斜率模式:转换速度故意降低,以减少电磁辐射。 准备模式:低功耗睡眠状态。
9
高速模式
Px,y为低:工作 Px,y为高:睡眠 高速实现方式:
0 Rext 1.8k
TP4 5 1
5K 5
4
CGND +C5V
1
C1 69 0 .1 u F
4
CGND
5
1
1 R1 42
8
3
3 3 30
1
TP4 4
U1 8 TXD
VCC
RXD
CANH
VREF
CANL
RS
GND
8 2C2 5 0 R1 45
+ C 5V
3
C1 72
0 .1 u F
7
CGND
6
2
CGND
CANH CANH
数据帧:数据帧携带数据从发送器至接收器。
远程帧:总线单元发出远程帧,请求发送具有同一识别符 的数据帧。
错误帧:任何单元检测到一总线错误就发出错误帧。
过载帧:过载帧用以在先行的和后续的数据帧(或远程帧) 之间提供一附加的延时。
35
数据帧
仲裁域
控制域
数据域 CRC校验码域
应答域 帧结束
相位缓冲段1只在当前位周期内被增长(或者缩短相位缓冲段 2 ),接下来的位周期,只要没有重同步,各段将恢复为位 时间的编程预设值。
28
重同步跳转宽度
重同步跳转宽度SJW并不是位周期里的一段,却是位定 时计算时的一个重要的指标。它定义了重同步时,为补 偿相位误差,位时间中相位缓冲段1被增长或者相位缓冲 段2被缩短的最大基本时间单元数。

CAN总线协议中文版

CAN总线协议中文版

CAN总线协议中文版篇一:CAN总线协议篇二:CAN总线协议学习笔记(一)1,基本概念:(1),报文:总线上的信息以不同格式的报文发送,但长度有限。

当总线开放时,任何连接的单元均可开始发送一个新报文。

(2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。

报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。

成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。

数据相容性——在CAN网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统的数据相容性是借助于成组和出错处理达到的。

(3),位速率:CAN的数据传输率在不同的系统中是不同的,而在一个系统中是固定的速率。

(4),优先权:在总线访问期间,标示符定义了一个报文静态的优先权。

(5),远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送相应的数据帧,该数据帧与对应的远程帧以相同的标示符ID命名。

(6),多主站:当总线开放时,任何单元均可以开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。

(7),仲裁:当总线开放时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标示符ID解决,这种仲裁规则可以使信息和时间均无损失,若具有相同标示符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧,仲裁期间,每个发送器都对发送位电平与总线上检测到的电平进行比较,若相同则该单元可以继续发送,当发送一个隐性电平,而在总线上检测为显性电平时,该单元退出仲裁,并不再传送后继位了。

(8),安全性:为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测,标定和自检的强有力措施。

CAN总线物理层

CAN总线物理层

CAN Physical LayerThe Controller Area Network (CAN) protocol defines the data link layer and part of the physical layer in the OSI model, which consists of seven layers. The International Standards Organization (ISO) defined a standard, which incorporates the CAN specifications as well as a part of physical layer: the physical signaling, which comprises bit encoding and decoding (Non Return to Zero, NRZ) as well as bit-timing and synchronization.Bit encodingNRZ compared with Manchester bit representationIn the chosen Non Return to Zero (NRZ) bit coding the signal level remains constant over the bit time and thus just one time slot is required for the representation of a bit (other methods of bit encoding are e. g. Manchester or Pulse-width-modulation). The signal level can remain constant over a longer period of time; therefore measures must be taken to ensure that the maximum permissible interval between two signal edges is not exceeded. This is important for synchronization purposes. Bit stuffing is applied by inserting a complementary bit after five bits of equal value. Of course the receiver has to un-stuff the stuff-bits so that the original data content is processed.Bit-timing and synchronizationNominal bit-timeOn the bit-level (OSI layer 1, physical layer) CAN uses synchronous bit transmission. This enhances the transmitting capacity but also means that a sophisticated method of bit synchronization is required. While bit synchronization in a character-oriented transmission (asynchronous) is performed upon the reception of the start bit available with each character, a synchronous transmission protocol there is just one start bit available at the beginning of a frame. To enable the receiver to correctly read the messages, continuous resynchronization is required. Phase buffer segments are therefore inserted before and after the nominal sample point within a bit interval.The CAN protocol regulates bus access by bit-wise arbitration. The signal propagation from sender to receiver and back to the sender must be completed within one bit-time. For synchronization purposes a further time segment, the propagation delay segment, is needed in addition to the time reserved for synchronization, the phase buffer segments. The propagation delay segment takes into account the signal propagation on the bus as well as signal delays caused by transmitting and receiving nodes.Two types of synchronization are distinguished: hard synchronization at the start of a frame and resynchronization within a frame.•After a hard synchronization the bit time is restarted at the end of the sync segment. Therefore the edge, which caused the hard synchronization, lies within the sync segment of the restarted bit time.•Resynchronization shortens or lengthens the bit time so that the sample point is shifted according to the detected edgeThe device designer may program the bit-timing parameters in the CAN controller by means of the appropriate registers.Interdependency of data rate and bus lengthDepending on the size of the propagation delay segment the maximum possible bus length at a specific data rate (or the maximum possible data rate at a specific bus length) can be determined. The signal propagation is determined by the two nodes within the system that are farthest apart from each other. It is the time that it takes a signal to travel from one node to the one farthest apart (taking into account the delay caused by the transmitting and receiving node), synchronization and the signal from the second node to travel back to the first one. Only then can the first node decide whether its own signal level (recessive in this case) is the actual level on the bus or whether it has been replaced by the dominant level by another node. This fact is important for bus arbitration.Some modern transceivers support no low data rates. Therefore on acquisition of transceivers the maximal required network length must be considered.Physical mediaThis clause is most interesting for system designers.The basis for transmitting CAN messages and for competing for bus access is the ability to represent a dominant and a recessive bit value. This is possible for electrical and optical media so far. Also powerline and wireless transmission is possible.For electrical media the differential output bus voltages are defined in ISO 11898-2 and ISO 11898-3, in SAE J2411, and ISO 11992 (see below).With optical media the recessive level is represented by "dark" and the dominant level by "light".The physical media most commonly used to implement CAN networks is a differentially driven pair of wired with common return. For vehicle body electronics single wire bus lines are also used. Some efforts have been made to develop a solution for the transmission of CAN signals on the same line as the power supply.The parameters of the electrical medium become important when the bus length is increased. Signal propagation, the line resistance and wire cross sections are factors when dimensioning a network. In order to achieve the highest possible bit rate at a given length, a high signal speed is required. For long bus lines thevoltage drops over the length of the bus line. The wire cross section necessary is calculated by the permissible voltage drop of the signal level between the two nodes farthest apart in the system and the overall input resistance of all connected receivers. The permissible voltage drop must be such that the signal level can be reliably interpreted at any receiving node.The consideration of electromagnetic compatibility and choice of cables and connectors belongs also to the tasks of a system integrator.assumed line length 100 mSpecific signal propagation time (ns/m)Maximum bit rate (kbit/s)5.0805.5736.0676.5627.058Network topologyThis clause is most interesting for system designers.Electrical signals on the bus are reflected at the ends of the electrical line unless measures against that have been taken. For the node to read the bus level correctly it is important that signal reflections are avoided. This is done by terminating the bus line with a termination resistor at both ends of the bus and by avoiding unnecessarily long stubs lines of the bus. The highest possible product of transmission rate and bus length line is achieved by keeping as close as possible to a single line structure and by terminating both ends of the line. Specific recommendations for this can be found in the according standards (i.e. ISO 11898-2 and -3).It is possible to overcome the limitations of the basic line topology by using repeaters, bridges or gateways. A repeater transfers an electrical signal from one physical bus segment to another segment. The signal is only refreshed and the repeater can be regarded as a passive component comparable to a cable. The repeater divides a bus into two physically independent segments. This causes an additional signal propagation time. However, it is logically just one bus system.A bridge connects two logically separated networks on the data link layer (OSIlayer 2). This is so that the CAN identifiers are unique in each of the two bus systems. Bridges implement a storage function and can forward messages or parts thereof in an independent time-delayed transmission. Bridges differ from repeaters since they forward messages, which are not local, while repeaters forward all electrical signals including the CAN identifier.A gateway provides the connection of networks with different higher-layer protocols. It therefore performs the translation of protocol data between two communication systems. This translation takes place on the application layer (OSI layer 7).Bus accessThe connection between a CAN controller chip and a two-wire differential bus a variety of CAN transceiver chips according to different physical layer standards are available (see below ISO 11898-2 and -3, etc.).This interface basically consists of a transmitting amplifier and a receiving amplifier (transceiver = transmit and receive). Aside from the adaptation of the signal representation between chip and bus medium the transceiver has to meet a series of additional requirements. As a transmitter it provides sufficient driver output capacity and protects the on-controller-chip driver against overloading. It also reduces electromagnetic radiation. As a receiver the CAN transceiver provides a defined recessive signal level and protects the on-controller-chip input comparator against over-voltages on the bus lines. It also extends the common mode range of the input comparator in the CAN controller and provides sufficient input sensitivity. Furthermore it detects bus errors such as line breakage, short circuits, shorts to ground, etc. A further function of the transceiver can also be the galvanic isolation of a CAN node and the bus line.Physical layer standardsISO 11898-2 high speedISO 11898-2 is the most used physical layer standard for CAN networks. It describes the bus access unit (implemented as CAN high-speed transceiver) functions as well as some medium-dependent interface features.In this standard the data rate is defined up to 1 Mbit/s with a theoretically possible bus length of 40 m at 1 Mbit/s. The high-speed standard specifies a two-wire differential bus whereby the number of nodes is limited by the electrical busload. The characteristic line impedance is 120 Ohm, the common mode voltage ranges from -2 V on CAN_L to +7 V on CAN_H. The nominal specific propagation delay of the two-wire bus line is specified at 5 ns/m. All these figures are valid only for a 1 Mbit/s transfer rate and a maximum network length of 40 m.In order to achieve physical compatibility all nodes in the network must use the same or a similar bit-timing. For automotive applications the SAE published the SAE J2284 specification. For industrial and other non-automotive applications the system designer may use the CiA 102 recommendation. This specification defines the bit-timing for rates of 10 kbit/s to 1 Mbit/s. It also provides recommendations for bus lines and for connectors and pin assignment.ISO 11898-3 fault-tolerantAn alternative form of bus interfacing and arrangement of bus lines is specified in ISO 11898-3 (fault-tolerant CAN). This standard is mainly used for body electronics in the automotive industry. Since for this specification a short network was assumed, the problem of signal reflection is not as important as for long bus lines. This makes the use of an open bus line possible.This means low bus drivers can be used for networks with very low power consumption and the bus topology is no longer limited to a linear structure. It is possible to transmit data asymmetrically over just one bus line in case of an electrical failure of one of the bus lines.ISO 11898-3 defines data rates up to 125 kbit/s with the maximum bus length depending on the data rate used and the busload. Up to 32 nodes per network are specified. The common mode voltage ranges between -2 V and +7 V. The power supply is defined at 5 V.Transceiver chips, which support this standard, are available from several companies. The fault-tolerant transceivers support the complete error management including the detection of bus errors and automatic switching to asymmetrical signal transmission.SAE J2411 single wireThe single-wire standard SAE J2411 is also for CAN network applications with low requirements regarding bit rate and bus length. The communication takes place via just one bus line with a nominal data rate of 33,3 kbit/s (83,3 kbit/s in high-speed mode for diagnostics). The standard defines up to 32 nodes per network. The main application area of this standard is in comfort electronics networks in motor vehicles.An unshielded single wire is defined as the bus medium. A linear bus topology structure is not necessary. The standard includes selective node sleep capability, which allows regular communication to take place among several nodes while others are left in a sleep state. Transceivers for this standard are available, too.ISO 11992 point-to-pointAn additional approach to using CAN low-speed networks with fault-tolerant functionality is specified in the ISO 11992 standard. It defines a point-to-point connection for use in e.g. towing vehicles and their trailers. For one vehicle with one trailer, a point-to-point connection is defined. For one vehicle with two trailers, a daisy-chain connection is defined. The nominal data rate is 125 kbit/s with a maximum bus line length of 40 m. The standard defines the bus error management and the supply voltage (12 V or 24 V). An unshielded twisted pair of wires is defined as the bus medium.OthersNot standardized are fiber-optical transmissions of CAN signals. Due to the directed coupling into the optical media, the transmitting and receiving lines must be provided separately. Also, each receiving line must be externally coupled with each transmitting line in order to ensure bit monitoring. A star coupler can implement this. The use of a passive star coupler is possible with a small number of nodes, thus this kind of network is limited in size. The extension of a CAN network with optical media is limited by the light power, the power attenuation along the line and the star coupler rather than the signal propagation as in electrical lines.Advantages of optical media are emission- and immission-free transmission andcomplete galvanic decoupling. The electrically neutral behavior is important for applications in explosive or electromagnetically disturbed environments.CAN总线物理层控制局域网(CAN)协议决定数据链路层和在OSI模式中部分物理层。

《工业控制网络》题库(有答案)

《工业控制网络》题库(有答案)

一、概念题1、现场总线答:安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线称为现场总线。

2、模拟数据编码答:分别用模拟信号的不同幅度、不同频率、不同相位来表达数据的0,1状态的,称为模拟数据编码。

3、数字数据编码答:用高低电平的矩形脉冲信号来表达数据的0,1状态的,称为数字数据编码。

4、单极性码答:信号电平是单极性的数字数据编码。

5、双极性编码答:信号电平为正、负两种极性的数字数据编码。

6、归零码(RZ)答:在每一位二进制信息传输之后均返回零电平的数字数据编码。

7、非归零码(NRZ)答:在整个码元时间内维持有效电平的数字数据编码。

8、差分码用电平的变化与否来代表逻辑“1”和“0的数字数据编码。

9、基带传输答:就是在数字通信的信道上按数据波的原样进行传输,不包含有任何调制10、载波传输答:采用数字信号对载波进行调制后实行传输。

11、单工通信答:就是指传送的信息始终是一个方向,而不进行与此相反方向的传送。

12、半双工通信答:是指信息流可在两个方向上传输,但同一时刻只限于一个方向传输13、全双工通信是指能同时作双向通信。

14、广播式网络答:仅有一条通信信道,由网络上的所有机器共享。

短的消息,即按某种语法组织的分组或包,可以被任何机器发送并被其它所有的机器接收。

分组的地址字段指明此分组应被哪台机器接收。

一旦收到分组,各机器将检查它的地址字段。

如果是发送给它的,则处理该分组,否则将它丢弃。

15、点到点网络由一对对机器之间的多条连接构成。

为了能从源到达目的地,这种网络上的分组可能必须通过一台或多台中间机器。

16、类一组表示同种系统组件的对象。

一个类是一个对象的一种概括。

一个类中所有的对象在形式和行为上是相同的,但是它们可以包含不同的属性值。

17、实例一个对象的一个明确的真实(物理)事件。

18、属性一个对象的一个外部可视特性或特点的一种描述。

19、仅限组2服务器一个UCMM非能力的和必须使用预定义主/从连接组来建立通信的从站。

CAN总线的编码方式资料

CAN总线的编码方式资料

C A N总线的编码方式对CAN总线的常见编码格式解析我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。

但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。

本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。

我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。

但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。

下面我们就来说一下两种格式的区别。

首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。

如下图所示。

byte xbit(8*x+7)bit(8*x)msb lsb注:x=0,1,2,3 (7)图1一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。

第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。

根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。

我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。

上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。

如下图所示。

图3我们现在以第一种矩阵模式进行说明。

在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。

CAN总线信号的编码格式-Intel与Motorola的区别

CAN总线信号的编码格式-Intel与Motorola的区别

Intel低字节在前Motorola高字节在前在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式。

究竟两种编码格式有什么样的区别呢?设计者、dbc文件编辑者或者测试人员又该如何判断两种格式,并进行有效正确的配置和解析呢?下面作者给出自己在设计和测试过程中的一点体会和见解,希望能够总结出来加深一下印象和理解。

在编码优缺点上,Motorola格式与Intel格式并没有孰优孰劣之分,只不过根据设计者的习惯,由用户自主选择罢了。

当时,对于使用者来讲,在进行解析之前,就必须要知道编码的格式是哪一种,否则,就不能保证正确地解析信号的含义。

以下就以8位字节编码方式的CAN 总线信号为例,详细分析一下两者之间的区别。

首先,介绍一下CAN总线的数据传输规则,首先传输一个字节的高位(msb),最后传输该字节的低位(lsb)。

如下图所示。

一般情况下,主机厂在定义CAN总线信号定义时,都会明确定义字节的发送顺序,即:以首先发送byte0(LSB),然后byte1,byte2,……(MSB)的发送顺序;还是以首先发送byte7(MSB),然后byte6,byte5,……(LSB)的发送顺序。

据作者了解到的多个主机厂定义的CAN总线字节发送顺序均为前者(即:首先发送LSB,最后发送MSB)。

这一点可以从目前主流的CAN总线信号数据库编辑器德国verctor公司的CANoe软件工具的定义上看出,CANoe中的CANdb++编辑器中默认定义的CAN数据场的字节结构及每一位的排布入下图所示。

在这种情况下,如果主机厂采用的是首先发送LSB,最后发送MSB的发送顺序,则在上表中可直接按照从左至右,从上至下的顺序依次对信号进行排布即可;但是,如果主机厂采用的是首先发送MSB,最后发送LSB的发送顺序,则在上表中需要从下至上,从右至左的顺序依次对信号进行排布,这样就比较难以对应,而且信号与数据场各字节之间的映射关系也不太直观。

CAN总线

CAN总线
与一般的通信总线相比,CAN总线的数据通信具有突出 的可靠性、实时性和灵活性,它在汽车领域上的应用最为广 泛,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BM W(宝马)、volkswagen (大众)等都采用了CAN总线来实现汽 车内部控制系统与各检测和执行机构间的数据通信。
3
CAN 总 线
4
CAN的工作原理、特点
1.CAN 的工作原理
CAN总线标准包括物理层、数据链路层,其中链路层定 义了不同的信息类型、总线访问的仲裁规则及故障检测与故 障处理的方式。
当CAN 总线上的一个节点(站)发送数据时,它以报文形 式广播给网络中所有节点。
每组报文开头的11位字符为标识符(CAN2.0A),定义了 报文的优先级,这种报文格式称为面向内容的编址方案。
➢ 仲裁场(标准格式)由11位标识符ID28~ ID18、远程发送 请求位RTR(Remote Transmission Request BIT)组成, 其中ID高七位不可全为1(隐性);
➢ 仲裁场(扩展格式)由29位标识符ID28~ ID0、SRR位、识 别符扩展位IDE(Identifier Extension Bit)位、RTR位组成;
错误状态类型
19
➢ 主动错误状态
✓ 主动错误状态是可以正常参加总线通信的状态。
✓ 处于主动错误状态的单元检测出错误时,输出主动错误
标志。
➢ 被动错误状态
✓ 被动错误状态是易引起错误的状态。
✓ 处于被动错误状态的单元虽能参加总线通信,但为不妨
碍其它单元通信,接收时不能积极地发送错误通知。
✓ 处于被动错误状态的单元即使检测出错误,而其它处于
求数据的物理传输通路有较高的速度。在几个站同时需要 发送数据时,要求快速地进行总线分配。 ➢ 如果2 个或2 个以上的单元同时开始传送报文,那么就会有 总线访问冲突。通过使用识别符的位形式仲裁可以解决这 个冲突。 ➢ CAN总线以报文为单位进行数据传送,报文的优先级结合 在11位标识符中,具有最低二进制数的标识符有最高的优 先级。这种优先级一旦在系统设计时被确立后就不能再被 更改。总线读取中的冲突可通过位仲裁解决。

CAN的工作原理及初始化

CAN的工作原理及初始化

CAN的工作原理及初始化CAN,全称为“Controller Area Network”,即控制器局域网CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。

当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。

由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。

CAN的结构:数据链路层:包括逻辑链路控制子层(Logical Link Control,LLC )和媒体访问控制子层(Medium Access Control,MAC)。

物理层:包括物理信号子层 (Physical Layer Signal,PLS) 、物理介质连接 (Physical Medium Attachment,PMA)和介质相关接口(Medium Dependent Interface,MDI) 。

1.物理层物理层定义信号是如何进行传输的,各部分的功能如下:(1)物理层信号PLS:实现位定时、位编码/解码、同步等功能。

理想发送器在没有重同步的情况下,每秒发送的位数定义为标称位速率,定义其倒数为标称位时间,它可分为同步段、传播段、相位缓冲段1和相位缓冲段2等几个互补重叠的时间段。

CAN位流根据“不归零”NRZ方式来编码,即在整个位时间里,位电平要么为显性,要么为隐性。

在隐性状态下,VCANH和VCANL被固定于平均电压电平,Vdiff近似为零。

显性状态以大于最小阈值的差分电压表示。

在显位期间,显性状态改变隐性状态并发送。

同步包括硬同步和重同步两种形式。

在一个时间内只允许一种同步。

仅当采样点之前检测到的数值与紧跟边沿之后出现的数值不同时,边沿才用于同步。

(2)物理介质连接PMA:实现总线发送/接收的功能电路,并可提供总线故障检测方法。

CAN2.0规范没有定义该层的驱动器/接收器特性,以便在具体应用中进行优化设计。

CAN总线协议

CAN总线协议

CAN总线协议CAN即控制器局域网,最初是德国BOSCH公司为汽车的监测与控制而设计的,以解决汽车众多控制设备与仪器仪表之间的大量数据交换用硬件接线带来的问题。

当今CAN的应用已不再局限于汽车行业,而向过程工业、机械工业、机器人、数控机床、医疗器械和传感器等领域发展。

1 CAN总线基本概念依据国际标准化组织/开放系统互连(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)参考模型,CAN的ISO/OSI参考模型的层结构如图7-6所示。

下面对CAN协议的媒体访问控制子层的一些概念和特征做如下说明:(1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。

当总线空闲时,任何一个网络上的节点都可以发送报文。

(2)信息路由(Information Routing) 在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。

因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。

(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。

信息以广播方式在网络上发送,所有节点都可以接收到。

节点通过标识符判定是否接收这帧信息。

(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。

(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。

(6)优先权由发送数据的报文中的标识符决定报文占用总线的优先权。

标识符越小,优先权越高。

(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。

简述can总线的数据原理

简述can总线的数据原理

简述can总线的数据原理CAN总线是一种串行通信协议,广泛应用于汽车领域。

其数据原理主要包括以下几点:1. 差分信号传输:CAN总线采用差分传输,即传输两个相互相反的电信号。

其中一个电信号表示位值0,另一个表示位值1。

这种差分传输可以提高抗干扰能力和抗噪声能力。

2. 非返回零编码:CAN总线采用非返回零(Non-Return-to-Zero,NRZ)编码,即位0表示电平低,位1表示电平高。

采用NRZ编码可以减少信号变化,提高传输效率。

3. 禁令位控制:CAN总线中的每个数据帧都包括一个禁令位。

当总线上没有数据时,总线上的电平将保持恒定。

当某个节点想要发送数据时,它会检测总线上的电平是否是低电平。

如果是低电平,则说明总线上没有其他节点在发送数据,此时该节点可以发送数据。

否则,如果检测到总线上存在高电平,则禁止发送数据。

4. 碰撞检测与重发机制:CAN总线采用了分布式碰撞检测机制。

当多个节点同时发送数据时,有可能发生碰撞(collision),即多个节点的数据帧同时出现在总线上。

当检测到碰撞时,发送节点会停止发送,并进行重发。

重发时,参与碰撞的节点会在发送数据前插入一个随机延时时间,以减少碰撞几率。

5. 校验机制:CAN总线采用循环冗余校验(CRC)机制,用于校验传输的数据是否正确。

接收节点会通过计算接收到的数据的CRC值,与发送节点发送的CRC 值进行比较,以判断数据是否正确。

综上所述,CAN总线的数据原理包括差分信号传输、非返回零编码、禁令位控制、碰撞检测与重发机制以及校验机制等。

这些原理共同保证了CAN总线的可靠性和高效性。

CAN总线介绍(最终版)..

CAN总线介绍(最终版)..

OSI参考模型 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层
汽车和工业自 动化领域广泛 应用
2 数据 链路层 1 物理层
LLC MAC PLS PMA MDI

LLC, Logical Link Control MAC, Medium Access Control PLS, Physical Signaling Sublayer PMA, Physical Medium Attachment MDI, Medium Dependent Interface
节点A 节点B 节点C
Data
ID=250
ID=250
Data
ID=1000
ID=1000
ID=1000
Data
总线
ID=75
竞争阶段
Data
ITM
ID=250
竞争阶段
Data
ITM
ID=1000
竞争阶段
Data
t
26
CAN基本原理

CAN的帧格式


数据帧携带从发送节点至接收节点的数据 远程帧向其他节点请求发送具有同一标识 符的数据帧 错误帧节点检测到错误后发送错误帧 超载帧在先行的和后续的数据帧(或远程 帧)之间附加一段延时—通常不用
显性 隐性 显性或隐性
显性
隐性表示1,显性表示0
24
CAN基本原理

CAN的总线访问

“线与”机制



“显性”位可以覆 盖“隐性”位;只 有所有节点都发送 “隐性”位,总线 才处于“隐性”状 态 节点在发送报文时 进行回读 通过ID仲裁,ID数 值越小,报文优先 级越高,占有总线

can phy结构

can phy结构

can phy结构摘要:1.Can 总线概述2.Can phy 结构的组成3.Can phy 结构的工作原理4.Can phy 结构的优势和应用正文:一、Can 总线概述控制器局域网(CAN,Controller Area Network)是一种用于实时控制的串行通信总线,它是由德国的Robert Bosch GmbH 公司于1980 年代开发的。

CAN 总线主要用于汽车电子设备之间的通信,以及工业自动化领域。

其主要特点是多主控制器结构、高噪声环境下的抗干扰能力、高传输速率以及低成本。

二、Can phy 结构的组成CAN 物理层(Can phy)是CAN 总线的物理层和数据链路层,它包括以下几个部分:1.物理介质:CAN 总线可以使用双绞线、电缆等多种物理介质进行传输。

2.电气特性:CAN 总线的电气特性包括信号电压、电流、阻抗等参数。

3.位编码和解码:CAN 总线采用位编码和解码方式实现数据传输。

4.数据帧结构:CAN 数据帧包括起始符、仲裁字段、控制字段、数据字段、CRC 字段、应答位和结束符等。

5.传输模式:CAN 总线支持正常传输模式和扩展传输模式两种传输模式。

三、Can phy 结构的工作原理1.通信初始化:在通信开始前,CAN 控制器需要对总线进行初始化,包括配置总线定时器、总线滤波器等参数。

2.数据发送:当有节点需要发送数据时,它会将数据字段和CRC 字段按照规定的格式组成数据帧,并发送到总线上。

3.数据接收:其他节点在接收到数据帧后,会根据数据帧中的信息进行处理。

4.仲裁和响应:在多个节点同时发送数据时,CAN 总线采用仲裁机制确保只有一个节点能够成功发送数据。

成功发送数据的节点会向总线发送应答位,表示数据帧已被成功接收。

四、Can phy 结构的优势和应用CAN phy 结构具有以下优势:1.多主控制器结构:允许多个节点同时发送数据,提高通信效率。

2.高噪声环境下的抗干扰能力:采用位编码和解码技术,使得CAN 总线在高噪声环境下具有较强的抗干扰能力。

CAN总线的编码方式

CAN总线的编码方式

对CAN总线的常见编码格式解析我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。

但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。

本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。

我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。

但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。

下面我们就来说一下两种格式的区别。

首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。

如下图所示。

byte xbit(8*x+7)bit(8*x)msb lsb注:x=0,1,2,3 (7)图1一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。

第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。

根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。

我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。

上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。

如下图所示。

图3我们现在以第一种矩阵模式进行说明。

在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对CAN总线的常见编码格式解析
我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。

但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。

本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。

我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。

但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。

下面我们就来说一下两种格式的区别。

首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。

如下图所示。

byte x
bit(8*x+7)
bit(8*x)
msb lsb
注:x=0,1,2,3 (7)
图1
一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。

第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。

根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。

我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2
结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。

上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。

如下图所示。

图3
我们现在以第一种矩阵模式进行说明。

在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。

如果主机厂定义先发送MSB再发送LSB的形式,那样数据传输比较复杂,所以一般都不建议用这种方案。

至于设计者常出现的错误我们在下文中会重点说明,下面我们先了解一下Intel 格式和Motorola格式在CANdb++中的区别。

一、Motorola编码格式:
如果我们选择使用Motorola编码格式,那需要知道它在CANdb++中的3种信号排布方式。

这三种排布的主要区别在于它们的起始位不同。

我们假设一个信号的位长为12,那么它就要跨字节排布。

在Motorola格式中的第一种排布形式为Motorola Forward LSB,即从小端开始,它的起始位为lsb(16);第二种排布形式为Motorola Forward MSB,即从大端开始,它的起始位为msb(11);第三种排布形式为Motorola Backward,它的起始位为第8位,这种形式基本不采用,因为排布规律相对于前两种比较复杂。

如下图所示;
图4
针对上述Motorola格式第一种排布形式,信号的起始位为高字节的低位。

在CANdb++中的具体体现如图所示。

图5
在CANdb++中,无法区别这三种排布形式,它的起始位也是自动定义的,所以我们在设计通讯矩阵时,一般都会采用第一种,即Motorola Forward LSB。

只是有的工程师根据自己的个人习惯,去改变起始位,但我们需要明确一点就是,在Canoe软件中,一种格式的信号排布是没有区别的。

二、Intel编码格式
如果我们选择使用Intel编码格式,它在CANdb++中也有两种信号排布方式。

我们假设一个信号位长为12,它也是要跨字节排布。

第一种排布形式为Intel Standard,即标准形式,它的起始位为lsb(12)。

信号的起始位为低字节的低位。

如下图所示:
图6
图7
第二种排布形式为Intel Sequential,即顺序排布形式或者叫颠倒排布。

这种形式不太常用,但我们也需要了解,它的起始位为lsb(11)。

如下图所示:
图8
以上文字介绍了当信号的位长超过一个字节的情况下,信号分别以Motorola 编码格式和Intel编码格式排布时的区别。

我们现在假设一个信号的位长为4,观察在CANdb++中信号的排布有什么区别。

Motorola编码格式下的信号排布:(绿色信号)
图9
Intel编码格式下的信号排布:(绿色信号)
图10
由图可知,两种格式的起始位不同,但是他们的排布方式相同,都是信号的高位放在该字节的高位(msb),信号的低位放在该字节的低位(lsb)。

所以,当一个信号的位长小于8时,那么两种编码格式没有区别。

如果信号的位长大于8,那么两种编码格式将会产生很大差别。

这是我们在网络通讯设计初期必须要掌握的。

下面我们说一下一些工程师在做通讯矩阵的设计时,常会出现的几个问题:1.在编写通讯矩阵时,在起始位的编写中,常会将Intel格式和Motorola格式
弄混。

例如:如下图所示的通讯矩阵
如果一个信号的位长为4,那么若是Motorola编码格式,那它的起始位就是4;而若是Intel编码格式,那它的起始位就是0。

2.在CANdb++中进行通讯矩阵的调整时,首先应明确信号选取的编码格式,然
后进行拖曳,有的工程师常常在没有区分编码格式,凭借主观感觉对通讯矩阵进行调整,这往往会导致信号的传输错误。

3.在信号跨字节排布中,未明确msb和lsb,在拖曳过程中会出现错误。

综上所述,Motorola编码格式和Intel编码格式主要区别还是在信号位长大于8或者信位长不超过8但是跨字节的情况下,前者的规则:该信号的高位(S_msb)将被放在低字节(MSB)的高位,信号的低位(S_lsb)将被放在高字节(LSB)的低位;后者的规则:该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位。

希望大家能从此篇文章中收获一些经验。

文中术语解释及定义:
1.信号的高位,即最能表达信号特性的因子,比如:车速信号500km/h按
照给定的公式,转换成十六进制数为0x6A5,因为6代表的数量级最大(162),那么其中6就是其信号的高位。

2.信号的低位,即最不能表达信号特性的因子,比如:车速信号500km/h
按照给定的公式,转换成十六进制数为0x6A5,因为5代表的数量级最小(160),那么其中5就是其信号的低位。

3.信号的起始位,一般来讲,主机厂在定义整车CAN总线通信矩阵时,其
每一个信号都从其最低位开始填写,这样也符合使用习惯。

所以信号的起始位就是信号的最低位。

这也与CANoe中CANdb++的定义Startbit含义一致。

相关文档
最新文档