当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]1 引言CAN(Controller Area Network)即控制器局域网络,它是德国波许(Bosch)一公司从20世纪80年代初开始,为解决当代汽车中日益增多的控制与测试仪器之间的数据交换而开发

1 引言

CAN(Controller Area Network)即控制器局域网络,它是德国波许(Bosch)一公司从20世纪80年代初开始,为解决当代汽车中日益增多的控制与测试仪器之间的数据交换而开发的一种能有效支持分布式控制或实时控制的串行通信网络。现代汽车安全性、舒适性及环保要求的不断提高,因此,本课题着眼于其发展的现状,通过 CAN总线和外设传感器的应用,保证了车载系统和外围电路更好的通信,最大程度的保证了车辆的安全。

2 总体结构

本课题旨在通过对CAN总线的研究,保证车身与外围扩展电路正常的通信。经过分析比较,确定实行方案,并加以验证。

整个系统是将温度、加速度,还有TTS、GPS的数据经过AT90CAN128进行处理,通过转发器,一并发到CAN总线上,然后,接收端(CAN转串口232)将接到的数据通过串口发到车载平台上,对数据进行处理。同理,车载平台发送的命令也会经过CAN总线传回控制器,对外围设备进行控制(数据的逆向传输)。

系统原理如图1所示:

 

图1系统原理

2.1硬件设计

1) AT90CAN128做主控制器,它是ATMEL公司生产带有一个CAN的控制器,CAN控制器集成了CAN协议的物理层和数据链路层的功能,可完成对数据的成帧处理,包括位填充、数据块编码、循环冗余校验和优先级判别等功能。符合CAN2.OA和CAN2.OB协议规范,支持标准帧和扩展帧的接收和发送。

2) ATA6660也是ATMEL公司的新型高速度的CAN总线收发器。这种新产品采用了ATMEL公司的0.8微米BCDMOS处理技术,可满足45伏特电压甚至更为苛刻环境中的应用。ATA6660是为不同工作模式下高速差动数据传输(如工业和汽车制造上的应用)而专门设计的。针对高速数据传输的需求,波特率可以调整到1 Mbaud。与国际高速CAN数据通讯标准ISO11898完全兼容。

2.1.1 CAN控制器的数据接收

首先,选定CAN控制器的MOB0模式,设定自动增量,初值为0。再使CANSTMOB的RXOK置1,从而使CAN控制器处于接收数据状态,接收一个数据后,清接收中断标志。

2.1.2 CAN控制器的数据发送

需要先关中断的标志,其次装载消息数据,并把CAN控制器设置为发送状态,待数据发送完后。再把全局中断寄存器CANGIE设置为接收使能。

CAN总线收发器的原理图为图2:

 

图2 CAN总线收发器的原理图

2.1.3 RS232-CAN总线转换器

带有RS232接口的数据操作站可以通过RS232接口接入,实现与CAN智能模块的信息通讯,完成操作命令的下发及智能模块实时数据、运行状态的采集。

RS232-CAN总线转换器原理图为图3:

 

图3 RS232-CAN总线转换器原理图

2.2软件设计

2.2.1 AT90CAN128的初始化

AT90CAN128的初始化是在复位模式下进行,初始化主要包括工作方式的设置、接收滤波方式的设置,接收屏蔽寄存器ARM和接收代码寄存器ACR的设置.波特率参数的设置和中断允许寄存器IER的设置等,在完成AT90CAN128的初始化设置以后,AT90CAN128回到工作状态进行正常的通讯任务。

CAN总线初始化的流程图为图4:

 

图4 CAN总线初始化的流程图

下面给出了CAN初始化程序。

CANGCON=0x01 //CAN硬件reset

CANGIE=0xB0; //允许除定时器溢出外的所有中断(如接收、发送中断)

///////////////////////////////

CANEN2=0x03;

CANEN1=Ox00; //Mob0、Mob1选通,Mob2-14禁止

//////////////////////////////

CANIE2=0x03;

CANIEl=Ox00; //Mob0、Mob1允许中断,Mob2-14禁止中断

CANHPMOB=0x10 //Mob()具有最高优先级

/////////////////////////////

CANBT1=0x7E;

CANBT2=Ox6E;

CANBT3=Ox7F;

CANTCON=OxFF: .//波特率设置为10.000kHz

/////////////////////////////

CANPAGE=0xOO://选通Mob0

CANSTMOB=0: //状态寄存器清零

CANCDMOB=Ox01;//DLC选择lbyte

CANCDMOB I=0x80;//允许接收

CANGCON I=0x02;//选择使能模式

2.2.2 CAN总线收发器设计

此系统选用了ATMEL公司的AT90CAN128芯片作为CAN总线控制器,通过对其相应寄存器的配置,并与ATA6660CAN总线收发器配合,便可实现对CAN总线的操纵。

AT90CAN128兼容CAN2.0A和CAN2.OB规范,提供了从MOBO到MOBl4共15组MOB,每个MOB都有独立的ID和ID接收过滤码,可看作CAN总线上的独立器件进行控制。

2.2.3中断处理

在CAN收发数据中,最霞要的就是中断处理过程。

为了保证总线转换过程中不产生丢包现象,在此设计中。CAN与RS232的接收均采用中断形式,并设计了两个软件F1-FO分别做为CAN和RS232的缓冲,在中断处理中将数据压入FIFO,减少了中断服务程序所占用的时间。使系统中断后能迅速恢复并准备接收下一数据。当总线空闲时,转换器再将FIFO 中的数据以硬件中断形式依次发出。由于CAN总线数据采用的是短帧结构,不会长时问占用总线,所以这样做不会对总线的实时性产生很大影响。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总...

关键字: can总线 can总线原理

各车载系统之间的关系非常复杂,相互依赖,相互影响,因此,厘清系统之间的相互作用,并找到提高效率的方法是开发人员面临的巨大挑战。功耗是左右电动车成本的关键,而另一个关键因素是ECU汽车节能减排的重担,很大程度上落在了汽车芯...

关键字: 车载系统 芯片 能源效率

CAN总线在设计之初,就规定了物理层CAN_H和CAN_L采用双绞线差分传输,这样做的目的是提高抗干扰能力,因为当总线上CAN_H与CAN_L遇到干扰可以“同上同下”变化,从而差分值保持不变。

关键字: can总线

CAN是Controller Area Network 的缩写,目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。

关键字: can总线 电路设计

为开发人员提供快速获取评估软件和文档的权限,以快速启动评估并加快上市时间

关键字: 瑞萨电子 车载系统 SoC

目前视频领域所采用的压缩技术大都是属于类似 MPEG系列的技术。虽然MPEG-4或H.264/AVC已经获得较高的压缩比,但想在2.5G甚至2G移动通信网路上采用这种压缩方式实现视频传送还是比较困难,

关键字: can总线 sae

随着电子控制系统单元(ecu)在汽车上广泛应用,汽车电子化程度越来越高。电控系统的增加虽然提高了汽车的动力性、经济性和舒适性,但随之增加的复杂电路,必然导致车身布线庞大而且复杂,安装空间短缺。同时,为

关键字: can总线 电子控制

引言   随着信息科学的快速发展, 人们对数据采集后的信号形式的要求越来越多, 单一的信号形式已经没有办法满足实际工程的需要。网络信号、USB总线信号、RS232总线信号以及CAN总线信

关键字: can总线 co2128
关闭
关闭