CAN总线及其应用(精)

上传人:go****e 文档编号:134362567 上传时间:2020-06-04 格式:PPT 页数:38 大小:1.02MB
返回 下载 相关 举报
CAN总线及其应用(精)_第1页
第1页 / 共38页
CAN总线及其应用(精)_第2页
第2页 / 共38页
CAN总线及其应用(精)_第3页
第3页 / 共38页
CAN总线及其应用(精)_第4页
第4页 / 共38页
CAN总线及其应用(精)_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《CAN总线及其应用(精)》由会员分享,可在线阅读,更多相关《CAN总线及其应用(精)(38页珍藏版)》请在金锄头文库上搜索。

1、CAN总线及其应用 CAN基本知识 CAN 全称为 ControllerAreaNetwork 即控制器局域网 是国际上应用最广泛的现场总线之一 最初 CAN被设计作为汽车环境中的微控制器通讯 在车载各电子控制装置ECU之间交换信息 形成汽车电子控制网络 比如 发动机管理系统 变速箱控制器 仪表装备 电子主干系统中 均嵌入CAN控制装置 CAN是一种多主方式的串行通讯总线 基本设计规范要求有高的位速率 高抗电磁干扰性 而且能够检测出产生的任何错误 当信号传输距离达到10Km时 CAN仍可提供高达50Kbit s的数据传输速率 由于CAN总线具有很高的实时性能 因此 CAN已经在汽车工业 航空工

2、业 工业控制 安全防护等领域中得到了广泛的应用 一个由CAN总线构成的单一网络中 理论上可以挂接无数个节点 实际应用中 节点数目受网络硬件的电气特性所限制 例如 当使用PhilipsP82C250作为CAN收发器时 同一网络中允许挂接110个节点 CAN可提供高达1Mbit s的数据传输速率 这使实时控制变得非常容易 另外 硬件的错误检定特性也增强了CAN的抗电磁干扰能力 CAN有哪些特性 CAN具有十分优越的特点 这些特性包括 低成本 极高的总线利用率 很远的数据传输距离 长达10Km 高速的数据传输速率 高达1Mbit s 可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制 发

3、送的信息遭到破坏后 可自动重发 节点在错误严重的情况下具有自动退出总线的功能 报文不包含源地址或目标地址 仅用标志符来指示功能信息 优先级信息 报文传输由以下4个不同的帧类型所表示和控制 数据帧 数据帧携带数据从发送器至接收器 远程帧 总线单元发出远程帧 请求发送具有同一识别符的数据帧 错误帧 任何单元检测到一总线错误就发出错误帧 过载帧 过载帧用以在先行的和后续的数据帧 或远程帧 之间提供一附加的延时 什么是标准格式CAN和扩展格式CAN 标准CAN的标志符长度是11位 而扩展格式CAN的标志符长度可达29位 CAN协议的2 0A版本规定CAN控制器必须有一个11位的标志符 同时 在2 0B

4、版本中规定 CAN控制器的标志符长度可以是11位或29位 遵循CAN2 0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文 如果禁止CAN2 0B 则CAN控制器只能发送和接收11位标识符的标准格式报文 而忽略扩展格式的报文结构 但不会出现错误 CAN2 0B协议帧格式 什么是CSMA CD CSMA CD是 载波侦听多路访问 冲突检测 CarrierSenseMultipleAccesswithCollisionDetect 的缩写 利用CSMA访问总线 可对总线上信号进行检测 只有当总线处于空闲状态时 才允许发送 利用这种方法 可以允许多个节点挂接到

5、同一网络上 当检测到一个冲突位时 所有节点重新回到 监听 总线状态 直到该冲突时间过后 才开始发送 在总线超载的情况下 这种技术可能会造成发送信号经过许多延迟 为了避免发送时延 可利用CSMA CD方式访问总线 当总线上有两个节点同时进行发送时 必须通过 无损的逐位仲裁 方法来使有最高优先权的的报文优先发送 在CAN总线上发送的每一条报文都具有唯一的一个11位或29位数字的ID CAN总线状态取决于二进制数 0 而不是 1 所以ID号越小 则该报文拥有越高的优先权 因此一个为全 0 标志符的报文具有总线上的最高级优先权 可用另外的方法来解释 在消息冲突的位置 第一个节点发送0而另外的节点发送1

6、 那么发送0的节点将取得总线的控制权 并且能够成功的发送出它的信息 CAN控制器SJA1000 SJA1000独立的CAN控制器有2个不同的操作模式 BasicCAN模式和PCA82C200兼容 PeliCAN模式BasicCAN模式是上电后默认的操作模式 PeliCAN模式是新的操作模式它能够处理所有CAN2 0B规范的帧类型而且它还提供一些增强功能使SJA1000能应用于更宽的领域 SJA1000的主要新功能 标准帧和扩展帧信息的接收和传送接收FIFO64字节在标准和扩展格式中都有单 双验收滤波器 含屏蔽和代码寄存器 读 写访问的错误计数器可编程的错误限制报警最近一次的误码寄存器对每一个C

7、AN总线错误的错误中断仲裁丢失中断以及详细的位位置一次性发送当错误或仲裁丢失时不重发只听模式CAN总线监听无应答无错误标志支持热插无干扰软件驱动位速检测硬件禁止CLKOUT输出 根据CAN规范CAN核心模块控制CAN帧的发送和接收接口管理逻辑负责连接外部主控制器 该控制器能可以是微型控制器或任何其他器件 经过SJA1000复用的地址 数据总线访问寄存器和控制读 写选通信号都在这里处理 SJA1000的发送缓冲器能够存储一个完整的报文 扩展的或标准的 当主控制器初始化发送 接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文 当收到一个报文时 CAN核心模块将串行位流转换成用于验收滤波器的并行

8、数据 通过这个可编程的滤波器SJA1000能确定主控制器要接收哪些报文 所有收到的报文由验收滤波器验收并存储在接收FIFO 储存报文的多少由工作模式决定 而最多能存储32个报文 要在CAN总线上发送的数据被载入SJA1000的存储区这个存储区叫发送缓冲器 从CAN总线上收到的数据也存储在SJA1000的存储区 这个存储区叫接收缓冲器 这些缓冲器包括2 3或5个字节的标识符和帧信息取 决于模式和帧类型 而最多可以包含8个数据字节 BasicCAN模式 缓冲器长10个字节 2个标识符字节 最多8个数据字节PeliCAN模式这些缓冲器是13个字节 1字节帧信息 2个或4个标识符字节标准帧或扩展帧 最

9、多8个数据字节 BasicCAN模式接收缓冲器 PeliCAN模式接收缓冲器 独立的CAN控制器SJA1000装配了一个多功能的验收滤波器 该滤波器允许自动检查标识符和数据字节 使用这些有效的滤波方法可以防止对于某个节点无效的报文或报文组存储在接收缓冲器里 因此降低了主控制器的处理负载 滤波器由验收码寄存器和屏蔽寄存器根据给定算法来控制 接收到的数据会和验收代码寄存器中的值进行逐位比较 接收屏蔽寄存器定义与比较相关的位的位置 0 相关 1 不相关 只有收到报文的相应的位与验收代码寄存器相应的位相同报文才会被接收 BasicCAN模式里的验收滤波 SJA1000在这个模式 滤波器是由两个8位寄存

10、器 验收码寄存器 ACR 和验收屏蔽寄存器 AMR 控制 CAN报文标识符的高8位和这些寄存器里值相比较 因此可以定义若干组的标识符为被任何一个节点接收 在验收屏蔽寄存器里是 1 的位置上 标识符相应的位可以是任何值 这对于三个最低位也一样 因此在这个例子里可以接收64个不同的标识符 标识符其他的位必须等于验收代码寄存器相应位的值 PeliCAN模式里的验收滤波 PeliCAN模式的验收滤波已被扩展4个8位的验收码寄存器 ACR0 ACR1 ACR2和ACR3 和验收屏蔽寄存器 AMR0 AMR1 AMR2和AMR3 可以用多种方法滤波报文 这些寄存器可用于控制一个长的滤波器或两个短的滤波器

11、报文的哪些位用于验收滤波取决于收到的 帧标准帧或扩展帧 和选择的滤波器模式 单滤波器或双滤波器 标准帧的验收滤波可以包括RTR位甚至数据字节 对于不需要经过验收滤波的报文位 例如报文组被定义为接受 验收屏蔽寄存器必须相应的位位置上置1 如果报文不包括数据字节 例如是一个远程帧或者数据长度码为零 但是验收滤波包括数据字节 则如果标识符直到RTR位都有效的话报文会被接收 单滤波器配置 这种滤波器配置可以定义一个长滤波器 4字节 滤波器字节和信息字节之间位的对应关系取决于当前接收帧格式 标准帧 如果接收的是标准帧格式的信息 在验收滤波中只使用前两个数据字节来存放包括RTR位的完整的识别码 如果由于置

12、位RTR位而导致没有数据字节 或因为设置相应的数据长度代码而没有或只有一个数据字节 信息也会被接收的 注意AMR1和ACR1的低四位是不用的 为了和将来的产品兼容这些位可通过设置AMR1 3 AMR1 2 AMR1 4和AMR1 0为1而定为 不影响 扩展帧 如果接收的信息是扩展帧格式的 包括RTR位的全部识别码将被接受过滤使用 必须注意的是AMR3的最低两位和ACR3是不用的 为了和将来的产品兼容这些位应该通过置位AMR3 1和AMR3 0来定为不影响 双滤波器的配置 这种配置可以定义两个短滤波器 一条接收的信息要和两个滤波器比较来决定是否放入接收缓冲器中 至少有一个滤波器发出接受信号 接收

13、的信息才有效 滤波器字节和信息字节之间位的对应关系取决于当前接收的帧格式 标准帧 如果接收的是标准帧信息 被定义的两个滤波器是不一样的 第一个滤波器比较包括RTR位的整个标准识别码和信息的第一个数据字节 第二个滤波器只比较包括RTR位的整个标准识别码 为了成功接收信息 所有单个位的比较时应至少有一个滤波器表示接受 RTR位置位或数据长度代码是0时表示没有数据字节存在 无论怎样 只要从开始到RTR位的部分都被表示接收 信息就可以通过滤波器1 如果没有向滤波器请求数据字节过滤 AMR1和AMR3的低四位必须被置为1 不影响 当使用包括RTR位的整个标准识别码时 两个滤波器都同样工作 扩展帧 如果接

14、收到扩展帧信息 定义的两个滤波器是相同的 两个滤波器都只比较扩展识别码的前两个字节 为了能成功接收信息 所有单个位的比较时至少有一个滤波器表示接收 PCI 9820非智能两通道CAN接口卡 PCI 9820非智能两通道CAN接口卡是具有高性能价格比的CAN总线通讯接口卡 该产品采用标准PCI接口能让计算机方便的连接到CAN总线上实现CAN2 0B协议兼容CAN2 0A的连接通讯 PCI 9820接口卡配备两通道逻辑独立CAN接口 使得在开发应用中更显方便和灵活 每个通道光电隔离 保护计算机机避免地环流的损坏 增强系统在恶劣环境中使用的可靠性 设备参数 计算机接口 32位33MPCI数据总线即插即用 CAN控制器 PHILIPSSJA1000 CAN收发器 PHILIPSPCA82C250 数据传送速率 CAN总线速率可编程范围在5Kbps1Mbps内 CAN通讯接口 DB9针型插座符合DeviceNet和CANopen标准 光电隔离耐压 1000VDC CAN协议 CAN2 0B规范兼容CAN2 0A 建议最高帧流量 单通道1000帧 秒 数据缓冲区大小 软件发送缓冲大小16帧 软件接收缓冲大小100000帧 温度 0 70 物理尺寸 标准PCI短卡130mm 90mm

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号