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

[09-12 16:04:23]   来源:http://www.88dzw.com  单片机学习   阅读:8979

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

基于CAN总线的车身电器控制系统网络实验台设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com


  2.3 车灯控制节点接口电路

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


  2.4 车门控制节点接口电路

  车门控制节点接口电路的功能和车灯控制节点接口电路的功能类似,也是将单片机输出的小电流信号转换成可驱动大功率电器的电信号,完成相应工作。该电路采用 MC33887器件。该器件功耗低,在等待模式下电流为25 mA,输出电流超过8 A自动短路关断。图6为车门控制节点接口电路。


  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)的应用问题尚待进一步的研究。


上一页  [1] [2] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行