浅谈基于单片机的CAN总线通讯应用设计.docVIP

浅谈基于单片机的CAN总线通讯应用设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈基于单片机的CAN总线通讯应用设计.doc

浅谈基于单片机的CAN总线通讯应用设计   【摘要】目前,CAN的高性能与可靠性已经获得了普遍认可,并且在工业自动化、医疗设备、船舶等方面具有广泛的应用。现场总线是目前自动化技术领域发展的重点,其为数据在各节点之间的传输提供了技术支撑。本文介绍了CAN总线的特点,详述了通讯设计方案,及分析了基于单片机的CAN总线通讯应用设计过程中需要解决的问题。   【关键词】单片机;CAN总线;通讯   CAN(Controller Area Network)即控制器局域网,属于一种低成本和易开发的现场总线,它可对分布式控制与实时控制有效支撑,并且采用了优先级的协议仲裁总线。CAN总线允许同时发送多个站点,在确保实时、高效处理信息的同时,促使CAN总线网络组成多主从结构系统,进一步保证了系统的稳定性。   一、CAN总线特点   (一)物理层   CAN对没有定义的物理层内容进行了规范,可以联系现实情况实行优化与选择。例如双绞线,一般采用的方法是差分传输,当两条线都是2.5V电压时,差分电压数值与0V非常接近,总线呈现隐性,表示为逻辑1;当一条线是3.5V电压,另一条线是1.5V电压时,差分电压数值为2V,总线为显性,表示为逻辑0。CAN控制器和CAN驱动收发器共同实现了总线的节点通信。例如使用的驱动收发器是PCA82C250,可以达到110个节点。传输速率为5kb/s时可以产生10km的通讯距离,传输速率为1Mb/s时可以产生40m的通讯距离。   (二)链路层   2.0A和2.0B分别是CAN两个规范标准,其中CAN1.2的报文格式被2.0采用,在CAN规范的2.0B中称这一格式为报文的标准格式,报文的扩展格式在2.0B中与之对应,标准格式和扩展格式在2.0B中能够兼容。报文标准格式的标识符可以达到2032种,报文标识符的扩展格式基本不会受到限制。   (三)帧格式   CAN规范定义了不同类型的4种帧:   数据帧:自发送器数据帧向各个接收器传送数据;   远程帧:远程帧发送的数据帧为相同的标识符;   出错帧:任何单元检验到总线错误立即发送出错帧;   超载帧:利用超载帧在先行或者后续的数据帧和远程帧间提供一段附加延时。   (四)可靠性   CAN总线规定了5种错误类型:位错误、填充错误、CRC错误、格式错误和应答错误;采用的措施包括:检测发送、循环冗余校验、填充位和检查报文格式等,错误节点被检测到会回发出错帧,没有检测出错误的概率低于4.7×10-11。由于界限的设定,能够自行关闭有故障的节点,使之与总线脱离。   (五)同步   在总线上传输的数据包含了CAN总线同步信息,为隐性至显性总线数值跳变提供了同步信息。假如出现多个连续且相同的总线数值,CAN应用了填充规则,也就是在即将发送的比特流中,发送器检测到了相同数值的5个连续位,在实际发送的比特流中自动插入一个反码位。   二、通讯设计方案   (一)硬件设计方案   单片机CAN通讯具体包含:CPU、CAN控制器和串行收发器。   在设计方案中选择C8050F02X系列CPU,选择PHIPS公司的SJA1000CAN总线独立控制器和CPU实施总线连接,之后与串行收发器形成CAN接收总线串行通讯。在这一设计方案中采用了3.3V的CPU工作电压,采用5V的SJA1000工作电压,虽然能够直接连接2种芯片的数据总线与控制总线,但是假如外挂器件的位置在总线上,应当隔离处理总线。   SJA1000CAN控制器具有独立特点,它替代了PHIPS半导体PCA82C200CAN控制器产品的同时,添加了一种新工作模式,这一模式可以对CAN2.0B协议有效支持,能够对标准帧与2种扩展帧结构数据流有效收发。   引脚与串行收发器直接连接并且利用一个电阻连接总线,电阻发挥了限流功能。两个小电容在CANH、CANL与地之间连接,能够将总线上的高频干扰有效滤除并且发挥防电磁辐射作用。   (二)软件方案设计   初始阶段的CPU单元需要利用数据总线与控制总线配置CAN接口控制器,将待发送数据在处理数据阶段写入SJA1000,利用CAN总线进行发送,通过中断方式对CAN数据进行接收后实施处理。CAN报文传输包含有不同类型的4种帧。其中数据帧与远程帧可以采用标准帧和扩展帧,它们通过一个帧间空间分隔前面的帧。   假如在实现通讯过程后直接使用CAN总线,仅需要对CAN寄存器重点配置与操作进行掌握。利用地址与数据总线CIP-51对CAN控制器中的CAN模式寄存器、命令寄存器、状态寄存器等进行访问。   当模式寄存器MOD位置为1时初始化CAN软件,这时该节点的全部接收工作是停止接收发送报文。初始化过程中利用定时寄存器设定准确的波特率与位时序,以

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档