基于UDS的Bootloader上下位机设计.pdf
《基于UDS的Bootloader上下位机设计.pdf》由会员分享,可在线阅读,更多相关《基于UDS的Bootloader上下位机设计.pdf(6页珍藏版)》请在咨信网上搜索。
1、SOFTWARE软 件2023第 44 卷 第 7 期2023 年Vol.44,No.7湖北省自然基金项目:机电磁液热耦合系统的一体化瞬态数学建模与计算方法研究(2021CFB592)作者简介:杨朝阳(1971),男,湖北十堰人,博士,副教授,从事汽车电子、无人驾驶方面的研究工作。基于 UDS 的 Bootloader 上下位机设计杨朝阳 黄凯旋 仝秀峰 闫永鑫(湖北汽车工业学院汽车工程学院,湖北十堰 442002)摘要:本文针对 AC78xx 系列单片机,参照整车厂和 UDS 服务诊断规范要求,设计了一种基于 UDS 规范的,以 CAN/CANFD 通信方式的 Bootloader 上下位机
2、升级方案。上位机以 Qt 5.14.2 为开发环境,支持 Vector VN1610、USB2CAN、ZCAN_USBCANFD_200U 硬件设备与下位机进行 CAN 或 CANFD 通信,支持 S-Record、HEX、ELF 文件的解析与刷写。下位机以 Eclipse CDT、arm-none-eabi-gcc 为集成开发环境,将 Flash 划分为 Bootloader+Config+App 的形式,通过检查Flash 配置字更新用户 App 标志位的有效性来触发 App 程序的升级,且可通过更改 Map 文件选择下位机与上位机的通信方式为 CAN 或 CANFD,整个升级过程严格遵从
3、 UDS 协议规范。通过多次实车测试与验证,结果表明:该 Bootloader 上下位机方案实现了在 UDS 标准下基于 CAN/CANFD 通信的 Bootloader 升级,整个升级流程快速、稳定,并具有极高的拓展性,证明了该方案在 Bootloader 刷写过程中的可靠性和稳定性。关键词:Bootloader;UDS 诊断规范;CAN/CANFD 通信中图分类号:TP311.1 文献标识码:A DOI:10.3969/j.issn.1003-6970.2023.07.011本文著录格式:杨朝阳,黄凯旋,仝秀峰,等.基于UDS的Bootloader上下位机设计J.软件,2023,44(07
4、):042-047Design of Bootloader Upper and Lower Computer Based on UDSYANG Zhaoyang,HUANG Kaixuan,TONG Xiufeng,YAN Yongxin(School of Automotive Engineering,Hubei University of Automotive Industry,Shiyan Hubei 442002)【Abstract】:This article focuses on the AC78xx series microcontroller,and refers to the
5、requirements of the vehicle factory and UDS service diagnostic specifications.It designs a Bootloader upper and lower computer upgrade scheme based on the UDS specification,using CAN/CANFD communication mode.The upper computer uses Qt 5.14.2 as the development environment,supporting Vector VN1610,US
6、B2CAN,and ZCAN_ USBCANFD_ 200U hardware device communicates with the lower computer through CAN or CANFD,supporting the parsing and writing of S-Record,HEX,and ELF files.The lower computer uses Eclipse CDT and arm-none-eabi-gcc as the integrated development environment,dividing the Flash into the fo
7、rm of Bootloader+Config+App.By checking the validity of the Flash configuration word to update the users App flag bit,the upgrade of the App program can be triggered.The communication method between the lower computer and the upper computer can be selected as CAN or CANFD by changing the Map file,an
8、d the entire upgrade process strictly follows the UDS protocol specification.Through multiple actual vehicle tests and verifications,the results show that the bootloader upper and lower computer solution has achieved a bootloader upgrade based on CAN/CANFD communication under the UDS standard.The en
9、tire upgrade process is fast,stable,and has high scalability,proving the reliability and stability of the solution in the bootloader writing process.【Key words】:Bootloader;UDS diagnostic specification;CAN/CANFD communication基金项目论文0 引言随着汽车行业的发展,以及汽车产品的不断更新迭代,导致整车电控单元软件的更新替换越来越频繁。由于车载控制器系统在汽车上的安装位置环境复
10、杂,不易拆卸,通过传统的 SWD、JTAG、UART 等方式进行升级需要额外地增加外部电路,不仅增加了制造成本,也不利于整车布线1,2。本文利用汽车整车厂预留在汽车上的 CAN/CADFD 总线接口,参考 ISO14229 标准43杨朝阳 黄凯旋 仝秀峰等:基于 UDS 的 Bootloader 上下位机设计的 UDS 诊断协议,并结合整车厂的相关诊断规范,设计了一套基于 UDS 的 Bootloader 上下位机升级方案。本方案的设计实现,使得对车载控制器软件升级时,不需要额外增加外部电路,且不需要对控制器进行拆卸就可以完成整个升级过程,大大提高了开发效率和软件升级的便捷性,同时保证了升级过
11、程的稳定性和安全性。1 Bootloader 系统总体设计1.1 Bootloader 原理Bootloader 升级系统分为两个部分,第一部分是上位机编写的 Bootloader 刷写软件,通过 CAN/CANFD通信方式与下位机通讯,更新下位机用户 App 升级标志位,并将待刷写的用户 App 程序镜像通过 Vector 1610、USB2CAN 等 CAN 分析仪设备传输至下位机。第二部分是下位机的 Bootloader 程序,它是单片机一上电就开始运行的一小段程序3,可以分为两个阶段:第一阶段称为启动阶段,该阶段程序是由汇编语言编写,主要作用是设置堆栈指针 SP,将程序计数器指针 PC
12、 指向 Reset_Handler 函数入口地址,并将存放在 Flash 中的程序段和数据段加载到 RAM,以及初始化系统时钟,设置中断向量表的对应中断地址,再将程序入口函数设为 Main,并引导程序进入 C 语言环境。第二阶段程序通常由 C 语言编写,主要作用是初始化Bootloader 阶段使用到的 CAN、Flash、看门狗、定时器等硬件设备,检查是否更新用户 App 程序,负责与上位机进行通信,并通过 CAN 通信方式将从上位机下载得到的用户 App 程序镜像写入 Flash 的对应地址,完成用户 App 程序更新后跳转到用户 App 程序的入口地址,最终完成 Bootloader 功
13、能。本文遵循 UDS 通讯协议规范,上位机 Bootloader刷写软件通过 USB2CAN 等设备向下位机发送指令和数据,下位机根据上位机发送的 UDS 服务请求作出响应,从而实现用户 App 程序的更新。Bootloader 系统总体结构如图 1 所示。上位机Bootloader烧录软件USB2CAN下位机Bootloader程序图 1 Bootloader 系统总体结构Fig.1 Overall structure of the Bootloader system1.2 Bootloader 相关的 UDS 服务UDS 通信协议是一种面向整车所有 ECU 的通信协议,外部设备与汽车进行
14、CAN 通信时都需要遵循 UDS协议标准4。本文 Bootloader 升级系统就是基于 UDS 服务的 ISO 14229 协议框架下开发的,主要使用了以下UDS 服务:(1)10 服务:10 服务是诊断会话控制服务,该服务又分为 3 个子模式:默认会话模式、扩展会话模式、编程会话模式,通过切换不同的会话模式,ECU 可以处于不同的服务请求状态,以便执行不同的诊断任务和编程操作4。(2)3E 服务:该服务的目的是确保诊断服务或者之前激活的通信还处在激活状态,可以保持当前的非默认会话,通过周期地发送请求帧来阻止下位机自动跳转回默认会话。(3)22 服务和 2E 服务:22 服务主要用于上位机读
15、取 ECU 中的存储数据,如 ECU 软件版本号等信息;2E 服务用于写 ECU 的相关参数和配置信息,如指纹信息等。(4)31 服务:31 服务用于控制一个例程的开始、结束和查看例程的执行结果。(5)85 服务和 28 服务:85 服务用于开启和关闭ECU 的 DTC 诊断;28 服务用于开启和关闭 ECU 的报文传输。在程序升级时,需要关闭其他 ECU 单元的DTC 故障诊断,同时关闭其他 ECU 单元的报文传输,以减小总线负载。(6)27 服务:27 服务主要用于需要对 ECU 写数据时安全解锁。上位机向下位机请求随机种子,将接收到的随机种子按照安全加密算法计算出一个 Key 值,下位机
16、接受来自上位机算出来的 Key 并与内部算出的Key 比较,如果一致则解锁成功,否则解锁不成功。(7)34 服务、36 服务和 37 服务:34 服务主要用于请求下载数据,上位机将待下载数据的长度和数据的写入地址发送给 ECU。36 服务进行数据的传输操作5。37 服务用于 36 服务传输数据完成且校验正常后,上位机发送 37 服务表示数据传输完成。2 Bootloader 上位机软件设计2.1 UI 界面设计上位机支持 USB2CAN、Vector VN1610、ZCAN_USBCANFD_200U 硬件设备与下位机进行 CAN/CANFD通信。为方便用户调试,设计了一套交互界面供用户选择不
17、同的设备类型、索引号以及波特率等配置信息6,程序通过获取 UI 界面用户输入的信息,进行相应的CAN、CANFD 驱动配置。同时,可通过 CRC、Reset复选框,选择数据传输过程中的校验方式及对下位机的复位操作。用户交互界面如图 2 所示。2.2 硬件配置由于上位机端主要提供通用的输入输出接口(如44软 件第 44 卷 第 7 期SOFTWAREUSB、串口等),而不直接提供 CAN 接口。为了在电脑与单片机之间实现 CAN 通信,需要使用专门的硬件适配器或接口设备,如 USB2CAN、Vector VN1610 和ZCAN_USBCAN_200U 等,如图 3 所示。在实现 CAN通信之前
18、,用户点击 Connect 按钮,用户可以通过 UI界面获取用户输入的硬件设备信息,根据设备类型、设备索引号打开相应的设备,并初始化 CAN 通道,完成驱动的配置。图 3 上位机硬件通信设备Fig.3 Hardware communication equipment of host computer2.3 文件解析与烧写编译器生成的可执行程序通常无法直接烧录到单片机上,需要将其转化为适用于直接烧写的格式文件7。为了适应不同编译器生成的文件,上位机软件需要编写不同的接口函数,用于解析和烧写 S-Record、HEX 和ELF 文件。这些文件均是常见的用于嵌入式系统编程和固件更新的文件格式,包含了
19、烧写程序的起始地址、数据长度、数据内容和校验和等信息,可用于将程序或数据加载到目标设备的内存中。上位机程序根据用户输入的不同文件格式,选择相应的文件解析方式,以 2048字节有效数据为一个数据包进行数据传输。3 Bootloader 下位机软件设计3.1 硬件平台配置下位机 Bootloader 设计与具体的嵌入式系统硬件密切相关8,本文是基于 AC78xx 系列单片机开发设计的。AC78xx 系列单片机是以 ARM Cortex-M3 为内核的车规级 MCU,主要应用于汽车电子和高可靠性工业领域。配备先进的 CAN/CANFD 总线接口,丰富的外设及大容量的 Flash,适配灵活、功耗低、可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UDS Bootloader 上下 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。