EDA训练STM32最小系统
- 格式:doc
- 大小:3.21 MB
- 文档页数:14
STM32最小系统STM32是意法半导体推出的一款32位微控制器,具有低功耗、高性能和丰富的外设资源等特点,被广泛应用于工业控制、消费电子、通信设备等领域。
而STM32最小系统则是指搭载STM32芯片的最小化硬件系统,通常包括主控芯片、时钟电路、电源管理电路和一些基本的外设接口电路等。
本文将介绍STM32最小系统的搭建方法和相关注意事项。
一、硬件设计。
1.主控芯片的选择。
STM32系列微控制器种类繁多,不同型号的芯片具有不同的性能和外设资源。
在设计最小系统时,首先需要根据实际应用需求选择合适的STM32芯片。
一般来说,最小系统中常用的是一些低端型号的STM32芯片,例如STM32F103C8T6、STM32F030F4P6等,这些芯片具有较低的成本和较少的引脚数量,非常适合用于最小系统的设计。
2.时钟电路设计。
STM32芯片需要外部提供稳定的时钟信号才能正常工作,因此在最小系统中需要设计时钟电路。
一般来说,可以选择使用石英晶体振荡器或者陶瓷谐振器作为时钟源,并通过合适的电路将时钟信号输入到STM32芯片的时钟输入引脚上。
3.电源管理电路设计。
STM32芯片需要提供稳定的电源供电才能正常工作,因此在最小系统中需要设计电源管理电路。
一般来说,可以选择使用稳压芯片或者LDO芯片来对输入电压进行稳压,以保证STM32芯片的工作电压在规定范围内。
4.外设接口电路设计。
最小系统通常需要提供一些基本的外设接口,例如LED指示灯、按键、串口通信接口等。
在设计最小系统时,需要根据实际应用需求设计相应的外设接口电路,并将其与STM32芯片相连接。
二、PCB布线。
在完成最小系统的硬件设计之后,需要进行PCB布线设计。
在进行PCB布线设计时,需要注意以下几点:1.将主控芯片、时钟电路、电源管理电路和外设接口电路等按照原理图进行合理布局,以减小信号传输路径长度,降低电磁干扰。
2.合理划分电源和地域,以减小电源回路的阻抗,提高系统的抗干扰能力。
STM32单片机最小系统详解STM32F103RCT6:STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),32位Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K,封装LQFP64。
STM32单片机命名规则:STM32单片机最小系统:所谓单片机最小系统,就是让单片机能够正常运行,最少且必须的器件所组成的系统。
单片机最小系统上电之后,单片机可以正常复位,下载程序,除此之外没有其他任何功能。
在最小系统保证正确的基础上,可以依次添加其他功能模块或器件,使之单片机具有实际功能。
STM32单片机最小系统包括一个复位电路和一个时钟电路。
如下图1所示。
图中复位电路使用的是上电复位电路,STM32单片机NRST引脚输入低电平,则发生复位。
图1 STM32F103单片机最小系统电源引脚:VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。
VDDA是单片机的模拟电源正极,负责给内部的ADC、DAC模块供电,VSSA是模拟电源负极。
还有一个电源引脚,就是VBAT,BAT就是Battery(电池),这个引脚用来连接电池的正极的。
STM32带RTC功能(实时时钟),所以有VBAT引脚。
原理图上预留了一个CR1220纽扣锂电池,当主电源供电存在的情况下,由系统中的VCC3.3给VBAT供电;当主电源断电之后,由CR1220纽扣电池给STM32自带的RTC模块供电,从而能够保证实时时钟模块在主电源掉电的情况下还能够正常工作。
但是这样设计的话,这里有一个矛盾需要解决。
如果VBAT引脚直接与VCC3.3和CR1220连接的话,会存在下面问题:1、当电池电压高于3.3V,电池就会输出电流到AMS1117,使得芯片发烫,还会很快消耗电池电量。
2、如果电池电压低于3.3V,AMS1117产生的3.3V,就会给电池充电,而这种CR1220电池是不能够充电的。
STM32最小系统使用手册修订历史1.STM32F103C8T6最小系统简介硬件资源:1、STM32F103C8主芯片一片2、贴片8M晶振(通过芯片内部PLL最高达72M)ST官方标准参数3、LM1117-3.3V稳压芯片,最大提供800mA电流4、一路miniUSB接口,可以给系统版供电,预留USB通讯功能5、复位按键6、标准JTAG下载口一个,支持JLink,STLink7、BOOT选择端口8、IO扩展排针20pin x 29、电源指示灯1个10、功能指示灯一个,用于验证IO口基本功能11、预留串口下载接口,方便和5V开发板连接,用串口即可下载程序12、尺寸:64mm X 36.4mm13、高性能爱普生32768Hz晶振,价格是直插晶振的10倍价格,易起振14、20K RAM,64K ROM ,TQFP48封装模块说明BOOT短路帽设置说明BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
(上电运行程序或者JTAG方式下载程序时候使用)BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
(从固化的bootloader启动,一般用于ISP下载时候使用)BOOT1=1 BOOT0=1 从内置SRAM 启动,这种模式可以用于调试。
下载程序方法:需要TTL模块下载工具(已安装好驱动)推荐使用本店开发的CP2102 USB-TTL模块对STM32最小系统进行下载程序。
(CP2102与其他的JLINK或者STLINK比价格要便宜很多,只能用于下载,不能用于DEBUG调试程序)1.CP2102和STM32用杜邦线按照以下连接后,接在电脑USB接口TXD -----------> RX1RXD -----------> TX1GND -----------> GND2.将STM32上的BOOT选择短路帽进行设置(进入ISP下载模式)BOOT1 -----------> 0BOOT0 -----------> 13.将CP2102与电脑连接后,打开MCUISP软件,✓点击“搜索串口”,“Port”选项会有可用的COM选项。
STM32最小系统1. 简介STM32最小系统是一种基于ST公司的STM32微控制器的原型开发板,它包括了一些基本的硬件元件以及所需的电路连接。
STM32最小系统通常用于快速原型开发、学习和测试STM32微控制器。
本文档将介绍STM32最小系统的硬件组成、基本功能以及如何使用它进行开发。
2. 硬件组成STM32最小系统通常包括以下硬件元件:•STM32微控制器芯片:通常是STM32F系列的芯片,如STM32F103C8T6。
•时钟电路:包括晶振和相关电路元件,用于提供系统时钟。
•电源电路:用于提供微控制器和其他模块所需的电源。
•调试接口:通常使用SWD接口,用于调试和烧录代码。
•IO引脚:用于与外部设备连接的GPIO引脚。
3. 基本功能STM32最小系统具有以下基本功能:3.1. 运行用户代码STM32最小系统可以加载和运行用户编写的代码。
用户可以使用各种开发环境,如Keil、IAR和STM32CubeIDE等,编写代码并将其烧录到STM32最小系统中。
一旦代码被烧录,STM32最小系统便可以执行用户定义的功能。
3.2. 外部设备连接STM32最小系统提供了多个GPIO引脚,用于连接外部设备。
通过配置这些引脚的模式和状态,用户可以控制外部设备并接收来自外部设备的数据。
3.3. 调试和烧录STM32最小系统通常带有一个调试接口,用于调试和烧录代码。
用户可以使用专用的调试工具,如ST-Link,通过SWD 接口连接到STM32最小系统,以进行代码调试、单步执行和烧录。
4. 使用STM32最小系统开发使用STM32最小系统进行开发通常需要以下步骤:4.1. 准备开发环境首先,您需要安装适当的开发环境,如Keil、IAR或STM32CubeIDE。
这些开发环境提供了编写、调试和烧录代码的工具。
4.2. 编写代码使用选定的开发环境,编写您的代码。
您可以使用C或C ++等编程语言。
在编写代码时,请参考STM32微控制器的数据手册和参考手册,以了解每个寄存器和外设的详细信息。
EDA训练题目STM32最小系统班级 09电子(2)班学号200910330236姓名曹小迪时间2012-12-04景德镇陶瓷学院EDA训练任务书姓名曹小迪__ 班级__09电子(2)班指导老师金光浪设计课题:STM32最小系统设计任务与要求查找一个感兴趣的电工电子技术应用电路,要求电子元件50个以上,根据应用电路的功能,确定封面上的题目,然后完成以下任务:1、分析电路由几个部分组成,并用方框图对它进行整体描述;2、对电路的每个部分进行分别单独说明,画出对应的单元电路,分析电路原理、元件参数、所起的作用、以及与其他部分电路的关系等等;3、用Protel软件或其他EDA软件绘出整体电路图,进行实验分析,进行实验分析绘制PCB,并在图中的标题栏中加上自己的班级名称、学号、姓名等信息;4、对整体电路原理进行完整功能描述;5、列出标准的元件清单;6、其他。
设计步骤1、查阅相关资料,开始撰写设计说明书;2、先给出总体方案并对工作原理进行大致的说明;3、依次对各部分分别给出单元电路,并进行相应的原理、参数分析计算、功能以及与其他部分电路的关系等等说明;4、总体电路的绘制,实验分析和绘制PCB及总体电路原理相关说明;5、其他6、列出标准的元件清单;7、列出设计中所涉及的所有参考文献资料。
设计说明书字数不得少于5000字参考文献李宁. 基于MDK的STM32处理器开发应用. 北京:北京航空航天大学出版社,2008 王永虹,郝立平. STM32系列ARM Cortex-M3微控制器原理与实践. 北京:北京航空航天大学出版社,2008张睿编著. Altium Designer 6.0原理图与PCB设计. 北京:电子工业出版社,2007刘小伟,刘宇,温培和编著. Altium designer 6.0电路设计实用教程. 北京:电子工业出版社,2007.2目录1、总体方案与原理说明 (1)2、单元电路1——核心系统 (2)3、单元电路2——电源 (3)4、单元电路3——扩展接口 (4)5、单元电路4——下载接口 (4)6、单元电路5——按键和LED (5)7、单元电路6——H-JTAG (5)8、总体电路原理相关说明 (6)9、PCB设计................................................................................. 错误!未定义书签。
10、总体电路原理图 (7)11、元件清单 (9)参考文献 (10)设计心得体会 (11)EDA 实训课程实习1、总体方案与原理说明本设计采用如今最热门的ARM Cortex-M3内核的微控制器——STM32,设计一个该微控制器的最小核心系统及其下载器。
作为最小系统,应该包含微控制器一些必须的电路如复位、晶振等,还应该有扩展接口将微控制器的I/O 口引出,并且去处多数非必须的外设电路(如数码管、外置AD/DA 等)。
此STM32最小系统包括以下几个部分:微控制器、电源、晶振复位、下载口、扩展口、按键和LED 以及一个用于下载仿真调试的H-JTAG 。
几部分电路的框图如下:图1 系统框图本次设计采用的是意法公司推出的STM32F103R 系列的微控制器,其核心是由ARM 公司设计的Cortex-M3内核,其是面向低功耗、低成本、高性能的应用场合。
Cortex-M3仅33000门却能达到1.2DMIPS/MHz 的内核性能。
该系列微控制器包含强大的核心处理器及丰富的内部外设资源,而且意法公司对该微控制器编写了标准库函数,大大降低了对初学者的难度。
为方便开发学习人员,整个系统通过电脑的USB 口供电。
可以利用H-JTAG 或其它调试仿真器对微控制器进行编程烧录,附加的按键和LED 可以对系统进行简单测试,如果需要添加外部电路,如串口通信、液晶等,可通过扩展接口引出。
STM32F103Rxxx电源 晶振复位 开展接口下载接口H-JTAG按键和LED电脑 供电EDA实训课程实习2、单元电路1——核心系统图2 核心系统核心系统是本次设计的最主要部分,其主要部分同样是总系统的主要部分是STM32F103R系列的LQFP64封装的微控制器。
STM32F103R系列微控制器可以工作在最高72MHz的主频,2.0V到3.6V供电,内置高速存储器,还包含丰富的内部外设资源,如SPI、IIC、UART、CAN、ADC、定时器等等。
该系列微控制器共有64个引脚,其中I/O口最多为51个,均全部引出。
电源引脚有10个,每对电源引脚上都接上一个0.1μF的旁路电容,再接上一个10μF的钽电容来确保系统的稳定性。
由于该微控制器内部还带有A/D,因此还有一对模拟电源引脚,通过一个10μH的电感滤波。
还有一个用于RTC的备用电池引脚VBAT,当使用了RTC功能时需要将该引脚连接到电池。
如果不使用该功能,则需要通过0Ω电阻将其与系统电源连接到一起。
系统时钟有几种方案,此处采用最常见的一种。
EDA实训课程实习引脚5、6为系统外部主振荡器引脚,其连接一个8M的晶振,选用20pF的负载电容。
引脚3、4为芯片的RTC(实时时钟)提供时钟源,连接一个32.768K的晶振,选用10pF的负载电容。
由于该微控制器内部自带振荡器,因此外部晶振和RTC时钟电路不是必须的,因此不需要时可以不安装这些元器件。
系统复位引脚采用简单的RC电路,上电时电容上充电,复位引脚上的电压由0V逐渐升高,直至系统电压,达到复位效果,稳定后若按下复位按键,系统也会复位。
由于该系列微控制器有三种启动模式,因此还有两个用于选择启动模式的跳线插针用于选择启动模式。
3、单元电路2——电源图3 电源该电路单元是系统的电源部分,采用USB供电,通常USB端口可以提供最大500mA的电流,对于一个最小系统足够,由于作为系统核心的STM32微控制器是工作在2.0V至3.6V,而多数器件是工作在3.3V的电源系统,因此采用常见的LDO(低压差电压调节器)LM1117-3.3将5V直流电转换到系统所需的3.3V。
LM1117-3.3输出为3.3V,输出电压的精度在±1%以内,并可以提供最大800mA 的电流(当然USB提供不了800mA,故LM1117-3.3也提供不到800mA,但可以满足系统)。
除了USB外,还可以通过插针对系统提供5V直流电源,因此在USB或外加的5V电源到LDO之间添加了一个二极管防止电源极性接反导致烧毁系统。
由于压差关系此处选用1N5819肖特基二极管,其最大正向电流为1A,1A时的压降仅为0.6V并且电流越小压降越小。
LDO前后各加一个10μF的钽电容来改善瞬态响应和稳定性。
另外增加一个LED作为电源指示,其串联一个电阻接入电源,为使LED不刺眼,选取的限流电阻稍大。
最后还引出3个电源插针方便用户,可以作为输出(系统无电时也可作为输入,但要注意极性方向)。
EDA实训课程实习4、单元电路3——扩展接口图4 扩展接口该部分电路为系统扩展接口,其将微控制器所有可用的I/O全部引出,包括RTC占用的引脚,并使用0Ω电阻作为跳线选择使用哪个功能。
需要注意的是此处将下载调试用的JTAG占用的引脚也因出来了,当这些端口作为I/O时会导致下次系统下载调试的失败,因此一般不要使用这些引脚。
两个端口两端还引出3.3V电源和5V电源,可以对外供电,但不能负载过大电流。
5、单元电路4——下载接口图5 下载接口STM32微控制器一般采用的是标准JTAG接口对其进行调试仿真,而且为了提高资源利用率,还可以使用两线制的SW-DP接口,两者引脚复用。
JTAG 是一种国际标准测试协议,现在多数的高级器件都支持JTAG协议。
此电路采用的是标准JTAG,其相应管脚连接到微控制器即可,某些管脚加个上拉或下拉电阻,可以连接到H-JTAG或J-LINK等调试仿真器。
EDA实训课程实习6、单元电路5——按键和LED图6 按键和LED该部分电路比较简单,而且不是必须的,可以作为简单程序的验证测试。
按键作为事件输入,LED作为输出显示。
当连接LED的I/O口输出低电平时点亮LED,输出高电平时熄灭LED。
若要识别按键则应该设置I/O口为输入,由于STM32内部可以设置I/O为带上拉电阻的输入模式,此处就省略了外部上拉电阻。
读取I/O口的高低电平可以确定按键状态。
通过短路帽选择其是否接入电路。
7、单元电路6——H-JTAG图7 H-JTAG本次设计还包含一个简易调试器——H-JTAG,该电路根据H-JTAG提供的电路设计,利用一片74HC244作为缓冲器,也可以使用其它三态缓冲器芯片。
74HC244是一个八同相三态缓冲器/线驱动器,此处只使用了其中4个缓冲器,分别连接到JTAG的TDI、TDO、TMS和TCK。
JTAG还有一个nTRST引脚,通过由三极管组成简易反相器与并口相连接。
使用这样一个三态缓冲器的作用是:第一保证了驱动电流,第二保护了电脑的并口。
H-JTAG可用于多数ARM 芯片的下载仿真调试,简单而又经济,缺点是速度稍慢,而且需要电脑有并口。
两个LED分别作为电源和下载状态的指示。
0.1μF和10μF作为电源滤波。
8、总体电路原理相关说明基本上以上全部电路包含了最小系统的全部,它是能够是微控制器独立运行的最小单元,而且将所有的可用I/O口全部引出,方便扩展应用,而且对于一些可选功能处设置了跳线,易于配制为各种方案。
通过USB给核心板供电,微控制器上电后由于复位电路的作用而复位,程序从零地址开始执行,微控制器开始工作。
当按下复位按键时系统再次复位。
需要调试下载新程序时,有几种方案。
一种是通过调试仿真器进行下载调试,以此次设计的H-JTAG为例,将核心板与H-JTAG通过JTAG接口连接,H-JTAG的另一端与主机PC相连接,并配制好相应软件,就可以进行调试下载新程序了。
该核心板还可以通过其他调试仿真器进行下载仿真,如J-LINK,其支持的器件比较多,而且是采用USB方式,速度也快,也是连接到核心板的JTAG口。
以这种下载仿真器方式下载调试时启动跳线都一直固定接地即可。
还一种是通过串口下载,需要另接一个串口电平转换接口连接到微控制器的串口,并且总要配制启动跳线,操作复杂,而且速度慢,但电路简单,只需主机PC要有串口,比较经济,还是可以采用的。
9、总体电路原理图图10 总体电路原理图1——核心板图11 总体电路原理图2——下载线12、元件清单序号元件标号元件参数规格型号数量1 C1, C2 20pF瓷片电容 22 C3, C5, C10, C11, C12, C13, C14 0.1μF瓷片电容73 C7, C8 10pF瓷片电容 24 C4, C6, C9, C15 10μF/16V钽电容 45 D1 肖特基二极管1N5819 16 D2, D3, D4, D5, D6 发光二极管 58 J1 25针D型公口接头 19 L1 10μH电感 110 Q1 三极管S8050 111 P1 USB B型或mini-B型母座 112 P2, P3, P4 3 PIN单排针 313 P5, P7 2x15 PIN双排针 214 P6 2x4 PIN双排针 115 P8, CZ1 2x10 PIN简易牛角座 216 R1, R4, R5, R6, R7, R8, R18, R20 10kΩ电阻817 R2, R13, R14, R15, R16 0Ω电阻 518 R3, R9, R10, R25, R26 1kΩ电阻 519 R11, R12 470Ω电阻 220 R17, R21, R22, R23, R24 51Ω电阻 521 R19 47kΩ电阻 122 S1, S2, S3 轻触按键 323 U1 LM1117-3.3 124 U2 STM32F103Rx 125 U3 74HC244 126 Y1 8M无源晶振 127 Y2 32.768 K无源晶振 1参考文献[1]李宁. 基于MDK的STM32处理器开发应用. 北京:北京航空航天大学出版社,2008[2]王永虹,郝立平. STM32系列ARM Cortex-M3微控制器原理与实践. 北京:北京航空航天大学出版社,2008[3]张睿编著. Altium Designer 6.0原理图与PCB设计. 北京:电子工业出版社,2007[4]刘小伟,刘宇,温培和编著. Altium designer 6.0电路设计实用教程. 北京:电子工业出版社,2007.2[5]北京三恒星科技公司编著. Altium Designer 6 设计教程. 北京:电子工业出版社,2007设计心得体会此次设计基于STM32的最小系统虽然比较简单,但也算是一个完整系统。