# 汽车在线升级使用说明文档

## 汽车 CAN 在线升级

注：升级用的 Bin 文件名必须符合命名规范，文件名格式：“文件名 V 版本号”。上位机将对文件名进行判断，防止烧写错误的 Bin 文件。命名配置文件存放在在线升级软件的目录下，名为：Name.ini。

上位机设备选项名 | bin 文件对应文件名 | 升级包的 bin 文件
0：主控 | AutoMain | 主控升级包文件名
1：DRS | Drs | 存储模块升级包文件名
2：广播从控 | AutoSlave | 广播从控升级包文件名
3：从控 1 | AutoSlave | 从控 1 升级包文件名
4：从控 2 | AutoSlave | 从控 2 升级包文件名
---------- | ---------- |
13：从控 11 | AutoSlave | 从控 11 升级包文件名
---------- | ---------- | --------

例子 1：主控升级包：AutoMain V8_1_0_4.bin 其中 AutoMain 就是升级包的文件名，在 Name.ini 的文件中配置如下：AUTO_MAIN = AutoMain。

例子 2：从控升级包：AutoSlave V2_0_4_2.bin 其中 AutoSlave 就是升级包的文件名，在 Name.ini 的文件中配置如下：AUTO_SLAVE = AutoSlave。

例子 3：存储模块升级包：Drs V0_2_3_3.bin 其中 Drs 就是升级包的文件名，在 Name.ini 的文件中配置如下：DRS = Drs。

### （1）主控升级：

用 CAN 盒将主控与电脑进行连接，主控在线升级使用的是充电机 CAN 和 CAN 盒的 CAN1 通道（CAN 盒有 CAN1 和 CAN2 两个通道），切记 CAN 的高低电平不要接反；在电脑桌面双击软件，打开该软件并对其进行配置（配置必须按下图参数进行）。

打开 CAN，设备选择主控，导入 bin 文件所在路径，如下图所示：

查看在线升级软件是否能与主控板进行通信：读取软件版本号，若能显示当前软件版本号，说明已经连接正常，如下图所示：

在线升级软件与主控建立连接后，点击开始升级按钮，进行升级，如下图所示：

升级完成后点击 DEBUG 使能，然后点击复位，等主控板复位后（大约 10 秒），点击读取版本。若在接收框显示版本号与升级前版本号不一致则说明升级正常。升级完成后，为了使 EEPROM 中数据与主程序中参数一致，点击重置 EEPROM 按钮；

### （2）从控直连升级：

用 CAN 盒将从控与电脑进行连接，从控在线升级使用的是内网 CAN 和 CAN 盒的 CAN1 通道，升级方式与主控基本一致，只是 bin 文件名需要遵守从控的命名规则。

升级完成后点击 DEBUG 使能，然后点击复位按钮，等从控板复位后（大约 10 秒），点击读取版本，若在接收框显示版本号与升级前版本号不一致则说明升级成功。

### （3）从控透传升级：

在实际的环境中，有时候汽车调试线的内网 CAN 没有引出来，无法通过内网 CAN 来升级从控，例如长安的 10 芯调试线中只引出主控的 CAN2 口(充电机 CAN)，可以通过主控的 CAN2 给从控进行透传升级：

设备选择主控，先点击 DEBUG 使能，再点击透传使能按钮，发送启用透传命令（该命令可进行配置），如下图所示：

命令发送完之后，读取版本，没有回复任何消息，说明透传命令已成功发送：如下图

设置 CAN 配置：按下图方框中进行设置，若给从控 1 进行升级，设备选择从控 1；后读取版本，在接收框中会显示软件版本号，说明透传可以使用；

开始给从控进行透传升级：在文件路径中选择要给从控升级的升级包，点击开始升级。在下方的程序下载进度显示有绿色进度条，则说明可以正常在线升级，如下图所示：

升级完成后点击 DEBUG 使能按钮，然后再点击复位按钮，等从控板复位后（大约 10 秒），读取版本号，与烧写的版本号一致则说明透传升级成功。

### （4）主控 DEBUG CAN ID 配置：

默认的 DEGUG CAN ID（包含升级帧 ID）为 0x7FF，该 ID 的优先级过低，导致当 CAN 总线繁忙时在线升级效率极低（升级时间可能高至 20min-100min，具体受总线繁忙程度和 bin 文件大小影响）。

连接方式参考主控升级，当能够读取到主控版本号时说明与主控通信正常（CAN 总线繁忙时有可能出现读取一次版本号没有信息返回的情况，多次尝试即可）。取消默认配置的勾选，会看到高级选项，如下图所示：

在 DEBUG CAN ID 配置的输入框中输入新的调试帧 ID（十六进制），点击写入配置，若配置成功，则会弹出配置成功信息框。

然后可以进行 DEBUG 操作或者在线升级。此时打开 CAN 监控，勾选左下角的监控，点击读取版本的话可以看到消息帧 ID 为新配置的 0x00F。若要进行在线升级，则可按照主控升级的步骤进行正常升级。需要注意的是：下位机（即主控）复位后其调试帧 ID 自动恢复为 0x7FF，而上位机需要点击还原配置按钮才会将上位机配置还原。

### （5）从控 DEBUG CAN ID 配置：

连接方式参考从控升级（若不是直连，则需要先透传），配置步骤与主控相同（设备选择相应的从控），需要注意的是：下位机（即从控）复位后其调试帧 ID 自动恢复为 0x7FF，而上位机需要点击还原配置按钮才会将上位机配置还原。

（6）升级指令间隔时间和超时时间配置：

通过更改配置文件config.ini 的 SendInterval 的值可以更改升级指令发送的间隔，更改 Timeout 的值可以设置超时时间，单位均为 ms，需要注意的是：当另有其他发送报文时(非升级指令报文)，上位机采用的发送升级指令间隔为 1ms。