您现在所在的是:

现场总线

回帖:2个,阅读:2693 [上一页] [1] [下一页]
* 帖子主题:

CAN 总线协议

1088
movingtek
文章数:-9
年度积分:50
历史总积分:1088
注册时间:2008/8/5
发站内信
发表于:2008/8/11 14:50:00
#0楼
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) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
(8)仲裁(arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
(9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。can总线采用二进制不归零(nrz)编码方式,所以总线上不是“0”,就是“1”。但是can协议并没有具体定义这两种状态的具体实现方式。
10)故障界定(confinement) can节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。
(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。
2 can总线协议内容
can总线的物理层是将ecu连接至总线的驱动电路。ecu的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。bosch can基本上没有对物理层进行定义,但基于can的iso标准对物理层进行了定义。设计一个can系统时,物理层具有很大的选择余地,但必须保证can协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持can总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,can节点的构成如图7-8所示。在can中,物理层从结构上可分为三层:分别是物理层信令(physical layer signaling,pls)、物理介质附件(physical mediaattachment,pma)层和介质从属接口(media dependent:inter-face,mdi)层。其中pls连同数据链路层功能由can控制器完成,pma层功能由can收发器完成,mdi层定义了电缆和连接器的特性。目前也有支持can的微处理器内部集成了can控制器和收发器电路,如mc68hc908gzl6。pma和mdi两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是isoll898定义的高速can发送/接收器标准。理论上,can总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。
can的数据链路层是其核心内容,其中逻辑链路控制(logical link control,llc)完成过滤、过载通知和管理恢复等功能,媒体访问控制(medium aeeess control,mac)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。
3 can总线的报文传输和结构
1.报文类型
在can2.0b的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有ll位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如can1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是can2.0b协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文
传输时都有以下四种不同类型的帧:
(1)数据帧(data ) 数据帧将数据从发送器传输到接收器。
(2)远程帧(remote ) 总线单元发出远程帧,请求发送具有同一标识符的数据帧。
(3)错误帧(error ) 任何单元检测到总线错误就发出错误帧。
(4)过载帧(overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延时。
数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展帧两种格式。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=58514&Name=movingtek
深圳市菲益科电子科技有限公司,是一家专注于汽车总线开发与测试工具和解决方案供应商,专业为客户提供世界一流的产品和技术,并自主研发生产CAN、LIN和K-Line总线通讯接口,产品功能涵盖:汽车总线协议开发和测试,ECU节点和网络仿真,ECU自动化测试,ECU故障诊断,总线数据采集和记录,ECU标定(XCP/CCP协议标定)等方面,与国际上多家知名企业形成合作关系,如美国英特佩斯、德国埃贝赫、德国Vector、德国ETAS,共同为国内外的客户提供最先进的产品和服务。
1088
movingtek
文章数:-9
年度积分:50
历史总积分:1088
注册时间:2008/8/5
发站内信
发表于:2008/8/11 14:51:00
#1楼
嘿嘿 初学者的必备知识
深圳市菲益科电子科技有限公司,是一家专注于汽车总线开发与测试工具和解决方案供应商,专业为客户提供世界一流的产品和技术,并自主研发生产CAN、LIN和K-Line总线通讯接口,产品功能涵盖:汽车总线协议开发和测试,ECU节点和网络仿真,ECU自动化测试,ECU故障诊断,总线数据采集和记录,ECU标定(XCP/CCP协议标定)等方面,与国际上多家知名企业形成合作关系,如美国英特佩斯、德国埃贝赫、德国Vector、德国ETAS,共同为国内外的客户提供最先进的产品和服务。
1088
movingtek
文章数:-9
年度积分:50
历史总积分:1088
注册时间:2008/8/5
发站内信
发表于:2008/8/11 14:52:00
#2楼
嘿嘿 初学者的必备知识
深圳市菲益科电子科技有限公司,是一家专注于汽车总线开发与测试工具和解决方案供应商,专业为客户提供世界一流的产品和技术,并自主研发生产CAN、LIN和K-Line总线通讯接口,产品功能涵盖:汽车总线协议开发和测试,ECU节点和网络仿真,ECU自动化测试,ECU故障诊断,总线数据采集和记录,ECU标定(XCP/CCP协议标定)等方面,与国际上多家知名企业形成合作关系,如美国英特佩斯、德国埃贝赫、德国Vector、德国ETAS,共同为国内外的客户提供最先进的产品和服务。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002