一、STM32之最小stm32硬件系統的實現


序言

我們大多數人在學習stm32過程中都會陷入這樣一個誤區————只關注軟件代碼層面而忽視了硬件層面,簡單來說就是只會用開發板,一旦需要設計自己的stm32系統就無從下手。本文旨在完成stm32最小系統的設計,stm32最小系統包括:電源、復位電路、晶振、程序下載電路四個部分,簡單來記就是吃飯、睡覺、到點、起床工作。

電源

電就是MCU要吃的飯,不吃飯,stm32芯片肯定不能工作。
stm32最小系統板需要5v和3.3v兩種電壓,一般可以直接通過USB提供5v電壓,也可以用電源適配器提供5V電壓。而3.3v電壓可以通過穩壓芯片如ASM1117-3.3v等,把5v電壓降為3.3v輸出。
參考電源電路如下:
圖中J1是USB接口,提供的5v電壓經過ASM1117-3.3v后降為3v3,C1,C2(10*10^4pF=0.1u)用於電源濾波,高頻濾波用小電容,低頻濾波用大電容。D3是一個led用以指示電源工況,其上的R1 510R即510.0Ω用以限流,防止led燈燒壞。
J3也是一個USB接口,提供5v電壓,同時它也是一個模擬串口,其D-和D+引腳與ch340相應引腳連接構成一個串口設備。
stm32吃的是3v3將其VDD和VSS引腳分別連接到3v3和GND,就解決了stm32的吃飯問題。

復位電路

人工作久了容易自閉、精神恍惚,這時需要睡一覺就以重新煥發活力。stm32工作久了也容易“精神恍惚”————程序跑飛,也需要復位。
2
stm32的NRST引腳是復位信號接收引腳與RESET相連,芯片低電平復位。如上圖所示,當芯片剛上電時,電容充電導通,此時RESET=0,芯片復位;當按下復位按鈕時,RESET接地,芯片復位。

晶振電路

晶振是芯片的心跳,每一次脈沖激勵芯片執行一條指令,因此晶振的重要性不言而喻。

上圖是stm32的晶振電路,8M無源晶振,其中R9(1M)用於穩定晶振的脈沖波形,C8(20P)和C9(20P)一方面構成晶振起振的必要回路,另一方面匹配電容,同時還具有調節晶振電路頻率的作用。

程序下載電路

搭建stm32最小系統的目的當然是希望其按照我們的想法(即編寫的程序)進行工作,程序下載接口就是為MCU注入靈魂的法門。

  1. stm32程序下載方式
  • Link
    • ULink
    • STLink
    • JLink包括:SWD模式(三線制)和JTAG模式
  • 串口下載

不准確地說(錯誤滴說),Link就是把C語言翻譯為芯片能懂的語言的器件,而在串口下載中是通過下載軟件(如FlyMCU)將C語言翻譯為芯片能聽得懂的語言,二值殊途同歸。

  1. stm32啟動方式
    stm芯片復位時即NRST引腳處於低電位時,BOOT0和BOOT1的電平狀態,決定復位后芯片的啟動方式。
BOOT0 BOOT1 啟動方式 對應的程序下載方式
0 x flash Link(ICP)
1 0 ROM&BootLoader 串口下載(ISP)
1 1 RAM ???(IAP)
  1. 題外話————各種存

  2. JLink SWD模式下載電路

    SWD模式只需要三根線————GND(連接stm32芯片GND)、SWD(連接PA13[SWD])、SWC(連接PA14[SWC])

  3. 串口下載電路

    USB的D+、D-腳,分別接CH340的D+、D-腳,CH340的TX、RX分別接芯片RX(PA10)、TX(PA9)

注意:PA9、PA10、PA13、PA14默認是用來下載程序的,至於一鍵下載電路,欲知詳情,下回分解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM