1、华北理工大学轻工学院Qing Gong College North China University of Science and Technology毕 业 设 计 说 明 书设计题目:基于 stm32 的免驱单片机下载器设计学生姓名: 学 号: 专业班级: 自动化学 部: 信息科学技术部指导教师: 20XX 年 X 月 X 日摘 要-I-摘 要在现代化的今天,单片机的应用越来越广泛。对于学校教学来说,51 单片机尤为重要,几乎理工科的学生都会学习 51 单片机,用 51 单片机做教学实验来学习。这个过程中,单片机的下载程序是必不可少环节。虽然传统的下载方式基本满足学习的需求,但是也有很大的
2、弊端。诸如下载依赖串口,下载速度过慢。USB 驱动不兼容 windows7、windows8、windows10 等系统也不兼容 linux系统。给使用带来了极大的不方便。而且下载过程过于依赖于 PC,下载还需手动安装 USB 按装串口驱动,给使用带来了很大的不便。种种的不便,急需改进。以现在成熟的 STC51 单片机为例,宏晶科技并没有开放出其单片机的下载协议,下载程序只能依赖于官方的 isp 软件进行下载。从软件环境上来说不仅需要 PC 机的支持,还只有 windows 版本下的软件,如果用户为 linux 系统,对下载可能束手无策。从硬件上来说,需要 PC 机提供串口,但是,在电子产品高
3、度集成的今天,笔记本电脑基本不再具有串口,台式机也有许多主板厂商不再集成串口。无论是软件还是硬件都给用户带来了不便。而现在以通用串行总线(USB)越来越常见,速度也远比串口快很多。 关键词 单片机;USB 驱动不兼容;依赖于官方的 isp 软件;通用串行总线(USB)Abstract-II-AbstractIn todays modern, MCU application is more and more widely. Is particularly important for school teaching, 51 single chip microcomputer, almost in
4、science and engineering students will study 51 single chip microcomputer, made teaching experiments to study 51 single chip microcomputer. The process, single-chip computer download program is an essential link. Although the traditional way of downloading the basic learning needs, but also has a lot
5、 of disadvantages. Such as download depend on the serial port, download speed is too slow. USB driver is not compatible with Windows 7, Windows, Windows 10 system is not compatible with the Linux system. Brought great inconvenience to use. And download process is too dependent on the PC, download th
6、e still need to manually install the USB serial port under the drive, to use a lot of inconvenience. A variety of inconvenience, be badly in need of improvement. Now mature STC51 microcontroller, for example, macro not open out the MCU chip technology and download agreement, can only rely on officia
7、l isp download software to download. From the software environment not only need the support of the PC, and only under the Windows version of the software, if the user for Linux system, may do for download. In terms of hardware, need PC provides a serial port, however, in todays highly integrated el
8、ectronic products, notebook computer has a serial port, basic no longer desktops and many motherboard manufacturer no longer integrated serial port. Both in software and hardware brought inconvenience to the user. And now the universal serial bus (USB) is more and more common, rate than a serial por
9、t. Keywords MCU ; USB driver is not compatible; Rely on the official software目 录-III-目 录第 1 章 绪论 .11.1 单片机下载方式现状 .11.1.1 仿真器下载 .11.1.2 ISP 下载 .11.2 STC51 单片机下载方式 .11.3.STC51 单片机下载缺点 .11.4 课题的意义 .21.5 本章小结 .2第 2 章 下载器软件的设计 .32.1 官方 ISP 下载器软件的设计 .32.1.1 官方功能下载分析 .32.1.2 官方软件的使用总结 .42.2 课题下载器软件的设计 .42.
10、2.1 USB 的 HID 读取 .42.2.2 软件的功能介绍 .42.2.3 软件设计简介 .52.3 软件的设计思路 .52.3.1 USB 设备的读取 .52.3.2 对文件的操作 .52.4 本章小结 .6第 3 章 下载器的硬件设计介绍 .73.1 硬件系统需求分析 .73.2 单片机的选型 .73.2.1 STM32 单片机的功能简介 .73.3 硬件详细设计 .73.3.1 STM32 最小系统设计 .73.3.2 USB 驱动电路和串口下载电路设计 .93.3.3 生成 PCB 文件的设计 .93.4 本章小结 .10第 4 章 下载器的程序设计介绍 .104.1 程序设计的
11、介绍 .104.1.1 USB 的 HID 设备的实现 .104.1.2 STC51 单片机的下载协议 .114.2 程序设计流程图 .12结 论 .13参考文献 .14谢 辞 .15注 释 .11附 录 .11目 录-IV-第 1 章 绪论-1-第 1 章 绪论1.1 单片机下载方式现状1.1.1 仿真器下载早起的单片机基本不支持 ISP 下载,采用仿真器下载,仿真器下载是单片机下载的常见方式,要通过仿真器。仿真器其实也是由一款 MCU 制作,MCU 厂家基本不开源。但是用起来也有很多好处,诸如不但能进行烧写程序。还能很方便的 Debug,但是也有不方便的地方,诸如正版仿真器价格昂贵,携带不
12、方便。兼容性不好等问题。1.1.2 ISP 下载ISP,即 In-System Programming,在线编程。具有 ISP 功能的单片机芯片,可以通过简单的下载器直接在电路板上给芯片写入或者擦除程序,有些单片机的 ISP 也支持 Debug。相比仿真器的,相同点事 ISP 下载器也是由 MCU 构成,但是功能上先对单一,一般仅仅是下载,但是他最为一块电路,一般厂家会开源其设置,可以在自己的设备上集成电路。这样升级程序可以通过网络,U 盘等工具实现设备的自动升级,其好处不言而喻。1.2 STC51 单片机下载方式STC51 单片机一般采用 ISP 的下载方式,硬件接口为 TTL 电平的串口,
13、需要电脑的支持,需要从宏晶科技的官方网站上下载 ISP 烧写软件,如果电脑是笔记本,一般需要 USB 转 TTL 电平串口的转换器,并装好驱动,如果是台式机。需要一个 RS232 串口转 TTL 串口的转化器,一般采用 MAX232 芯片制作。电系统需要是 windows 系统。不可脱机下载,下载时还需手动断电在上电。流程比较麻烦。1.3.STC51 单片机下载缺点下载的缺点是非常依赖官方的软件,但是官方的软件一般只有 windows 系统下的,如果使用 linux 或者苹果电脑将不能下载。现在笔记本和台式机很好集成串口,但是 USB 驱动往往只持支持 windows 7 系统,兼容性也不是很
14、好。从硬件上来说,需要 PC 机提供串口,但是,在电子产品高度集成的今天,笔记华北理工大学轻工学院-2-本电脑基本不再具有串口,台式机也有许多主板厂商不再集成串口。无论是软件还是硬件都给用户带来了不便。而现在以通用串行总线(USB)越来越常见,速度也远比串口快很多。1.4 课题的意义我选择的题目 基于 stm32 的免驱单片机下载器设计 ,对 51 系列的单片机的下载协议经行破解,并用 USB 免驱的功能和 PC 机通讯进行下载。下载过程可完全脱离 PC 机,用户升级程序可不依赖 PC,使下载的过程更加灵活和便捷。本课题主要研究如何做到免装 USB 驱动,使用便捷,就行我的 U 盘一样, 无数
15、手动安装驱动。达到给 51 系列单片机(stc89 stc12 stc15 Atmel89) 等单片机进行在线下载或者脱机(脱离计算机的控制)下载的下载器设计,体积小,功耗低也是设计理念。软件使用简单便捷,比官方的下载器版本简介方便。无需手动安装驱动,自动寻找插入的 USB 下载器。使用简单方便。1.5 本章小结本章主要分析了单片机仿真器下载和单片机 ISP 下载器的当前现状及优缺点对比,总结了单片机下载的特征,指出了单片机下载的的一些问题,最后本课题的意义进行了简单的阐述。第 2 章 组卷算法与题库的研究-3-第 2 章 下载器软件的设计2.1 官方 ISP 下载器软件的设计2.1.1 官方
16、功能下载分析1、选择下载的串口由于官方的 ISP 下载方式是通过串口的方式下载。串口必不可少。2、设置波特率既然有串口,当然要设置波特率,但是设置波特率有两个接口,一是最高波特率,一是最低波特率。为什么有两个波特率,是因为下载的是用两种波特率进行通讯的。这就涉及到软件的通讯方式。类似于“变频”,因为下载器不知道单片机的晶振频率,需要下载的过程由待下载的单片机给出。首先,下载器会以设置的最低波特率发送 0X7F 的数据,从电平上看是 1 位的地电平,7 位的高电平。单片机接收电平,算出下载器的发送波特率的大小,然后以该波特率回复下载器。并告知下载器自己的晶振的频率,下载器在根据单片机的晶振,和自
17、己设置的最高波特率,取出其中“可以支持的最高波特率”。以最低波特率发送待下载的单片机,通知单片机的设置好自己的新的波特率,及“可以支持的最高波特率”。完成一次确认握手。在进行下载。3、打开 HEX 文件每当我们打开一个 HEX 文件后。右边的窗口总会出现一些十六进制的字符,没错,这就是程序经过编译的存放到 flash 里面的二进制数据。但是如果用电脑 的文本编辑器打来 HEX 的源文件,就和上面的字符不是相同的,但是有的一小段就会有。 Intel HEX 文件是由一行行符合 Intel HEX 文件格式的文本所构成的 ASCII 文本文件。在 Intel HEX 文件中,每一行包含一个 HEX
18、 记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX 文件通常用于传输将被存于 ROM 或者 EPROM 中的程序和数据。大多数 EPROM编程器或模拟器使用 Intel HEX 文件。可以看出,HEX 文件需要解析,才是我们想要的程序。通过 HEX 文件的地址编码,把数据拼接完成,就可以了。所以官方软件对 HEX 文件进行了解析。4、选择 flash 区域的空白填充。可能使用软件从没有注意这点,选择 flash 空白区的内容是 0xff 或者是0x00,选择什么不重要,重要的是空白区域,因为 HEX 文件的地址并不是连续的,两个地址之间会有空白区域,如果不填充的话或导致下载的程序无法运行。华北理工大学轻工学院-4-2.1.2 官方软件的使用总结官方的软件功能齐全,但是选项较多,会使初学者感到困惑,使用配置的地方也很多,如果配置错误很可能导致程序无法正常运行。2.2 课题下载器软件的设计2.2.1 USB 的 HID 读取本课题自行设计下载器是 USB 的 HID 设备。所以软件要读取电脑的硬件HID 设备,通过 VID 和 PID 还有 PVN 识别码自动寻找 USB 设备,打打简化课之前官方下载软件的设置串口的不方便之处。2.2.2 软件的功能介绍软件如图