
基于ARMv7架构的Cortex系列由ARM公司在2006年推出,Cortex系列的推出满足人们对性能日渐复杂的设计要求,根据不同需求,Cortex系列共三个不同的子系列: Cortex-A系列主要面向一些复杂的应用,用来运行一些操作系统,运用于手机、平板电脑、游戏机等; Cortex-R系列主要面向实时系统,运用于汽车、军事、航天等; 9 d, Q: x# K4 d1 _+ N Cortex-M系列主要面向微控制领域,为如今工业控制系统、微控制系统等对功耗和成本要求较高的嵌入式领域实现高性能低成本提供基础,对嵌入式系统编程进行了大大简化,可以说Cortex-M做到了集高性能、低功耗、低成本于一体。 ![]() ( ^# ]$ h# S9 y! i. l( S& w ST公司作为全球高级半导体制造商之一,是ARM公司Cortex-M3最主要的合作方。ST公司于2007年6月20日推出了Cortex-M3内核的STM32微控芯片,STM32系列微控芯片又分成两个子系列。 0 Z) E; J+ D# Q3 x 分别为,工作频率在36MHZ的STM32F101系列,工作频率在72MHZ的STM32F103系列,后者较前者带有更多RAM及外设。这两个系列芯片在程序方面有很好的兼容性,有相同的Flash,使程序开发及升级变得更加方便。本次设计中,选用了STM32F103系列的STM32F103ZET6处理器。 ![]() ; r% j |* O: L8 C* q- z STM32F103系列处理器作为首款Cortex-M内核32位精简指令集的处理器,具备程序代码效率高、外设丰富等许多优点。该系列处理器的频率为72MHz,内置Flash,存储空间高达512K字节,SRAM也达到64K字节,为程序的编写提供了坚实的基础,同时还拥有丰富I/O。 ) P D* [8 Z) P: F i1 [4 B' L 1 u$ Z. E" B6 L: F& L ![]() STM32系列芯片内部结构图 本次设计所选用的芯片具有64K字节的SRAM、512K字节的FLASH、四个通用定时器、两个基本定时器、两个高级定时器、三个SPI总线、一个CAN总线、两个IIC总线、一个USB接口以及三个12位ADC,一个12位DAC、一个FSMC接口、一个SDIO接口、112个通用I/O口。 STM32F103ZET6最小系统主要由系统时钟、复位电路、JTAG调试电路和启动模式选择电路组成。最小系统原理如图所示: % d( T0 F+ l* V1 Q8 `- Q ![]() 最小系统电路原理图 ' ~$ b& b3 z. ^ STM32最小系统电路设计及功能如下: 1. 系统时钟电路设计 + S" D6 g4 Q! p: v! W. \ 时钟电路主要用于提供时钟节拍,相当于心脏的作用,只有通过心脏的跳动才能将血液送达全身,以保持人体生存及生活。因此时钟电路在控制系统中的作用就不言而喻了。本次设计中的时钟电路,选用8M的晶振。具体时钟电路如图所示: ![]() 系统时钟电路原理图 2. 复位电路设计 本次设计采用的STM32最小板为低电平复位。即当按键按下,RSTSET端为低电平,实现系统复位,当按键释放时RSTSET端为高电平,复位结束。设计原理如图所示: 3 w' N8 Z9 e3 _+ `% e; E ![]() 系统复位电路原理图 % |! R' Q, E* M% g8 Y- R 3. JTAG电路设计 在系统设计中JTAG的主要作用是将目标文件烧录下载到处理器中。本次设计具体JTAG电路原理如图所示: 7 `, {. ?- i7 s9 F6 r/ q ![]() 系统JTAG电路原理图 4. 启动模式电路设计 BOOT0、BOOT1端口电平的不同设置,可以对三种不同启动模式进行选择,启动模式选择如表所示,电路原理如图所示: ) ~( i+ {+ z$ l$ k; W' g![]() ![]() |