DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 865|回复: 0
打印 上一主题 下一主题

[接口电路] 基于CAN总线的车身电器控制系统网络实验台设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:00:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? 汽车上的电子装置随着汽车电子的发展日益增多,仍采用传统的通信模式必然导致汽车电器布线复杂,维修检测困难等问题。而CAN总线的提出为解决此问题提出了可能。CAN(C0ntmller Area Network)总线是20世纪80年代德国Bosch公司为实现现代汽车上众多电子模块相互间的通信而提出的一种串行通信协议,是目前唯一具有国际统一标准的总线。但由于国内关于CAN总线的研究起步很晚,至今国产化的产品不多。因此文献基于科研教学及产品开发的多重目的,研制开发了基于CAN总线的车身电器控制系统实验台。该实验台以CAN总线为基础,以某汽车车身电器为对象简化了汽车车身电器的控制网络,减少了线束,实验也证明了所开发系统的正确性和CAN总线取代传统车身线束的可行性。该实验台的成功开发其现实意义很重要,但也存在以下不足之处应加以改进:1)试验台将车灯控制节点分为前灯、后灯 2个节点,这样在通信中不仅没有完全利用单片机的接口,还要考虑前后节点的优先权,把软件的设计复杂化。2)单片机引脚电流过小不足以驱动大功率的车灯和车门电机等功率器件,该试验台选用驱动芯片、继电器和保险丝来实现功能,这样设计接口电路使节点的总体体积偏大,不便车载。本文主要针对以上2个问题提出解决方案,先从总体上对节点重新分类设计,基于AT89S52微处理器和CAN控制器SJAl000重新构建硬件环境,然后以AT89S52为核心,结合所选器件的运行环境改进程序。
  1 车身电器控制系统节点分类及其功能
  该控制系统将车身电器分为上位机转换节点、开关控制节点、车灯控制节点、车门控制节点4类。各类节点所包含的电器设备及要传输的信号如下:1)上位机转换节点:将CAN协议信号转换为RS232协议信号输出,由上位机的串口接收;2)开关控制节点:灯具开关节点需要的各开关输入,通过单片机将物理的开关信号转换为数据信号;3)车灯控制节点:接收总线上传来的可控数据,并将数据转换后控制车灯各灯具的状态,控制的车身电器主要是远光灯、近光灯、雾灯、转向灯、倒车灯、刹车灯等灯具;4)车门控制节点:控制车门的开关输入及玻璃升降电机的输出。节点的分类及功能如图1所示。




  2.1 上位机转换节点接口电路
  上位机转换节点中,接口电路的功能主要是将数据转换为符合RS232电平协议的数据,可供上位机串口接收。由于单片机输出的数据中逻辑电平“1”和“0” 分别用5 V和O V表示,而]RS232电平的逻辑“0”电平范围为-5~15 V,逻辑“1”的电平范围是+5~+15 V,因此这里选用MAX232进行电平转换,完成上位机转换节点接口电路的功能,图3所示为上位机转换节点接口电路。




  2.3 车灯控制节点接口电路
  车灯控制节点中,接口电路的功能主要是实现通过CAN总线的传输数据控制车灯功率电器。从单片机引脚流出的电流很小,无法直接驱动车灯,若采用驱动电路和继电器来完成车灯的驱动作用,必然会导致车灯控制节点偏大,不够实用和美观。该接口电路选用MC33888器件。该器件内部集成有4路高端驱动器和8路继电器或发光二极管驱动器,是一个可控制网络,具有在线诊断、与微控制器通信报错能力及故障软化等优点。图5所示为车灯控制节点接口电路。




  3 系统软件设计
  任何CAN总线系统的通信协议都由物理层协议、数据链路层协议和应用层协议组成。SJAl000和PCA82C250的硬件结构保证了协议的物理层和数据链路层。对于应用层,在不同的应用领域,人们制定了不同的协议,包括CANopen、DeviceNet及SAE J1939等。应用层协议决定了CAN总线系统的可扩展性。将CAN应用层合理分配后应用于软件结构中可提高软件的兼容性。
  本设计各类节点可将程序分为主程序和子程序。主程序的目的是监控本节点中各电器的状态,采用查询方式编程:子程序分为接收子程序和发送子程序,采用模块化编程,将节点的功能分成各种模块并形成文件,在编写各节点程序时直接调用各个模块程序函数即可。这里参考SAE J1939的编码规则对CAN系统的应用层进行分配,并介绍各节点的软件结构。
  3.1节点主程序
  上位机转换节点主程序的作用是:查询总线上的数据,并将依据CAN协议的数据转换为依据RS232电平标准的数据。图7为上位机转换节点流程:开关控制节点主程序用于查询开关的闭合或断开状态并将开关状态存储到单片机的寄存器中。图8所示为开关控制节点的程序流程,其车灯控制节点主程序用于查询CAN总线上的数据以控制相应的电器。图9所示为车灯控制节点的程序流程,其车门控制节点既要查询开关的状态存人单片机,又要查询CAN总线的数据控制相应的电机,其主程序包含开关控制节点和车灯控制节点主程序的功能。







  3.2 节点子程序
  接收子程序的作用是将CAN总线上传来的数据存储到单片机中合适的位置,需要用时,CPU直接从该位置查询即可。在运行接收函数前,需先检查CAN控制器 SJAl000的寄存器中是否有传来的数据,如果有则运行此程序;如果无,则放弃或继续查询。发送子程序的作用是将所要发送的数据包装并发送到CAN控制器。在主程序中,系统不断查询SJAl000的状态,一旦空闲,CPU将待发送的数据发送到CAN控制器。
  4 结束语
  通过对基于CAN总线的车身电器控制系统的整体优化设计,得出结论:对车身节点进行优化后,资源得到合理使用,并增强了节点的实用和美观性,使节点的接口电路设计更加灵活。本方案侧重于对实验台实用性的改进。通信过程中存在的干扰、基于时间触发的CAN(即TTCAN)的应用问题尚待进一步的研究。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-13 06:33 , 耗时 0.090002 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表