AVR单片机集成CAN总线控制器分析和应用.docVIP

AVR单片机集成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文档。上传文档
查看更多
AVR单片机集成CAN总线控制器分析和应用

AVR单片机集成CAN总线控制器分析和应用   引言      CAN总线应用中,总线节点是CAN总线的基本组成部分。CAN总线节点有两种典型设计方法,第一种方法采用MCU结合独立CAN控制器组成总线节点:第二种方法采用独立的MCU,这时MCU需要内部集成CAN控制器。由于第二种设计方法所用的器件少,电路关系简单,已得到广泛应用。本文重点分析AVR系列单片机内部集成的CAN控制器及其应用方法。      AT90CAN集成CAN总线控制器分析      AVR内部集成CAN控制器的芯片主要包括AT90CAN32/64/128三种单片机,它们之间的主要区别是存储空间不同。   AT90CAN32/64/128内部集成的CAN总线控制器由CAN通道和邮箱组成,其工作参数通过寄存器设置,工作过程也通过寄存器监控。CAN控制器基本结构如图1所示。      CAN总线控制器组成      CANh通道   CAN通道是CAN控制器用于完成发送和接收的部分。使用CAN控制器时,需要对CAN通道工作模式和位定时进行设置。   (1)CAN通道工作模式   CAN通道有使能、待命以及只听三种工作模式。不同模式下通道、时钟以及寄存器的工作模式不同,详细内容见参考文献[3]。   (2)位定时   CAN通道位定时的概念和基本规定与CAN总线协议一致。AVR~~列单片机中,CAN总线控制器时间份额(TQ即为波特率分频器输出时钟信号的周期。CAN总线位周期由同步段(SYNS)、传播段(PRS)、相位缓冲段l(PHSl)、相位缓冲段2(PHS2)组成,每个时间段的长度都是时间份额(T∞的整数倍。通过位定时设置可以确定各时间段的长度,同时还可以设置重同步跳转宽度(SJw)以及信号采样位置和采样次数。设置时,CAN总线位时间必须设置在8~25个时间份额之间。位定时设置完毕后即可计算总线波特率,计算方法见参考文献。               邮箱及报文对象(MOb)   AT90CAN32/64/128单片机集成的CAN控制器通过邮箱存储报文,并以MOb的形式管理。邮箱包含ls个独立的MOb,每个MOb都可以设置为接收或发送模式。发送时,编号小的MOb优先级高。接收时,只有当CAN控制器接收到报文的标识符与某个MOb预先设置的标识符吻合时,CAN控制器才会将接收到的报文存储在该MOb中,并可以通过中断???方式通知单片机。CAN控制器还可自动对远程帧作出应答,从而减轻CPU的负担。   (1)MOb工作模式   MOb包括禁止、发送、接收、自动应答、帧缓冲器接收等6种不同的工作模式。芯片复位后,MOb并没有默认的工作状态。因此,在使能MOb之前必须对MOb进行配置,配置内容及相应的工作模式如表l所示。   (2)接收滤波器   AT90CAN32/64/128单片机集成的cAN总线控制器接收报文时,首先要完成接收滤波。接收滤波时,需要将接收报文的ID+RTR+RBn+IDE域与接收模式MOb的IDT+TRITAG+TBnTAG+IDE域进行比较,比较过程中要考虑掩码(AVR单片机掩码为“1”时无效,掩码为“0”时有效),结果一致后确认匹配,相应MOb的内容被更新。接收滤波器原理图如图2所示。   (3)MOb页   邮箱中的MOb以页的形式存储和管理。当需要选择邮箱中某个MOb进行操作时,首先要用CANPAGE寄存器完成对MOb的选择,然后才能进行相应操作。   (4)CAN数据缓存区   为了保护MOb寄存器的配置,将寄存器存储在MOb内部,而数据则存储在CAN数据缓存区中。缓存区可看作一个队列,每一个MOb都对应一个缓存区,数据缓存区可通过CAN消息寄存器访问。访问某一个MOb对应的数据缓存区时需要使用数据索引,该索引是指向缓存区中某个数据字节的地址指针。CAN报文数据的第一个字节存储在数据缓存区索引为O的地址。      CAN中断      CAN控制器包括普通中断和特殊中断。普通中断包括接收完成中断、发送完成中断、错误中断f位错误、填充错误、CRC校验错误、形式错误、应答错误)、帧缓冲区满中断以及总线关闭设置中断等。特殊中断主要指CAN定时器超时中断。普通中断由ENIT位使能,特殊中断由ENORVT位使能。CAN总线控制器各种中断的相互关系如图3所示。   当中断发生时,相应MOb的CANSTMOB寄存器中断标志位或通用CANGIT寄存器的中断标志位置位。如果CANIE寄存器中的ENRX/ENTX/ENERR职位,CANSITn寄存器中相应的MOb位置位,以指出发生中断的MOb。   为了响应Mob中断,CANsTMOB寄存器中的相应位(RXOK、TXOK)必须通过软

文档评论(0)

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

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

1亿VIP精品文档

相关文档