纯电动汽车的整车控制器及整车控制方法 【技术领域】
本发明涉及整车控制技术,特别涉及一种纯电动汽车的整车控制器、以及一种 纯电动汽车的整车控制方法。背景技术
随着汽车工业的发展和进步,人们对汽车的动力性、经济性、安全性及排放方 面的要求越来越高,而传统的机械式连接、点对点连线的控制方式已远远不能满足这些 需求。
为了解决上述问题,基于控制器局域网 (Controller Area Network, CAN) 总线的 整车控制方式应运而生。 由于纯电动汽车除了组合仪表等 CAN 总线节点之外,还增加了 电池管理系统、电机控制器等高电压大电流的 CAN 总线节点,因而整车控制的安全可靠 就显得更加重要,即如何使动力电池、电机控制器、电动空调、组合仪表、电动助力转 向 (Electric Power Steering, EPS) 系统、及其它 CAN 节点之间彼此协作、优化匹配,各 自功能发挥最佳、利用率最高就成了整车控制器的首要任务。
然而,现有整车控制器不但未能提供可靠的整车控制策率,而且均利用低端的 单片机作为 CPU,从而使得整车控制器的运算速度相对较慢,还使得 CPU 外围电路的元 器件较多、结构复杂。
例如,参见图 1,现有整车控制器中的 CPU 1 需要接收纯电动汽车中的踏板传感 器和温度传感器输出的模拟信号,而该模拟信号需首先经过模拟量调理电路 13 调节、尔 后再经模拟 / 数字 (A/D) 转换器 5 转换为数字信号后,才能够由 CPU 1 进行相应处理。
此外,参见图 2,现有整车控制器为了基于 CAN 总线实现对各 CAN 总线节点 的控制交互, CPU 1 需设置两个 CAN 总线发送信号管脚 TD1、以及 CAN 总线接收管脚 RD1,且 CAN 总线发送信号管脚 TD1 需通过高速光耦 U22 以及若干电阻与 CAN 控制器 U23 的 TXD 管脚相连, CAN 总线接收信号管交 RD1 需通过高速光耦 U22 以及若干电阻 与 CAN 控制器 U23 的 RXD 管脚相连。
而由于元器件较多、印刷电路板 (Printed Circuit Board,PCB) 布线复杂,因而还 使得整车控制器的故障概率增大。
可见,现有整车控制所基于的硬件结构以及整车控制策率的可靠性均不高。 发明内容 本发明提出了一种纯电动汽车的整车控制器、以及一种纯电动汽车的整车控制 方法,能够提高整车控制的可靠性。
本发明提供的一种纯电动汽车的整车控制器,包括 :
嵌入式处理器,其具有一处理内核、以及由处理内核控制的模拟 / 数字转换器 和 CAN 总线转换器 ;
模拟量调理电路,其一侧连接嵌入式处理器与内部 A/D 转换器相连的模拟量信
号输入管脚、另一侧连接纯电动汽车中的踏板传感器和温度传感器 ;
CAN 收发隔离电路,其一侧连接嵌入式处理器与内部 CAN 总线转换器相连的 CAN 总线信号管脚、另一侧与纯电动汽车的各 CAN 总线节点相连 ;
开关量调理电路,其一侧通过第一光电隔离器连接嵌入式处理器与内部处理内 核相连的开关量信号输入管脚、另一侧连接纯电动汽车中的钥匙开关和档位开关 ;
继电器驱动电路,其一侧通过第二光电隔离器连接嵌入式处理器与内部处理内 核相连的开关量信号输出管脚,另一侧连接纯电动汽车中的主接触器 ;
且,处理内核中承载有主程序、信息采集中断服务程序、以及驾驶控制中断服 务程序 ;主程序在处理内核在初始化后,开放所有中断服务程序 ;依据来自开关量调理 电路的钥匙开关输入信号、通过继电器驱动电路导通主接触器,并通过 CAN 总线转换器 与各 CAN 总线节点交互 CAN 总线报文、用以获取各 CAN 总线节点的状态信息 ;主程序 在信息采集中断产生时,调用信息采集中断服务程序采集嵌入式处理器内的 A/D 转换器 对踏板传感器产生的模拟量踏板信号转换得到的数字量踏板信号、并根据档位开关产生 的开关量信号识别当前的档位 ;主程序在驾驶控制中断产生时,调用驾驶控制中断服务 程序,并根据数字量踏板信号以及当前档位,与对应 CAN 总线节点交互 CAN 总线报文、 用以对应 CAN 总线节点执行相应的驾驶操作。 进一步包括 :电源转换稳压电路,其输入端连接纯电动汽车中的 12V 电源,提 供 3.3V 电压的第一输出端、以及提供 1.8V 的第二输出端连接嵌入式处理器的电源管脚, 提供 5V 电压的第三输出端与模拟量调理电路、 CAN 收发隔离电路相连 ;
开关量调理单元进一步将接收到的 12V 开关量信号转换为 3.3V 数字量开关信 号。
进一步包括 :看门狗复位电路,其与嵌入式处理器所具有的连接内部处理内核 的复位管脚相连。
进一步包括 :信息存储器,其通过 I2C 总线与嵌入式处理器的 I2C 信号管脚相 连。
本发明提供的一种纯电动汽车的整车控制方法,包括 :
a、整车控制器的 CPU 处理内核承载的主程序,在上电初始化后开放所有中断, 并通过 CPU 中的 CAN 总线转换器与纯电动汽车中各 CAN 总线节点交互 CAN 总线报文、 用以获取各 CAN 总线节点的状态信息 ;
b、当有信息采集中断产生时,主程序调用所有中断服务程序中的信息采集中断 服务程序采集 CPU 中 A/D 转换器得到的加速踏板和制动踏板产生的数字量踏板信号,还 根据档位开关产生的开关量信号识别当前的档位 ;
c、当有驾驶控制中断产生时,主程序调用所有中断服务程序中的驾驶控制中断 服务程序通过 CPU 中的 CAN 总线转换器与纯电动汽车中对应 CAN 总线节点交互 CAN 总 线报文、用以对应 CAN 总线节点执行相应的驾驶操作。
步骤 a 通过 CPU 中的 CAN 总线转换器与纯电动汽车中各 CAN 总线节点交互 CAN 总线报文具体包括 :通过 CPU 中的 CAN 总线转换器与各 CAN 总线节点中的电池管 理系统交互 CAN 总线报文、以获取动力电池状态信息,与电机控制器交互 CAN 总线报 文、以获取电机运行状态,与组合仪表交互 CAN 总线报文、以获取车速,与电动助力转
向 EPS 控制器交互 CAN 总线报文、以获取 EPS 工作状态。
获取动力电池状态信息之后,进一步将获取的动力电池状态信息发送至各 CAN 总线节点中的组合仪表,以呈现动力电池状态信息。
步骤 b 具体包括 :
主程序调用中断服务程序读取 CPU 中 A/D 转换器的输出,以实现对加速踏板和 制动踏板产生的数字量踏板信号的采集 ;
主程序调用中断服务程序依据档位开关产生的开关量信号所表示的通用输入输 出 GPIO 端口,识别当前的档位。
步骤 c 中的对应 CAN 总线节点包括电机控制器,且步骤 c 中与纯电动汽车中对 应 CAN 总线节点交互 CAN 总线报文具体包括 :
如果识别出的档位信号为停车档,则向电机控制器发送用于使电机停转的 CAN 总线报文,以使纯电动汽车停车 ;
如果识别出的档位信号为前进档,则向电机控制器发送用于使电机正转的 CAN 总线报文,然后依据采集到的加速踏板的数字量踏板信号计算电机的驱动力矩、并通过 CAN 总线报文发送给电机控制器,以使纯电动汽车前进 ; 如果识别出的档位信号为倒车档,则向电机控制器发送用于使电机反转的 CAN 总线报文,以使纯电动汽车后退,并向电机控制器发送用于限速的 CAN 总线报文、该 CAN 总线报文中包含有针对加速踏板产生的踏板信号的速度值上限,然后依据采集到的 加速踏板的数字量踏板信号计算电机的驱动力矩、并通过 CAN 总线报文发送给电机控制 器,以保证纯电动汽车限速后退 ;
如果采集到的制动踏板的数字量踏板信号有效,则向电机控制器发送用于使电 机减速的 CAN 总线报文、该 CAN 总线报文中包含制动踏板被踩下的角度百分比,以使纯 电动汽车制动,然后电机控制器进行能量回馈。
步骤 c 中与纯电动汽车中对应 CAN 总线节点交互 CAN 总线报文之前,进一步包 括:
对步骤 a 中得到的动力电池状态信息进行故障处理 ;
如果故障处理结果为严重故障,则直接向电机控制器发送用于使电机停转的 CAN 总线报文,以使纯电动汽车停车 ;
否则,执行步骤 c 中与纯电动汽车中对应 CAN 总线节点交互 CAN 总线报文的操 作。
本发明提供的一种纯电动汽车的整车控制装置,承载于纯电动汽车的 CPU 中, 该整车控制装置包括 :
第一主程序模块,在上电初始化后开放所有中断,并通过 CPU 中的 CAN 总线转 换器与纯电动汽车中各 CAN 总线节点交互 CAN 总线报文、用以获取各 CAN 总线节点的 状态信息 ;
第二主程序模块,当有信息采集中断产生时,调用信息采集中断服务程序模块 采集 CPU 中 A/D 转换器得到的加速踏板和制动踏板产生的数字量踏板信号,还根据档位 开关产生的开关量信号识别当前的档位 ;
第三主程序模块,当有驾驶控制中断产生时,调用驾驶控制中断服务陈旭模块
通过 CPU 中的 CAN 总线转换器与纯电动汽车中对应 CAN 总线节点交互 CAN 总线报文、 用以对应 CAN 总线节点执行相应的驾驶操作。
第一主程序模块通过 CPU 中的 CAN 总线转换器与纯电动汽车中各 CAN 总线节 点交互 CAN 总线报文具体包括 :通过 CPU 中的 CAN 总线转换器与各 CAN 总线节点中 的电池管理系统交互 CAN 总线报文、以获取动力电池状态信息,与电机控制器交互 CAN 总线报文、以获取电机运行状态,与组合仪表交互 CAN 总线报文、以获取车速,与电动 助力转向 EPS 控制器交互 CAN 总线报文、以获取 EPS 工作状态。
第一主程序模块获取动力电池状态信息之后,进一步将获取的动力电池状态信 息发送至各 CAN 总线节点中的组合仪表,以呈现动力电池状态信息。
第二主程序模块具体包括 :
信号采集子模块,调用中断服务程序读取 CPU 中 A/D 转换器的输出,以实现对 加速踏板和制动踏板产生的数字量踏板信号的采集 ;
档位识别子模块,调用中断服务程序依据档位开关产生的开关量信号所表示的 通用输入输出 GPIO 端口,识别当前的档位。
第三主程序模块交互的对应 CAN 总线节点包括电机控制器,且第三主程序模块 与纯电动汽车中对应 CAN 总线节点交互 CAN 总线报文具体包括 :
如果识别出的档位信号为停车档,则向电机控制器发送用于使电机停转的 CAN 总线报文,以使纯电动汽车停车 ;
如果识别出的档位信号为前进档,则向电机控制器发送用于使电机正转的 CAN 总线报文,然后依据采集到的加速踏板的数字量踏板信号计算电机的驱动力矩、并通过 CAN 总线报文发送给电机控制器,以使纯电动汽车前进 ;
如果识别出的档位信号为倒车档,则向电机控制器发送用于使电机反转的 CAN 总线报文,以使纯电动汽车后退,并向电机控制器发送用于限速的 CAN 总线报文、该 CAN 总线报文中包含有针对加速踏板产生的踏板信号的速度值上限,然后依据采集到的 加速踏板的数字量踏板信号计算电机的驱动力矩、并通过 CAN 总线报文发送给电机控制 器,以保证纯电动汽车限速后退 ;
如果采集到的制动踏板的数字量踏板信号有效,则向电机控制器发送用于使电 机减速的 CAN 总线报文、该 CAN 总线报文中包含制动踏板被踩下的角度百分比,以使纯 电动汽车制动,然后使电机控制器进行能量回馈。
第三主程序模块与纯电动汽车中对应 CAN 总线节点交互 CAN 总线报文之前,进 一步对第一主程序模块得到的动力电池状态信息进行故障处理 ;
如果故障处理结果为严重故障,则第三主程序模块直接向电机控制器发送用于 使电机停转的 CAN 总线报文,以使纯电动汽车停车 ;
否则,第三主程序模块执行所述与纯电动汽车中对应 CAN 总线节点交互 CAN 总 线报文的操作
由上述技术方案可见,本发明利用内置有 A/D 转换功能和 CAN 总线转换功能的 嵌入式处理器实现整车控制器,从而省去了整车控制器中 A/D 转换接口电路、并简化了 CAN 总线转换电路,进而减少了整车控制器中的元器件、并简化了电路结构,因而能够 降低整车控制器的故障概率、提高整车控制器的可靠性。而且,本发明中利用 CPU 的中断服务程序,基于 CAN 总线实现了对整车各 CAN 总线节点的控制。 附图说明
图 1 为现有整车控制器中的模数转换接口电路结构示意图 ; 图 2 为现有整车控制器中的 CAN 总线接口电路结构示意图 ; 图 3 为本发明实施例中整车控制器的结构示意图 ; 图 4 为本发明实施例中整车控制器的数模转换接口电路结构示意图 ; 图 5 为本发明实施例中整车控制器的 CAN 总线接口电路结构示意图 ; 图 6 为本发明实施例中整车控制器的信息存储接口电路结构示意图 ; 图 7 为本发明实施例中整车控制器的主控制流程示意图 ; 图 8 为本发明实施例中整车控制器的信息采集中断的控制流程示意图 ; 图 9 为本发明实施例中整车控制器的驾驶控制中断的控制流程示意图。具体实施方式 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施 例,对本发明进一步详细说明。
图 3 为本发明实施例中整车控制器的结构示意图。 如图 3 所示,本实施例中的 整车控制器包括 :由嵌入式处理器实现的 CPU 10、 CPU 10 的各类外围接口电路、以及 通过屏蔽双绞线连接纯电动汽车中各节点的 CAN 总线物理接口 19。
其中,本实施例中的嵌入式处理器选用 32 位的 ARM 微处理器,该高级精简 指令集处理器 (Advanced Risc Machine, ARM) 微处理器的运算速度快、片内最高可达 60MHz 的操作频率。 且, ARM 微处理器片内集成有 CAN 总线转换器、10 位的 A/D 转 换器, CAN 总线转换器和 A/D 转换器均由 ARM 微处理器的处理内核控制。
参见图 3 并结合图 4,虽然 CPU 10 仍需要接收纯电动汽车中的踏板传感器和电 机温度传感器产生的模拟信号,但由于实现 CPU 10 的 ARM 微处理器中集成有 A/D 转换 器,因而 CPU 10 与内部 A/D 转换器相连的模拟信号管脚可直接与模拟量调理电路 13 相 连,从而省去了现有整车控制器中的 A/D 转换接口电路。
参见图 3 并结合图 5, CPU 10 仍设置 CAN 总线收发信号管脚,即 CAN 总线发 送信号管脚 TD1、以及 CAN 总线接收管脚 RD1,但本实施例中利用集成有 CAN 控制器 和高速光耦的 CAN 收发电路 U30( 该 CAN 收发电路可以有现有芯片来实现,具体工作原 理和相关参数在此不再详述 ) 替换现有如图 2 所示的 CAN 总线接口电路结。 这样,CPU 10 集成的 CAN 总线转换器所具有的两个 CAN 总线信号管脚,可直接通过 CAN 收发电 路 U30 与 CAN 总线物理接口 19 相连,即 CAN 总线发送信号管脚 TD1 直接与 CAN 收发 电路 U30 的 TXD 管脚相连, CAN 总线接收信号管交 RD1 直接与 CAN 收发电路 U30 的 RXD 管脚相连,而 CAN 收发电路 U30 的 CANL 管脚和 CANH 管脚则连接至 CAN 总线 物理接口 19,从而简化了 CAN 总线接口电路。
仍参见图 3, CPU 10 具有与内部处理内核相连的开关信号输入管脚,纯电动汽 车的钥匙开关、空调开关、档位开关通过开关量调理电路 14 和第一光隔离电器 15 连接至
开关信号输入管脚 ;
CPU 10 还具有与内部处理内核相连的开关信号输出管脚,开关信号输出管脚通 过第二光电隔离器 17、继电器驱动器 18 连接至纯电动汽车的用于开启整车所有 CAN 总 线节点电源的主接触器、用于控制空调关闭的空调接触器、用于开启动力电池充电的充 电继电器、以及其他用途的备用继电器。 其中,开关量调理电路 14 用于将钥匙开关、空 调开关、档位开关输出的开关量信号进行电平转换和整形滤波,将整车 12V 的开关量信 号转换成 CPU10 能承受的 3.3V 数字量信号 ;第一光隔离电器 15 和第二光电隔离器 17 则 是用于将 CPU 10 与整车实现电气隔离,以实现对 CPU 10 的电气保护、减少整车电气部 分对 CPU 10 的电气干扰。
此外,参见图 3,本实施例中的整车控制器还包括电源转换稳压电路 11,其输 入端连接纯电动汽车中的 12V 电源 ;提供 3.3V 电压的第一输出端、以及提供 1.8V 的第二 输出端连接嵌入式处理器的电源管脚,用于为 CPU 10 中的处理内核、A/D 转换器、CAN 总线转换器供电 ;提供 5V 电压的第三输出端与模拟量调理电路 13、 CAN 收发隔离电路 19 相连。
参见图 3,本实施例中的整车控制器还包括看门狗复位电路 12,该看门狗复位 电路 12 与 CPU 10 的复位管脚相连。 参见图 3,本实施例中的整车控制器还包括信息存储器 13,该信息存储器 13 通 过 I C(Inter-Integrated Circuit) 总线与 CPU 10 的 I2C 信号管脚相连。具体参见图 4,以信息 存储器为电可擦写只读存储器 (E2PROM)U41 为例,E2PROM U41 通过串行时钟线 (SCL) 和串行数据线 (SDA) 与 CPU 10 的 I2C 信号管脚相连。 I2C 总线的管脚连接方式为现有技 术,在此不再详述。
除了上述物理结构之外, CPU 10 内的处理内核中还承载有主程序、初始化程 序、信息采集中断服务程序、以及驾驶控制中断服务程序。 图 7 为本发明实施例中整车 控制器的主控制流程示意图。 如图 7 所示 :
S71,主程序调用初始化程序。
本步骤中,调用初始化程序,可以对 CPU 10 内的各通用输入输出 (GPIO) 端口 进行初始化设置、以使各开关量信号经开关量调理电路 14 转换为 CPU 10 可接收和识别 的高低电平信号后可输出至 CPU 10 内部的不同 GPIO 端口 ;对 CPU 10 内的 A/D 转换通 道、即 CPU 10 内部的与 A/D 转换器相关寄存器进行初始化设置 ;对 CPU 10 内部寄存器 进行初始化设置 ;还对例如 I2C 总线等其他硬件配置进行初始化设置。 本步骤中的初始 化过程可以由本领域技术人员按照现有任意方式予以实现,在此不再一一详述。
S72,在初始化后,主程序开放所有中断。
本步骤中,开放所有中断是为了在对应中断发生时,可以进入信息采集中断服 务程序入口地址、驾驶控制中断服务程序入口地址,用以执行相应的信息采集中断服务 程序、驾驶控制中断服务程序。 如何实现中断的开放可以由本领域技术人员采用任意方 式实现。
本步骤中,主程序还可依据来自开关量调理电路 14 的钥匙开关输入信号,通过 继电器驱动电路 18 导通主接触器、以允许纯电动汽车中的相关部件通电。
且本步骤之后的任意时刻,主程序还可依据来自开关量调理电路 14 的空调开关
2输入信号,通过继电器驱动电路 18 导通空调接触器、以开启纯电动汽车内的空调。
S73,主程序周期性地通过 CPU 10 内的 CAN 总线转换器、以及连接 CPU 10 的 CAN 总线信号管脚的 CAN 收发电路 U30,与各 CAN 总线节点交互 CAN 总线报文,用以 获取各 CAN 总线节点的相应状态。
本步骤中,可以通过周期性地与电池管理系统交互 CAN 总线报文,实现对电池 管理系统进行动力电池状态的实时监控、以及动力电池状态的显示、存储 ;通过周期性 地与电机控制器交互 CAN 总线报文、获取电机运行状态 ;通过周期性地与组合仪表交互 CAN 总线报文、获取车速 ;通过周期性地与电动助力转向 EPS 控制器交互 CAN 总线报 文、以获取 EPS 工作状态。
例如,电池管理系统通过 CAN 总线,定时向主程序所在的整车控制器发送包含 有动力电池的电压、电流、温度、荷电状态 (SOC) 及故障信息的 CAN 总线报文 ;主程 序在动力电池的电压、电流、温度、荷电状态 (SOC) 及故障信息满足预定电池充电条件 时,通过 CPU 10 内的 CAN 总线转换器、以及连接 CPU 10 的 CAN 总线信号管脚的 CAN 收发电路 U30,向电池管理系统回复包含有充电指令的 CAN 总线报文,同时通过继电器 驱动电路 18 导通充电继电器、以使动力电池能够开始充电。 再例如,主程序还可周期性地通过 CPU 10 内的 CAN 总线转换器、以及连接 CPU 10 的 CAN 总线信号管脚的 CAN 收发电路 U30,向组合仪表发送包含有电池管理 系统在上一周期内发送的动力电池的电压、电流、温度、荷电状态 (SOC) 及故障信息的 CAN 总线报文,以供组合仪表可实时呈现纯电动汽车的当前状态。
还例如,主程序还可将动力电池的故障信息通过 I2C 总线写入至信息存储器 13, 以实现对电池状态的故障信息记录。
实际应用中,每个 CAN 总线节点可预先分配有唯一的 29 位识别码 (ID),ID 中 包含发送优先级、数据发送的目的地址及源地址,交互 CAN 总线报文的方式可以由本领 域技术人员依照现有的例如 SAE J1939 及 ISO11989 等 CAN 总线协议标准来实现,在此不 再详述。
S74,主程序依据定时器设置,周期性地监测是否有中断产生,如果有信息采集 中断产生则执行 S75,如果有驾驶控制中断产生则执行 S76,否则执行 S77。
本步骤中,信息采集中断和驾驶控制中断都是通过定时器中断来产生的,只是 两者定时的时间不同 ( 定时器中断的定时时间可通过倍频的方式小于主程序的一个时钟 周期、也可以主程序的时钟周期计数 )、优先级不同,本方案中驾驶控制中断的优先级高 于信息采集中断的优先级,但信息采集中断的时间比驾驶控制中断的时间短,也就是驾 驶控制中断每执行一次、信息采集中断会执行几次,保证了驾驶中断每次使用的变量内 容均为最新信息,两个中断的满足条件均为各自的定时时间到即进入对应的中断服务程 序入口。
S75,信息采集中断产生,主程序调用信息采集中断服务程序,采集 CPU10 内 的 A/D 转换器对加速踏板和制动踏板的踏板传感器产生的模拟量信号转换得到的数字量 信号,还调用信息采集中断服务程序根据来自开关量调理电路 14 的由档位开关产生的开 关量信号识别当前的档位,然后执行 S77。
本步骤中,对于加速踏板和制动踏板的踏板传感器产生的模拟量信号转换得到
的踏板数字量信号,可直接读取 A/D 转换器的输出即可实现采集 ;而对于档位开关产生 的开关量信号,由于各开关量信号经开关量调理电路 14 转换为 CPU 10 可接收和识别的高 低电平信号后,会被分别输出至 CPU 10 内部的不同 GPIO 端口,因而本步骤中可通过识 别 CPU 10 内部 GPIO 端口的高低电平来识别当前有效的档位。
参见图 8, S75 中信息采集中断服务程序的控制流程共包括阶段 S81 ~ S83 :
在 S81,信息采集中断服务程序读取 A/D 转换器的输出,采集 CPU 10 内的 A/D 转换器对加速踏板或制动踏板的踏板传感器产生的模拟量踏板信号转换得到的数字量踏 板信号 ;
本实施例中 CPU 10 片内的 A/D 转换器采用的是软件控制方式,即由主程序将 A/D 转换器的启动信号位置为 1 后才开始启动 A/D 转换,因而对于此种控制方式,本步 骤中的信息采集中断服务程序在读取之前还应进一步控制 A/D 转换器的启动 ;当然,如 果 CPU 10 片内的 A/D 转换器采用的是硬件控制方式,则本步骤中就无需进一步包括启动 的操作 ;
在 S82,根据来自开关量调理电路 14 的由档位开关产生的开关量信号所对应的 GPIO 端口是否有效,有效与否是看其高低电平信号,当然是高电平有效还是低电平有 效,与档位开关的输出特性和开关量调理电路的硬件结构有关,具体实现方式可由本领 域技术人员视具体情况确定,在此不再赘述,总之是通过判断当前有效的 GPIO 端口来判 断当前有效的档位 ;
在 S83a,如果 P(Park) 对应的 GPIO 端口有效,则判断当前档位为停车档 ;
在 S83b,如果 R(Reverse) 对应的 GPIO 端口有效,则判断当前档位为倒车档 ;
在 S83c,如果 N(Neutral) 对应的 GPIO 端口有效,则判断当前档位为空档 ;
在 S83d,如果 D(Drive) 对应的 GPIO 端口有效,则判断当前档位为前进档。
实际应用中,在判断出档位后,信息采集中断服务程序可进一步修改主程序内 的档位变量,例如,定义 01 为 P 档、02 为 R 档、03 为 N 档、04 为 D 档,当检测到 P 对 应的 GPIO 端口有效时,将档位变量修改为 01, R、 N、 D 档同理 ;或者,还可定义 P、 R、 N、 D 档分别为 0001、0010、0100、1000 等,本文对各种定义方式不再一一赘述。
本步骤修改的档位变量虽然是由信息采集中断执行的,但修改后的档位变量是 用来提供给驾驶控制中断使用。
S76,驾驶控制中断产生,主程序调用驾驶控制中断服务程序、并通过 CPU 10 内的 CAN 总线转换器、以及连接 CPU 10 的 CAN 总线信号管脚的 CAN 收发电路 U30 与 对应 CAN 总线节点交互 CAN 总线报文,用以对应 CAN 总线节点执行相应的驾驶操作, 然后执行 S77。
本步骤中,执行相应驾驶操作的对应 CAN 总线节点主要包括电机控制器,进一 步还可包括组合仪表。
参见图 9, S76 中驾驶控制中断服务程序的控制流程共包括阶段 S91 ~ S910 :
在 S91,对 A/D 转换器转换得到的加速踏板的踏板传感器产生的数字量踏板信 号进行滤波处理,该阶段为可选的 ;
在 S92,对 A/D 转换器转换得到的制动踏板的踏板传感器产生的数字量踏板信 号进行滤波处理,该阶段也为可选的 ;在 S93,依据与各 CAN 总线节电的交互,获取 S73 中得到的动力电池状态信 息,即动力电池的电压、电流、温度、荷电状态 (SOC) 及故障信息 ;
在 S94,根据获取的动力电池的电压、电流、温度、荷电状态 (SOC) 及故障信 息进行故障处理 ;
在 S95,判断对故障信息的分析结果是否为严重故障,如果是则执行 S97a,否 则执行 S96 ;
例如,以电压为例,假设来自电池管理系统的 CAN 总线报文中,第 1 个字节表 示当前动力电池总电压的低字节、第 2 个字节表示当前动力电池总电压的高字节,每一 位 (bit) 代表 0.1V,则 S94 中的具体分析过程可以为 :将 2 个单字节、即 8 位整合成一个 16 位的数据再乘以 0.1,得到的就是当前动力电池的总电压,然后在 S95 再判断总电压是 否处于预先设置的严重故障区间内,如果是则表示严重故障 ;
再例如,以故障信息为例,假设来自电池管理系统的 CAN 总线报文中,第 7 个 字节的第 7 位为 0 表示动力电池正常、为 1 表示动力电池漏电,则 S94 中的具体分析过程 可以为 :提取第 7 个字节的第 7 位,然后再 S95 判断该位是否为 1,如果该位为 1 则表示 动力电池漏电则表示严重故障 ;
当然,阶段 S94、 S95 故障处理并判断的过程还可以由本领域技术人员依据现有 其他一种或多种故障诊断方式来实现,在此不再一一列举 ;
在 S96,对纯电动汽车的各 CAN 总线节点进行对应的工况处理,如果 S75 识别 出的档位信号为 P 或 N,则执行 S97a ;如果 S75 识别出的档位信号为 D,则执行 S97b ; 如果识别出的档位信号为 R,则执行 S97c ;如果 S75 采集到的制动踏板的数字量踏板信 号有效,则执行 S97d ;
在 S97a,向电机控制器发送用于使电机停转的 CAN 总线报文,以使纯电动汽车 停车,然后结束 S76 ;本步骤中,对于电动车来说,P 档和 N 档都需要控制电机停转、用 以使纯电动汽车停车,但实际应用中, N 档还应进一步控制离合器分离 ;
在 S97b,向电机控制器发送用于使电机正转的 CAN 总线报文,以使纯电动汽车 前进,然后执行 S910 ;
在 S97c,向电机控制器发送用于使电机反转的 CAN 总线报文,以使纯电动汽车 后退,然后执行 S98 ;在 S98,向电机控制器发送用于限速的 CAN 总线报文、该 CAN 总 线报文中包含有针对加速踏板产生的踏板信号的速度值上限,以保证纯电动汽车限速后 退,然后执行 S910 ;
在 S97d,向电机控制器发送用于使电机减速的 CAN 总线报文、该 CAN 总线报 文中包含制动踏板被踩下的角度百分比,以使纯电动汽车制动,然后执行 S99 ;在 S99, 电机控制器控制电机进行能量回馈、以使电机发电将能量回馈到动力电池,然后结束 S76 ;
在 S910,依据采集到的加速踏板的数字量踏板信号计算电机的驱动力矩,并通 过 CAN 总线报文发送给电机控制器,然后结束 S76。
以上为 S76 中驾驶控制中断服务程序的控制流程。
S77,主程序进行看门狗操作。
具体说,在 S71 的初始化时,承载于看门狗复位电路 12 的看门狗程序会根据主程序和所有中断服务程序执行周期的长短设置复位时间寄存器 (S71 中初始化设置的所有 寄存器中即包含复位时间寄存器 ) ;在 S71 之后,看门狗程序在每个时钟周期对复位时 间寄存器的值减 1,并依据定时器周期性地设置复位时间寄存器的值、即术语称为 “喂 狗”,以使复位时间寄存器的值无法变为 0,如果主程序和所有中断服务程序的时序有 误,则复位时间寄存器的值会由于未按周期 “喂狗”而变为 0,从而触发看门狗复位电路 12 对 CPU 10 执行复位操作。 本步骤所述的看门狗操作即指 “喂狗” 操作。
此后即可返回步骤 S73 继续下一周期的操作,即步骤 S73 ~ S77 为周期性执行的 操作。
至此,主程序的控制流程结束。
此外,主程序还可依据 A/D 转换器得到的电机温度传感器产生的数字量温度信 号,控制电机风扇的转速,电机风扇不同转速的具体方式可由本领域技术人员通过各种 软硬件方式来实现,本文不再赘述。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡 在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发 明的保护范围之内。