你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103ZET6硬件资源简介

[复制链接]
攻城狮Melo 发布时间:2022-11-8 21:50
一、stm32硬件资源和模块介绍
; q* b! \: e' j1 v0 ~  ^2.1开发板原理图详解$ I& f& ~- q- K/ Y% S5 H# j
1、 硬件资源:
+ E% a# L, s6 Y7 S2 g8 C# S64KB SRAM、512KB FLASH、2个基本定时器、4个通用定时器2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个ⅡC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口、1个FSMC接口、112个通用IO接口
6 t, K; K& V8 V1 p- B( H- v; C5 ]: J9 j0 r2 y8 |* G
还带有外部总线(FSMC)可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度。
' p! V1 U* M, J; {+ }
8 P; j2 D& x+ D+ R" x# D2、注意事项:! J  l5 }* o1 {9 b
1、后备区域供电脚采用CR1220纽扣电池和VCC3.3混合供电方式,在有外部电源(VCC3.3)的时候,CR1220不给VBAT供电,而在外部电源断开的时候,则由CR1220供电,这样VBAT总是有电,以保证RTC的走时以及后备寄存器的不丢失。
. ~8 ]4 h3 e8 X" B! p% n% _' E7 s
2、开发模拟部分(ADC/DAC)的参考电压(Vref+和Vref-)固定接到3.3V和GND,不可设置。
& N. W, g, @, ~
/ g2 W2 T( _" a0 e+ t* l2.2引出IO口
- @" |' _/ N3 z+ m0 ]0 X6 @6 ^; p' P7 a. l
ebdde5e3370055f878c9462b79263db1.png 4 x+ z  Y! n, T: {  w7 W
- {% J2 |2 ]( R2 M
图中P1和P2为MCU(微控制单元也就是单片机)主IO引出口,这两组排针共引出了106个IO口,STM32F103ZET6共有112个IO,除去RTC(时钟芯片)晶振占用的2个,还剩110个,这两组主引出排针,总共引出了106个IO,剩下的4个IO口分别通过:P3(PA9&PA10)P5(PA2&PA3)这两组排针引出。& A4 S) n" @; S4 R* p- c" |
+ i" R- u" G) J, ?4 C, j
排针:就是芯片引出管脚的那个金属) n) }$ {/ g2 ^2 G
) H4 M. t& G( I$ s  s- Z
2.3模块使用说明
% g. s' s- O2 j0 [" J  M1、USB串口/串口1选择接口
: L6 Z; Y$ p' [6 L1 o4 PSTM32F103板载的USB串口和STM32F103ZET6的串口是通过P3连接起来的。如下图所示:
4 z% w! ~' T' G/ y
* f9 r* ~" t1 m dad47605505af4ad348bf265287f893f.png ( B  M& y8 P$ A3 P
8 T% f# }' C# F& H# w
(也就是单片机的PA9脚和单片机的PA10脚与串口硬件的USART1_RX和USART1_TX相互连接)实现USB串口和STM32F103ZET6的通信,同时P3是PA9和PA10的引出口。% h1 L. q; R: T; V& l# z
! @6 D5 \, _, j4 x1 I" l
如果用到外部TTL串口和STM32通信时,只需要拔了跳线帽,通过杜邦线连接外部TTL串口,就可以实现和外部设备的串口通信了:6 o7 ]) c! i; n, L& r
' H3 W- h) Z/ h5 b% s
有关我的板子想和电脑通信,但电脑没有串口,那么就可以用开发板的RXD和TXD来连接设备,把我们的开发板当成USB转TTL串口使用。
  K5 x- R& k; F- h1 q; Z  T: h" {# X- z- Z0 |% }
注:2 r" G: X& @9 U2 ~$ D, D8 L2 J" y
3 j. r& G, _! E& M: T9 A" F
1、什么是杜邦线?2 j  r8 k' ^: `7 V+ k# Z! j! U6 ~5 C

5 }6 M( x- s4 ^: [+ e& F5 s" V可用于实验板的引脚扩展,增加实验项目等。可以非常牢靠地和插针连接,无需焊接,可以快速进行电路试验。5 U: |( }3 @5 k" ~& @
. l) w" C1 d' L' Q, t/ v$ `( Q# P
a647020d64f9179f50a51724b49a6b18.png + r) V/ H$ v, G3 {. o, ^3 R
3 i2 z; C7 ?* ]6 k# W
2、什么是TTL串口?
- u; X- E2 b. Q1 ?. j
6 P- Z6 a# r" u! P% W1 N' o就是输入、输出的标准的高低电平(0、1)的接口4 N/ J* L$ v$ k$ {7 z

( \+ y0 \: o% n7 w3 [单片机串口输入、出是TTL电平(0、5v),而标准串口常用±12v,所以要转换,常使用232芯片。; S( ^2 \/ V" v4 W# r. E0 Y

& {" s0 ?* A9 c3 T7 o# w% }6 `4 @3、USB串口在单片机中的具体位置:5 u9 }8 {# s4 k) X2 w$ E
% d: i8 @/ p  M6 i
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9FhsIKg-1634482658078)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20211011215143722.png)]
9 \3 u0 m; ^# }. H+ p/ `: z5 A
' q. t' z& T  _' N0 v5 h, b+ H$ \; |2、LCD模块接口# V) X" c$ f) P0 D4 a) G: K6 v& o

$ z7 ~8 }" K/ d. l- K7 A) u 242991f3e4c626b322d24b443f5cf55e.png + J* w1 I& q/ ]: G1 L- s
. R$ M% c" g$ _' Y4 F
​ LCD接口接在了STM32F103ZET6的FSMC总线上(不是一条线),可以显著提高LCD的刷屏速度。  ~+ U7 {6 h8 a! a) c8 @' _

/ W3 V' R' h- A5 N. U​ 图中的 T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2PB2/PF9/PF10/PB1/PF11 上, 这些信号用来实现对液晶触摸屏的控制(支持电阻屏和电容屏)。LCD_BL 连接在 MCU 的 PB0 上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和 MCU 共用一个复位电路。
$ X  o4 E$ ^, x
" n( M  c7 |: t注:
9 P3 P( _; B" M5 ]5 N  E) I4 n& C( p  T
LCD接口在板子上的具体位置:
1 B* A& p  b* M
$ l3 U& T6 v5 B; r" x a75794693585e9bede689a2fa021c7f9.png * l" S6 k2 y* }7 X. W
# j! m; d& l& i, l0 n
3、复位电路
7 z: i  q  Z. G* \2 p% l. p" [
03a1170f860bd122c572aa81258750ae.png
. n& n- M, Z: i3 J4 i! x4 \$ }9 T# ^
由于stm32是低电平复位的,所以设计的电路也是低电平复位的,同时,开发板把TFT_LCD的复位引脚也接在RESET上,这样复位按钮不仅可以用来复位MCU,还可以复位LCD。
6 k/ f" N! F& d, p+ c" U7 {9 U! C" j; l
注:- x$ Y: H% p6 x. \

$ X, b% {8 {4 A( i1、单片机复位电路的作用?6 G' g; [  Z* K; f' o4 n
$ m6 b* A8 P0 _7 p8 @
“使单片机的状态处于初始化状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。目的是让单片机能够稳定、正确的从头开始执行程序。”
- |# r! C% I. m2 R5 ~: [- q" _/ ~7 v2 @' W& U2 |5 x
4、启动模式设置接口! Y4 O- F5 F- F+ _5 G

5 ]  S5 u$ N- r. Z ec7525639252da6a6e215d730e953ca6.png 8 R: z" c# z; |

: G+ r. ~( z, ^其中BOOT0和BOOT1用于设置STM32的启动方式,其对应方式如下表所示:$ a- q. {5 @$ N* E" c

; q3 T2 E  y6 _ 0d69b40c3bb3b200dfca4dcb6fa92638.png
! c& ~3 Z$ M' Z$ b* L$ k9 c6 n/ u. x' V0 d9 H! g7 \/ H. ?* ^& N
如果用串口下载代码:必须配置BOOT0为1,BOOT1为0.8 J4 j3 O# N: e
# g& k3 O0 L7 [8 n8 ~
如果让STM32一按复位键就开始跑代码:则配置BOOT0为0,BOOT1随便设置。  p) L7 S5 ]) ?6 A) z
6 m( }8 @8 {4 [' e: y1 u
正点原子开发板专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动配置 BOOT0 和 RST 信号,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制,可以非常方便的下载代码。- y3 ~% A* D! p" y

0 o1 J5 |. {0 s, N5、R485选择接口$ ]: l9 S1 @7 W
+ [# P) Q6 d6 m# m/ t& ?
ce3176c6036dc03be6963a2cc89c0b3e.png
. ~" m- v/ c7 C! g# @! a+ F7 {7 T& l, U: |; }" d' q! R- \( d
图中,USART2_RX 和 USART2_TX 分别连接在 STM32F103ZET6 的 PA3 和 PA2 上面, RS485_TX 和 RS485_RX 则分别连接在 SP3485 的 RO 和 DI 引脚。当我们用 2 个跳线帽短接 P5 的 1 和 3、2 和 4,即可实现 RS485 接口连接在 STM32 的串口 2 上面,完成 RS485 通信。
& e( u' h3 J; I  G
0 C2 B9 ]6 H1 a$ N! Y当拔 了这两个跳线帽的时候,该接口可以实现 2 个功能:
' K8 i) Z! A6 n5 Q4 j
  W' s" a3 c* c& m- y( `" X1、作为 PA2 和 PA3 的引出 IO 口
7 c/ n1 q2 W! i
( O$ K" T) h5 ~# G2、开 发板的 RS485 部分,作为 RS485 转 TTL 模块使用。
0 G( ]' b) l8 ]
. x0 R" w! I) K. s6、RS485接口(应该用不到), V5 H6 [( k, b; j% {7 K* V. q( E
​ RS485 电平也不能直接连接到 STM32,同样需要电平转换芯片。这里我们使用 SP3485 来 做 485 电平转换,其中 R20 为终端匹配电阻,而 R14 和 R17,则是两个偏置电阻,以保证静默 状态时,485 总线维持逻辑 1。 RS485_RX/RS485_TX 连接在 P5 上面,通过 P5 跳线来选择是否连接在 MCU 上面, RS485_RE 则是直接连接在 MCU 的 IO 口(PD7)上的,该信号用来控制 SP3485 的工作模式(高电平为发送模式,低电平为接收模式)。, |; [' B+ j; `  [9 K
- J( j1 y' b7 M$ w6 n9 q
7、CAN/USB接口& y6 B  a  r; {2 ^
5 O" n% {- G  {. L
071317448e6460044b4ad3728b1a1a62.png $ A) C& R5 R% Q3 D# L8 a, E
: ^! s# `  V7 H" ~3 j0 V$ T
CAN总电平不能直接连接到STM32上,同时需要电平转换芯片。本板子用TJA1050来做CAN电平转换,其中R25为终端匹配电阻。
& g" Y9 B. `+ B/ c% f! NUSB_D+/USB_D-连接在 MCU 的 USB 口(PA12/PA11)上,同时,因为 STM32 的 USB 和 CAN 共用这组信号,所以我们通过 P6 来选择使用 USB 还是 CAN。(跳线帽)
1 G' b1 `6 H& ?, R6 O" n. A
7 s$ y- Z; l, X" ?5 r% }4 k: b! E​ USB_SLAVE 可以用来连接电脑,实现 USB 读卡器或USB虚拟串口等USB 从机实验。另外,该接口还具有供电功能,VUSB 为开发板的USB 供电电压,通过这个 USB 口,就可以给整个开发板供电了。( g/ g  x/ m3 D: |, r
9 R$ W4 m7 i% }6 |
; K# b1 m& c! ]( P! m6 {6 i
8、SPI FLASH
% p2 |+ K1 R, a[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvzSieZP-1634482658091)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20211011225314271.png)]
- D3 x4 J9 u0 Z7 F8 [* T/ k; T$ \) q" \( o  i3 K/ v( ^
​ SPI FLASH 芯片型号为 W25Q128,该芯片的容量为128Mb,也就是 16M 字节。该芯片和NRF24L01共用一个 SPI(SPI2),通过片选来选择使用某个器件,在使用其中一个器件的时候, 请务必禁止另外一个器件的片选信号。 图中 F_CS 连接在 MCU的PB12 上,SPI2_SCK/SPI2_MOSI/SPI2_MISO 则分别连接在 MCU 的PB13/PB15/PB14上。
3 G' H% D* ]! Y9 L( T% o0 z+ o1 S1 f/ O: r
9、AD/DA组合接口
  m) A" q* S+ J/ D7 E+ |. \6 ]' `ALIENTEK 精英 STM32F103 板载了一个 AD/DA 组合接口,即 P7 接口8 P5 J. c* O4 ~  U3 D  g0 \

. v7 r) ^& }+ a/ @ f4371b675e29c21ce82bcaf9634ade9a.png . U. X, v! V0 ?) @

1 t9 d# T/ _: E4 ?! I. ]​ 其中 TPAD 为电容触摸按键信号,连接在电容触摸按键上。STM_ADC 和 STM_DAC 则分别连接在 PA1 和 PA4 上,用于 ADC 采集或 DAC 输出。当需要电容触摸按键的时候,我们通过跳线帽短接 TPAD 和 STM_ADC(默认是连接的),就可以实现电容触摸按键(利用定时器的输入捕获)。另外, STM_ADC 还可以用与 AD 采集。STM_DAC 信号则既可以用作 DAC 输出,也可以用作 ADC 输入,因为 STM32 的该管脚同时具有这两个复用功能。; j/ y5 G1 d$ V7 \3 B  R8 b) I

( Y# b# f& P2 C- }/ n4 n5 |8 X特别注意:STM_DAC 与摄像头的 GBC_KEY 共用 PA4,所以他们不可以同时使用,但是可以分时复用。& a' z2 a* W$ ]/ p% k) s+ h5 A( u; I2 X
) z' a/ K3 J. Q* R
2.4 总结  \: A5 `, a7 g( A8 ^# Z+ H( y" L
​ 比赛的时候,知道各个模块的作用是什么?有什么功能?每个模块的引脚分别接在STM32芯片的那个引脚上,能够分清,回头如果真正比赛的时候,直接把用到的模块复制过去,然后和主要的STM32芯片相连,然后再编程驱动模块,最后实现想要的功能。
0 q* t, a' F- v1 S  v3 Z/ \————————————————+ p4 ?5 v0 R7 C: P+ A
版权声明:main( )
* h. m  y& t5 N, v
; p/ ?# G; u( n7 H7 B8 Q2 j4 H; f8 q( ?# L3 g0 m3 ~& b
赞 收藏 评论0 发布时间:2022-11-8 21:50

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版