DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1360|回复: 0
打印 上一主题 下一主题

[待整理] AVR单片机集成CAN总线控制器分析与应用

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 14:54:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
引言
CAN总线应用中,总线节点是CAN总线的基本组成部分。CAN总线节点有两种典型设计方法,第一种方法采用MCU结合独立CAN控制器组成总线节点[1];第二种方法采用独立的MCU,这时MCU需要内部集成CAN控制器。由于第二种设计方法所用的器件少,电路关系简单,已得到广泛应用。本文重点分析AVR系列单片机内部集成的CAN控制器及其应用方法。

AT90CAN集成CAN总线控制器分析
AVR内部集成CAN控制器的芯片主要包括AT90CAN32/64/128三种单片机,它们之间的主要区别是存储空间不同。
AT90CAN32/64/128内部集成的CAN总线控制器由CAN通道和邮箱组成,其工作参数通过寄存器设置,工作过程也通过寄存器监控。CAN控制器基本结构如图1所示。

CAN总线控制器组成
CAN通道
CAN通道是CAN控制器用于完成发送和接收的部分。使用CAN控制器时,需要对CAN通道工作模式和位定时进行设置。
(1)CAN通道工作模式
CAN通道有使能、待命以及只听三种工作模式。不同模式下通道、时钟以及寄存器的工作模式不同,详细内容见参考文献[3]。
(2)位定时
CAN通道位定时的概念和基本规定与CAN总线协议一致。AVR系列单片机中,CAN总线控制器时间份额(TQ)即为波特率分频器输出时钟信号的周期。CAN总线位周期由同步段(SYNS)、传播段(PRS)、相位缓冲段1(PHS1)、相位缓冲段2(PHS2)组成,每个时间段的长度都是时间份额(TQ)的整数倍。通过位定时设置可以确定各时间段的长度,同时还可以设置重同步跳转宽度(SJW)以及信号采样位置和采样次数。设置时,CAN总线位时间必须设置在8~25个时间份额之间。位定时设置完毕后即可计算总线波特率,计算方法见参考文献[3]。
邮箱及报文对象(MOb)
AT90CAN32/64/128单片机集成的CAN控制器通过邮箱存储报文,并以MOb的形式管理。邮箱包含15个独立的MOb,每个MOb都可以设置为接收或发送模式。发送时,编号小的MOb优先级高。接收时,只有当CAN控制器接收到报文的标识符与某个MOb预先设置的标识符吻合时,CAN控制器才会将接收到的报文存储在该MOb中,并可以通过中断的方式通知单片机。CAN控制器还可自动对远程帧作出应答,从而减轻CPU的负担。
(1)MOb工作模式

MOb包括禁止、发送、接收、自动应答、帧缓冲器接收等6种不同的工作模式。芯片复位后,MOb并没有默认的工作状态。因此,在使能MOb之前必须对MOb进行配置,配置内容及相应的工作模式如表1所示。
AVR单片机集成CAN总线控制器分析与应用.part1.rar
AVR单片机集成CAN总线控制器分析与应用.part2.rar
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-10 09:33 , 耗时 0.086386 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表