can总线协议讲解.docx
- 文档编号:11597492
- 上传时间:2023-03-20
- 格式:DOCX
- 页数:11
- 大小:24.03KB
can总线协议讲解.docx
《can总线协议讲解.docx》由会员分享,可在线阅读,更多相关《can总线协议讲解.docx(11页珍藏版)》请在冰豆网上搜索。
can总线协议讲解
竭诚为您提供优质文档/双击可除
can总线协议讲解
篇一:
can总线协议学习笔记
(一)
1,基本概念:
(1),报文:
总线上的信息以不同格式的报文发送,但长度有限。
当总线开放时,任何连接的单元均可开始发送一个新报文。
(2),信息路由:
在can系统中,一个can节点不使用有关系统结构的任何信息,这里包含一些重要的概念:
系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于can网络。
报文通信——一个报文的内容由其标示符id命名,id并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。
成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。
数据相容性——在can网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统的数据相容性是借助于成组和出错处理达到的。
(3),位速率:
can的数据传输率在不同的系统中是不同的,而在一个系统中是固定的速率。
(4),优先权:
在总线访问期间,标示符定义了一个报文静态的优先权。
(5),远程数据请求:
通过发送一个远程帧,需要数据的节点可以请求另一个节点发送相应的数据帧,该数据帧与对应的远程帧以相同的标示符id命名。
(6),多主站:
当总线开放时,任何单元均可以开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。
(7),仲裁:
当总线开放时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标示符id解决,这种仲裁规则可以使信息和时间均无损失,若具有相同标示符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧,仲裁期间,每个发送器都对发送位电平与总线上检测到的电平进行比较,若相同则该单元可以继续发送,当发送一个隐性电平,而在总线上检测为显性电平时,该单元退出仲裁,并不再传送后继位了。
(8),安全性:
为了获得尽可能高的数据传输安全性,在每个can节点中均设有错误检测,标定和自检的强有力措施。
检测措施包括:
发送自检,循环冗余校验,位填充,和报文格式检查。
(9),出错标注和恢复时间:
已损坏的报文由检验出错的节点进行标注。
这样的报文将失效,并自动进行重发送。
如果不存在新的错误,从检出错误到下一个报文开始发送的恢复实践最多为29个位时间。
(10),故障界定:
can节点又能力识别永久性的故障和暂时扰动,可自动关闭故障节点。
(11),连接:
can串行通信链路是一条众多单元均可被连接的总线,理论上单元数目是无限的,实际上,单元总数受限于延迟时间和总线的电器负载。
(12),应答:
所有接收器均对接收报文的相容性进行检查,回答一个相容的报文,并标注一个不相容的报文。
2,can的特点:
属于串行通信网络,
(1),通信方式灵活。
多主从方式工作,网络上任何节点均可以在任何时刻主动的向其他节点发送信息,不分主从。
无需站地址等节点信息。
可以构成多机备份系统。
(2),can网络上的节点信息分成不同的优先级,可以满足不同的实时要求。
(3),can采取非破坏性的总线仲裁技术,多个节点同时发送信息时,优先级低的节点会主动退出发送。
(4),can只需通过报文滤波就可以实现点对点,1点对多点及全局广播等几种方式传送接收,无需调度。
(5),can的直接通信距离最远可达10km(5kb/s),通信速率最高可达1mb/s(40m)。
(6),can上的节点数目前可达110个;报文标示符可达2032种(can2.0a),而can2.0b报文标示符几乎不受限制。
(7),can通信采用短帧格式,传输时间短,抗干扰强,极好的验错效果,每帧最多8b足以满足控制要求,不会占用过长总线时间,实时性强。
(8),can每帧都有cRc校验及其他验错措施。
(9),接口中集成了can协议的物理层和数据链路层。
(10),can的通信介质可为双绞线或同轴电缆,光纤。
(11),can节点在错误严重情况下具有自动关闭输出功能。
3,can总线基本规则:
(1),总线访问:
采用载波监听多路访问,can控制器之恩能够在总线空闲时,就是节点侦听到网络上至少存在3个空闲位(隐性位)时开始发送,采用硬同步,所有的控制器同步都为与帧的起始的前沿。
过了一定时间,并在一定条件后,重同步。
(2),仲裁:
各节点向总线发电平时,也对总线上电平进行读取,并于自身发送的电平进行比较,相同则发下一位,直至全部发完。
不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出竞争。
(3),编码/解码:
帧起始域,仲裁域,控制域,数据域和cRc序列均使用位填充技术进行编码,就是5个连续的同状态电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除。
(4),出错标注:
当检测到位错误,填充错误,形式错误或应答错误时,检测出错条件的can控制器将发送一个出错标志。
(5),超载标注,一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。
篇二:
总线结构概述
发布于:
20xx-8-6已被阅读:
180次
pc的组成部件都是通过数据总、地址总线和控制总线这三组,总线连接在一起并完成和实现它们之间的通讯与数据传送的,因此总线的概念是理解pc和主板的组成结构、工作原理及部件之间相互关系统的基础。
一、概述
1.地址总线ab(addressbus)
是用来传送地址信息的信号线,其特点是:
(1).地址信号一般都由cpu发出,当采用mda(directmemoryaccess,即直接内存访问)方式访问内存和i/o设备时,地址信号也可以由dma控制器发生,并被送往各个有关的内存单元或i/o接口,实现cpu对内存或i/o设备的寻址(在pc中,内存和i/o设备的寻址都是采用统一编址方式进行的),即采用单向传输,动态控制(在计算机中,由于采用二进制工作方式,一般只有两种状态,即“1”和“0”,但是当计算机各总线上,显示“0”状态时,在电气上的效果相当于总线脱离。
(2).cpu能够直接寻找内存地址的范围是由地址线的数目(由于一条地址总线一次传送一位二进制数的地址,故也叫地址总线的位数)决定的,即pc系统中所能安装内存容量上限由cpu的地址总线的数目决定。
cpu能够直接寻址的内存范围上限为2
2.数据总线db(data、bus)
用来传送数据信息的信号线,这些数据信息可以是原始数据或程序。
数据总线来往于cpu、内存和i/o设备之间,其特点是:
cpu的地址总线数目
(1).双向传输,三态控制:
即可以由cpu送往内存或i/o设备,也可以由内存或i/o设备送往cpu。
(2).数据总线的数目称为数据宽度(由于一条数据线一次可传送一位二进制数,故也称位数),数据总线宽度决定了cpu一次传输的数据量,它决定了cpu的类型与档次。
3、控制总线cb(controlbus)
是用来传送控制信息的信号线,这些控制信息包括cpu对内存和i/o接口的读写信号,i/o接口对cpu提出的中断请求或dma请求信号,cpu对这些i/o接口回答与响应信号,i/o接口的各种工作状态信号以及其他各种功能控制信号。
控制总线来往于cpu、内存和i/o设备之间,其特点是:
在单向、双向、双态等种形态,是总线中最复杂、最灵活、功能最强的,其数量、种类、定义随机型不同而不同。
二、总线的分类
总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通道。
1.按相对于cpu与其芯片的位置来分
(1).片内总线:
指在cpu内部各寄存器、算术逻辑部件alu,控制部件以及内部高速缓冲存储器之间传输数据所用的总线,即芯片内部总线。
(2).片外总线:
通常所说的总线(bus)指的外总线,是cpu与内存Ram、Rom和输入输出(i/o)设备接口之间进行通讯的数据通道,cpu通过总线实现程序存取命令,内存/外设的数据交换在cpu与外设一定的情况下,总线速度是限制计算机整体性能的最大因数。
2.按总线功能分
(1).地址总线:
(ab)用来传递地址信息
(2).数据总线:
(db)用来传递数据信息
(3).控制总线:
(cb)用来传送各种控制信号
3.按总线的层次结构分
(1).cpu总线:
包括cpu地址线(cab),cpu数据线(cdb)和cpu控制线(ccd),其用来连接cpu和控制芯片。
(2).存储器总线:
包括存储器地址线(mab)、存储器数据线(mdb)和存储器控制线(mcd),用来连接内存控制器(北桥)和内存。
(3).系统总线:
(i/o扩展总线)也称为i/o通道总线或i/o扩展总线,包括系统地址线(sab),系统数据线(sdb)和系统控制线(scd),用来与i/o扩展槽上的各种扩展卡相连接。
(4).外部总线:
(外围芯片总线)用来连接各种外设控制芯片,如主板上的i/o控制器(如硬盘接口控制器、软盘驱动控制器、串行/并行接口控制器等),和键盘控制器,包括外部地址线(xab)、外部数据线(xmb)和外部控制线(xcb)。
4.系统总线(i/o扩展总线)又分为isa、pci、agp等多种标准
(1).isa(industrystandardarchitecture,工业标准结构)是ibm公司为286at电脑制定的总线工业标准,也称为at标准。
(2).pci(peripheralcomponentinterconnet,外部设备互连)是sig(spelialinterestgroup)集团推出的总线结构。
(3).agp(acceleratedgraphicsport,加速图形端口)是一种为了提高视频带宽而设计的总线规范,因为它是点对点连接,即连接控制芯片和agp显卡,因此严格说来,agp也是一种接口标准。
三、总线主要的技术指标
1、总线的带宽(总线数据传输速率)
总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送mb的最大稳态数据传输率。
与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:
总线的带宽=总线的工作频率*总线的位宽/82、总线的位宽
总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。
总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。
3、总线的工作频率
总线的工作时钟频率以mhz为单位,工作频率越高,总线工作速度越快,总线带宽越宽。
四、总线命令含义
ads#地址通讯d/c数据/控制m/io#记忆器/iow/R#读写bRdy#总线就绪
stop#停止lock#锁存deVsel#设备选择paR奇偶校验Req[2:
0]请求
smiact#激活系统管理中断twe#tag写效能coe#cache输出效能gne[7:
0]#全写效能tio[7:
0]tag地址h-link主时钟输入pclink时钟输入
acas[b:
a]写功能pc-link[15:
0]pci链锁1+stb:
[1:
0]记忆器选通madV#mehoRy优先pcmd[1:
0]pci命令boe#bost输入功能moe#memy输入功能
eads#外部地址选通gnt[2:
0]pci允许hztm#中较正
Re23#/mReq#
boFF#退去ahold地址保持na#下位地址
phld#pci保持ad地址/数据poe#plink输入功能mxscsh多功能选择
phld#pci保持响应c/be[3:
0]命令/字节使能Ras[3:
0]行选
FRame#结构tRdy#目标就绪iRdy#初始就绪
ken#/znlcache效能cas[7:
0]列选cache#cacahe效应hlock#主锁存
ma内存地址sRasa#sdRam行选
五、isa插槽
1、地址总线:
sa0~sa19(i/o)和la17~la23(i/o)
2、数据总线:
sd0~sd7(i/o)和sd8~sd15(i/o)
3、控制总线:
bale(0)---usaddresslatchenable:
系统地址锁存允许
4、sysclk(0)---systemclock系统时钟信号
5、iR23~7,9~12,15(z)---这是用于i/o设备通过中断控制器向cpu发送的中断请求(interruptrequest)信号
6、smemR#和smemw#(0)---这是命令内存将数据送至数据总线的信号
7、memR#和memw#(i/o)---内存读(memR)或内存写(memw#)信号
8、dRq0~3,5~7
(2)---这是dma请求(dmaRequesc)信号
9、dack0#~3,5~7(0)---(dmaacknowledge,dma响应)这是对dRq0~3,5~7的响应信号
10、aen(0)---地址允许(addressenable)信号
篇三:
can总线协议
can总线协议编辑
本词条缺少概述、信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
目录
1概述编辑
can总线发展
控制器局域网can(controllerareanetwork)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。
是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。
由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。
而且能够检测出产生的任何错误。
当信号传输距离达到10km时,can仍可提供高达50kbit/s的数据传输速率。
由于can总线具有很高的实时性能和应用范围,从位速率最高可达1mbps的高速网络到低成本多线路的50kbps网络都可以任意搭配。
因此,can己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用。
随着can总线在各个行业和领域的广泛应用,对其的通信格式标准化也提出了更严格的要求。
1991年can总线技术规范(Version2.0)制定并发布。
该技术规范共包括a和b两个部分。
其中2.0a给出了can报文标准格式,而2.0b给出了标准的和扩展的两种格式。
美国的汽车工程学会sae在2000年提出了j1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准。
相关组织
依据国际标准化组织/开放系统互连(internationalstandardi-zation
organization/opensysteminterconnection,iso/osi)参考模型,can的iso/osi参考模型的层结构。
概念和特征
下面对can协议的媒体访问控制子层的一些概念和特征做如下说明:
(1)报文(message)总线上的数据以不同报文格式发送,但长度受到限制。
当总线空闲时,任何一个网络上的节点都可以发送报文。
(2)信息路由(informationRouting)在can中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。
因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在can中增加节点。
(3)标识符(identifier)要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。
信息以广播方式在网络上发送,所有节点都可以接收到。
节点通过标识符判定是否接收这帧信息。
(4)数据一致性应确保报文在can里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
(5)位传输速率不同的can系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
(6)优先权由发送数据的报文中的标识符决定报文占用总线的优先权。
标识符越小,优先权越高。
(7)远程数据请求(RemotedataRequest)通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。
回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
(8)仲裁(arbitration)只要总线空闲,任何节点都可以向总线发送报文。
如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。
通过使用标识符的逐位仲裁可以解决这个碰撞。
仲裁的机制确保了报文和时间均不损失。
当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。
在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。
如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
(9)总线状态总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。
“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。
can总线采用二进制不归零(nRz)编码方式,所以总线上不是“0”,就是“1”。
但是can协议并没有具体定义这两种状态的具体实现方式。
(10)故障界定(confinement)can节点能区分瞬时扰动引起的故障和永久性故障。
故障节点会被关闭。
(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。
(12)can通讯距离最大是10公里(设速率为5kbps),或最大通信速率为1mbps(设通信距离为40米)。
(13)can总线上的节点数可达110个。
通信介质可在双绞线,同轴电缆,光纤中选择。
(14)报文是短帧结构,短的传送时间使其受干扰概率低,can有很好的校验机制,这些都保证了can通信的可靠性。
2协议内容编辑
can总线的物理层是将ecu连接至总线的驱动电路。
ecu的总数将受限于总线上的电气负荷。
物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。
总线竞争的原则
boschcan基本上没有对物理层进行定义,但基于can的iso标准对物理层进行了定义。
设计一个can系统时,物理层具有很大的选择余地,但必须保证can协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持can总线中隐性位和显性位的状态特征。
在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。
在此基础上,物理层主要取决于传输速度的要求。
从物理结构上看,can节点的构成如图7-8所示。
在can中,物理层从结构上可分为三层:
分别是物理信号层(physicallayersignaling,pls)、物理介质附件(physicalmediaattachment,pma)层和介质从属接口(mediadependent:
inter-face,mdi)层。
其中pls连同数据链路层功能由can控制器完成,pma层功能由can收发器完成,mdi层定义了电缆和连接器的特性。
目前也有支持can的微处理器内部集成了can控制器和收发器电路,如mc68hc908gzl6。
pma和mdi两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是isoll898定义的高速can发送/接收器标准。
节点数量
理论上,can总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。
can的数据链路层
can的数据链路层是其核心内容,其中逻辑链路控制(logicallinkcontrol,llc)完成过滤、过载通知和管理恢复等功能,媒体访问控制(mediumaccesscontrol,mac)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。
这些功能都是围绕信息帧传送过程展开的。
3报文传输编辑
报文类型
在can2.0b的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。
如can1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是can2.0b协议新增加的特性。
为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。
但无论是哪种帧格式,在报文传输时都有以下四种不同类型的帧:
帧类型
(1)数据帧(data)数据帧将数据从发送器传输到接收器。
(2)远程帧(Remote)总线单元发出远程帧,请求发送具有同一标识符的数据帧。
(3)错误帧(error)任何单元检测到总线错误就发出错误帧。
(4)过载帧(overload)过载帧用在相邻数据帧或远程帧之间提供附加的延时。
数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。
数据帧和远程帧可以使用标准帧及扩展帧两种格式。
4应用领域编辑
使用范围
can总线最初是德国bosch为汽车行业的监测,控制而设计的。
现已应用到铁路、交通、国防、工程、工业机械、纺织、农用机械、数控、医疗器械机器人、楼宇、安防等方面。
发展趋势
目前大多数can控制器只做到链路层,然而随着can的发展和应用,应用层的硬件设计也成为硬件厂商的考虑范畴。
哈佛结构编辑
本词条缺少信息栏
,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
哈佛结构是一种存储器结构。
使用哈佛结构的处理器有:
aVR、
aRm9、aRm10、aRm11等。
目录
2相关编辑
哈佛结构的微处理器通常具有较高的执行效率。
其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
哈佛结构是指程序和数据空间独立的体系结构,目的是为了减轻程序运行时的访存瓶颈。
例如最常见的卷积运算中,一条指令同时取两个操作数,在流水线处理时,同时还有一个取指操作,如果程序和数据通过同一条总线访问,取指和取数必会产生冲突,而这对大运算量的循环的执行效率是很不利的。
哈佛结构能基本上解决取指和取数的冲突问题。
而对另一个操作数的访问,就只能采用enhanced哈佛结构了,例如像ti那样,数据区再split,并多一组总线。
或向ad那样,采用指令cache,指令区可存放一部分数据。
3比较编辑哈佛结构与冯·诺依曼结构处理器相比,处理器有两个明显的特点:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;使用独立的两条总线,分别作为cpu与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
改进的哈佛结构,其结构特点为:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储
模块),公用数据总线则被用来完成程序存储模块或数据存储模块与cpu
之间的数据传输;两条总线由程序存储器和数据存储器分时共用。
冯·诺依曼结构编辑
本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
冯·诺依曼结构也称普林斯顿结构
,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
程序指令存储地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- can 总线 协议 讲解