0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现客车CAN总线灯光节点的设计

电子设计 作者:电子设计 2018-09-26 08:40 次阅读

引言

CAN(Controller Area Network)是德国Bosch公司最先提出的,是目前汽车控制器局域网中最流行、最常用的总线。它的主要特点是:CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN总线具有点对点、一点对多点及全局广播传送数据的功能;CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN总线只有2条导线,系统扩充时可直接将新节点挂在总线上,因此走线少,系统容易扩充,改型灵活;CAN总线传输速度快,在传输距离小于40 m时,最大传输速率可达1 Mb/s。CAN总线的应用不仅能简化线束,实现传感器共享,降低系统成本,而且能大大降低车辆的故障率。CAN总线在汽车上的应用是现代汽车技术的发展趋势。

2 CAN总线在汽车中的应用

目前,汽车中的网络连接主要采用2条CAN总线,一条是驱动系统的高速CAN总线,速率达500 kb/s,另一条是车身系统的低速CAN总线,速率是100 kb/s。驱动系统的CAN主要连接对象是发动机控制器(ECU)、ASR及ABS控制器、安全气囊控制器、组合仪表等,其基本特征相同,都是控制与汽车行驶直接相关的系统。车身系统的CAN主要连接对象是4门以上的中控门锁、电动车窗、后视镜和车厢内照明灯等。有些先进的轿车除了上述2条CAN总线外,还会有第3条CAN总线,它的主要连接对象是卫星导航及智能通信系统。

在国外尤其是在欧洲,CAN已成为现代汽车中必不可少的装置,CAN总线技术正日趋成熟,应用也越来越广,奔驰、宝马、大众、沃尔沃、雷诺等汽车都采用CAN作为控制器联网的技术。国内对CAN总线的研究刚刚起步,到目前为止还没有较成功的应用。但我国对车辆局域网络总线技术的研究与开发非常重视,最近国家有关部门对CAN总线在豪华大客车上的应用做出明确规定。相信这一政策的出台必将大大促进相关企业和科研单位对汽车CAN总线的研究与开发应用。本文讨论客车车身CAN总线系统中的车灯节点设计,它属于低速CAN总线上的节点设计。

3 单片机及其CAN总线模块

NEC是仅次于Freescale的世界第二大车用单片机制造商,由于其在中国推广的比较晚,国内企业使用得并不多。CAN总线模块是 μPD780822型单片机的一个外设,是一个完整的CAN控制器。可满足车身CAN总线网络的要求。除了具有CAN的基本功能外,还包括一些特有功能,如时间同步功能、可编程的CAN总线唤醒和CPU唤醒功能、可编程的总线关闭时发送底层复位功能等。对CAN总线的访问分为控制/状态寄存器的访问和发送 /接收缓冲器的访问。

CAN控制器发送的信息帧分为二种:发送数据帧和发送远程帧。有二个发送缓冲器,其中一个为16字节,一个为8 字节。16字节的缓冲器可以存储标准帧和扩展帧二种格式的数据帧,8字节的缓冲器可以用来存储要发送的数据。发送数据帧时,在数据写到发送缓冲器后,如果相应的发送请求位使能,则数据被发送到CAN总线上,数据帧的数据可以用软件设置成1~8个字节。数据帧的格式如图1所示。

CAN控制器接收信息时首先要将接收信息的标识符与相应缓冲器的标识符进行比较,只有标识符相同的信息才能被接收。μPD780822型单片机的CAN模块有2个独立的发送缓冲器,2个缓冲器共用1个16字节的数据区来存储最多8字节数据的CAN帧。发送区和接收区的结构相似,当标志位和控制位没有设置为CAN专用时,CPU可以把其作为普通的数据存储区使用。

控制器接收缓冲器有16个,接收信息帧时用的缓冲器区由信息数量寄存器(MCNT)决定。从总线上接收的信息被直接存储在发送缓冲区中。工作中没有使用的接收缓冲区可以被CPU作为普通的RAM使用。每个接收缓冲器都有其可编程的中断使能位。

4 网络结构和节点

客车车身CAN系统包括主控节点、灯光节点、空调节点、车门节点和仪表节点等,如图2所示。其中,前车灯节点控制包括前左、右示廓灯,前左、右位灯,前左、右遇险报警灯,前左、右驻车灯,左、右前照灯远光,左、右前照灯近光,前左、右雾灯和前左、右转向灯等16个控制单位。后车灯节点控制包括后左、右示廓灯,后左、右转向灯,后左、右制动灯,后左、右位灯,后左、右雾灯和后左、右倒车灯等12个控制单位。主控节点主要接收来自驾驶员的一些开关输入信号。仪表节点主要通过接收总线上的数据来控制方向、水温、机油压力、制动、车门、车灯、ABS/ARS和除霜等指示灯和控制仪表,以显示车速、发动机转速、水温、燃油、机油、电压、步进电机等数值。空调节点控制空调的开关和车内温度的设定等。车门和后视镜节点控制车门电磁阀开关、后视镜调整开关和后视镜加热开关。安全节点监控ABS和ECAS的电源

5 硬件电路设计

灯光节点的硬件结构如图3所示,它包括灯光控制模块和CAN接口模块。灯光控制模块由TLP521-4型光电隔离器和BTS442、BTS740型智能开关组成。

TLP521-4是4路光电隔离器,8个TLP521-4组成32路光电隔离,把传递到开关和开关反馈的信号与单片机连接起来。BTS442是 Infineon公司生产的单路输出智能开关(PROFET),具有允许较大瞬态电流(140 A以上)和较宽泛的温度范围(-55℃~+150℃)等优点,6个BTS442组成6路控制开关,控制大灯和雾灯等6个大电流负载。BTS740是 lnfineon公司生产的4路输出智能开关,把输出的2路并作1路用,使其通过较大的瞬时电流。5个BTS740组成10路控制开关用以控制其余的小电流负载。BTS442和BTS740都有诊断反馈功能,如果出现错误,BTS442的第4引脚和BTS740的第4引脚与第8引脚上会出现一个低电平信号,通过光电隔离器把该信号接入单片机,实现端点检测功能,并通过CAN信息帧反馈到仪表节点上。所有节点的硬件CAN接口模块都相同,包括灯光节点在内。由于这种单片机带有CAN总线模块,所以不需专门的CAN控制器,单片机没有CAN收发器,需要外接82C250型收发器,中间是6N137型光电隔离器。单片机、光电隔离器和CAN收发器硬件接口电路如图4所示。

6 节点软件设计

节点软件流程如图5所示。程序采用查询方式,节点初始化并报告正常工作后将一直处于查询状态,直到主控节点发送的灯光控制命令到达灯光节点时,单片机才可判断控制的是哪一路灯光或哪几路灯光,并通过开关的诊断反馈功能检测相应的开关是否正常。如果正常,则向相应的高/低端开关发送相应的控制命令,然后回到查询状态。如果不正常,则向仪表节点发送相应端点的不正常信息帧,继续检测相应的端点。

节点初始化主要是单片机初始化,包括端口初始化和CAN控制模块的初始化。单片机端口初始化主要对用到的I/O口上电复位。CAN模块的初始化主要是设置所用的特殊功能寄存器,主要包括协议模式、验收滤波方式、CAN通信速率和中断寄存器的设置等。将验收代码和验收屏蔽代码写入验收代码寄存器和验收屏蔽寄存器。

CAN总线的软件设计主要包括CAN节点的初始化、数据的发送和接收程序,掌握了这3个模块的设计,基本上就完成了CAN通信的软件设计。

7 结束语

虽然本节点是为控制客车车灯设计的,但对其他一些节点也有借鉴作用,尤其是CAN总线的硬件接口部分,可以通用到客车其他CAN网络节点上,甚至可以用在其他非汽车领域的CAN网络上,如工业自动化等领域。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634651
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177808
  • CAN总线
    +关注

    关注

    145

    文章

    1946

    浏览量

    130727
收藏 人收藏

    评论

    相关推荐

    CAN总线客车电路设计中的应用介绍

    随着 CAN总线客车上应用 的不断普及 ,其强大的智能化功能让汽车电器设 计者能够非常容易地实现 自己设计思想 ,使汽车电路设计不断得到完善 。下面介绍 一种利用软件编程 的
    发表于 09-22 08:10

    CAN总线节点电路的设计与实现

    CAN 总线作为一种现场总线,应用极为普及。本文给出了一种基于AT89C51 和SJA1000 的CAN 总线
    发表于 05-25 13:26 60次下载

    基于CAN总线客车空调控制系统的设计与实现

    为提高空调系统的可靠性和乘客舒适性,引入了CAN 总线来组成客车空调控制系统,本文详细介绍了该系统的硬件、软件设计及实现方法,同时对CAN
    发表于 07-27 15:33 21次下载

    基于CAN总线智能节点设计

    CAN总线是一种应用极为普及的现场总线。文中提出了一种CAN总线通信接口的设计方案。CAN
    发表于 01-25 15:04 52次下载

    基于MCP2502X的CAN总线节点设计

    针对当前CAN总线及J1939协议在汽车电子中的广泛应用,给出一种通过配置在低成本CAN I/O扩展器MCP2502X/05X器件上实现J1939协议的
    发表于 12-29 18:08 28次下载

    基于CAN总线客车轻便换档系统设计与实现

    基于CAN总线客车轻便换档系统设计与实现 1 引 言   随着社会经济的快速发展,城市交通曰益繁忙,交通安全问题越来越受到人们的重视。在车辆行驶过程中
    发表于 01-21 10:15 682次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的<b class='flag-5'>客车</b>轻便换档系统设计与<b class='flag-5'>实现</b>

    基于CAN总线客车轻便换档系统设计与实现

    基于CAN总线客车轻便换档系统设计与实现 1 引 言   随着社会经济的快速发展,城市交通曰益繁忙,交通安全问题越来越受到人们的
    发表于 01-28 09:58 527次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的<b class='flag-5'>客车</b>轻便换档系统设计与<b class='flag-5'>实现</b>

    FPGA实现CAN总线通信节点设计

    基于对CAN 总线控制器的功能分析, 并应用Verilog语言进行软件设计, 从而实现CAN节点之间的通信功能。
    发表于 04-28 09:56 1.5w次阅读
    FPGA<b class='flag-5'>实现</b><b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信<b class='flag-5'>节点</b>设计

    基于CAN总线的智能节点设计

    应用51单片机为控制核心结合其他的器件设计了一种能连接于CAN总线上的智能节点。通过单片机控制CAN总线控制器SJA1000,并进一步通过
    发表于 01-10 16:54 120次下载

    如何使用CAN总线中继模块进行CAN总线节点扩容的实现案例概述

    用户在使用CAN总线通信时,一般只需要接CAN_H和CAN_L两根导线。但是导线毕竟都多少有些内阻,因此在使用导线传输信号时,肯定会存在一定的损耗,而
    的头像 发表于 12-23 10:31 6826次阅读

    CAN总线节点软件的设计与实现

    CAN总线节点软件的设计与实现说明。
    发表于 04-19 16:59 20次下载

    CAN总线客车电路设计中的应用综述

    CAN总线客车电路设计中的应用综述
    发表于 06-17 09:39 41次下载

    基于FPGA的CAN总线通信节点设计

    点击上方 蓝字 关注我们 摘要:以FPGA 代替传统的单片机和外围扩展芯片, 给出了CAN 总线通信节点的详细设计方案。其中以SJA1000为CAN
    的头像 发表于 06-18 11:15 2959次阅读

    基于CAN总线的智能节点设计

    电子发烧友网站提供《基于CAN总线的智能节点设计.pdf》资料免费下载
    发表于 10-20 14:44 21次下载
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的智能<b class='flag-5'>节点</b>设计

    机载CAN总线节点的模块化设计与实现

    电子发烧友网站提供《机载CAN总线节点的模块化设计与实现.pdf》资料免费下载
    发表于 10-31 10:15 0次下载
    机载<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>节点</b>的模块化设计与<b class='flag-5'>实现</b>