实用资料基于at90can128单片机的高炉烧结配料系统设计——can总线通信部分内容摘要:

CAN是多主发送的网络结构,从CAN的角度无所谓主从节点的概念,但是在有些具体的应用中,为了系统的可靠性及整体设计的考虑,还是分主节点和从节点的。CAN总线系统的节点:(1)节点的概念:一般指挂在CAN总线上的传感部件、执行部件或控制器单元,CAN总线是通过允许节点间对等的传播数据来实现网络通信的(单向或双向)。(2)节点的组成:由于受总线收发器物理信号驱动能力的限制,在一个CAN总线网络上,最多可挂接110个节点设备。CAN总线系统的拓扑结构:(1)基于CAN的拓扑概念:网络拓扑结构设计是构建计算机网络的第一步,也是实现各种网络协议的基础,它对网络的性能、可靠性和通信费用等都有很大影响。CAN网络中也存在着各种拓扑结构。(2)常用的CAN总线系统拓扑结构:一般有4种常见的拓扑结构——总线结构、环形结构、星形结构、网状结构。 CAN总线网络结构为了满足现代控制系统既要集中管理又要分散实时控制的要求,主要由上位机监控站和若干个现场CAN智能测控节点构成,通过相应的网关还可与其他类型网络进行通信。 CAN总线的系统总体结构 CAN总线的主要特点。,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。,CAN上的节点分成不同的优先级,可满足不同的实时要求。。、一点对多点及全局广播等方式传送接收数据。(速率5kbps以下)。 通信速率最高可达1Mbps(此时通信距离最长为40m)。,目前可达110个。,传输时间短,受干扰概率低,保证了数据出错率极低。,具有极好的检错效果。、同轴电缆或光纤,选择灵活。,具有自动关闭输出功能,以使总线上其他节点的操作不受影响。。 CAN总线的位数值表示 CAN中的总线数值为两种互补逻辑数值:“显性”或“隐性”。“显性”( Dominant)数值表示逻辑“0”,而“隐性”( Recessive)表示逻辑“1”。“显性”和“隐性”位同时发送时,最后总线数值将为“显性”。 CAN总线的通信距离CAN总线上任意两个节点之间的最大传输距离与其位速率有关,。 CAN位数率与传输距离 CAN总线的分层结构CAN通讯协议主要描述设备之间的信息传递方式。CAN层的定义与开放系统互连模型OSI一致。CAN的规范定义了模型的最下面两层:数据链路层和物理层,其中数据链路层又划分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC),应用层协议可以由CAN用户定义成适合特别工业领域的任何方案,如已在工业控制和制造业领域得到广泛应用的协议标准DeviceNet,以及在汽车工业中被大量使用的CANOpen协议等。。 CAN总线的分层结构 CAN报文的帧结构 CAN报文的帧类型数据帧用于传输数据,远程帧用于请求数据,超载帧用于扩展帧序列的延迟时间,而当局部检测出错条件后产生一个全局信号出错帧。数据帧由7个不同的位场组成,即帧起始标志位、仲裁场、控制场、数据场、CRC检查场、ACK应答场和帧结束标志位。数据长度可为零。。 数据帧结构 ,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,。 标准格式和扩展格式(1)帧起始标志位(SOF)标识着数据帧和远程帧的起始,它以一个比特的显位出现,只有在总线处于空闲状态时,才允许站开始发送,这个状态将结束总线空闲状态(被动状态),表明有某个节点设备开始发送消息,并且所有站都必须同步于首先开始发送的那个站的帧起始前沿。(2)仲裁场(Arbitration Field)由标志符(Identifier)和远程发送请求位(RTR)标志组成,。,标识符的长度为11位,这些位以从高位到低位的顺序发送,其中最高7位不能全为隐位。在数据帧中,RTR位总是设为0,而在远程帧中必须为1。,标准格式和扩展格式的仲裁场的格式不同。在标准格式中,仲裁场由11位标识符和远程发送请求位TRT组成,~,而在扩展格式中,仲裁场由29位标识符、替代远程请求SRR位、标志位和远程发送请求位组成。~。IDE位对于扩展格式属于仲裁场,对于标准格式属于控制场。IDE在标准格式中以显性电平发送,而在扩展格式中以隐性电平发送。 仲裁场组成替代远程请求位SRR是一隐性位,它在扩展帧中标准帧的RTR位的位置被发送,因而替代标准帧的RTR位。当标准帧与扩展帧发送冲突时,而扩展帧的基本ID同标准帧的标识符一样时,标准帧优先于扩展帧。(3)控制场包括数据长度码和两个保留位,这两个保留位必须发送显性位。数据长度码为四位,它指出了数据场的字节数目。。 控制场的组成标准格式中控制场包括数据长度代码、IDE位(显性)及保留位r0。 扩展格式中控制场包括数据长度代码、两个保留R1和R0。(4)数据场由数据帧中被发送的数据组成,它可包括08字节,每字节包含8个位。(5)CRC场包括CRC序列,后随CRC界定符。(6)应答场(ACK)位,包括应答间隙和应答界定符。在应答场中,发送器送出两个隐位。一个正确的接收倒有效报文的接收器,在应答间隙,将此信息通过发送一个显位报告给发发送器。所有接收到匹配CRC序列的站,通过在应答间隙内把显位写入发送器的隐位来报告。应答界定符是应答场的第二位,并且必须是隐位,因此,应答间隙被两个隐位包围。(7)帧结束:每个数据帧和远程帧均由7个隐位组成的标志序列界定。远程帧被用来请求总线上某个远程节点发送自己想要接收的某种数据,具有发出这种远地消息能力的节点收到这个远程帧后,就应尽力响应这个远地传送要求。所以对远程帧本身来说,是没有数据域的。没有数据场,所以数据长度代码的数值没有意义。在远程帧中,除了远程帧的RTR位是隐性的,设置成1表示被动状态外,其余部分与数据帧完全相同。。 远程帧组成错误帧由两个场组成,第一场由来自各站的错误标志叠加,第二场为出错界定符。报文传输过程中任何一个节点出错,即于下一位开始发送出错帧,通知发送端停止发送。 出错帧组成超载帧和错误帧一样由两个场组成:超载标志和超载界定符,。当某接收因内部原因要求缓发下一个数据帧或远程帧时,它向总线发出超载帧。超载帧还可以引发另一次超载帧,但以两次为限。 超载帧组成 CAN报文的帧格式有两种不同的帧格式,不同之处为标识符域的长度不同:含有11位标识符的帧为标准帧,含有29位标识符的帧为扩展帧。(1)CAN标准帧信息为11个字节,包括两部分:信息和数据部分。。 注:。第7位(FF)表示帧格式,在标准帧中,FF=0。 第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧。 DLC表示在数据帧时实际的数据长度。、字节3为报文识别码,11位有效。~字节11为数据帧的实际上数据,远程帧时无效。(2)CAN扩展帧信息为13B,包括两部分:信息和数据部分。前5个字节为信息部分,。 注:。第7位(FF)表示帧格式,在标准帧中,FF=1。 第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧。 DLC表示在数据帧时实际的数据长度。~字节5为报文识别码,29位有效。~字节13为数据帧的实际数据,远程帧无效。 CAN总线的扩展应用及其协议介绍 概述CAN 协议是一个非常简单的协议。它只定义了物理层和数据链路层, 本身并不完整, 有些复杂的应用问题需要一个更高层次的协议—应用层协议来实现,比如, CAN 数据帧一次最多只能传送8 字节。 CAN 只提供了非确认的数据传输服务等。CAN的技术特点允许各厂商在CAN 协议的基础上自行开发自己的高层应用协议, 给用户提供了一个面向应用的清晰接口。目前, 许多厂商都根据自己的意图并结合其优势纷纷推出基于CAN 的总线产品, 如DeviceNet (设备网) , CANopen , CAN Kingdom , SDS 等。它们都得到CiA (CAN in Automation) 的支持, 符合ISO11898 标准, 同时又各具特色。 DeviceNetDeviceNet 最初由Rock well 旗下Allen Bradly 公司研制开发, 为PLC 和智能传感器设计。凭借该公司在可编程控制器和变频器等方面的优势, DeviceNet在PLC 与现场设备之间的通信网络中得到广泛应用。DeviceNet 可以说是最好的CAN 协议工业标准, 得到CiA 的支持, 并由ODVA (开放设备网供货商协会)负责它的进一步发展。据世界著名的市场调查公司VDC的“工业分布式远程I/ O 的全球市场和用户需求”研究报告称, 1999 年的市场份额位居世界第二,到2003 年仍将占第三位。DeviceNet 在CAN 协议的基础上加入了自己的应用层协议, 结合了CAN 总线的优点, 同时也满足了更为复杂的要求。涉及的标准有CAN 技术规范210A/B、ISO 11898 标准和DeviceNet 。DeviceNet 采用了CAN 物理层协议中的几种网络运行速率125kbps ( 500m) 、250kbps ( 250m) 、500kbps(100m) , 最多支持64 个节点。DeviceNet 的数据链路层完全遵循CAN 规范的定义, 并通过CAN 控制器芯片实现。DeviceNet 使用数据帧传送数据, 远程帧没有被使用, 超载帧和出错帧则用于例外情况的处理。 应用层协议功能 DeviceNet 定义了两种不同类型的报文, 称作I/ O报文和显式报文。I/ O 报文适用于实时性要求较高的I/ O 端子的信号输出。I/ O 报文通常使用优先级高的连接标识符, 通过点对点或广播方式进行信息交换。连接标识符提供了I/ O 报文的相关信息, 在I/ O 报文利用连接标识符发送之前, 报文的发送和接受设备都必须先进行设定。显式报文则适用于两个设备间多用途的点对点报文传递, 是典型的请求 响应通讯方式, 常用于节点的配置、问题诊断等。显示报文通常使用优先级低的连接标识符, 并且该报文的相关信息包含在显示报文数据帧的数据场中, 包括要执行的服务和相关对象的属性及地址。DeviceNet 为长度大于8字节的报文提供了分段服务。以I/ O 报文为例, I/ O 报文经过分割形成I/ O 报文片段时, 数据场中有一位由报文分割协议使用。而长度小于8 字节的I/ O 报文可以直接加在数据场中一次传送。对于显示报文, 也可以进行分段。分段服务为设备网提供了更多的可扩展性和兼容性, 保证了将来更加复杂、更智能化的设备可以加入到设备网中。DeviceNet 采用了面向对象的技术, 对象模型为管理和实现DeviceNet 产品组件的属性(数据) , 服务(方法或步骤) 和行为提供了一个模板。对象提供了由4 个数字组成的寻址方案。它们分别是节点地址(MAC ID) , 对象类标识符, 实例编号和属性编号。这四级地址与显式报文连接相结合, 将数据从DeviceNet 网络上的一点传送到另一点。设备网面向对象的设计和编址方式使设备网可以在不改变基本的协议和连接模型的基础上无限制的扩展其能力。DeviceNet 在应用层信息中还增加了对设备应用数据的描述, 它通过定义标准的设备模型促进不同厂商设备之间的互操作性。设备描述主要包括设备的各种特定数据, 如设备类型、厂家、节点地址和通信速率等。属于同一设备模型的所有设备都必须支持共同的标识和通讯状态数据。DeviceNet 采用了两种通信机制: 非连接消息管理模式和预定义主/ 从连接模式。前者充分体现了DeviceNet 的开放性, 允许动态配置设备间的连接,但对微处理器的计算能力提出了很高的要求。对于不需要使用这一功能的设备, 则采用后者。预定义主/从连接的连接标识符, 简化了主/ 从结构中I/ O 和配置型数据的传送。 CANOpenCANOpen 是基于CAN 总线系统的网络。它是由CiA 特别兴趣组使用CAL 提供的通讯服务的一个子集进行开发的, CAL 已被CiA 标准化。CANOpen 甚至可以在具有低计算性能和存储能力的设备中使用。CANOpen 应用层和通信行规(CiA DS 301 和CiADSP302) 既支持对设备参数的直接存取, 也支持对时间苛求的过程数据通信。在CANOpen 网络中附加预定义对等通讯能力, 所有的站点是对等的, 数据交换可以直接由站(设备) 之间组织。CANOpen 支持的传输速率为20 kbps、125 kbps、500 kbps 和1 Mbps 。CANOpen 设备结构的大部分与其它总线系统相对应,所以对应用程序开发者来讲很容易使用。对于面向网络的通信对象, 标识符的地址分配是系统设计中的一个主要方面。为了减少组态工作量CANOpen 网络定义了强制性的缺省标识符地址分配表。地址分配表包含一个功能部分和一个模块ID 部分。这些标识符在预操作状态中是可用的, 通过动态的分配还可以修改它们。 CAN总线协议的内容CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态。 当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。在CAN中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Me。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。