×
嵌入式 > 嵌入式开发 > 详情

一种采用CAN总线的车灯控制系统设计

发布时间:2020-06-24 发布时间:
|
引言

CAN(Controller Area Network) 是德国博世公司在20 世纪80 年代初为汽车业开发的一种车载专用串行数据通信总线, 满足SAE (Society of Automo bileEngineer) 对C 类高速车载网络(≤1Mb/ s) 的要求, 适合动力传动和底盘电子系统的信息传输与控制, 因此也适合一般车载电子系统的信息传输与控制。

与传统技术相比, CAN 总线有如下特点: ①采用非破坏性仲裁技术, 获得仲裁优先的节点将继续传输消息, 消息不会被另一个节点破坏或发生错误; ②CAN 总线采用短帧结构, 每一帧的有效数据为8 字节, 数据传输时间短, 受干扰的概率低, 重新发送的时间短;③ CAN 每帧数据采用CRC (CyclicRedundancy Check) 校验, 保证了数据传输的高可靠性, 适于在高干扰环境中使用;④CAN 采用平衡的差动信号传输数据, 通信速率为5kb/ s 时直接通信距离最远可达10km, 通信距离为40m 时通信速率最高可达1Mb/ s, 可形成场抵消效应; ⑤可以避免汽车线束的重复铺设, 有效减少了汽车上线束的数量, 提高了可靠性, 降低了成本。因此, 利用CAN 总线进行车灯系统设计, 可以提升汽车性能。

1 车灯功能及系统设计

图1 为车灯照明、信号系统, 由照明及信号灯组组成, 包括前大灯(远光灯、近光灯) 、转向灯、雾灯、制动灯、顶灯、位置灯、倒车灯和牌照灯等等, 不同种类车灯的功能不同, 安装位置也不尽相同。按车灯安放位置可以分成左前、左后、右前、右后4 组照明和信号灯组, 以及车内照明灯组, 故可以在CAN 通信网络中设置控制模块、左前模块、左后模块、右前模块、右后模块和车内照明模块, 共6 个节点, 其车灯系统结构图见图2.其中, 控制模块通过对开关状态变化的监测向其它5 个模块发送控制指令, 这5 个模块在接收到属于本模块的控制指令后, 分别控制对应位置的车灯动作。由于CAN 是基于优先级的事件触发协议, 根据行驶安全级别的不同, 系统中各节点的优先级要依次设定。需要强调的是, 开关控制模块是系统控制指令发送模块, 安全性要求最高, 具有最高优先级, 左后和右后模块涉及制动等与行驶安全相关的车灯, 其优先级仅次于开关控制模块。

图1 车灯照明、信号系统

图2 CAN 总线车灯系统结构

2 硬件设计

本设计以8051 单片机和Intel 82527 CAN 总线控制器为核心构成智能节点。其中, Intel 82527 CAN控制器支持CAN2. 0 标准, 包括标准的和扩展的数据和远程帧, 可程控全局屏蔽; 包括标准和扩展信息标识符, 具有15 个报文缓冲区, 每个数据长度为8 字节;14 个T X/ RX 缓冲区, 1 个带可程控屏蔽的RX 缓冲区; 可变CPU 接口, 具有多路8 位总线( Intel 或Motorola 方式) 、多路16 位总线、8 位非多路总线( 同步/ 异步) 以及串行接口; 位速率可程控, 并有可程控的时钟输出; 可变中断结构; 可对输出驱动器和输入比较器结构进行设置; 2 个8 位双向I/ O 口; 44 脚PLCC 封装。

本方案选用Philips 公司的PCA 82C250 为CAN总线收发器和物理层总线接口, 它可以提供对总线的差分发送和接收、高速斜率控制和待机3 种不同工作方式, 能够隔离瞬态干扰, 提高接收和发送能力。在硬件设计中, 82527 完成与CAN 总线的信息交换,8051 完成对车灯继电器的驱动; 旁路输入比较器, 与8051 的信息交换采用中断方式, 地址为7F00 ~7FFFH.系统硬件结构见图3.

图3 系统硬件结构图

3 软件设计

CAN2. 0B 协议只制定了CAN 物理层数据链路层的协议, 在进行系统设计时, 必须根据用户的需要制定相应的CAN 应用层协议。根据总线系统各节点及其所要实现的功能, 确定相互间共享的数据, 然后了解各节点需接收和发送的信息, 统一制定CAN 网络中需传输的信息, 最后给制定好的CAN 网络传输消息分配标识符。CA N 协议规定, 标识符ID 越小, 优先权越高,因此, 在确定ID 时, 先要分析该信息帧需求的紧急性。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
大疆做不做军用无人机