- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
基于AT90CAN128CAN总线节点实现方案
基于AT90CAN128CAN总线节点实现方案
摘要 现场总线在控制领域得到广泛应用,CAN总线广泛应用于工业控制系统和汽车控制系统。本文对用内嵌CAN总线控制器的AVR单片机控制器AT90CAN128构建CAN节点的方案进行了探索。
关键词 CAN总线;AVR单片机;AT90CAN128;CAN总线节点实现方案
中图分类号TP336 文献标识码A 文章编号 1674-6708(2011)42-0208-02
0 引言
随着微型计算机、嵌入式系统、网络技术、传感与检测技术的发展,现场总线在控制领域得到广泛应用。德国Bosch公司推出CAN (Controller Area Network) 现场总线是的一种是国际标准化的串行通信协议。一般用主CPU 外接一个专用CAN 控制器以实现。广泛应用在汽车控制系统与工业领域。AVR单片机是由ATMEL公司利用Flash新技术研发的RISC精简指令集的高速8位单片机。高速、低耗、功能强大。AT90CAN128s是内置CAN 总线控制器的AVR单片机。本文介绍AT90CAN128实现CAN节点的方法。
1 集成CAN 控制器的AT90CAN128
AT90CAN128是ATMEL公司利用Flash新技术生产的一种基于RISC结构的8位AVR增强型单片机。资源丰富,功能强大。除拥有一般AVR处理器的基本接口模块外,还集成CAN 控制器。与CAN标准帧完全2.0兼容。为搭建基于CAN 通信的系统提供了便利。
2 硬件设计
一个CAN总线由模块控制器、CAN控制器、CAN收发器3个部分组成。本方案节点电路主要由AVR单片机AT90CAN128和高速CAN总线收发器构成,如图1所示。AT90CAN128是为总线节点的模块控制器和CAN控制器,采用16MHz时钟,负责上层应用与系统控制,执行完整的CAN协议总线,实现总线数据的发送与接收通信。CA82C251为专用总线收发处理器,具有瞬间抗干扰能力和保护总线能力,主要实现逻辑电平的控制和接口电气特性的处理。
图1AT90CAN128CAN总线节点结构图
3 软件设计
依据模块控制器AT90CAN128内部结构与特点,本方案软件选用AVR单片机专用编程环境,用C语言进行设计,按模块化的设计方法。软件由CAN控制器初始化、数据发送与数据接收部分等构成。
3.1 CAN控制器初始化
CAN总线控制器初始化的操作包括:总线波特率设置,接收屏蔽寄存器设置、接受验码寄存器的设置,使能允许寄存器的设置等。主要实现如下:
AT90CAN128中总线波特率设置是通过设置定时寄存器CANBT1- CANBT3实现。本方案设置波特率分频因子16MHz,12TQ,1000k,5,3,3,1,代码为:
CANGCON=0x01;//设置控制器使能
CANBT1=0x00;//初始化定时寄存器
CANBT2=0x0C;
CANBT3=0x37;
AT90CAN128内总线控制器提供4个验收码寄存器CANIDT1- CANIDT4和4个接收屏蔽寄存器CANIDM1- CANIDM4构成验收滤波器进行报文滤波。所有验收屏蔽寄存器为“0”的位,验收码寄存器和总线信息帧对应位必须一致才能验收通过,所有验收屏蔽寄存器为“1”的位,验收码寄存器对应位的验收滤波功能被屏蔽。用这些寄存器进行通信对象的设置。本方案设置节点通信对象为ID为CanComm.ID。代码为:
CANCDMOB=0x88;//can2.0A, 8位信息
CANIDT4=0;//初始化验收码寄存器
CANIDT3=0;
CANIDT2=0;
CANIDT1= CanComm.ID; //只接收CanComm.ID的信息
CANIDM4=0xFF; //
CANIDM3=0xFF;
CANIDM2=0xFF;
CANIDM1=0xFF;
CANGEN1=0X00;
CANGIEN2=0X01;
CANGIE|=((1ENIT)+(1ENRX));
CANIE2|=0x01; //MOB0接收中断
CANPAGE=0x00;//自动增量
CANCDMOB|=0x08;
CANGCON=0x02;//CAN控制器启动
3.2 节点接收数据
节点总据接收模块实现节点数据的接收与处理,一般采用中断和查询方式。本方案采用中断方式接收数据。主要代码如下:
CANGIE =~(1ENRX);//关接收中断
CanComm.RX_Data[RX_Number][i]=CANMSG ;//装载数据
您可能关注的文档
最近下载
- 具身智能——决定机器人泛化能力天花板的“大小脑”.pptx
- 统编版(2019)高中历史必修中外历史纲要下册第一单元综合测试卷(与参考答案解析).pdf VIP
- 课件-空气洁净技术:第五章 洁净空调系统设计.ppt VIP
- SY∕T 5587.9-2021 常规修井作业规程 第9部分:换井口装置.pdf
- 【智慧水务解决方案】水务运营及智慧水务解决方案.docx VIP
- 2023中国幽门螺杆菌感染治疗指南(全文).pdf VIP
- 被皮系统课件(共34张PPT)《畜禽解剖生理(第四版)》同步教学(高教版).pdf VIP
- 施工单位外部协调管理.pptx VIP
- 2025年[参考]法拍房成交确认书范本.docx VIP
- 机修土坎水平梯田工程施工方案.docx VIP
文档评论(0)