当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 电动汽车中的电控单元多、内部空间小、环境干扰大,对控制系统、通信系统提出了更高的要求。CAN 以其良好的运行特性,极高的可靠性和独特的设计,特别适合电动汽车各电子控制单元之间的通信。为了更好地

电动汽车中的电控单元多、内部空间小、环境干扰大,对控制系统、通信系统提出了更高的要求。CAN 以其良好的运行特性,极高的可靠性和独特的设计,特别适合电动汽车各电子控制单元之间的通信。为了更好地在实验室进行研究,建立了一个功能比较完善的试验测试平台,能够对CAN 总线系统及其网络协议进行研究。首先,基于DSP 的开发设计了电机控制器节点的通信程序。其次,深入了解CAN 总线在电动汽车中的应用需求,设计了CAN总线的应用层协议。最后,为检验设计协议的可行性,利用VB6.0 开发了电动汽车的监控系统,并为监控数据建立了数据库,方便管理数据。

2 电机控制器节点的设计

针对电动汽车电机控制器的特点,选用TI 公司的TMS320LF2407 芯片作为电机控制器的处理器。采用模块化的设计思想,编写了电机控制器节点的通信程序,可方便移植到基于DSP 的电机控制器或其他控制单元中。在电动汽车的CAN 总线系统中,电机控制器的实时性要求高,属于高速节点,波特率设为1 兆波特。电机控制器节点主要是接收总线上传来的电机工作模式、SOC、车速、加速踏板位置和制动踏板位置等控制信息,同时发送电机的工作温度、电机故障、工作状态等实时信息。本文中利用DSP2407的邮箱2 作为接收邮箱,邮箱5 作为发送邮箱,20 毫秒定时发送一次。

3 电动汽车监控系统设计

在实验室模拟电动汽车CAN 总线系统,以PC 机(带USB-CAN 模块)作为电动汽车的总控制器。利用CAN-bus 通用测试软件的运行机制和工作原理,设计了基于PC 机的电动汽车CAN 总线技术的监控系统。

3.1 监控系统概述

监控系统通过控制台(带USB-CAN 模块的PC 机)对电机控制器、电池控制器以及离合控制器进行监控。运行主界面如图1 所示。能根据需要在CAN 总线中收发参数,实现对总线各节点的监视和控制。例如,电机参数,包括SOC、车速、故障等级、工作模式、故障代码、工作温度等。监控系统还可根据系统扩展需要,提供创建节点的功能。另外,还提供数据管理功能。在监控系统执行过程中,采集到的数据会被记录到Microsoft Access 数据库中,可以用表格形式实时显视,还可以通过输出按钮由软件Excel 打开。

3.2 监控系统通信协议

在CAN 协议中只定义了数据链路层和物理层两层协议,缺乏对信息处理的规范,而一个完整的网络系统中离不开人机交互的应用进程,所以必须由用户定义应用层协议。根据电动汽车运行的特点,设计了监控系统的通信协议。大体上将电动汽车上各电子控制单元(ECU)分为高速和低速节点两大类。其中高速节点包括电机控制器、发动机控制器、电池控制器、ABS/ASR控制单元和能量管理单元等,在它们的ID 码设置较高的优先级。低速节点包括空调系统、仪表显示系统、车灯系统等。表1 给出了电动汽车各节点之间接收及发送的信号类型。根据电动汽车各节点之间接收及发送的数据,对各节点之间需要交换的信息的类型,所包含的参数以及表示方法有具体的说明。例如在电机控制器节点发送的8 个字节分别定义为:电机转速(双字节)、电机转矩(双字节)、工作温度(单字节)、错误等级及代码(单字节)、工作模式(单字节)还有一个字节作为备用。表1 电动汽车各节点之间接收及发送的数据明。例如在电机控制器节点发送的8 个字节分别定义为:电机转速(双字节)、电机转矩(双字节)、工作温度(单字节)、错误等级及代码(单字节)、工作模式(单字节)还有一个字节作为备用。

3.3 监控系统程序设计

监控系统是要完成对各节点的监控,按照设计需求,可将整个设计分为五个设计窗体,包括主窗体、电机控制器监控窗体、电池控制器监控窗体、离合控制器监控窗体和创建节点窗体,并进行模块化设计。其中创建节点窗体可根据需要方便创建监控窗口,设置节点ID 号和监控变量。监控系统程序设计流程图如图2 所示。

4 监控系统的测试

完成了PC 机的监控系统程序设计后,为了验证程序是否正常工作,同时为了验证设计的下位机DSP 数据采集与通信程序的正确性。在这里将DSP数据采集与通信程序和PC 机程序联合起来进行调试。将双方的波特率设为1M 波特。DSP 节点的测试程序包含A/D 采样(模拟加速踏板位置)和通信程序,DSP 运行后由定时中断(20ms)进行数据采集及处理,将信号通过CAN总线上传到上位机(PC 机)。另一方面,DSP 自动判断是否有PC 机发送来的指令,如电池电压、电池电流、加速踏板位置和工作模式等。上位机接收到数据后,进行处理并交给监控系统进行显示。电机控制器节点的测试界面如图3 所示。

5 结论

为适合电动汽车监控的需求,组建了基于CAN总线的电动汽车仿真测试平台,配备专业测试仪器后可组建CAN-BUS 实验室。该系统具有良好的扩展性,可方便增加需要监控的汽车电子控制单元(ECU)。此外,通过VB 与ACCESS 技术的良好衔接,具有数据实时保存,为后期的数据处理提供条件。为了保证各个消息能及时被相关节点采集并处理,需要对消息的调度策略进行深入研究,进一步优化网络管理,特别是网络故障诊断以及处理机制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭