现场总线的原理及应用1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 CAN技术规范的介绍
信息路由:报文的寻址内容由标识符(Identifier)指定.标 识符不指明报文的目的地址,但是这个数据的特定含义 使得网络上的所有节点可以通过报文滤波来判断该数 据是否发给它们的.标识符实际上是报文(帧)的名字. 多点传送:由于报文滤波的作用,任何节点都可以接收同 一报文并对此作出相应. 错误标定和恢复时间:任何检测出错误的节点都会标志 出损坏的报文.此报文会失效并自动重新传送.如果不再 出现错误,那么从检测到错误到下一个报文的传送开始 为止,恢复时间最多为31个位时间. 故障界定:CAN节点能把永久性的故障和短暂的干扰区 别开来.永久故障的节点会被关闭.
第一章 计算机网络与现场总线
1.3.2 CAN总线的特点 CAN为多主方式工作 有优先级,ID号(标识符)小的报文最先得到发送 CAN采用CSMA/CD技术和二进制倒计数法获取总线控制 权,避免总线冲突(逻辑与). 通过对报文标识符的滤波即可实现点对点,一点对多点 及全局广播. CAN的最远通讯距离可达10公里(5kbps);通讯速率最高 可达1Mbps(40m) 采用短帧结构,每帧最多8字节,实时性好,出错率低
VCAN-H t
第二章 CAN技术规范的介绍
2.2 基本概念 多主机:总线空闲时,任何单元都可以开始发送报文.具 有较高优先权的单元可以获得总线访问权. 仲裁:如果两个或两个以上的单元同时开始传送报文, 发生总线访问冲突.通过使用标识符的逐位仲裁可以解 决这个冲突.仲裁机制保证报文和时间均不受损失.在 仲裁期间,每一个发送器都对发送位的电平与被监控的 总线电平进行比较.如果电平相同,则这个单元可以继 续发送.如果发送的是一隐性电平而监测到的是一显性 电平,那么这个单元就失去了仲裁,必须退出发送状态. 远程数据请求:通过发送远程帧,需要数据的节点可以 请求另一节点发送相应的数据帧.
第三章 CAN控制器SJA1000
3.2 独立CAN芯片SJA1000概述 支持CAN2.0A和CAN2.0B两种协议/28个引脚 24MHz的时钟和最高1Mbps的数据传输率 有两种工作模式: 默认模式CAN2.0A(BasicCAN)/11位标识符 扩展模式CAN2.0B(PeliCAN)/29位标识符 每种工作模式又有两种状态:运行状态和复位状态,在 不同的状态下对寄存器的访问结果不一样. 可与不同的微处理器接口。对于微处理器来说,SJA1000 是一个类似于存储器编址的I/O器件,可以像访问RAM一 样访问SJA1000片内控制寄存器和数据寄存器。
第二章 CAN技术规范的介绍
2.3.2.2 远程帧 作为数据接收的站,通过发送远程帧可以启动其资源节点 传送它们各自的数据(类似于485主从结构).远程帧有6个 不同的位域组成:帧起始/仲裁域/控制域/CRC域/应答域/ 帧结尾.仲裁域的RTR位决定了所发送的帧是数据帧(显性 RTR位)还是远程帧(隐性RTR位). 2.3.2.3 错误帧(对用户透明) 2.3.2.4 过载帧(对用户透明)
第二章 CAN技术规范的介绍
同步段:用于同步总线上不同的节点,这一段内要有一个 跳变沿. 传播段:用于补偿总线上的传输时间延迟. 相位缓冲段1/相位缓冲段2:这两个段可以通过重新同步 来加长或缩短. 采样点:采样点为读取总线电平并转换为对应值的一个 时间点.采样点位于相位缓冲段1的结尾. 为了检测总线上的电平,借此判断有无冲突/错误发生, 采样时刻点应该随着总线长度的增加向后推移.这可以 解释为什么CAN总线的最高传输率不超过1Mbps.
CAN收发器 82C250
TXD CANH
RXD
CANL
复 位 电 路
XTAL1 RST
SJA1000的典型应用接口电路
第三章 CAN控制器SJA1000
3.6.3 BasicCAN (执行CAN2.0A协议)寄存器 共有32个寄存器,详见表3.2 10个(字节)控制寄存器(地址:0-9) 10个(字节)发送缓冲器(地址10-19) 10个(字节)接收缓冲器(地址20-29) 1个(字节)时钟分频器(地址31),1个备用(地址30) 通过对控制寄存器的初始化来配置通讯参数,控制总线 上的通讯(只有在复位状态下才可能访问控制寄存器). 应发送的报文必须写入发送缓冲器,通过设定命令寄存 器中的发送请求位启动发送. 微控制器从接收缓冲器中读取接收的报文,以此释放接 收缓冲器以供下一次使用,否则会引起溢出.
第二章 CAN技术规范的介绍
2.4 报文滤波 验收码寄存器:与标识符一致的帧通过验收 验收屏蔽寄存器:为了多标识符接受,可用验收屏蔽寄 存器将标识符的某些位设定为不相关(高为不相关). 2.6 编码 帧的如下部分:帧起始/仲裁域/控制域/数据域/CRC序 列,均通过位填充的方法编码.无论何时,发送器只要检 测到位流里有5个连续相同值的位,便自动在位流里插 入一个反码位.
第一章 计算机网络与现场总线
CC-Link 日本三菱 物理层使用485 1.3 CAN总线 1.3.1 CAN的发展历程 1986年德国的Bosch公司推出了CAN,称之为汽车串行控制局 域网(Automotive Serial Controller Area Networks) 1987年Intel推出第一块CAN芯片,其后Philips也推出了CAN 芯片82C200 现在,几乎每一辆欧洲生产的轿车上都装配有CAN网络系统, 已经扩展到了其他应用领域,包括纺织机械. 90年代美国在CAN的基础上增加了高层协议形成DeviceNet 同时欧洲则在CAN的基础上增加高层协议形成CANOpen
第一章 计算机网络与现场总线
1.3.3 CAN的位数值表示 显性位0(Dominant主导)和隐性位1(Recessive退让) 信号以VCAN-H和VCAN-L之间的差分电压Vdiff表示 当总线上同时发送显性和隐性位时,其结果是显性(0和 1与的结果). v VCAN-L
隐性位1 显性位0 隐性位1
第一章 计算机网络与现场总线
1.2.1 什么是现场总线 生产底层(生产现场)的总线型拓扑网络. 1.2.3 现场总线技术 信息化社会的产物 工业控制与计算机网络的结合 属于总线型局域网 要求所有入网的设备有智能有通讯能力 传输的信息短小,要求实时性强,可靠性高 集嵌入式系统/控制/计算机/数字通讯/网络为一体的 综合技术
第三章 CAN控制器SJA1000
验收代码位(AC.7-AC.0)和报文标识符的高8位 (ID.10-ID.3)必须相等,而这些位被验收屏蔽位 (AM.7-AM.0)的相应位屏蔽.AM.X=1表示“无关”; AM.X=0表示“相关”,“相关”的位必须相等. 总线时序寄存器0:设定波特率和同步跳转宽度 总线时序寄存器1:设定相位缓冲段1、2的时间单位 数及采样次数(1次或3次) 输出控制寄存器: 设定 四种输出模式:正常/时钟/双相/测试 四种输出引脚配置:悬空/下拉/上拉/推挽 时钟分频寄存器:
第三章 CAN控制器SJA1000
3.1 CAN控制器的作用 在一块可编程芯片上借逻辑电路的组合来实现CAN物 理层/数据链路层协议. 通过对它的编程,CPU可以设置它的工作方式,控制它的 工作状态,进行数据的发送和接收,把应用层建立在它的 基础上. 有两种类型,一种是独立的,一种是和微处理器(51系列 /96系列/DSP等)做在一起的. 独立的CAN控制器使用上比较灵活,可以和多种单片机/ 微处理器接口. 做在一起的CAN控制器使电路设计紧凑/简化,效率提高.
第二章 CAN技术规范的介绍
2.10 位定时要求 可以把位时间划分为:同步段/传播段/相位缓冲段1/相 位缓冲段2,如图例所示
采样点 同步段 传播段 相位缓冲段1 相位缓冲段2
1位时间 10个时间单元
同步段为一个时间单元,传播段为1-8个时间单元,相位 缓冲段1为1-8个时间单元,相位缓冲段2为?,一个位时间可 以编程为8-25个时间单元.
80C51
P0。0 P0。1 P0。2 P0。3 P0。4 P0。5 P0。பைடு நூலகம் P0。7 P2。7 ALE RD WR INT0
CAN控制器 SJA1000
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 CS ALE RD WR INT CLKOUT RST XTAL2 XTAL1 TX0 TX1 RX0 RX1
第二章 CAN技术规范的介绍
2.7 错误处理 有5种错误: 位错误:发送与检测不一致 填充错误:指定区域出现连续6个相同的位 CRC错误 格式错误 应答错误:在应答间隙检测到的位不为显性 错误信号的发出:检测到错误的站点通过在错误帧中发送 错误标志通知其它站点.
第二章 CAN技术规范的介绍
2.8 故障界定 一个单元的故障状态为以下三种之一: 故障激活(Error Active):有故障,但不严重(故障计数 器的值小于128),仍处于激活状态,能发能收. 故障认可(Error Pasitive):有故障,而且严重(故障计 数器的值大于128但小于256),传送挂起 (暂停)或者进 入只听模式(只收不发). 总线关闭(Bus Off):故障十分严重(故障计数器的值大 于256),节点关闭. 每次检测到错误时,视故障大小故障计数器的值加1或 加8;每次正确传送后,故障计数器减1,动态变化.
第三章 CAN控制器SJA1000
十个控制寄存器是:控制/命令/状态/中断/验收代码/验收 屏蔽/总线时序0/总线时序1/输出控制 注意运行状态和复位状态的区别 注意寄存器的地址0-31,只有8位地址线的低5位参与 译码,考虑到片选CS接P2.7,不难写出它们的访问地址 (比如7F00-7F1FH) 控制/状态寄存器地址:7F00-7F09H 发送缓冲器地址:7F10-7F19H 接受缓冲器地址:7F20-7F29H 验收代码寄存器(ACR)/验收屏蔽寄存器(AMR):满足下 列两等式之一则报文被接受 (ID.10-ID.3)=(AC.7-AC.0)或(AM.7-AM.0)=11111111
第一章 计算机网络与现场总线
CAN的每帧都有CRC校验和其他检错措施,具有极好的检 错效果. CAN节点在严重出错的情况下具有自动关闭输出功能, 以使总线上的其他节点的工作不受影响. 具有较高的性价比.它结构简单,器件容易购置,每个节 点的价格较低,开发技术容易掌握,能充分利用现有的 单片机开发工具. 推广程度较高,51系列/96系列单片机的某些类型和DSP 芯片上集成有CAN接口电路.
第二章 CAN技术规范的介绍
2.3.2.1 数据帧 数据帧有以下7个不同的位域组成:帧起始/仲裁域/控制 域/数据域/CRC域/应答域/帧结尾. 帧起始:一个显性位 仲裁域:11位或者29位标识符(Identifier名子)ID 控制域:DLC指明数据长度,RTR指明数据帧或是远程帧 数据域:0-8个字节 CRC域:循环冗余码 应答域:应答域长度为2位.第一位为应答间隙,第二位 为应答界定符.在应答域里发送方发送两个隐性位,所 有接受到匹配CRC的节点会在应答间隙期间用一显性位 写在发送器隐性位上来作回应. 帧结尾:7个隐性位(配合使用位填充技术加以区别)
第二章 CAN技术规范的介绍
2.3 报文传输 2.3.1 帧格式:有两种不同的帧格式,含有11位标识符的 帧称之为标准帧,而含有29位标识符的帧称之为扩展帧. 2.3.2 帧类型: 数据帧:(用户自己组织) 远程帧:某一节点发出远程帧,请求另一节点发送具有 同一标识符的数据帧.(用户自己组织) 错误帧:任何单元检测到总线错误就发出错误帧.(自动) 过载帧:过载帧用在相邻数据帧或者远程帧之间提供附 加的延时.(自动)
第一章 计算机网络与现场总线
1.2.4 现场总线简介: Profibus 现场总线:1 、 2 、7层, ,德国Siemens, 制造业,20%的市场占有率,物理层使用RS485 LonWorks现场总线:1 、 2 、 3 、 4 、 5 、 6 、 7层,美国,楼宇自动化,市场发展快,能在电源线上传 输数字信号. CAN:1 、2层,德国Bosh,智能交通,无高层协议, 使用灵活,受欢迎 HART:1 、 2 、 7层,美国,智能仪表,过渡产品 (在模拟信号线上传输数字信号) DeviceNet:1 、2层使用CAN,增加第7层,美国 Rockwell,20%的市场占有率