基于STM32的USB简易鼠标设计

基于STM32的USB简易鼠标设计
基于STM32的USB简易鼠标设计

毕业设计 [论文]

题目:基于STM32的USB简易鼠标设计学院:电气与信息工程学院

专业:电子信息工程

姓名:

学号:

指导老师:

完成时间:2015年06月01日

摘要

随着设备的越来越智能化,嵌入式计算机大量应用到各种电子设备中,基于嵌入式系统的USB鼠标及键盘的应用也变得越来越广泛。在本次设计中,研究的是一款基于STM32的USB鼠标,即插即用,免驱动自动识别,很好的解决了鼠标设备智能化和低延迟的设计要求。由于是基于HID的USB设备,所以编程非常方便,贴近工程实践,应用前景广阔。

嵌入式系统HID,即人机接口设备,是Human Interface Device的缩写。HID 是计算机周边设备中非常常见的设备类型,是可以直接与进行人交互的USB设备,例如鼠标、摄像头、U盘等。在种类繁多USB设备中,HID类设备的成本一般情况下是比较低的。实际上,只要是符合HID标准的设备都是HID设备,不一定非要具有人机交互功能。最早支持HID设备的计算机操作系统是Windows98系统。 HID 设备的驱动程序内置在这些系统中,不需要单独开发与安装驱动,应用程序可以直接使用这些驱动程序来与设备通信。

近年来,受计算机性能提升和游戏软件等的影响,人们对鼠标的要求越来越高,特别是一些即时作战游戏,人们希望能达到“零”延迟,这就对原来的鼠标技术提出了挑战。老式的圆孔鼠标早已不再适用,特别是笔记本电脑根本不再设计老式插孔。随着USB2.0以及USB3.0的不断完善,再加上高速而价廉的单片机,一款基于STM32的USB简易鼠标正是本课题的研究内容。本文主要研究基于STM32的USB简易鼠标系统的功能、设计思想和实现,以及基于STM32的USB简易鼠标的组成及工作原理,描述了研究该课题的意义和应用价值。本设计的重点在于USB 协议的HID部分,精通此协议并植入单片机才能实现计算机与鼠标的沟通。

关键词: USB 技术; HID 协议; STM32单片机;鼠标

Abstract

As more and more intelligent devices, embedded computers applied to the large variety of electronic devices, embedded systems USB mouse and keyboard applications are becoming more and more widespread.In this design, the study is a based on the STM32 USB mouse, plug and play, driver-free automatic identification, a good solution to the mouse device intelligence and low-latency design requirements.Because it is based on HID USB device, so the programming is very convenient, close to the engineering practice, the application prospects.

Embedded systems HID, namely human interface devices, is an abbreviation for Human Interface Device. HID is a computer peripheral device in a very common device types, people can interact directly with the conduct of USB devices, such as a mouse,camera, U disk and so on.In a wide range of USB devices, under HID class devices generally cost is relatively low.In fact, as long as a HID-compliant devices are HID device does not necessarily have to have interactive features.The earliest HID devices supported computer operating system is Windows98 system.HID device drivers built into these systems, the need for separate development and install the driver, an application can use these drivers to communicate with the device.

In recent years, the impact of computer and game software performance by, people have become increasingly demanding of the mouse, especially some instant combat game, people want to be able to achieve "zero" delay, which the original mouse technology presents a challenge .Old-fashioned mouse the hole is no longer applicable, especially notebook computers designed simply no longer the old jack.With the continuous improvement USB2.0 and USB3.0, coupled with high speed and low cost microcontroller, a research based on the STM32 USB simple mouse precisely this topic. This article is mainly based on the STM32 USB simple mouse systems design and implementation, as well as easy on the STM32 USB mouse and work principle, it describes the subject of research and practical value.The design focuses on some USB HID protocol, proficient in this agreement and in order to achieve single-chip implanted communication computer mouse.

Keywords: USB technology; HID protocol; STM32 microcontroller; mouse

目录

摘要 ................................................................ I Abstract ............................................................ I I 目录 ............................................................... I II 第1章引言 . (1)

1.1 课题背景 (1)

1.2 基于STM32的USB鼠标的设计研究方法及目标 (1)

1.3 USB鼠标国内外研究现状 (2)

第2章 USB协议概述 (3)

2.1 USB简介 (3)

2.2 USB的拓扑结构 (3)

2.3 USB的电气特性 (4)

2.4 USB描述符 (4)

2.5 USB的包结构 (5)

2.5.1令牌包 (5)

2.5.2数据包 (6)

2.5.3握手包 (6)

2.5.4特殊包 (6)

2.6 USB的传输类型 (7)

第3章 STM32及MDK简介 (8)

3.1 STM32简介 (8)

3.2 MDK的使用 (8)

第4章 USB鼠标的实现 (10)

4.1 USB简易鼠标的程序编写 (10)

4.2 USB鼠标的运行 (12)

4.3 硬件实现 (12)

设计总结 (14)

附录 (15)

附录A main.c (15)

附录B usb_desc.c (19)

附录C hw_config.c (26)

附录D usb_prop.c (38)

参考文献 (51)

致谢 (52)

第1章引言

1.1 课题背景

USB 接口是串行总线通信端口,支持即插即用,在计算机领域应用非常广泛。HID设备是一种可以进行人机交互操作的设备,在USB设备中占有重要地位,可以辅助计算机进行各种操作,如常用的电脑摄像头、手写板等设备。一般USB设备的研发非常困难,不但要严格遵守USB协议,还要编写驱动程序。但HID设备使用的是操作系统自带的HID 驱动程序,免去了驱动程序的编写,加快了开发效率,因此一些简单的USB 设备,都喜欢枚举成HID 设备。USB接口不但具有热插拔功能而且还是即插即用的,非常方便。USB接口在理论上最多可以同时连接127个外设,如游戏手柄、手写板、键盘等。USB协议最早在1996年提出,经过多年的发展USB版本到现在已经发展为3.0版本。

从1975年第一个单片机产生后经过四代的发展,目前单片机具有生命周期长、接口内容丰富、运算速度快、低电压低功耗、价格便宜等优点。本次设计中使用的STM32是一款基于Cotex-M3内核的32位处理器。这款处理器具有低成本、高性能的有点,非常适合USB鼠标的设计。

鼠标自从1968年美国科学家研制出来后,基于其方便快捷操作简单等优点很快成为家喻户晓的产品,是现在每台电脑都必须配备的电子产品。从有线到无线,从滚球到光电,鼠标经过一代代的发展可以说是品种繁多,价格也是十几元到几千元的都有。在选购鼠标时,我们一般会挑选外观漂亮延迟小的产品,无论什么样的鼠标,目的只有一个,那就是舒适好用。。所以不管计算机发展到什么程度,只要有人用鼠标,鼠标的研制与开发都是必须的。

1.2 基于STM32的USB鼠标的设计研究方法及目标

想让计算机把一个HID 设备识别为鼠标设备,要完成的主要工作是修改HID 设备的标准描述符。HID 设备的描述符主要包括5 个USB 的标准描述符和3 个HID 设备类特定描述符。通过修改描述符可以将HID 设备枚举为鼠标。本次设计使用C语言进行程序的编写。

本文所讲述的USB鼠标是采用STM32来实现的。它自身带的USB模块符合USB2.0规范和OTG1.3规范,支持全速12Mbps和低速1.2Mbps两种模式。而且STM32官方封装了很多库函数,对于编写USB驱动节省了很多时间。本次设计通过把符合HID协议的程序烧录到STM32开发板中,由开发板的四个按键控制window窗口

光标的移动。

1.3 USB鼠标国内外研究现状

从原始鼠标、机械鼠标、光电鼠标(光学鼠标,激光鼠标)再到如今的触控鼠标,鼠标技术经历了漫漫征途终于修成正果。与主流PC部件相比,鼠标的技术革新显得非常保守,从道格拉斯博士的原始鼠标,再到后来的纯机械鼠标、光电鼠标、光机鼠标,以及光学鼠标,鼠标技术只经历寥寥几次大变革,其中真正算得上成功的其实只有光机鼠标和光学鼠标,它们也是当前鼠标技术的主流形态。其中,光机鼠标为过去的主流,我们一般也将它俗称作“机械鼠标”。对于光学鼠标,则是现在鼠标技术的发展方向,它已经大面积取代过时的光机鼠标产品。现在光学鼠标的技术相当完善,基本上每个人用的都是光学鼠标。但不管是哪一种鼠标都少不了和USB打交道,特别是USB3.0出现以后,基于USB的设备已经是电子产品研发的主流。

第2章 USB协议概述

2.1USB简介

USB是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线的标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术。USB传输速度极快,使用很方便,它可以连接非常多的外设,比如:手写板、游戏手柄、U盘等。

现在USB设备已进入千家万户,应用之所以如此广泛,优点主要有以下几点: 1、支持热插拔,也就是即插即用。这让用户在使用外接设备时不需要进行关机再开机就可以完成硬件的安装,分分钟就可以使用,省时省力。

2、标准统一。常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可以有了USB之后,这些应用外设统统可以用USB接口与PC连接,这时就有了USB硬盘、USB鼠标、USB网卡等一系列设备。

3、可以连接多个设备。USB在PC上往往具有多个接口,可以同时连接多个外设,最高可连接127个设备。

USB协议出现过的版本有USB1.0、USB1.1、USB2.0以及现在最新的USB3.0。USB的结构是主从模式,设备与设备之间不能互连,主机与主机之间也不能互连,于是就产生了USB OTG。USB OTG就是让同一个设备在不同场合下实现主机与从机之间的切换。在传输速度上,USB1.0和USB1.1版本只支持1.5Mb/s的低速模式和12Mb/s的全速模式。USB2.0中不仅支持这两种模式,还增添了速度更快的480Mb/s 的高速模式。现在USB3.0已经非常完善,最新发布的计算机产品都带有USB3.0接口,其最大传输速度更是达到恐怖的5.0Gbps。

2.2USB的拓扑结构

前面提到,USB是一种主从结构的系统。主机在一般情况下都会具有一个或多个USB主控制器(host controller)和根集线器(root hub)。主控制器下虽然只有一个根集线器,但一般情况下根集线器上都有多个USB口。USB集线器是一种特殊的USB设备,是在USB接口不够用时扩展USB口用的。集线器虽然可以扩展出更多的USB口,但不能扩展出更多的带宽,带宽还是共享的。所以最好不要把多个USB设备接到同一个USB端口上。

我们可以在电脑的设备管理器中是查看USB主控制器和USB根集线器的。对于window7系统,右击“计算机”,在弹出的菜单中选择“管理”,在“计算机

管理”选项卡中单击“设备管理器”,就可以查看计算机设备的属性了,在这里可以查看驱动程序信息、设备的PID和VID等。在“设备管理器”中找到“通用串行总线控制器”并把它展开,就可以看到USB主控制器和根集线器了。USB的拓扑结构为金字塔型,塔顶为主控制器和根集线器,下面是通过USB集线器拓展的多个USB口。在Windows中,由各种USB功能驱动程序负责产生和管理USB功能设备(FOD),即我们最终所看到的设备。

2.3USB的电气特性

标准的USB连接线使用四芯电缆:5V电源线、差分数据线负(D‐)、差分数据线正(D+)及地(GND)。在USB OTG中又增加了一种MINI USB接头,使用五条线,比标准USB多一条身份识别线。USB使用的是NRZI编码方式,即数据为0时电平翻转,数据为1不翻转。因为电平长时间不发生变化会不利于时钟信号的提取,所以要在经过位填充处理后发送数据(当遇到连续六个1时强制插入一个数据0)。USB协议规定,USB低速电缆长度不得超过3米,而全速电缆不得超过5米。USB标准还规定了信号线的颜色,其中5V电源线为红色,D‐为白色,D+为绿色,GND为黑色。

插入检测机制就是检测到设备插入到主机的过程。在USB集线器的每个端口的D+和D‐上,分别接了一个15kΩ的下拉电阻到地,无设备插入时输入端被下拉电阻拉到了低电平。在USB设备端D+或D‐上接1.5kΩ的上拉电阻到3.3V电源。上拉电阻接正还是负由设备速度决定,全速和高速设备接正,低速设备接负。当设备插入USB插座时,接上拉电阻的数据线的电压由上拉电阻和下拉电阻分压决定,大概在3V左右。当集线器检测到这个高电平信号时,它把信号发送到USB主控制器,就可以检测到设备插入了。此时,还可以根据被拉高的数据线是D+还是D‐来判断设备的速度类型。

2.4 USB描述符

前面说道USB是一个总线,USB总线驱动程序也不知道设备的行为,那么主机怎么获知设备的功能呢,这就要通过描述符来实现了。USB1.1协议定义了五种标准描述符:设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。还有一些特殊的描述符,如设计中要用的HID描述符等。一个USB设备只有一个设备描述符。在设备描述符中描述了该设备的各种配置,每种配置都有一个配置描述符,定义了设备有多少个接口,接口描述符又定义了接口有多少端点。。

USB描述符之间的关系:设备描述符包含配置描述符包含接口描述符包含端点

描述符。总的来说,由端点构成接口,接口构成配置,配置构成设备。如果一个设备的各种描述符都成功的返回了,那么设计基本上算是成功了一大半。

2.5 USB的包结构

在USB总线上,数据是以包为单位进行传输的。一个包被分成不同的域,包的类型不同,所包含的域也不同。所有的包都要以同步域开始,后接一个包标识符,最后以包结束符EOP结束。

同步域用以告诉USB串行接口数据要开始传输了,以便做好准备。同步域还可以同步主机端和设备端的数据时钟。同步域都是以一串0开始的,所以每个数据都会发生电平变化(0在USB总线上被编码为电平翻转),这样串行接口引擎很容易恢复采样时钟信号。当串行接口引擎检测到电平没有翻转时,就会认为包标识符开始了。

包标识符PID用以表示一个包的类型,共8位,其中USB协议使用的只有PID0~PID3这四位,另外四位是这四位的取反,用来校验PID。USB协议规定了四类包:令牌包、数据包、握手包和特殊包。每种包又分成几种具体的包。协议中对最低两位的规定如图2.1。

图2.1 四种包的最低两位规定

2.5.1令牌包

用来启动一次USB传输。因为USB的拓扑结构是主从结构,所有数据的传输都是由主机发起的,设备只负责接受,所以需要主机发送一个令牌来通知需要的设备进行相应的操作。令牌包共四种:输出、输入、建立和帧起始。具体的功能还要参照USB协议。每个令牌包最后都有一个CRC5的校验,用以校验PID之后的数据。四种令牌包中,只有SOF令牌包之后不跟随数据传输,其他包都有数据传输。输出、输入、建立令牌包的结构如图2.2。它们的结构相同,而且数据在传输时,每个域的最低位LSB在前。

图2.2 IN、OUT、SETUP令牌包结构

2.5.2数据包

用来传输数据。USB1.1协议只规定了两种数据包DATA0和DATA1包。在USB2.0中新增了用在高速分裂事务和高速高带宽同步传输中DATA2和MDATA包。不同类型的数据包是在当握手包出错时纠错用的。不同类型的数据包是为了方便在握手包出错时纠错。主机和设备都会维护自己的一个数据包类型切换机制,即当数据包成功发送或接收时,数据包类型切换。当检测到对方使用的数据包类型不对时,USB系统认为这发生了一个错误,并试图从错误中恢复。一般情况下,当握手包被损坏时,会发生数据包类型不匹配的情况。如果一端成功接收数据并发送确认信号,确认信号在传输的时候丢失或损坏,另一端就无法知道数据已经被正确接。此时它就会保持自己的数据包类型不变,如果对方下次发送的数据包类型和自己不同,说明对方已经成功接收数据。收数据包结构如图2.3所示。

图2.3 数据包结构

2.5.3握手包

用来查看一个数据是否被对方确认。握手包四种类型:ACK、NAK、STALL和NYET。ACK表示数据已经被接收,空间容纳也足够。NAK表示没有数据需要返回或已经正确接受但没有空间容纳。STALL表示这个设备无法执行这个请求或者端点已经被挂起了,表示一种错误的状态。NYET只在USB2.0的高速设备中使用,表示本次数据成功接受但没有空间接受下一次数据。图2.4是握手包的结构。

图2.4 握手包结构

2.5.4特殊包

只在一些特殊场合使用,分PRE、ERR、SPLIT和PING四种。只有ERR是握手包,其他为令牌包。除了PRE,其他三个都是USB2.0协议新增的,不在此次设计的研究范围。PRE是通知集线器打开其低速端口的一种前导包。PRE仅仅使用在全速模式中,与握手包的结构一样。当传输模式由全速变低速时,主机会在全速模式下发送一个PRE令牌包,集线器收到此令牌包后,就会打开低速设备端口,但全速设备会忽略次令牌包。

2.6 USB的传输类型

USB有四种传输类型:批量传输、同步传输、中断传输和控制传输。前面提到,USB数据的基本传输单位是包,但在具体传输数据时还必须把包组织成事务。

批量传输:使用批量事务传输数据。

中断传输:一种保证查询频率的传输。中断传输一般用在我们所说的延迟要尽可能小的设备中。现在使用的鼠标、键盘及其他HID都属于这样的设备。

同步传输:有些设备如音频、视频设备对数据的延迟很敏感,而且需要对大量数据不停的传输,但对数据的正确与否要求不高,此时同步传输是最好的选择。

控制传输:分为建立过程、数据过程(可选)和状态过程三个过程。建立过程用来输出数据,使用建立事务。建立过程使用只能使用DATA0的SETUP令牌包,而且握手包也只能只用ACK应答。数据过程可选,如果有可以包含一笔或多比数据事务。状态过程是一笔只使用DATA1包的批量事务。其传输方向也就是控制读和控制写过程与前面批量事务相反。

第3章 STM32及MDK简介

3.1 STM32简介

2006年ARM公司推出Cortex系列微处理器,根据不同性能的要求,分成了以公司三个字母分别命名的三个系列。本次设计使用的是M系列,因为这个系列成本较低,性能上也完全能够胜任。在ARM公司和意法半导体ST公司合作后,2007年ST公司发布了基于Cortex-M3内核的STM32系列处理器。

STM32系列处理器分为标准型和增强型两个系列,主要产品有标准型的STM32F101工作在36MHz,增强型的STM32F103工作在72MHz并拥有更大的RAM和更丰富的外设。因为STM32F103运算频率高,能实现更高端的运算,而且其自带的端口具有极好的连接能力,价格上也比较便宜,所以设计中采用这一款。图3.1是STM32F103处理器的配置。

图 3.1 STM32F103处理器的配置

正是由于STM32F10x系列处理器配有众多的外设,所以它的用途非常广泛。在工业方面,可以应用在PLC、报警系统、变频器,打印机等上面;在低功耗方面,应用的产品有电表、血糖测量仪、UPS等;数码家电方面,相应的产品有电脑外设、游戏机、数码相机等。

3.2 MDK的使用

支持STM32微控制器的开发工具虽然很多,但结合中国的业内行情及收费情况,Keil公司的MDK是不二选择。MDK集成了Keil的μVision IDE和ARM编译工具RVCT的优势。特别是中国版MDK推出后,通过更加合理的价格和服务,逐步使得MDK成为中国嵌入式工程师的最爱芯片。

使用MDK的一般开发过程:

1、新建一个工程,从设备库中选择目标芯片,配置编译器环境;

2、用C/C++或汇编语言编写源文件;

3、编译目标应用程序;

4、修改源程序中的错误;

5、测试连接应用程序。

MDK的工具集默认的是RealView编译工具,如有特殊需要,也可以安装使用GNU GCC编译器。下面是此次设计中的具体操作:

在MDK主界面中选择Project→New Project菜单项,输入工程名字即可新建一个工程。创建新工程时软件会提示我们为工程选择一款相应的处理器,也可以通过Poject→Select Device打开此选项。对于大部分设备,软件会提示是否在工程中添加CPU的启动代码,为了让设备顺利完成初始化工作,我们点击“是”,以减少编写启动代码的工作量。

MDK还可以通过Project→Options for Target,在弹出的选项中对目标硬件和设备内组件的相关参数进行配置。工程创建完了,接下来就是源程序的编写了。点击File→New创建新的源文件,在编辑窗口写完源程序后以.C为后缀保存。一般情况下会先写一个main.c添加到工程中。一般设计人员会采用文件组来组织大的工程,将工程中同一模块或同一类型的源文件放入一个文件组中。点击Project →Conponents,Environment and Books→Project Components创建文件组来管理启动代码、源程序和配置文件。

接下来的工作就是编译连接工程了。单击Build Target图标可编译连接工程文件,出现错误时,会在Output Window的Build页中显示错误和警告信息。也可以使用调试器来调试源程序,我们直接把程序下载到开发板中进行目标调试。应用程序在调试通过后,需要生成HEX文件,用于下载到编程器或仿真器中。生成HEX文件后下载到目标设备中,至此嵌入式开发完成。

在此次设计中,我们按照流程走到最后一步,然后在MDK中点击Flash→Download下载代码到STM32F103开发板中。用USB线连接电脑,查看设备管理器,看一看设备是否识别,驱动是否自动安装成功。如果设备已经成功安装,试用开发板的四个按键操纵鼠标箭头。如果可以上下左右移动,就表示USB鼠标设计成功了。

河南城建学院本科毕业设计(论文)USB鼠标的实现

第4章 USB鼠标的实现

4.1 USB简易鼠标的程序编写

因为我们的STM32F103开发板上只有四个按键,所以只能实现鼠标光标的上下左右移动,不能实现鼠标左右键的功能。由于USB协议及接口相当复杂,MDK自带的STM32F10x的固件库中单独提供了USB的相关函数库,在编写程序代码时需要将两个库函数包含到编译路径中。USB鼠标的程序比较复杂,除了库文件和USB 函数库文件之外,还包含了8个源文件,其中STM32F10x.s是启动代码,这里不再多说。下面是设计中非常重要的7个源文件(具体的程序代码见附录):

1、main.c

该文件中主要包含两个函数,其中main函数初始化系统以及USB接口,之后不断查询四个按键是否按下。如果确定有按键按下则向USB缓冲器发出相关数据。Delay函数用于延迟。

2、usb_desc.c

该文件中没有任何函数,只是包含一些定义USB设备的描述符常数,由于USB 鼠标是一个标准的USB设备,所以相关的参数也比较容易得到。如果是开发非标准的USB设备的话,则必须开发相应的在电脑上运行的驱动软件。

3、stm32f10x_it.c

该文件是用来控制USB中断服务用的。USB中断的情况分很多种,在此次设计中我们只是调用usb_istr.c文件中的中断函数。

4、usb_istr.c

该文件中只有一个函数,就是上面提到的用于控制USB中断的USB_Istr函数,此函数的主要作用是对各类引起USB中断的事件作轮询处理。

5、usb_prop.c

该文件用于控制USB协议在设备中的具体实现,例如初始化、SETUP包、IN 包、OUT包等等。

6、usb_pwr.c

该文件中包含处理上电、掉电、挂起和唤醒事件的函数。

7、hw_config.c

该文件包含系统配置的函数和处理四个按键动作的函数。其中Set_USBClock 函数用于配置USB端口时钟;Set_System函数用于配置时钟、通用端口;USB_Cable_Config函数配置USB电缆状态;USB_Interrupts_Config函数用于配置USB中断;JoyState函数用于获取按键状态;Joystick_Send用于向USB端口

基于STM32F103ZET6最小系统设计

电路设计与PCB制板》 设计报告 题目:基于STM32F103ZET6最小系统 引言:Altium Designer基于一个软件集成平台,把为电子产品开发提供完整环境所需工具全部整合在一个应用软件中。 Altium Designer 包含所有设计任务所需工具:原理图和PCB设计、基于FPGA的嵌入式系统设计和开发。 目前我们使用到的功能特点主要有以下几点: 1、提供了丰富的原理图组件和PCB封装库并且为设计新 的器件提供了封装,简化了封装设计过程。 2、提供了层次原理图设计方法,支持“自上向下”的设 计思想,使大型电路设计的工作组开发方式称为可能。 3、提供了强大的查错功能,原理图中的ERC(电气规则 检查)工具和PCB 的DRC(设计规则检查)工具能帮助设计者更快的查出和改正错误。 4、全面兼容Protel系列以前的版本,并提供orcad格式文 件的转换。

一、课程设计目的 1、培养学生掌握、使用实用电子线路、计算机系统设计、制板的能力; 2.提高学生读图、分析线路和正确绘制设计线路、系统的能力; 3.了解原理图设计基础、了解设计环境设置、学习 Altium Designer 软件的功能及使用方法; 4.掌握绘制原理图的各种工具、利用软件绘制原理图; 5.掌握编辑元器件的方法构造原理图元件库; 6. 熟练掌握手工绘制电路版的方法,并掌握绘制编辑元件封装图的方法,自己构造印制板元件库; 7.了解电路板设计的一般规则、利用软件绘制原理图并自动生成印制板图。 二、设计过程规划 1、根据实物板设计方案; 2、制作原理图组件;

3、绘制原理图; 4、选择或绘制元器件的封装; 5、导入PCB图进行绘制及布线; 6、进入DRC检查; 三、原理图绘制 ?新建工程: 1.在菜单栏选择File → New → Project → PCB Project 2.Projects面板出现。 3.重新命名项目文件。 ?新建原理图纸 1. 单击File → New→ Schematic,或者在Files面板的New单元选择:Schematic Sheet。 2.通过选择File → Save As来将新原理图文件重命名(扩展名为M 3.SchDoc),和工程保存在同一文件目录下。

基于STM32的经典项目设计实例

13个基于STM32的经典项目设计实例,全套资料STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。尤其对于新手,是一个学习stm32单片机的“活生生”的范例。 1.开源硬件-基于STM32的自动刹车灯设计 自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。 2.基于STM32F407的openmv项目设计资料 本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。MCU选择的是STM32F407(STM32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。 3.STM32无线抢答器 无线抢答器采用STM32F302(STM32F302数据手册)芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。 4.基于ARM-STM32的两轮自平衡小车 小车直立和方向控制任务都是直接通过控制小车两个电机完成的。假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。 5.基于STM32F4高速频谱分析仪完整版(原创) 本系统是以STM32F407(STM32F407数据手册)进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。 6.基于STM32F4的信号分析仪设计(有视频,有代码) 这次基于discovery的板子做一个信号分析仪,就是练手,搞清楚STM32F4(STM32F4系列数据手册)中的USB固件编写,USB驱动的开发,上位机UI开发等一整套流程,过一把DIY的瘾。 7.基于STM32F4的解魔方机器人-stm32大赛二等奖(有视频) 本系统是基于Cortex-M4内核的STM32微控制器的解魔方机器人,在硬件方面主要有OV7670摄像头,LCD,舵机,在软件方面主要有OV7670的驱动,摄像头颜色识别算法,解魔方算法和舵机动作算法。整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,制版,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

7个基于STM32单片机的精彩设计实例

7个基于STM32单片机的精彩设计实例,附原理图、代码等相关资料 STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。今天总结了几篇电路城上关于STM32的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。尤其对于新手,是一个学习stm32单片机的“活生生”的范例。 1、STM32与FPGA强强联合,实现完整版信号发生器 话说之前看过作者的另外一个作品,是STM32和FPGA实现的示波器,当然感觉不做。现在作者又推出了信号发生器。重点是TFT触屏来控制波形,相当于一个终端,STM32用来通信,起到了FPGA和TFT之间的纽带作用。最后波形输出作者使用了巴特沃斯滤波器,让输出的波形更加干净。虽然以高端的信号发生器无法比拟,但是用于平时信号输出使用时足够了。 2.采用STM32单片机基于uCOS II系统控制VS1053B语音芯片制作的MP3播放器 一看到uCOS II,就觉得是个高级货,绝对不是一般的小打小闹。该制作耗时半年能完成制作,不得不佩服作者的坚持。这个使用了VC1053B音频模块,TFT液晶显示,还是用了NRF24L01无线模块(暂时没明白这个无线如何使用的),最后作者还很细心的提供了理论指导,方便大家制作。 3.使用OV7670让STM32转身变成照相机(附原理图、代码源文件) 经常使用STM32的同学有没有做过照相机呢?虽说在智能手机遍布的时代,正经相机也要束之高阁了。但是能使用STM32做个相机,拿出去拍个照也是非常拉风的。这个相机使用了ST32F103C8T6(ST32F103C8T6数据手册),摄像头用的是OV7670,带SD卡和触摸屏2.4寸,整体尺寸和卡片机差不多。 4.基于STM32的手机WIFI 控制四轴飞行器设计 我们平时看到的四轴飞行器多是遥控手柄控制的,给你推荐的这个是手机通过wifi就可以控制了,重点在作者还提供了安卓版本的app,直接安装就可以控制飞行器了,当然前提是要根据作者提供的原理图、pcb、代码做出个飞行器了。对APP感兴趣的朋友不妨写写ios 版本的。 5、使用STM32F103RC实现数字万用表设计,具备常用功能 作为电子工程师,最经常用到的就是万用表,可以很少人知道万用表里面的结构、测电压的过程。现在就有人用STM32F103(STM32F103数据手册)做了个数字万用表,只有三个常用功能:测电压(0-50v),测电阻(1k-390k),短路档,使用了LCD5110显示数据,大家不妨动动手开发其他功能。 6、基于RFID技术、以STM32为终端的智能小区管理系统 话说现在高档小区越来越多,对小区的智能化管理也在日渐智能化。这个设计就使用了当下很火的wifi智能控制。系统由多个智能服务终端和系统服务器所组成。智能服务终端就是一个基于STM32的完备系统,涵盖了室内环境监测、高温火警GSM报警、A卡管理助手、天气助手、用户电子账单、万年历、小区意见反馈等功能。

基于stm32的智能小车设计毕业设计

海南大学 毕业论文(设计) 题目:基于stm32的智能小车设计学号:20112834320005 姓名:陈亚文 年级:2011级 学院:应用科技学院(儋州校区) 学部:工学部 专业:电子科学与技术 指导教师:张健 完成日期:2014 年12 月 1 日

摘要 本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程。此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能。小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能。在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载。 关键词:stm32;红外探测;超声波避障;PWM;电机控制

Abstract This experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process. The composition of the intelligent system mainly including STM32F103 controller, motor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance. This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering, tracking module is used to detect the black and white, obstacle avoidance module for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function. When the car is moving, obstacle avoidance program prior to tracking, using ultrasonic ranging and obstacle avoidance obstacle avoidance circuit, we use steering gear under ultrasonic module to control the emission direction of ultrasonic, infrared detection circuit is used to implement the car tracking function. On the basis of the hardware design is proposed for motor control function, simple intelligent car tracking and obstacle avoidance function of software design, and in the STM32 integrated development environment under the Keil. Write the corresponding control program, and use McUisp program download software. Keywords:STM32;Infrared detection;Ultrasonic obstacle avoidance;PWM;Motor control

基于STM32的简易电子计算器设计与实现

四川师范大学成都学院通信工程学院 基于STM32的简易电子计算器设计与实现---实验综合设计报告 学生姓名陶龑 学号2016301033 所在学院通信工程学院 专业名称嵌入式系统课程设计 班级2014级软件班 指导教师刘强 成绩 四川师范大学成都学院 二○一六年十一月

基于STM32的简易电子计算器设计与实现内容摘要:电子计算器即将传统意义上的计算器进行电子化和数字化,为其减少时间误差和体积,并提供更多的扩展实用功能,从而使电子计算器的应用更加广泛。在经过资料的查找与收集后,本论文以该理念设计了一款基于STM32芯片作为核心控制器,使用Keil5平台,以C语言为基础进行软件编程的简易电子计算器,其内在TFT-LCD液晶屏进行输出,以四个按键进行输入,从而实现显示输入数据以及加减乘除运算的基本功能。 通过软件程序的编写、硬件电路原理的实现、电子计算器正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程,该简易电子计算器现可用于日常生活和工作中。 关键词:简易电子计算器STM32 C语言Keil5

Design and implementation of Multi Function Electronic Clock based on STM32 Abstract: The traditional electronic calculator calculator for electronic and digital, to reduce the time error and volume, and provide more extended utility function, so that the more extensive application of electronic calculators. After searching and collecting data, in this paper, the concept of a design based on STM32 chip as the core controller, using Keil5 platform, simple electronic calculator based on C language software programming, the TFT-LCD LCD screen for input and output, with four keys, so as to realize the display of input data and the basic the function of add, subtract, multiply and divide operations. Through the software program, hardware circuit principle of the electronic calculator realization, normal work process and the principle of graph simulation, hardware installation and hardware debugging process, the simple electronic calculator is used in daily life and work. Key words: Simple electronic calculator STM32 language C Keil5

基于STM32的嵌入式操作系统程序设计及实现本科毕业论文 精品

本科毕业论文(设计) 论文题目:基于STM32的嵌入式操作系统程序设计及实现 姓名:郝宇 学号:0930******** 班级:01班 年级:2009级 专业:电子信息工程学院:信息工程学院指导教师:丁光哲讲师完成时间:2013年5月20日

作者声明 本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。 毕业论文(设计)成果归武昌工学院所有。 特此声明 作者专业:电子信息工程 作者学号:0930******** 作者签名: 年月日

基于STM32的嵌入式操作系统 程序设计及实现 郝宇 The Design and Implementation of embedded operating system program based on STM32 Hao, Yu 2013年5月20日

摘要 随着科学技术不断的进步,工业生产越来越先进复杂,操作系统μC/OS-II 是高效、稳定、可靠、节能的系统,广泛应用安防,消费电子中。而基于Cortex-M3架构下的STM32是一款性价比优越新型微处理器,将μC/OS-II移植到STM32 上能够发挥其高效的性能,从而投入社会生产,制造出很多有用又实惠的电子产品,为我们的生活带来便利。 本文主要的研究内容是μC/OS-II操作系统理论分析、移植方法、应用程序设计及调试仿真实现。首先,对μC/OS-II的理论分析,研究其实际应用及系统结构;其次,分析STM32硬件平台及μC/OS-II的移植需求;最后,在μC/OS-II 上开发LCD,LED,按键KEY等应用程序,并对多任务系统调试分析。主要研究结论如下: (1)μC/OS-II操作系统主要分为任务管理、内存管理和时间管理三大部分,其间通信是通过消息队列和消邮箱。 (2)μC/OS-II移植主要在OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM三个文件中,涉及到数据类型、堆栈、中断定义和任务切换等。 (3)应用程序设计优先级分配要合理,硬件平台初始化模块化处理。 关键词:嵌入式系统;μC/OS-II;移植

基于某STM32F103的恒温系统的设计

中国矿业大学计算机学院2013 级本科生课程报告 报告时间2016.09.20 学生谊坤 学号08133367 专业电子信息科学与技术 任课教师王凯

任课教师评语 任课教师评语(①对课程基础理论的掌握;②对课程知识应用能力的评价;③对课程报告相关实验、作品、软件等成果的评价;④课程学习态度和上课纪律;⑤课程成果和报告工作量;⑥总体评价和成绩;⑦存在问题等):

成绩:任课教师签字: 年月日 摘要 针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可靠性,本文设计了一种基于STM32F103T6的温度控制系统。本设计是基于DS18B20的温度控制系统,以STM32F103ZET6为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度判定等一系列操作的依据。设计中,基本上实现了该系统的功能,通过DS18B20采集温

度数据,使用LCD屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的围,并可以手动设置恒温围,温度超出限制后会有声光报警。 关键词:STM32F103,均值滤波,恒温控制,DS18B20 目录 1 绪论 (1) 1.1选题的背景及意义 (1) 1.2设计思想 (1)

2 硬件设计 (2) 2.1硬件平台 (2) 2.2硬件设计模块图 (3) 2.3温度传感器DS18B20 (3) 2.4 LCD屏幕 (6) 2.5 DC 5V散热风扇 (8) 2.6加热片 (8) 3 软件设计 (9) 3.1软件平台 (9) 3.2软件设计模块图 (9) 3.3主程序流程图 (10) 3.4子程序流程图 (11) 3.4.1 恒温控制子程序流程图 (11) 3.4.2 flag标志设置子程序流程图 (12) 3.4.3温度设置子程序流程图 (13) 3.4.4温度读取函数流程图 (14) 3.4.5均值滤波程序流程图 (15) 3.4.6显示函数程序流程图 (16) 4 调试分析 (16)

毕业设计基于stm32的智能小车设计说明

摘要 本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程。此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能。小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能。在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载。 关键词:stm32;红外探测;超声波避障;PWM;电机控制

Abstract This experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process. The composition of the intelligent system mainly including STM32F103 controller, motor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance. This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering, tracking module is used to detect the black and white, obstacle avoidance module for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function. When the car is moving, obstacle avoidance program prior to tracking, using ultrasonic ranging and obstacle avoidance obstacle avoidance circuit, we use steering gear under ultrasonic module to control the emission direction of ultrasonic, infrared detection circuit is used to implement the car tracking function. On the basis of the hardware design is proposed for motor control function, simple intelligent car tracking and obstacle avoidance function of software design, and in the STM32 integrated development environment under the Keil. Write the corresponding control program, and use McUisp program download software. Keywords:STM32;Infrared detection;Ultrasonic obstacle avoidance;PWM;Motor control

基于STM32F103的恒温系统的设计.docx

. 中国矿业大学计算机学院2013级本科生课程报告 课程名称信科专业综合实践 报告时间2016.09.20 学生姓名张谊坤 学号08133367 专业电子信息科学与技术 任课教师王凯

任课教师评语 任课教师评语(①对课程基础理论的掌握;②对课程知识应用能力的评价;③对课程报告相关实验、作品、软件等成果的评价;④课程学习态度和上课纪律;⑤课程成果和报告工作量;⑥总体评价和成绩;⑦存在问题等): 成绩:任课教师签字: 年月日

摘要 针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可靠性,本文设计了一种基于 STM32F103T6 的温度控制系统。本设计是基于 DS18B20 的温度控制系统,以STM32F103ZET6 为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。 在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度 判定等一系列操作的依据。设计中,基本上实现了该系统的功能,通过 DS18B20 采集温度数据,使用 LCD 屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的范围内,并可以手动设置恒温范围,温度超出限制后会有声光报警。 关键词: STM32F103,均值滤波,恒温控制,DS18B20

. 目录 1 绪论................................................................................................................................................................................. 1.1 选题的背景及意义 (1) 1.2 设计思想................................................................................................................................................................. 1.3 实现的功能 (2) 2 硬件设计........................................................................................................................................................................ 2.1 硬件平台................................................................................................................................................................. 2.2 硬件设计模块图 (3) 2.3 温度传感器DS18B20 (4) 2.4 LCD 屏幕 (8) 2.5 DC 5V 散热风扇 (10) 2.6 加热片 (10) 3 软件设计 (11) 3.1 软件平台 (11) 3.2 软件设计模块图 (12) 3.3 主程序流程图 (12) 3.4 子程序流程图 (14) 3.4.1 恒温控制子程序流程图 (14) 3.4.2 flag 标志设置子程序流程图 (15) 3.4.3 温度设置子程序流程图 (16) 3.4.4 温度读取函数流程图 (17) 3.4.5 均值滤波程序流程图 (18) 3.4.6 显示函数程序流程图 (19) 4 调试分析 (19) 4.1 硬件调试 (20) 4.2 软件测试 (20) 4.3 功能实现分析 (21) 5 实验总结 (21) 参考文献 (23)

基于stm32的智能家居项目设计报告

项目设计报告

智能家居监控系统的总体设计框图如下图所示。该系统采用的主要模块是STM32F407ZE系列的单片机,负责对信息的接收和处理,将各个模块收集到的模拟信号转换成数字信号,以便OLED屏显示出来。而智能家居监控系统需要实现监控温湿度、光照强度、密码开锁等信号并及时的做出回应。本课程设计了一款智能家居环境监测报警系统,能够实时监测火灾、光照强度等温湿度异常、外人闯入等危险状态。 图1 智能家居系统框图 该智能家居监控系统由超声波模块、温湿度模块、光敏电阻、OLED 显示模块、蜂鸣器报警模块、LED显示以及按键输入模块组成基本的检测外设,由STM32F407ZE来对各个外设进行控制。其中超声波模块、温湿度模块和光敏电阻将检测到的一些外界环境因素的变化,转换成相应的电压变化,这便有利于在OLED显示屏等观察到相应的现象。

本系统是典型的嵌入式技术应用于测控系统,以嵌入式为开发平台, 系统以32位单片机STM32F407ZE为主控制器对各传感器数据进行采集, 经过分析后去控制各执行设备。 硬件电路部分为:微控制器最小系统电路、数据采集电路(光敏电 路、温湿度传感器、超声波模块)、输出控制电路(OLED显示屏、蜂鸣器、 发光二极管)组成。 图2 LED电路图 其发光二极管一段连接3.3V的电源,而另一端则连接着 STM32F407ZE单片机的GPIO口,同时可以看出当外设给一个低电平时,发光二极管则被点亮。 图3 按键电路 但按键按下时,则输出一个低电位;当按键不按时,则输出高电位。 图4 蜂鸣器电路

当输入一个高电平时,三极管将处于导通状态,此时蜂鸣器将正常工作;而当输入一个低电平时,三极管将处于截止状态,无法正常工作。 图5 串口电路图 串口的RXD和TXD分别连接STM32F407ZE单片机的U1_TX和U1_RX,分别表示数据的接收和传输;而串口UART1的3、4口连接A—A口线的两端,用于对数据的传输。 图6 光敏传感器电路图 其原理利用的是光敏二级管对光照强度的敏感性,通过光照强度的不同,其光敏二极管的导电率也会发生相应的改变,从而使R24的电压值发生改变,从而导致输出电压的大小发生改变。 软件设计:主要控制光敏电阻电压采集处理与控制部分、温度采集处理与控制部分、霍尔传感器报警部分和辅助指示部分。数模转换(ADC)外设用于将连续的模拟电压转换成离散的数字量。ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。同时我们采用I2C模块,I2C为两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL 构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC 之间进行双向传送,高速IIC总线一般可达400kbps以上。同时通信方式为半双工。

基于STM32的MP3设计说明

摘要 本篇论文主要介绍的一款基于Crotex3核设计的的MP3播放器。采用STM32F103A系列微处理器作为播放器的CPU,采用由凌通公司生产的DS250-10芯片作为音乐解码芯片。利用MPU6050 运动处理模块收集MP3播放器的加速度、空间位置等运动信息,用以控制MP3播放器的播放/暂停、上一首/下一首等功能的实现。通过BQ2057电源管理芯片对锂电池进行充电管理。音量是由光敏电阻收集到的环境光强信息控制。无需按键,用户只需要通过改变播放器的空间位置,就可以控制播放器的功能实现。增加了操作的趣味性,提高了用户的操作体验。使得在如今新鲜招数层出不穷的MP3市场更有竞争力。 关键词:MP3播放器,加速度,环境光感应,STM32,DS205-A103

Abstract This paper describes the design of a kernel-based Crotex3of the MP3player. Using STM32F103A Series microprocessor as the player of the CPU, using the Ling Tong produced DS250-10chip as the music decoding chip. Use MPU6050motion processing module collects acceleration MP3player, sports such as spatial location information, to control the MP3player, play / pause, previous / next track functions such implementation. By BQ2057power management chip for lithium battery charge management. V olume is a photoresistor light collected information control environment. No buttons, the user only needs by changing the spatial position of the player, the player can control the realization of the function. Increases operational interest, improving the user's operating experience. Making fresh tricks emerging in today's MP3market more competitive. Keywords:MP3player, accelerometer, ambient light sensor, STM32, DS205-A103

基于STM32的多功能画板设计

电子技术综合实践报告 设计题目:基于STM32的多功能画板设计 专业: 班级学号: 学生姓名: 指导教师: 设计时间:

教师评语: 成绩: 1

摘要 Cortex-M3是ARM公司为要求高性(1.25DhrystoneMIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。STM32 系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。 本系统是基于 Cortex-M3 内核的 STM32 微控制器的画板设计,在硬件方面主要有最小系统板和TFTLCD液晶屏,在软件方 面主要有TFTLCD液晶屏的驱动,触摸功能的驱动,及滤波算法 设计。 整个设计过程包括电子系统的设计技术及调试技术,包括需 求分析,原理图的绘制,pcb 板的绘制,制板,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。 关键字:STM32,TFTLCD液晶屏,画板 2

目录 1.系统描述 (4) 1.1综述 (4) 1.2系统框图 (5) 1.3功能实现 (5) 2.硬件设计 (6) 2.1总体框架 (6) 2.2STM32微控制器 (7) 2.2.1芯片介绍 (7) 2.2.2管脚图 (7) 2.2.3电路原理图 (8) 2.2.3.1STM32外围电路 (8) 2.2.3.2按键 (8) 2.3液晶屏 (9) 2.3.1TFT彩屏简介 (9) 2.3.2原理图 (9) 3.软件设计 (10) 3.1系统流程图 (10) 3.2主要函数介绍 (12) 3.2.1主函数 (12) 3.2.2触摸屏函数介绍 (14) 3.2.3LCD函数介绍 (15) 4. 开发与测试 (16) 4.1开发环境 (16) 4.1.1硬件设备 (16) 4.1.2软件环境 (16) 4.2开发步骤 (16) 4.2.1需求分析 (16) 4.2.2芯片选择 (17) 4.2.3电路图设计 (17) 4.2.4系统总体设计与测试 (17) 4.3成果展示 (17) 5.心得体会 (18) 6.参考文献 (19) 3

基于STM32的运动控制器设计

基于STM32的运动控制器设计 指导教师梁维源 摘要 运动控制器是现在社会的主流发展,不管是现在还是将来都会有重要的运用。本文运用STM32输出PWM波对电机进行控制使他们能分别沿着X轴和Y轴以及Z轴移动,STM32发送指令,由TB6560驱动芯片驱动进电机,在图纸上实现绘画,定位,转孔。选用STM32芯片作为控制核心,通过控制步进电机来控制机器臂,带动X轴和Y轴以及Z轴进行平面画图。该运动控制器具有精度高、操作方便、速度快、低成本等特点。 关键词:运动控制器;STM32;步进电机;TB6560

Based on the STM32 motion controller design Electronic information engineering specialty level 2011 jiang shijian Supervisor Liang Weiyuan Abstract The motion controller is now the mainstream of the development of society, both now and in the future will have important applications. Great defense and industrial applications as well as in life. In this paper, the output PWM wave STM32 motor control so that they can along the X-axis and Y-axis and Z-axis movement, STM32 send commands respectively, driven by a stepping motor driver chip TB6560 realize painting, positioning, turn the hole in the drawings. The program makes the selection STM32 chip stepper motor control system by controlling the stepper motor to control the robotic arm from the drive to the X and Y and Z axis plane drawing. The motion controller with high precision, easy operation, fast, low cost. Has great development prospects. Keywords: Movement Control System, STM32,Stepping motor, TB6560

相关文档
最新文档