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

STM32F103ZET6硬件资源简介

[复制链接]
攻城狮Melo 发布时间:2022-11-8 21:50
一、stm32硬件资源和模块介绍, M4 v, x9 w% U# h" x+ _( Y' L
2.1开发板原理图详解! u: i) a8 z$ c6 q% M0 {& r
1、 硬件资源:
% y$ [0 B. H9 T) i64KB 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接口/ l- d" f8 z2 _  n. {2 R8 H

- `% U" j6 [1 s. G# {5 v+ O还带有外部总线(FSMC)可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度。
: i' z. W5 j) w, I, Q2 c- |
6 X# ?% C& r9 R; h' A. s  D" x2、注意事项:
8 D; P/ m# j& d1、后备区域供电脚采用CR1220纽扣电池和VCC3.3混合供电方式,在有外部电源(VCC3.3)的时候,CR1220不给VBAT供电,而在外部电源断开的时候,则由CR1220供电,这样VBAT总是有电,以保证RTC的走时以及后备寄存器的不丢失。. _$ C* t: d8 [) d7 V
" `( |0 k& I' m% }* N7 X9 ?
2、开发模拟部分(ADC/DAC)的参考电压(Vref+和Vref-)固定接到3.3V和GND,不可设置。
" s# F1 `" A; S1 Z+ P' `' O" o  f8 p% Z) j" u( s" ]7 n
2.2引出IO口
" c. u1 j( x/ |9 d6 `: L+ F- }; b# n
ebdde5e3370055f878c9462b79263db1.png $ w0 c# Z8 K- m' ~

# @6 n4 I! Z) v3 g& y3 s  e图中P1和P2为MCU(微控制单元也就是单片机)主IO引出口,这两组排针共引出了106个IO口,STM32F103ZET6共有112个IO,除去RTC(时钟芯片)晶振占用的2个,还剩110个,这两组主引出排针,总共引出了106个IO,剩下的4个IO口分别通过:P3(PA9&PA10)P5(PA2&PA3)这两组排针引出。4 i: z1 @* `* s! ?$ m% E  W8 |

! k9 h% {/ c1 o3 I排针:就是芯片引出管脚的那个金属
( c7 N$ }1 l8 X% @9 j9 o, O! Q% l( W9 `
2.3模块使用说明4 c/ I  M$ Z% i
1、USB串口/串口1选择接口* j" N/ B5 T6 k! {4 x5 U' ?3 A
STM32F103板载的USB串口和STM32F103ZET6的串口是通过P3连接起来的。如下图所示:
: }/ r6 V/ W# H2 I1 S( Y) m" ]+ d' t7 _" W
dad47605505af4ad348bf265287f893f.png & l1 _  T. K* h, r6 w

& S* n9 o; l$ I( {, C8 O2 t(也就是单片机的PA9脚和单片机的PA10脚与串口硬件的USART1_RX和USART1_TX相互连接)实现USB串口和STM32F103ZET6的通信,同时P3是PA9和PA10的引出口。
7 O0 x* m/ T, Z8 K: k$ j4 x' T* }
如果用到外部TTL串口和STM32通信时,只需要拔了跳线帽,通过杜邦线连接外部TTL串口,就可以实现和外部设备的串口通信了:+ n0 O# O: f3 }, |3 d, ?; C$ X% C" P

9 M% o$ }' F5 J! r& z( Q6 N- E( L5 ~9 K有关我的板子想和电脑通信,但电脑没有串口,那么就可以用开发板的RXD和TXD来连接设备,把我们的开发板当成USB转TTL串口使用。" b  V& ^9 v0 D. M+ F1 n4 S

  t# j7 s% P7 c* y* \; ^注:
3 ?- l* U/ }# n
2 B; R/ K! a% f: |; n8 Z! ?5 m. n1、什么是杜邦线?
/ D) ]2 P* l6 h/ \3 v; H& r
; U. F, U, k! v可用于实验板的引脚扩展,增加实验项目等。可以非常牢靠地和插针连接,无需焊接,可以快速进行电路试验。
# [1 e3 R- x$ i
, S$ s' S6 a2 A7 l1 q6 M a647020d64f9179f50a51724b49a6b18.png
0 W9 X8 @( c% t; ^/ J" u6 n7 |: ^: {1 l5 ~% _; T2 P% ?) c9 k
2、什么是TTL串口?
9 P5 N. j) T: R5 h, |3 W3 J; L- ?4 C4 _
就是输入、输出的标准的高低电平(0、1)的接口
/ y- |; e; ?% P6 f# |' D7 {) S. @
单片机串口输入、出是TTL电平(0、5v),而标准串口常用±12v,所以要转换,常使用232芯片。
- x, e" [  P7 l7 @( n0 w) J8 P% y, x
3、USB串口在单片机中的具体位置:
# E6 @9 B; R; ]: C' Y  |5 l: l+ b7 C/ G
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9FhsIKg-1634482658078)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20211011215143722.png)]+ a$ N" F- B' ~( M& W
# _2 b# S& r5 b5 v8 w
2、LCD模块接口% ?- c' x2 v7 n+ q

' A6 }) a/ B( P" H 242991f3e4c626b322d24b443f5cf55e.png 0 n! g6 k. o" x

6 C$ `( A, }: n8 L- g- W9 S3 F$ f​ LCD接口接在了STM32F103ZET6的FSMC总线上(不是一条线),可以显著提高LCD的刷屏速度。
) {7 ^9 c: m, Y+ y' a0 W: D$ u! M0 x$ p8 L
​ 图中的 T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2PB2/PF9/PF10/PB1/PF11 上, 这些信号用来实现对液晶触摸屏的控制(支持电阻屏和电容屏)。LCD_BL 连接在 MCU 的 PB0 上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和 MCU 共用一个复位电路。
, v7 v4 Y% ?4 F& Q& U
3 J+ g' |+ S, z! c8 E! O+ u/ w- X- b注:
  r" ^1 y9 u0 J/ h6 e' L
3 d; q3 R! @8 j7 n& MLCD接口在板子上的具体位置:
9 o2 R7 C; q7 s, y* q6 s  n
0 Y6 I. B% L/ v: r a75794693585e9bede689a2fa021c7f9.png 2 p# s) R# y2 ]1 L; n! h9 T
5 @9 g; H" X: Q: h0 M
3、复位电路
: Z& v7 C6 m; A+ }/ h$ p# A+ Y0 [0 q6 i8 y, B! t1 Z; Q
03a1170f860bd122c572aa81258750ae.png
9 [9 Q2 u9 ]9 ?, b- G* U: @  s/ ?; l) G/ _! e
由于stm32是低电平复位的,所以设计的电路也是低电平复位的,同时,开发板把TFT_LCD的复位引脚也接在RESET上,这样复位按钮不仅可以用来复位MCU,还可以复位LCD。. ~  Z& _3 |& B8 V* x  A

/ u& {& J9 |8 o# Y4 ]! R注:
. ]/ E& N! U1 r' r: i: P! d- d2 q4 K$ C& M6 G
1、单片机复位电路的作用?
* E: }/ w! }) z' y6 Q
! ]6 n0 B  {- D+ `% b“使单片机的状态处于初始化状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。目的是让单片机能够稳定、正确的从头开始执行程序。”* R, g2 ^% \8 @/ s/ J$ b; f4 z

9 k  F6 U8 y8 S7 h4、启动模式设置接口2 B: W! P9 c+ ]& x( l9 o; g

7 T# q& I9 q' ~  r ec7525639252da6a6e215d730e953ca6.png
# a1 k# |  z+ r/ L# @4 n  C. h  q, K3 e( `
其中BOOT0和BOOT1用于设置STM32的启动方式,其对应方式如下表所示:2 X  Z! R  r1 N
0 T, I; ]: I, r  d/ d$ v
0d69b40c3bb3b200dfca4dcb6fa92638.png 8 H3 B, W' `6 P" W! d) m
( p" }/ L* S/ P8 L$ _- ~3 f
如果用串口下载代码:必须配置BOOT0为1,BOOT1为0.# R7 X& ~7 `0 W; M9 F
# v5 H9 R  d0 G
如果让STM32一按复位键就开始跑代码:则配置BOOT0为0,BOOT1随便设置。
/ Q. @/ e5 a3 y. X  A3 O& P
" F2 ]# O6 h4 ^' B6 A9 c2 Z. q0 C1 h正点原子开发板专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动配置 BOOT0 和 RST 信号,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制,可以非常方便的下载代码。& d* `0 l, s, T, k9 j9 [, a; P* U  t1 w

' G( W- G$ }% W% Y5、R485选择接口# d, D, s4 E1 R

7 \2 P+ g. t3 h2 X- [3 { ce3176c6036dc03be6963a2cc89c0b3e.png
; |0 D  b: P& l* N
3 t" ^2 ?  e! x9 u3 }) o图中,USART2_RX 和 USART2_TX 分别连接在 STM32F103ZET6 的 PA3 和 PA2 上面, RS485_TX 和 RS485_RX 则分别连接在 SP3485 的 RO 和 DI 引脚。当我们用 2 个跳线帽短接 P5 的 1 和 3、2 和 4,即可实现 RS485 接口连接在 STM32 的串口 2 上面,完成 RS485 通信。4 J! p0 L4 |! Y. B8 Y; h; w: @

  d5 O9 q" w5 ?3 _当拔 了这两个跳线帽的时候,该接口可以实现 2 个功能:1 ], S( y( T; O% U3 b
4 j+ I+ ?! n; g! [% @$ y
1、作为 PA2 和 PA3 的引出 IO 口
' c! q9 J9 _) k
: t  w* N, ^1 e$ @2 T; a( |2、开 发板的 RS485 部分,作为 RS485 转 TTL 模块使用。; J% l' _. {* y; P4 h

& u9 F8 @. p0 {# z6 j* O: k* p6、RS485接口(应该用不到)3 X& e% i: {; i8 }7 J
​ RS485 电平也不能直接连接到 STM32,同样需要电平转换芯片。这里我们使用 SP3485 来 做 485 电平转换,其中 R20 为终端匹配电阻,而 R14 和 R17,则是两个偏置电阻,以保证静默 状态时,485 总线维持逻辑 1。 RS485_RX/RS485_TX 连接在 P5 上面,通过 P5 跳线来选择是否连接在 MCU 上面, RS485_RE 则是直接连接在 MCU 的 IO 口(PD7)上的,该信号用来控制 SP3485 的工作模式(高电平为发送模式,低电平为接收模式)。
# u2 m) [( _3 h: D" m/ m% {( k( y
* |' d9 Z5 ^, y- j. w7、CAN/USB接口
/ F) u  k  G, x# m) K) F
* v7 F1 m+ V5 o2 K2 c 071317448e6460044b4ad3728b1a1a62.png * ?$ S) q- O1 [3 J" u7 W

* Y% j, i  B' g! H+ h2 YCAN总电平不能直接连接到STM32上,同时需要电平转换芯片。本板子用TJA1050来做CAN电平转换,其中R25为终端匹配电阻。; D( p& b3 i. J. ?+ }4 ?+ y/ f( L
USB_D+/USB_D-连接在 MCU 的 USB 口(PA12/PA11)上,同时,因为 STM32 的 USB 和 CAN 共用这组信号,所以我们通过 P6 来选择使用 USB 还是 CAN。(跳线帽)
  g7 N( J' P  W2 c8 z, q9 f7 a. c6 z
​ USB_SLAVE 可以用来连接电脑,实现 USB 读卡器或USB虚拟串口等USB 从机实验。另外,该接口还具有供电功能,VUSB 为开发板的USB 供电电压,通过这个 USB 口,就可以给整个开发板供电了。
! t0 X. `. _! x  ~+ Z8 J
1 E& x( k! G0 ]6 I- s7 j
9 S& ~& `: T0 K) ~! v- e0 j. h8、SPI FLASH
* i' r0 j' V, |( m$ V3 v" R[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvzSieZP-1634482658091)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20211011225314271.png)]/ S- W7 `) }: H4 g' V7 R* q' g- |
* J& r7 t& j% Z$ I; @3 A
​ SPI FLASH 芯片型号为 W25Q128,该芯片的容量为128Mb,也就是 16M 字节。该芯片和NRF24L01共用一个 SPI(SPI2),通过片选来选择使用某个器件,在使用其中一个器件的时候, 请务必禁止另外一个器件的片选信号。 图中 F_CS 连接在 MCU的PB12 上,SPI2_SCK/SPI2_MOSI/SPI2_MISO 则分别连接在 MCU 的PB13/PB15/PB14上。
. }4 A9 S# p/ H: W& Y& R! s: C  z6 A8 [8 Q
9、AD/DA组合接口* _$ J; J% f3 ^
ALIENTEK 精英 STM32F103 板载了一个 AD/DA 组合接口,即 P7 接口7 P* L6 y% J! Z- S. K2 C& r
: K6 V! V' J" C7 c; M
f4371b675e29c21ce82bcaf9634ade9a.png
* c" h# w2 e& q( E3 n
+ U, l$ v+ o' w" |* Q​ 其中 TPAD 为电容触摸按键信号,连接在电容触摸按键上。STM_ADC 和 STM_DAC 则分别连接在 PA1 和 PA4 上,用于 ADC 采集或 DAC 输出。当需要电容触摸按键的时候,我们通过跳线帽短接 TPAD 和 STM_ADC(默认是连接的),就可以实现电容触摸按键(利用定时器的输入捕获)。另外, STM_ADC 还可以用与 AD 采集。STM_DAC 信号则既可以用作 DAC 输出,也可以用作 ADC 输入,因为 STM32 的该管脚同时具有这两个复用功能。9 x: B' j# f3 ?/ w: G
) O9 Z9 N6 d5 x
特别注意:STM_DAC 与摄像头的 GBC_KEY 共用 PA4,所以他们不可以同时使用,但是可以分时复用。
; _( z# X# r" N- v& X- z0 N: C- F& [7 B8 m3 t& ^
2.4 总结- s% r. U; j; O  g$ I, d  w5 u! ^
​ 比赛的时候,知道各个模块的作用是什么?有什么功能?每个模块的引脚分别接在STM32芯片的那个引脚上,能够分清,回头如果真正比赛的时候,直接把用到的模块复制过去,然后和主要的STM32芯片相连,然后再编程驱动模块,最后实现想要的功能。
* G& u( k. H" {————————————————0 l" x8 B, n+ t
版权声明:main( )% W0 ?9 H  d7 Z, v. k  ]$ H: m

, n& \) K4 R7 [4 C) m% ?. g7 m* ?* e  v  p6 n4 V
收藏 评论0 发布时间:2022-11-8 21:50

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版