当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]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总线数据采用的是短帧结构,不会长时问占用总线,所以这样做不会对总线的实时性产生很大影响。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭