微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

基于CAN总线和PIC单片机的汽车开关电器盒设计

2013-09-17 09:48 来源:电源网 编辑:娣雾儿

0 引 言

随着现代汽车工业技术的不断发展进步,车上安装的电子设备在不断增加,从而使汽车综合控制系统中,有大量控制信号需要进行实时交换。CAN 总线作为一种可靠的汽车计算机网络总线,已经被广泛地推广到汽车控制系统的各个应用领域。将CAN总线技术应用到汽车开关电器盒中,可使得各汽车计算机控制单元能够通过CAN总线得到开关电器盒中的工作数据,又能对开关电器盒的各个继电器进行精准的控制,从而达到减少汽车线束、提高通信可靠性、降低系统成本、避免系统功能重复、提高系统工作效率的目的。

1 汽车开关电器盒设计方案

本开关电器盒采用的是基于Microchip 公司生产的PIC18F45K80 芯片作为主芯片的设计方案。该芯片不仅具有一般单片机所具有的全部功能,还集成有硬件CAN 协议模块,芯片内部即可完成CAN 总线通信。采用本方案具有以下几点优势:其一是硬件集成了CAN 协议模块,无需外接芯片,从而降低了产品制造成本;二是无需编写SPI 接口驱动,缩短了开发周期,提高了产品竞争力;三是本系统使用主流PIC 芯片,具有强大的可扩展性,程序可移植性高。

PIC18F45K80 为主控制芯片,负责系统的综合事务处理。

系统功能主要分为四大部分,分别是模拟信号采样。数字信号采集。控制信号输出和CAN 模块通信。模拟信号的采集包括电源电压采样。温度传感器和电流传感器采样。数字信号采集各个熔断保险丝的通断。控制信号的输出是对整车电源继电器K1。启动电源继电器K2。启动电机继电器K3 的控制。CAN模块通信是单片机通过CAN 接口芯片与车上的其他设备进行通信,也是本系统研究的重点。图1 所示是本系统的整体框图。

电器盒1


2 汽车开关电器盒的硬件设计

2.1 系统主处理器PIC18F45K880

PIC18F45K80 系列是Microchip 的PIC18F8680。PIC18F4680 和PIC18F4580 增强型CAN 系列产品的低成本扩展产品。该单片机工作电压范围宽,为1。8~5。5 V,且片上内置3。3V 稳压器, 可作为电源基准电压。工作温度范围大:-40~+125 ℃,适合汽车工作环境。工作速度最高达64 MHz,具有最大64 KB 的片内闪存程序存储器,1 024 字节的数据EEPROM,3。6 KB 的通用寄存器(SRAM)。设有2 个内部振荡器:INTRC (31 kHz) 和INTOSC(16 MHz)。带扩展的看门狗定时器(WatchdogTimer, WDT),可编程周期为4 ms~131 s。

PIC18F45K80 包含一个增强型控制器局域网(EnhancedController Area Network ,ECAN) 模块。 ECAN 总线模块符合ISO 11898-1 规范。具有3 种工作模式:传统模式( 与现有PIC18CXX8/FXX8 CAN 模块完全向下兼容)。增强模式。FIFO 模式或可编程发送/ 接收缓冲区。报文比特率最高可达1 Mb/s,具有6 个缓冲区可用作接收和发送报文缓冲区,3 个带有优先级的发送报文缓冲区,2 个接收报文缓冲区和1 个接收报文组合缓冲区。

2.2 CAN 接口电路模块设计与实现

本开关电器盒采用的是恩智浦半导体公司CAN 总线收发器芯片TJA1050 作为CAN 协议控制器和物理总线之间的接口。

TJA1050 可以为总线提供不同的发送性能,为CAN 控制器提供不同的接收性能。TJA1050 完全符合ISO11898 标准,传送速度高( 最高可达1M 波特)。具有良好的电磁兼容性和低电磁辐射(EME) 性能,并带有宽输入范围的差动接收器,可抗电磁干扰(EMI)。

图2 所示是TJA1050 的接口应用电路。电路中的一个120 俚牡缱鑂9,对于匹配总线阻抗起着相当重要的作用,否则,数据通信的抗干扰性和可靠性将大大降低,甚至无法通信。

电器盒2

2.3 信号采集及输出控制电路设计

汽车的各种电气工作状态检测是开关电器盒的重要工作职能之一,主要是由保险丝状态采集电路。电源电压和温度采集电路。启动电动机电流检测电路组成。

汽车保险丝的工作状态检测。为了可靠。准确地检测各保险丝的通断情况,本系统采用了光耦隔离的方式检测保险丝的通断。该电器盒共有充电保险丝。暖风1~2 保险丝。开关电源保险丝。常火电源保险丝。ON 档1~10 号保险丝。常火1~8 号保险丝等共24 路保险丝。保险丝检测采用了光耦隔离的检测方式,避免车上其他用电设备对电器盒系统的干扰。

开关电器盒需对电源电压进行实时监测。通过电压监测来实现高压。低压和发电机充电异常等三种异常报警:电压过高报警是当电压超过32V 时,通过CAN 总线向仪表发出系统电压过高报警;低电压报警则是在车辆未启动时,当系统电压低于设定值23。5 V 时,要发出低电压报警,同时超过4 min切断电源总开关;发电机充电异常报警是指车辆启动后,如充电正常,则当前电源电压应大于26 V,如充电异常( 电源电压超过32V 或低于26 V),则通过CAN总线向仪表发出报警。

由于电压报警仅需检测3 个电压值,为降低系统成本,本设计采用电阻分压的方式来进行检测。

开关电器盒需检测电器盒内的温度,并通过CAN 总线将温度数据发给仪表。系统采用的是3899 200K 的NTC( 负温度系数热敏电阻) 来检测温度,通过与一标准电阻分压后采样AD 值,最后根据阻值- 温度表格查得实际测量温度值。

另外就是启动电动机电流检测。汽车启动系统将蓄电池电能转化为机械能,由启动机带动发动机旋转并启动发动机。汽车在启动时,启动电动机的工作电流非常大,一般可达300~600A。为防止启动电机的过电流对汽车电瓶及其他电路造成损坏,对启动电动机加入了电流检测电路。系统中选用了BYD BLY2-IOV2M电流传感器,在开关电器盒中采用金属铜片穿过电流传感器腔体。该传感器采用霍尔效应的测量原理,完全隔离式的测量方法,具有低功耗。宽测量范围等特点。


3 汽车开关电器盒的软件设计与实现

开关盒电器软件主要由两大部分组成,包括用户功能定义设计和CAN 驱动程序设计,其程序整体架构图如图3 所示。

图3 中的用户功能定义程序主要包括过压监测。欠压监测。保险丝断路监测。过流监测。蓄电池充电监测。模块自检等。

SAE_J1939 协议驱动程序主要作用是对CAN 模块中的接收缓存的CAN报文加以解析以及对发送缓存中的CAN 报文加以翻译。

电器盒3

SAE_J1939 协议的数据结构与CAN 报文结构有很大不同之处。它将CAN 报文的11 位标准帧以及29 位扩展 帧重新定义,对每一位都赋予特殊意义,其结构定义如下:

电器盒4

其中,PDUFormat 为PDU 格式,PDUSpecific 为特定域,SourceAddress 为设备地址,DataLength 为数据长度,Priority 为优先级, 而Data[J1939_DATA_LENGTH] 则为SAE_J1939 协议的数据域。


根据SAE_J1939 协议在整个系统所处的位置和作用,本设计给出如图4 所示的基于SAE_J1939 协议对接收和发送报文的翻译和解析流程图。

电器盒5

在CAN模块工作之前,必须先对其进行必要的初始化。

CAN驱动程序在入口处设计为进入CAN模块的配置模式,以便在CAN 模块工作前对波特率。屏蔽器。过滤器等进行配置。

4 结 语

基于CAN总线的汽车开关电器盒是一种网络化的汽车电器控制系统,对汽车电器设备网络化发展有着重要的意义。它能最大限度地减少汽车线束,将开关电器盒的工作数据实时传送给各个仪表,具有较高的数据传输可靠性和安装便捷性,扩展了汽车功能。目前,随着CAN 总线技术的快速普及,支持CAN 总线标准的汽车厂家越来越多,汽车电子产品的网络化发展趋势是必然的。车辆装配基于CAN总线的汽车开关电器盒有助于提高汽车产品竞争力,而增加的成本并不会太多,所以是未来汽车开关电器盒的发展方向。

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
2024慕尼黑上海电子展精彩回顾
2024.06技术专题

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006