当前位置:首页 >> 信息与通信 >>

新一代嵌入式微处理器STM32F103开发与应用


万方数据

微计算机应用

2010纯



STM32F103系列微处理器简介
STM32F103系列微处理器是首款基于ARMy7一M体系结构的32位标准RISC(精简指令集)处理器,提

供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM内核的高性能

。该系列微处理器工 作频率为72MHz,内置高达128K字节的Flash存储器和20K字节的SRAM,具有丰富的通用I/O端口…。 作为最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的 系统功耗,同时提供了卓越的计算性能和先进的中断响应系统。丰富的片上资源使得STM32F103系列微处 理器在多种领域如电机驱动、实时控制、手持设备、PC游戏外设和空调系统等心1都显示出了强大的发展 潜力。 STM32F103系列微处理器主要资源和特点如下: (1)多达51个快速I/O端口,所有I/O口均可以映像到16个外部中断,几乎所有端口都允许5V信号 输入。每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或其它的外设功 能口。 (2)2个12位模数转换器,多达16个外部输入通道,转换速率可达lMHz,转换范围为O一3.6V;具有双 采样和保持功能;内部嵌入有温度传感器,可方便的测量处理器温度值。 (3)灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须 CPU任何干预。通过DMA可以使数据快速地移动,这就节??CPU的资源来进行其他操作。DMA控制器 支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、 ADC、SPI、L2C和USART等。 (4)调试模式:支持标准的20脚jTAG仿真调试以及针对Cortex—M3内核的串行单线调试(SWD)功

能。通常默认的调试接口是mG接口。
(5)内部包含多达7个定时器,具体名称和功能如表1所示。 (6)含有丰富的通信接口:三个USART异步串行通信接口、两个12C接口、两个SPI接口、一个CAN接 口和一个USB接口,为实现数据通信提供了保证。
表1各个定时器名称及其作用 名称 通用定时器 高级控制定时器 数目


作用 16位定时器,每个定时器有4个用于输入捕获/输出比较/PWM或脉冲计数的通道 16位6通道高级控制定时器,可以控制6路PWM输出,波形可选择边缘或中间对齐,并且带 有死区控制、紧急制动等功能 分为独立看门狗和窗口看门狗:独立看门狗可以用于在发生问题时复位整个系统,或作为一 个自由定时器为应用程序提供超时管理;窗口看门狗具有早期预警中断功能,用于在发生问 题时复位整个系统 24位的递减计数器,主要用于实时操作系统,亦可作为一个标准的递减计数器



看门狗定时器



系统时基定时器



3开发工具和流程
3.1开发工具 对STM32F103系列MPU开发前,需要准备相应的软硬件。其中硬件主要包括STM32F103开发板(或 用户目标板)、J—Link下载仿真器等;软件主要包括Keil斗Vision4 IDE开发平台。下面对各自的功能和特点 做简要说明。 (1)STM32F103开发板(或用户目标板)是开发目标对象。 (2)J—Link下载仿真器是程序下载的枢纽,它带有的标准20芯扁平电缆可将程序通过JTAG接口下载

万方数据

12期

孙书鹰等:新一代嵌入式微处理器STM32F103开发与应用

61

到处理器内部存储空间;无需外部供电,用USB连接线与PC机连接好后即可工作;还具有下载速度快、功耗 低的特点。 (3)Keil pNision4 IDE是一个基于窗口的软件开发平台,它集成了强大而且现代化的编辑器、工程管理 器和make工具,几乎集成了嵌入式系统开发所需的全部工具:C/C++编译器、宏汇编器、链接/定位器、 HEX文件生成器等。该软件提供了两种工作模式:编译和调试模式。在编译模式中,开发者可以创建工程、 选择目标器件、新建文件、输入源代码、生成可执行文件;调试模式中,开发者可以利用其强大的集成调试器 对应用程序进行调试,如设置断点、单步执行等,方便了程序错误的查找和修改。 3.2开发流程
。。

(1)用J—Link仿真器将PC机和STM32F103开发板连接起来。 (2)使用Keil pNision4 IDE开发平台创建新工程,编写源程序。


打开Keil斗Vision4软件,创建新的工程文件,为该工程选择器件:STMicroelectronics公司的 STM32F103R8芯片,单击确定后会弹出对话框,提示是否选择将启动代码添加到目标工程。启动代码用来 完成系统的初始化工作,对于嵌入式系统来说是必不可少的。选择“是”将启动代码加入到目标工程,这样 可以大大节省启动代码的编写工作。工程创建完毕后,即可在该工程下新建c文件,编写源程序,完成后将 其添加到工程中。最后将库文件STM32F10xR.LIB和STM32F10xD.LIB也添加到工程中。至此,程序创建 工作结束。所需源文件及功能如表2示。
表2完整工程所需文件 文件
stm32f10x.8

功能 CPU相关启动代码,初始化目标设备的配置 .t程序和系统时钟、通用I/O口、中断控制器等 的配置 包含了所有的中断处理程序(所有函数体默认为


备注 启动代码,工程创建时按提示添加即可 主函数文件,由开发者自己编写 该文件可以独立出来,也可以合并到main函数 文件中 这两个库文件均位于Keil\ARM\RV31、LIB\ST 目录F

maln.C

stm32f10x_iL

空)
STM32F10xR.LIB STM32F10xD.LIB

STM32F10X系列处理器的固件库,定义了片上外 围接【J的各种数据结构及基本驱动函数

(3)程序的编译、下载、仿真和调试等。 程序编写完成后即可编译文件,编译无错误后选择Options选项,在Debug程序编译链接成功之后,选择 Project/Options
for

Target,打开对话框后,选择Debug选项卡,在Use下拉按钮中选择Cortex—M3 J—Link,选
Med—density

择好后点击settings,在弹出的对话框中点击Add按钮,选择STM32F10x 配置。通过L0ad即可将程序下载到目标器件中。如图l所示。 如果需要对程序进行在线调试,选择Start/Stop
Debug

Flash。点击OK完成

Session,这时可以插入断点、设置指针、单步执行、

复位等,还可以观察各个寄存器值的变化,进行波形仿真。总之可以很方便的在线调试程序。

4应用程序开发实例
下面以温度测量为例,具体介绍STM32F103处理器的开发使用方法。该处理器带有12位逐次逼近式

ADC,其输入量程为V哪一一VREF+,在LQFP64引脚或更少的引脚封装形式中,它们在芯片内部与ADC的地
V蟠。和电源VDD。相连。由于STM32处理器在本设计中采用3.3V电压供电,因此其输人量程为0—3.3V。 处理器内部自带一个温度传感器,它感知到MPU周围的温度变化,将其转化为电压的变化。该传感器的温 度适应范围很宽,可以测量一40℃一+125℃之间变化的温度值,转换精度为±1.5℃,能够较好的满足温度 测量的任务。

万方数据

62

微计算机应用 AD转换和数据传输

2010正

4.1

通常情况下,内部温度传感器是关闭的,为了使其正常工作,首先需要选择ADC—INl6通道,因为该通道 是内部通道,与温度传感器直接相连,其次要设置相关功能寄存器ADC—CR2的TSVREFE位,开启温度传感 器和VREFINT通道。 编写main.c文件时,首先配置系统时钟,然后进行引脚配置,主要是为串口数据发送和接收配置引脚, 本设计采用通用I/O口PB.10作为串口发送引脚,配置为推挽式输出,速度为50MHz;将通用I/O口PB.1l 作为串口接收引脚,浮窄输入模式。然后配置串口工作方式及中断,设置波特率为9600Baud、8位数据位、无 校验位、1位停止位、无硬件流控制。然后使能串口的中断、发送、接收。将AD转换通道设为通道16,使能 温度传感器。检测到ADC校准寄存器复位完成后,启动ADC校准,校准完成后软件触发启动ADC转换。 设置while无限循环,等待串口中断,在中断程序stm32f10x_it.c文件中,将转换结果数据通过串口发送到PC 机。流程图如图2所示。

图1

Dubug选项的配置

图2温度测量流程图

图3

C++Buider显示界面

4.2显示界面的设计 在PC机上,使用C++Builder【41软件制作显示界面。编写串口接收程序,将串口设置与发端一致,接收 数据时以双字节十六进制形式接收。接收到的数据大小介于0~OxOFFF之间,换算为十进制数介于0— 4095之间。由于VREF一=0V,VRE,+=3.3V,因此,根据数值和电压值的关系算得当前电压值。V。嗍。=Da. ta/4096’3.3V。比如,若当前得到十进制数值为1773,则根据上述公式算得当前电压为1.428V。得到电压

万方数据

12期 值之后,由公式:

孙书鹰等:新一代嵌入式微处理器STM32F103开发与应用

63

T.={(V25一VsENsE)/Avg_Slope}+25可进一步算出当前温度值‘31。其中,V25为VSENSE在25℃时的大 小,其值为1.43V;Avg_Slope为温度与VSENSE曲线的平均斜率,大小为4.3mY/℃。根据上例得出的当前 电压1.428V,可推算得温度值为25.36℃。得出结果的同时将该温度值在该界面中显示出来。结果显示如 图3所示。

5结束语
基于Codex—M3内核的STM32F103系列处理器是新型的嵌入式微处理器,它在各方面指标上都远远 优于51系列单片机,但是其开发使用方法却和5l系列单片机一样简便,而且不需要操作系统的支持,因此 开发T作量比起传统的嵌入式系统大大减少了。这些突出的优势使得STM32系列处理器在生产生活的各 个领域都有很大的发展潜力,得到了越来越广泛的应用。本文从该款处理器的资源、性能和特点人手,较详 细的介绍了其开发工具和开发流程,特别对Keil斗Vision4开发平台的使用做了详细的说明。最后以温度测 量实验为例,具体讲解了片上AD资源的开发使用方法,给读者提供了一个直观的印象,为开发者更好的使 用该款微处理器提供借鉴。 参考文献
[1]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008. [2]刘同法.ARM Cortex—M3内核微控制器快速入门与应用[M].北京:北京航空航天大学出版社,2009 [3]田立,田清,代方震.5l单片机c语言程序设计快速入门[M].北京:人民邮电出版社,2007. [4]吴逸贤,吴目诚.精彩C++Builder6程序设计[M].北京:科学出版社,2004. [5]石嘉顺,马重.基于单片机实现控制温度可调的温控开关[J].微计算机应用,2007,28(8):876—880

作者简介:
孙书鹰,男,1957年生,副教授,主要研究方向:导航制导与控制。 陈志佳,男,1986年生,硕士研究生,主要研究方向:通信与信息系统。 寇超,男,1985年生,硕士研究生,主要研究方向:通信与信息系统。

万方数据

新一代嵌入式微处理器STM32F103开发与应用
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 孙书鹰, 陈志佳, 寇超, SUN Shuying, CHEN Zhijia, KOU Chao 军械工程学院,光学与电子工程系,石家庄,050003 微计算机应用 MICROCOMPUTER APPLICATIONS 2010,31(12)

参考文献(10条) 1.石嘉顺;马重 基于单片机实现控制温度可调的温控开关[期刊论文]-微计算机应用 2007(08) 2.李宁 基于MDK的STM32处理器开发应用 2008 3.吴逸贤;吴目诚 精彩C++Builder6程序设计 2004 4.刘同法 ARM Cortex-M3内核微控制器快速入门与应用 2009 5.田立;田清;代方震 51单片机C语言程序设计快速入门 2007 6.田立.田清.代方震 51单片机C语言程序设计快速入门 2007 7.刘同法 ARM Cortex-M3内核微控制器快速入门与应用 2009 8.吴逸贤.吴目诚 精彩C++Builder6程序设计 2004 9.李宁 基于MDK的STM32处理器开发应用 2008 10.石嘉顺.马重 基于单片机实现控制温度可调的温控开关 2007(8)

本文链接:http://d.g.wanfangdata.com.cn/Periodical_wjsjyy201012010.aspx


相关文章:
(转)新一代嵌入式微处理器STM32F103的开发与应用
新一代嵌入式微处理器STM32F103开发与应用新一代嵌入式微处理器STM32F103开发与应用隐藏>> 新一代嵌入式微处理器 STM32F103开发与应用 关键字: STMF ...
开题报告
新一代嵌入式微处理器 STM32F103 开发与应用[J]. 微计算机应用. 2010(12) [9] 李浩 采用 STM32F103 芯片的红外测温仪设计[J]. 电子产品世界. 2013(09) ...
STM32专题报告(南京航空航天大学)
STM32专题报告(南京航空航天大学)_计算机硬件及网络_IT/计算机_专业资料。南京...新一代嵌入式微处理器 STM32F103 开发与应用[J]. 微计算机应 用,2010,12:...
开题报告(最终版)
新一代嵌入式微处理器 STM32F103 开发与应用[J].微计算 机应用, 2010, 24(12): 126-135. [9] 热靴闪光灯单灯布光技巧[M] 人民邮电出本社 2012.7 [...
嵌入式复习题
移植、操作系统裁减、操作系统移植和应用程序开发。 ...嵌入式微控制器一般以某一种微处理器内核为核心,...运行频率为 36MHz ; STM32F103 系列为标准型,运行...
嵌入式系统复习资料
硬件:嵌入式微处理器、 外围电路、 外围硬件设备。...的新一代 32 位低成本、 高性能通用微控制器内核...STM32F103 处理器系统频率为 72MHz ,处理器性能可...
MP3播放器-惠州学院毕业论文(设计)任务书
MP3播放器-惠州学院毕业论文(设计)任务书_工学_高等教育_教育专区。惠州学院毕业...新一代嵌入式微处理器 STM32F103 开发与应用[J]. 微计算机应 用,2010,12:...
嵌入式系统开发与应用教程 期末考试
嵌入式系统开发与应用教程 期末考试_理学_高等教育_...声明一个变量 3、存储一个 32 位数 0x876165 到 ...嵌入到应用系统中的微处理器称为嵌入式微处理器,...
MP3播放器-毕业论文(设计)开题报告
MP3播放器-毕业论文(设计)开题报告_工学_高等教育_教育专区。惠州学院本科毕业论文...新一代嵌入式微处理器 STM32F103 开发与应用[J]. 微计算机应用,2010,12:59...
基于STM32的嵌入式软件开发基础-实验指导书(经典)
的嵌入式应用程序,点亮开发板上绿色 LED 和红色 LED; 2 、流水灯实验一: ...嵌入式微控制器(STM32F103)的接口电路 PA8 PD2 2 、按键与嵌入式微控制器(...
更多相关标签:
嵌入式微处理器 | intel 嵌入式微处理器 | 微处理器与嵌入式系统 | 嵌入式微处理器结构 | 嵌入式微处理器的分类 | stm32f103 | stm32f103c8t6 | stm32f103zet6 |