基于CAN总线的STM32 Bootloader设计与实现毕业论文
2021-05-11 20:59:10
摘 要
电子产业是一个新兴的前景十分广阔的产业,伴随而来的还有快速的发展更新与激烈的竞争压力。任何一个电子产业无不在向着便捷,实用的角度发展,如果缺少这一目标,它将很快在日新月异的发展中被淘汰。因此,如何同时在执行STM32 Bootloader程序还能够对STM32的固件进行更新对行业的发展具有重要的意义。
在2007年STM32问世之初,大多数工程师在对STM32的固件更新和文件下载上有着不同的方法。有的工程师选择直接带电脑去客户所在地点现场进行更新维护,这样最直接但是也最为繁琐,同时耗费人力物力;有的选择用SDIO读取TF卡来更新固件,相比前面的方法有着明显的进步,但是仍有局限。因为以上种种不便,本文提出了通过CAN总线对STM32进行固件更新则能够更快更有效率的对固件进行更新方法。本文的研究特色在于根据大多数用户对于STM32固件更新的需求,设计了一个可在运行Bootloader的同时扫描所有固件并返回型号,提升更新速度,可在线更改波特率和可升级更行指定节点上的程序,在多用户能够享受便捷性的同时,大幅提升工作效率。
本文首先对can总线的STM32 Bootloader设计意义进行了概述,并阐述了整体系统使用的相关技术,接着对该系统进行了详尽的需求分析,依据之前的需求分析对系统的功能和程序进行设计和编写编写,最后根据测试结果进行完善和维护,以便完善设计。本系统在Qt环境下进行操作测试。系统上位机和下位机采用的开发工具分别为Qt5、VS2013和MDK。
关键词:CAN总线;STM32 Bootloader;交互界面;
Abstract
Electronics industry is a new promising prospects in the industry,which has the update and fierce competition and rapid development of pressure. Any electronic industry always going to convenient and practical. If lack of this goal, It will soon be eliminated in the rapid development. Therefore, how to going on the STM32 Bootloader with the STM32 firmware update has the important significance to the development of industry.
As early as 2007, the STM32 has been found, most engineers on the STM32 firmware update and file download with different methods. Some engineers choose to update the client location with computer directly to the maintenance, the most direct but also the most complicated, so consumed resources at the same time; Some choose to use SDIO read TF card to update the firmware, compared with the previous methods which has a big advance, but also has the limitation. Through CAN bus was carried out on the STM32 firmware update CAN faster and more efficient to update the firmware. In this paper, the features is according to most users demand for the STM32 firmware update and returns the type、can speed update、can change the baud rate online and can upgrade more programs on line specified node. In many users can enjoy the convenience at the same time, lift the work efficiency.
This article first to can bus STM32 Bootloader design significance were summarized, and the Use of related technolo- gies and expounds the overall system; Then the system has carried on the detailed analysis of the demand and according to the demand analysis on the function of the system design and programming; Finally according to the test results to modify system, in order to improve the design. This system under the environment of Qt test operation. System of upper machine and lower machine adopts development tools Qt5, VS2013 and MDK respectively.
Key Words:CAN bus; STM32 Bootloader; interface
目录
第一章 绪论 1
1.1研究背景 1
1.2 国内外研究现状 1
1.3研究目的及意义 2
1.4本文的研究工作和内容安排 2
第2章 相关技术与开发工具 4
2.1 CAN总线概述 4
2.2 Qt环境开发工具 5
2.3 vs2013开发工具 6
2.4 STM32软硬件介绍 6
2.4.1 STM32F103系列微处理器简介 6
2.4.2 J-link 与keli mdk 软件 7
第3章 基于CAN总线的STM32 Bootloader设计 8
3.1 系统的方案选择以及功能需求简介 8
3.2 整体系统的详细设计 8
3.2.1 程序交互界面设计 9
3.2.2CAN Bootloader 协议 10
3.2.3 STM32端程序代码 11
第四章 基于CAN总线的STM32 Bootloader的实现 19
4.1上位机交互界面的设计与实现 19
4.1.1参数设置区域的实现 20
4.1.2操作以及显示的实现 23
4.2下位机的连接实现 26
4.2.1CAN引脚的连接 26
4.2.2CAN总线适配器的连接 27
第5章 系统测试 28
5.1 系统测试概述 28
5.2 功能测试 28
5.2.1 在线选择节点更改波特率测试 28
5.2.2 在线更新指定节点 30
5.3 测试结果分析 31
第6章 总结与体会 32
参考文献 33
致谢 34
绪论
1.1研究背景
电子产业是一个新兴的前景十分广阔的产业,伴随而来的还有快速的发展更新与激烈的竞争压力。随着中国的不断发展,劳动力成本的提升以及可持续发展的需要,现在中国的电子产业正在面临着产业转型和升级。传统的电子产业必将向着更简便,更快捷,更紧凑的方向去发展。而在电子产业的历史中又不得不提及微控制器里的STM32。自从2007年STM32发布开始,越来越多的细分产品面世以及其卓越的性能、丰富外设、优异的能效比等特性的呈现,众多的用户开始大规模的使用STM32.
随着STM32被广泛的运用于汽车电子,电机驱动、简单工控以及彩屏显示等行业,它能更好的降低行业价格,拓展所需要的外设并且有着优异的实时性能和极低的开发成本。此时如何能够更加方便的去对产品中的固件程序进行更新升级也成了一个问题。