CAN总线简介

一、概念
CAN是Controller Area Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。
二、总线拓扑图
CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
这里写图片描述
三、CAN的特点
1、多主机控制
在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权(CSMA/CA方式*1)。
多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。
2、消息的发送
在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
3、系统的柔软性
与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
4、通信速度
根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。
5、远程数据请求
可通过发送“遥控帧” 请求其他单元发送数据。
6、错误检测功能•错误通知功能•错误恢复功能
所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
7、故障封闭
CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
8、连接
CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
四、错误
1、错误的种类
(1)主动错误状态
主动错误状态是可以正常参加总线通信的状态。处于主动错误状态的单元检测出错误时,输出主动错误标志。
(2)被动错误状态
被动错误状态是易引起错误的状态。处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。
处于被动错误状态的单元检测出错误时,输出被动错误标志。另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“延迟传送”(8个位的隐性位)。
(3)总线关闭态
总线关闭态是不能参加总线上通信的状态。信息的接收和发送均被禁止。这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。错误状态和计数值的关
系如表1及图4所示。
这里写图片描述
这里写图片描述
2、错误计数值
发送错误计数值和接收错误计数值根据一定的条件发生变化。错误计数值的变动条件如表2所示。一次数据的接收和发送可能同时满足多个条件。错误计数器在错误标志的第一个位出现的时间点上开始计数。
这里写图片描述

五、CAN协议的基本概念
CAN协议如表3所示涵盖了ISO规定的OSI基本参照模型中的传输层、数据链路层及物理层。
CAN协议中关于ISO/OSI基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图5所示。
这里写图片描述
这里写图片描述

数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN控制器的硬件中执行。
在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但具体地说,信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义*1。这些必须由用户根据系统需求自行确定。

【注】 *1 驱动器及总线的电气特性等在博世公司的CAN规格书中没有定义。但在CAN的ISO标准(ISO11898、ISO11519-2等)中分别定义了总线及驱动器的电气特性等。
六、CAN协议及标准规格
1、ISO标准化的CAN协议
CAN协议经ISO标准化后有ISO11898标准和ISO11519-2标准两种。ISO11898和ISO11519-2标准对于数据链路层的定义相同,但物理层不同。
(1) 关于ISO11898
ISO11898是通信速度为125kbps-1Mbps 的CAN高速通信标准。目前,ISO11898追加新规约后,成为ISO11898-1新标准。
(2) 关于ISO11519
ISO11519是通信速度为125kbps以下的CAN低速通信标准。ISO11519-2是ISO11519-1追加新规约后的版本。
图6表示CAN协议和ISO11898及ISO11519-2标准的范围。
这里写图片描述
2、ISO11898和ISO11519-2的不同点
(1) 物理层的不同点
如图6所示,ISO11898和ISO11519-2在CAN协议中物理层的标准有所不同。CAN协议的物理层如图7所示,定义了三个子层,ISO11898和ISO11519-2在物理层中的PMA层和MDI层有所不同。
这里写图片描述
在物理层(PMA层、MDI层),ISO11898和ISO11519-2的主要不同点如表4所示
这里写图片描述

这里写图片描述
这里写图片描述
(2) 驱动IC的选择
ISO11898与ISO11519-2的物理层的规格不同,每种规格需要有专门的驱动IC与之相对应。ISO11898及ISO11519-2所对应的主要的驱动IC如表5所示。
这里写图片描述
3、CAN和标准规格
不仅是ISO,SAE*1等其它的组织、团体、企业也对CAN协议进行了标准化。基于CAN的各种标准规格如表6所示,如图10所示,面向汽车的通信协议以通信速度为准进行了分类。
这里写图片描述
这里写图片描述
七、CAN协议
1、帧的种类
通信是通过以下5种类型的帧进行的。
• 数据帧
• 遥控帧
• 错误帧
• 过载帧
• 帧间隔
另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符(Identifier: 以下称ID),扩展格式有29个位的ID。
各种帧的用途如表7所示,各种帧的构成如图11~图15所示。
这里写图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。
### 回答1: Android CAN总线是指Android系统上运行的应用程序通过控制器区域网络(Controller Area Network,CAN)总线与外部设备进行通信的一种方式。CAN总线是一种串行通信协议,常用于汽车电子系统等领域。 在Android系统中,通过使用CAN总线,应用程序可以与各种支持CAN总线通信的外设进行数据交换。这些外设包括车载传感器、车载仪表盘、控制器、发动机控制单元、空调系统等。通过CAN总线,应用程序可以通过读取和发送CAN消息来监测和控制这些外设的状态和行为。 为了在Android系统中使用CAN总线,首先需要确保设备具有CAN控制器硬件支持。可以通过使用CAN总线接口卡或通过集成CAN控制器芯片来实现。然后,需要使用适当的驱动程序来与CAN控制器进行通信。 使用Android的CAN总线功能,应用程序可以实现诸如车辆诊断、车载娱乐系统控制、车速监测、油耗计算等各种功能。通过CAN总线,应用程序可以读取车辆传感器的数据,并根据需要发送控制指令给车辆各个系统。这为开发车联网和智能交通系统提供了便利和灵活性。 总之,Android CAN总线为Android应用程序与外部CAN总线设备之间的通信提供了一种标准化的解决方案。它为开发者提供了一种便捷的方式来实现与车辆电子系统的交互,并为车联网和智能交通系统的开发提供了技术支持。 ### 回答2: Android CAN总线是指在Android系统中使用控制器局域网络(Controller Area Network,CAN)总线技术进行通信的一种方式。CAN总线是一种高可靠性、实时性强的串行通信协议,主要用于汽车电子和工业控制领域。 Android作为一种流行的移动操作系统,通过支持CAN总线技术,可以实现与各种汽车电子设备和工业控制设备之间的通信。通过Android系统的CAN总线接口,可以实现对CAN总线的读取和写入操作。这使得开发者可以通过Android设备与车载控制单元进行通信,从而实现诸如车辆状态监控、故障诊断、远程控制等功能。 在Android应用程序开发中,可以使用CAN总线接口库来编写CAN通信相关的代码。通过CAN总线接口库,开发者可以实现CAN消息的发送和接收,以及监听CAN总线上的消息。开发者可以根据具体需求,编写相应的逻辑代码,对CAN总线上的消息进行解析和处理,并根据解析结果进行相应的操作。 在汽车电子领域,Android CAN总线的应用非常广泛。通过与车辆的CAN总线进行通信,可以获取诸如车速、油耗、转速、温度等数据。这些数据可以用于实时监控和驾驶辅助功能的开发。此外,通过CAN总线还可以实现对车辆的远程控制,如远程启动、远程解锁等。 总之,Android CAN总线技术的应用使得Android设备可以与CAN总线上的设备进行通信,极大地拓展了Android系统的应用领域。从汽车电子到工业控制,Android CAN总线为各种应用场景提供了便捷的通信方式,为开发者提供了更多的创新空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值