赞
踩
st——公司名,意法半导体公司
m32——32位微控制器
f——系列:通用型(F),简单型(S)、低功耗(L)、高性能(H)、汽车型(A)
103——子系列型号:1(增强型)、03(子系列型号)
V——引脚:100引脚,C(48 Pin)、V(100 Pin)、Z(144 Pin)
E——FLASH:E(512 KB)、8(64 KB)
T——封装类型:LQFP封装
6——温度:6(-4085)、8(-40105)
第一步:先看第一页的封装类型、基本的功能展示。
第二部:再根据需求去查看每一个部分。
最高工作频率:72MHZ,超频时不稳定。
存储器的0等待周期访问时可达1.25DMIPS/MHZ,读取RAM和FLASH不耗时间。
NOR FALSH:512KB,浮栅场效应管,无限读,10万次写,写之前扇区擦除。
SRAM:64KB,锁存器,无限次读取,速度快,掉电丢失数据。
时钟提供周期性脉冲,一个机器周期读取一条指令。
时钟频率由振荡器和分频器决定。
RC振荡器:电阻加电容产生方波。
RC振荡器特点:体积小、成本低,但温漂大。
晶振:石英晶体内部振荡产生方波。
晶振特点:体积大,但温漂小。
名称 | 缩写 | 频率 |
---|---|---|
高速外部晶振 | HSE | 1~16M HZ |
低速外部晶振 | LSE | 32.768 KHZ |
高速内部振荡器 | HSI | 8MHZ |
低速内部振荡器 | LSI | 40KHZ |
分频器:将时钟频率变为多少分之一。
倍频:将时钟频率通过锁相环改为几倍。
复位的目的是将RAM的数据清空,不复位时单片机不稳定。
stm32内部有一个供电监控器,当电压低于2V,自动复位,高于2V,工作状态。
每次上电,从0~3.3V,则会自动复位。
手动复位:复位引脚处接一个微动开关,另一端接地。
电源管理包括:备用电源输入、端口IO、逻辑电源输入和模拟电源输入。
逻辑电源输入:最基本供电端口。
备用电源输入:专给RTC实时时钟供电,保证掉电走时。
低功耗模式:关闭部分的功能,节省电能。
睡眠模式:关闭内核,依靠内外中断停止。
停机模式:关闭内核、内部所有功能、PLL、HSE,外部中断输入接口EXIT、电源监控中断PVD、RTC闹钟到时、USB唤醒信号唤醒。
待机模式:关闭内核、内部所有功能、PLL、HSE、SRAM内容消失,NRST复位、独立看门狗IWDG复位、专用唤醒WKUP引脚、RTC闹钟到时唤醒。
睡眠模式特点:不影响正常工作,但不够省点。
停止模式特点:足够省电,不能正常工作,但开机后程序还能恢复,用得最多。
待机模式特点:最省点,但开机后不能恢复,相当于复位。
可以读取具体的电压值。
位数越高则电压值越精确,stm32f103的ADC是12位。
直接访问存储器,可以解放CPU,将数据从一个地方搬运到另一个地方。
所有STM32都支持JTAG模式调试,提供仿真和下载。
仿真即不将程序写到flash中,使用计算机直接控制单片机内核,更高效。
JTAG还能控制IO口的输出电平状态,测试端口是否正常。
JTAG的接5根线,简化版SW接2根线。
1个高级定时器、3个普通定时器、2个看门口口定时器、一个滴答定时器。
看门口定时器的作用:时间到了让单片机复位,当程序死机,不能让看门狗计时器清零则复位。
滴答定时器作用:切换实时操作系统的任务。
飞利浦开发的同步、半双工通讯协议。
I2C的速度:低速模式100KHZ、快速模式400KHZ、高速模式3.4MHZ,一般100KHZ。
I2C的优点:简单易学、成本低、只占用2个IO口,但速度低。
stm32f103内部2个I2C,都支持DMA,但硬件I2C到100KHZ以上就不稳定了。
I2C的工作模式:一主多从,主机来控制从机。
I2C的引脚:VCC、GND、SCL、SDA。
USART是一种异步、全双工的通信协议。
RS232电平:-3V~-15V为高电平,通信距离20m,max2323芯片实现电平转换。
RS485电平:两线压差来区分高低电平,通信距离1000m,也需要电平转换。
stm32内部有五个USART。
摩托罗拉开发的同步、全双工通讯协议。
速度最大18MB/S,但挂载设备数量有限。
用在工业控制、汽车电子。
只需要两根线连接无数设备,速度可达到1MB/S,当某设备损坏,总线可以将其断开。
stm32f103有1个can总线接口,需要一个can收发器芯片(电平转换)才能正常使用。
USB接口有明显的主从关系,而USART没有主从关系。
1.5.6 CRC校验和芯片ID
CRC:循环冗余校验,主要是为了确定收发数据的有效性。
芯片ID,单片机内部都有一组96位二进制的ID号,用户可以将其作为产品序列号,或者加密程序。
支持所有ARM Cortex-M内核单片机。
免驱动安装。
支持XP/WIN7/WIN8/WIN10四个操作系统。
支持JTAG和SW下载模式,可在线调试和硬件仿真。
高速版支持JTAG和SW下载模式,全速版只支持SW下载模式。
Debug选项配置,选择仿真器型号:CMSIS-DAP Debugger。
Utilities选项配置,选择默认配置的仿真器,Use Debug Driver。
Debug Settings选项配置,Debug里,选SW-5MHZ,勾选under reset,SYSRESETEQ.
Debug Settings选项配置,Flash Download里,勾选Erase Sectors,Reset and Run。
添加STM32F10X High Densty Flash 512k。
开发板未上电:SW/JTAG Communication failure。
选择了其他仿真器如ST LINK:No ST_LINK Detected。
没有勾选use Debug Driver:No ULINK Device found。
没添加对应芯片:Error:Flash Download failed - “cortex -m3”。
本来板子会load失败,需要改为under reset 和 SysReseterEQ。
ISP(在系统可编程):依靠芯片内部自举程序(Bootloader)选择一种串行外设,对芯片内部的flash进行编程。
BOOT0 | BOOT1 | 启动方式 |
---|---|---|
0 | x | 内部FLASH |
1 | 0 | 系统存储器/ISP模式 |
0 | 1 | SRAM |
电脑接USB转串口线接STM32的USART1,并打开电脑上位机;
设置跳帽保持BOOT0为高电平,BOOT1为低电平;
复位单片机使其进入BootLoader模式,通过上位机下载程序;
下载完毕,设置跳帽保持BOOT0为低电平,BOOT1为低电平;
复位单片机即可启动代码。
下载安装CH340串口驱动;
打开电源开关并编译生成HEX文件;
打开MCUISP软件,将波特率设置为115200,勾选检验、编程后执行,选择DTR低电平复位,RTC高电平进入bootloader;
点击开始编程。
RTS置0,导通PNP型三级管,BOOT0置1,进入BootLoader;
DTR置1,导通NPN型三级管,NRST置0,完成复位;
进入ISP模式之后,可以将RST置1,DTR置0,还原为原始状态。
只要RTS为低电平时,DTR电平也是低电平,因此一般Q2不会被导通,但由于存在竞争冒险,会出现RTS的下降沿刚好遇到DTR的上升沿,这时候Q2导通,导致系统复位,而BOOT0也有可能为高电平,就会进入ISP模式;
加入模拟开关U18,通过控制U18的使能端开达到隔离干扰电平的目的:上电后C65电容需要通过R18充电1S才能达到使能端的有效电平,因此不会干扰到系统复位。
备注:只有USART1才支持ISP下载,利用CH340将5V的电源电源转换为3.3v的电压,计算机串口使用RS232电平,与单片机的电平相反。
根据功耗选择芯片内核。
根据引脚确定芯片。
确定是否需要Flash。
确定芯片编号:从小圆点起始为第一个引脚,逆时针引脚编号递增。
引脚分类 | 引脚说明 |
---|---|
电源 | VDD、VSS、VBAT、VDDA、VSSA、VREF、VREF- |
晶振 | 主晶振IO、RTC晶振IO |
下载 | JTAG下载IO:JTMS、JTCK、JTDI、JTDO、NJTRST |
boot | BOOT0、BOOT1 |
复位 | NRST |
GPIO | 总线GPIO |
普通GPIO |
备注:电源、晶振、下载、boot、复位组成最小系统。
FLASH:存常量和指令。
SRAM:存局部变量。
ICode:指令总线,从FLASH中读取指令。
DCode:数据总线,从FLASH中读取常量,从SRAM中读取变量。
System:系统总线,通过该总线读写寄存器。
DMA:直接访问存储器,将数据从一个地方搬运到另一个地方,不占CPU资源。
AHB总线:高速总线,72MHZ,挂载RCC、SDIO以及两个桥接。
APB1总线:低速总线,36MHZ,主要挂载串口和定时器资源。
APB2总线:高速总线,72MHZ,主要挂载GPIO。
FMSC:主要来扩展静态SRAM。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。