新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32單片機最小系統設計

        STM32單片機最小系統設計

        作者: 時間:2024-04-19 來源:硬件筆記本 收藏

        序言

        本文引用地址:http://www.104case.com/article/202404/457818.htm

        我們大多數人在學習stm32過程中都會陷入這樣一個誤區————只關注軟件代碼層面而忽視了硬件層面,簡單來說就是只會用開發板,一旦需要設計自己的stm32系統就無從下手。本文旨在完成stm32最小系統的設計。


        最小系統的組成


        最小系統簡述

        最小系統,就是能讓STM32單片機能夠正常工作所必須擁有的組成部分的集合,也是STM32單片機正常運行的必要環境。STM32最小系統主要組成部分有:

        stm32最小系統包括:

        1.供電電路;

        2.時鐘電路;

        3.下載電路;

        4.復位電路;

        5.BOOT啟動模式選擇。

        因為STM32單片機內部已經集成了時鐘電路,所以STM32只需有供電和復位電路就能正常運行。但在實際應用中,為了使單片機的靈活性、抗干擾能力、適應力、可調試的能力等,最小系統中還需帶有其它保持最小系統穩定的電路。本文所述的STM32最小系統基于STM32F103RCT6設計。


        供電電路


        在設計最小系統的供電電路時,需先確定供電的電壓,本文所述STM32采用的供電電壓為5V的USB供電電路,單片機的工作電壓為3.3V,我們需要對電壓進行降壓處理,因此我們采用AMS1117-3.3芯片,將5V轉換成3.3V給單片機供電。


        在STM32單片機的某些使用場合中,需要較高的信噪比,所以將模擬信號和數字信號區分開,來規避彼此的影響。在實際應用中,VDDA供電給ADC、DAC模塊,VREF+是參考電壓輸入引腳正極,VREF-是對應的負極。VREF+與VDDA連接,VREF-與VSSA連接。


        一般情況下,數字電源VDD與模擬電源VDDA之間只需要接一個簡單的低通濾波器即可(RC型、π型),而數字地和模擬地之間可以進行簡單的隔離(即在兩者之間接一個0Ω的電阻),或者在一些要求不高的場合,直接公用地。



        時鐘電路

        在官方STM32數據手冊中,高速外部時鐘(HSE)可接4MHz~16MHz的晶振,我們一般接8MHz的晶振,方便進行倍頻,在經過PLL鎖相環倍頻輸出后,供給STM32的外設使用。下圖所示的時鐘電路組成:晶振+起振電容 +(反饋電阻MΩ級)。如不接高速外部時鐘時,OSC_IN應接地,OSC_OUT應懸空。


        低速外部時鐘(LSE),接頻率為32.768KHz的晶振,用于提供給(RTC)實時時鐘。因為2^15=32768,在經過寄存器設置分頻之后,能很容易地得到1Hz的頻率,實現精準的定時,可用于計時電路(萬年歷等)。


        有源晶振與無源晶振:

        無源晶振:方便靈活、精度一般足夠、成本較低、需要外接起振電容

        有源晶振:更穩定、需要外接電源供電、不需要外圍輔助電路

        下載電路

        STM32單片機的下載方式有3種,分別是SWD(Serial Wire Debug)、JTAG(Joint Test Action Group)、ISP(in-system programming)下載電路。其中JTAG和SWD下載電路可供用戶對程序進行在線調試。

        JTAG下載電路:


        SWD下載電路:


        ISP一鍵下載電路:一般采用CH340G芯片實現轉串口,其中CH340G芯片需要單獨的震蕩電路,一般使用12MHz的晶振。該芯片將電腦的USB映射為串口使用,電腦在使用CH340G轉串口時應安裝對應的驅動程序。


        ISP下載電路可直接使用轉串口接入單片機串口引腳實現相應功能,這里就不貼電路圖了。

        復位電路

        在STM32運行的過程中,為確保系統中電路穩定可靠工作,復位電路必不可少。我們利用復位電路將STM32電路恢復到初始的狀態,主要是防止程序混亂,將系統恢復初始狀態,以便接收各種指令進行工作。


        BOOT啟動模式選擇

        STM32直接通過兩個引腳BOOT0和BOOT1設置啟動模式(M3和M4):


        主閃存存儲器(Flash):執行程序;

        系統存儲器(Bootloder):執行串口程序下載;

        內置SRAM:執行SRAM內代碼。

        STM32芯片選擇

        在設計STM32系統時,我們在選擇使用哪款芯片時需要根據項目功能需求來選擇,再確定好項目需求之后,我們可以在st官方技術社區下載選型手冊或者下載芯片數據手冊來確定選擇哪款芯片。

        一般在stm32中文數據手冊的第一頁就會有芯片資源描述,你可以根據資源介紹來選擇所需的芯片。



        芯片引腳功能

        在設計STM32系統時,我們需要根據芯片數據手冊來確認需要使用的引腳,例如我們需要外接低速外部晶振時,我們需要在芯片手冊上找到外接晶振引腳。本文使用STM32F103RCT6芯片,所以是64腳的芯片封裝,然后找到外接晶振引腳,就是PC14、PC15。于是在繪制原理圖時就可以找到對應引腳,連接相應的外部電路。





        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石嘴山市| 西乌珠穆沁旗| 汝州市| 曲阜市| 织金县| 昌邑市| 扎兰屯市| 永川市| 长治县| 南丹县| 建水县| 财经| 乌兰浩特市| 祁阳县| 丘北县| 寿宁县| 于田县| 崇文区| 景宁| 阳原县| 深水埗区| 丰台区| 伽师县| 潼关县| 道孚县| 新乡县| 宁城县| 岐山县| 靖安县| 化隆| 娄底市| 乌拉特前旗| 达拉特旗| 墨竹工卡县| 雷波县| 桃园市| 象山县| 泌阳县| 加查县| 司法| 朝阳市|