91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

講講基于STM32的硬件資源

開源嵌入式 ? 來源:開源嵌入式 ? 作者:開源嵌入式 ? 2020-11-30 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天來說說高端處理器的基本知識,開發(fā)32位單片機首先要了解基本芯片的硬件基礎,所以今天就講講基于STM32的硬件資源。

STM32基礎硬件知識

STM32與單片機的硬件接口基本一致,都是調用硬件接口控制I/O,完成相應的功能。另外,STM32在軟件方面具有ST官方的源代碼開放的庫文件,開發(fā)速度相對輕松方便,而且BUG較少。

本文以STM32F103為例對STM32的硬件資源進行介紹。

1、STM32最小系統(tǒng)

72 MHz -40~105°C ,有內置的ARM核心,因此它與所有的ARM工具和軟件兼容, 128k 閃存。

NVIC 嵌套的向量式中斷控制器---可處理43個可屏蔽中斷通道(不含16個中斷線)和16個優(yōu)先級。

EXTI 外部中斷/事件控制器,含19個邊沿檢測器,用于產生中斷/事件請求。

時鐘和啟動復位時內部8MHz的RC振蕩器被選為默認的CPU時鐘,有多個預分頻器用于配置AHB的頻率、高速APB(APB2)和低速APB(APB1)區(qū)域。AHB和高速APB 的最高頻率是72MHz,低速APB的最高頻率為36MHz。

低功耗模式:睡眠,停機,待機

DMA可以用于主要的外設:SPI、I2C、USART、通用和高級定時器TIMx和ADC。

通用同步/異步接受發(fā)送器(USART)

ADC(模擬/數(shù)字轉換器)::內嵌2個12位的模擬/數(shù)字轉換器(ADC),每個ADC有多達16個外部通道。

VDD:器件內部的工作電壓,芯片的工作電壓(Vcc>Vdd)

VCC:電路的供電電壓。

VSS:電路公共接地端電壓——接地端——接地點

圖1-STM32F103最小系統(tǒng)

2、啟動選擇

圖1中上部的BOOT0和BOOT1用于設置STM32的啟動方式,其對應啟動模式如下表所示:

表1- BOOT0、BOOT1啟動模式表

BOOT0 BOOT1 啟動模式 說明
0 X 用戶閃存存儲器 用戶閃存存儲器,也就是FLASH啟動
1 0 系統(tǒng)存儲器 系統(tǒng)存儲器啟動,用于串口下載
1 1 SRAM啟動 SRAM啟動,用于在SRAM中調試代碼

用串口下載代碼時,則配置BOOT0為1,BOOT1為0即可,如果想讓STM32一按復位鍵就開始跑代碼,則需要配置BOOT0為0,BOOT1隨便設置都可以。

3、復位

圖2-按鍵復位電路

STM32支持三種復位方式,分別是系統(tǒng)復位、上電復位和備份區(qū)域復位

系統(tǒng)復位:除了時鐘控制器的RCC_CSR寄存器中的復位標志和備份區(qū)域中的寄存器以外,系統(tǒng)復位將復位所有寄存器的至它們的復位狀態(tài)。當發(fā)生以下任一事件是產生系統(tǒng)復位:

(1)NRST引腳上的低電平(外部復位);

(2)窗口看門狗計數(shù)終止(WWDG復位);

(3)獨立看門狗計數(shù)終止(IWDG復位);

(4)軟件復位(SW復位);

(5)低功耗管理復位。

可以通過查看RC_CSR控制狀態(tài)寄存器中的復位狀態(tài)標志位識別復位時間來源。

電源復位

當以下事件中之一發(fā)生時,產生電源復位:

(1)上電/掉電復位(POR/PDR復位);

(2)從待機模式中返回。

備份域復位:

當以下事件中之一發(fā)生時,產生備份區(qū)域復位:

(1)軟件復位,備份區(qū)域復位可由設置備份域控制寄存器(RCC_BDCR)中的BDRST位產生;

(2)在VDD和VBAT兩者掉電的前提下,VDD或VBAT上電將引發(fā)備份區(qū)域復位。

4、 IO口

圖1中STM32的PORTA、PORTB以及PORTC的IO口全部引出,以便于與外部設備連接。

STM32每個GPIO 端口有兩個32 位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數(shù)據(jù)寄存器(GPIOx_IDR,GPIOx_ODR),一個32 位置位/復位寄存器(GPIOx_BSRR),一個16 位復位寄存器(GPIOx_BRR)和一個32 位鎖定寄存器(GPIOx_LCKR)。

GPIO 端口的每個位可以由軟件分別配置成多種模式,如下所述。每個I/O 端口位可以自由編程,然而I/O端口寄存器必須按32 位字被訪問(不允許半字或字節(jié)訪問)。GPIOx_BSRR 和GPIOx_BRR 寄存器允許對任何GPIO 寄存器的讀/更改的獨立訪問;這樣,在讀和更改訪問之間產生IRQ 時不會發(fā)生危險。端口位配置 CNFx[1:0]=xxb,MODEx[1:0]=xxb

對于STM32的IO口可以根據(jù)需要由軟件配置成八種模式(模電中有相關電路的具體分析):

(1)GPIO_Mode_AIN 模擬輸入;

(2)GPIO_Mode_IN_FLOATING 浮空輸入;

(3)GPIO_Mode_IPD 下拉輸入;

(4)GPIO_Mode_IPU 上拉輸入;

(5)GPIO_Mode_Out_OD 開漏輸出;

(6)GPIO_Mode_Out_PP 推挽輸出;

(7)GPIO_Mode_AF_OD 復用開漏輸出;

(8)GPIO_Mode_AF_PP 復用推挽輸出。

5、電源

圖3-電源電路

這里STM32的供電采用的是REG1117-3.3的方式,將DC5V電源轉換成為DC3.3V電源,電容作用都是一樣濾出電路中寄生的雜波,不同電容的容值通過的頻率不一樣所以電路中用了不同容值的電容把所有的雜波對地短路??梢栽贒C5V端增加兩個濾波電容(濾波電容通常是一大一小配合使用),基本形式是:電容濾波—三端穩(wěn)壓—電容濾波。

圖4-STM32電源框圖

Vdda是為模擬部分供電的,如果不接Vdda,芯片應該無法運行。

STM32的工作電壓(VDD)為2.0~3.6V。通過內置的電壓調節(jié)器提供所需的1.8V電源。當主電源VDD掉電后,通過Vbat腳為實時時鐘(RTC)和備份寄存器提供電源。如果應用中沒有使用外部電池,VBAT必須連接到VDD引腳上面。

供電方案:

VDD=2.0~3.6V:VDD管腳提供IO管腳和內部調壓器的供電;

VSSA,VDDA=2.0~3.6V:為ADC、復位模塊、RC振蕩器和PLL的模擬部分供電。使用ADC時,VDD不得小于2.4V;

VBAT=1.8~3.6V:當(通過電源開關)關閉VDD時,為RTC、外部32KHz振蕩器和后備寄存器供電。

6、燒寫接口

圖5-JTAG接口電路

如果要減小插座的數(shù)量,就用SWD模式的仿真,在這個模式下,如果用JLINK只要四根線就可以了,這四根線分別是:3.3V、GND、SWDIO(PA13)、SWCLK(PA14)。

其中:

STM32的JTMS/SWDIO接JTAG口的TMS;

STM32的JTCK/SWCLK接JTAG口的TCK。

如果要用ULINK2,則再加多一條“NRST”,即5條。

STM32的SWD接口與JTAG是共用的,只要接上JTAG,就可以使用SWD模式了(其實并不需要JTAG這么多線),JLINKV8和ULINK2都支持SWD。

這個接口可自行定義,在使用時用杜邦線跳接或做塊轉換接口板聯(lián)接仿真器與目標板即可。

7、時鐘與晶振

在STM32中,有五個時鐘源,分別為HSI、HSE、LSI、LSE、PLL。其實是四個時鐘源,如圖6所示(灰藍色),PLL是由鎖相環(huán)電路倍頻得到PLL時鐘。

(1)HSI是高速內部時鐘,RC振蕩器,頻率為8MHz。

(2)HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz~16MHz。

(3)LSI是低速內部時鐘,RC振蕩器,頻率為40kHz。

(4)LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。

(5) PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過72MHz。

圖6-STM32時鐘系統(tǒng)框圖

對于單片機系統(tǒng)來說,CPU和總線以及外設的時鐘設置是非常重要的,因為沒有時鐘就沒有時序。由于時鐘是一個由內而外的東西,具體設置要從寄存器開始。一般板子上只有8Mhz的晶振,而增強型最高工作頻率為72Mhz,顯然需要用PLL倍頻9倍,這些設置都需要在初始化階段完成。一般性的時鐘設置需要先考慮系統(tǒng)時鐘的來源,是內部RC還是外部晶振還是外部的振蕩器,是否需要PLL。STM需要2個晶振,1個是HSE,常用外部高頻,PLL倍頻用,常8MHz;另一個為外部低頻晶振,系統(tǒng)待機或低功耗時用,為32.6KHz。外接的那個用于 RTC 的32768 晶振,需要專用的負載晶振。

圖7-STM32外部晶振電路圖

然后考慮內部總線和外部總線,最后考慮外設的時鐘信號。遵從先倍頻作為CPU時鐘,然后在由內向外分頻,下級遷就上級的原則有點兒類似PCB制圖的規(guī)范化要求,在這里也一樣。

本文對STM32 的硬件部分做大致介紹,設計時用到其它的具體知識后期會陸續(xù)進行補充介紹,并附實例程序。

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    135

    文章

    9552

    瀏覽量

    391853
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373414
  • 硬件設計
    +關注

    關注

    18

    文章

    459

    瀏覽量

    45615

原文標題:【值得學習的好文章】經(jīng)典的STM32硬件設計學習筆記

文章出處:【微信號:KY_QRS,微信公眾號:開源嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【求清單】STM32 硬件采購清單(純軟件視角,僅適配代碼開發(fā))

    純軟件開發(fā)者,無硬件基礎,需基于 STM32 開發(fā)【無人打窩船的電機控制 + GPS 定位程序,lore通訊,帶陀螺儀,僅需要能跑通代碼的硬件,無需復雜擴展。
    發(fā)表于 12-02 10:44

    一文搞懂?RK3588 PCIe:從硬件資源到拆分配置?+?避坑指南(含腦圖)

    資源解析、 3? 大拆分方案實戰(zhàn)、關鍵配置步驟及避坑要點,附帶可視化腦圖,助力開發(fā)者快速落地? PCIe? 相關項目。 ? ? ? 一、 RK3588 PCIe? 核心硬件資源 ? 1.1? 控制器
    的頭像 發(fā)表于 11-20 18:18 ?3831次閱讀
    一文搞懂?RK3588 PCIe:從<b class='flag-5'>硬件</b><b class='flag-5'>資源</b>到拆分配置?+?避坑指南(含腦圖)

    智能攤鋪壓實監(jiān)測管理系統(tǒng)由哪些硬件組成呢?聽小編來講講

    ? ? ? ?在現(xiàn)代道路施工中,傳統(tǒng)的“憑經(jīng)驗、靠眼瞅”的攤鋪壓實管理方式已難以滿足高精度、高效率的施工要求。智能攤鋪壓實監(jiān)測管理系統(tǒng)應運而生,它通過集成先進的硬件設備與軟件算法,實現(xiàn)了施工過程
    的頭像 發(fā)表于 10-31 16:25 ?557次閱讀
    智能攤鋪壓實監(jiān)測管理系統(tǒng)由哪些<b class='flag-5'>硬件</b>組成呢?聽小編來<b class='flag-5'>講講</b>

    STM32學習路線!600+講課程!軟硬件兼修:裸機+RTOS+LVGL+硬件設計+項目實戰(zhàn) (STM32多核心開發(fā)板)

    數(shù)據(jù)采集,從AIoT終端設備的低功耗運算到邊緣節(jié)點的多任務調度,STM32芯片憑借其豐富外設資源、靈活算力配置與卓越的性價比,已成為嵌入式領域的核心硬件載體。結合RTO
    的頭像 發(fā)表于 10-17 16:39 ?791次閱讀
    <b class='flag-5'>STM32</b>學習路線!600+講課程!軟<b class='flag-5'>硬件</b>兼修:裸機+RTOS+LVGL+<b class='flag-5'>硬件</b>設計+項目實戰(zhàn) (<b class='flag-5'>STM32</b>多核心開發(fā)板)

    使用STM32CubeMX的時候創(chuàng)建的工程已經(jīng)使用的板載資源如何去掉?

    在使用STM32CubeMX的時候創(chuàng)建的工程已經(jīng)使用的板載資源如何去掉?在基于開發(fā)板進行工程創(chuàng)建的時候會把板載資源直接初始化,后面想要用不同的功能配置,如何把初始配置去掉?
    發(fā)表于 07-22 07:13

    通過vmRT-Thread和VirtIO-SCMI攻克硬件分割依賴難點 | 前沿觀點

    硬件分割依賴難點是現(xiàn)代嵌入式系統(tǒng)和物聯(lián)網(wǎng)設備開發(fā)中常見的問題。在多任務或多應用的系統(tǒng)中,不同任務或應用需要訪問不同的硬件資源,傳統(tǒng)的系統(tǒng)設計中,硬件
    的頭像 發(fā)表于 06-24 19:38 ?959次閱讀
    通過vmRT-Thread和VirtIO-SCMI攻克<b class='flag-5'>硬件</b>分割依賴難點 | 前沿觀點

    請問STM32目前有哪些燒錄的硬件?

    請問STM32目前有哪些燒錄的硬件?
    發(fā)表于 06-20 07:08

    貼片式SD卡如何在STM32硬件上實現(xiàn)高效日志記錄#貼片式sd卡 #貼片式tf卡 #stm32 #硬件

    硬件
    深圳市雷龍發(fā)展有限公司
    發(fā)布于 :2025年06月18日 17:10:22

    基于STM32藍牙控制小車系統(tǒng)設計(硬件+源代碼+論文)下載

    基于STM32藍牙控制小車系統(tǒng)設計(硬件+源代碼+論文)推薦下載!
    發(fā)表于 05-29 21:45

    【每周推薦】基于STM32開發(fā)項目實例下載(含PCB、原理圖、源碼等)

    設計(硬件+源代碼+論文)項目實例基于STM32藍牙控制小車系統(tǒng)設計(硬件+源代碼+論文)項目實例下載!3、基于STM32的武警哨位聯(lián)動報警系統(tǒng)設計,支持以太網(wǎng)和WIFI
    的頭像 發(fā)表于 05-27 08:05 ?1235次閱讀
    【每周推薦】基于<b class='flag-5'>STM32</b>開發(fā)項目實例下載(含PCB、原理圖、源碼等)

    STM32F10xxx硬件開發(fā)指南

    官方STM32F10xxx硬件開發(fā)指南
    發(fā)表于 04-14 14:59 ?3次下載

    云游戲的基礎資源類型

    云游戲的基礎資源類型 可根據(jù)功能與部署模式劃分為以下類別,其核心構成及細分如下: 一、按功能劃分的資源類型 計算與渲染資源? 硬件規(guī)格?:云端服務器需配置高性能CPU、GPU集群,例如
    的頭像 發(fā)表于 04-09 10:18 ?674次閱讀
    云游戲的基礎<b class='flag-5'>資源</b>類型

    請問STM32G473是否支持硬件AES?

    STM32G473參考手冊及數(shù)據(jù)手冊中含有硬件AES相關內容及寄存器相關描述。但STM32G473xx.h中并無AES相關寄存器,pack版本已更新為最新。以地址方式直接賦值,Keil debug過程中查看AES外設賦值失敗。
    發(fā)表于 03-12 06:38

    【嵌入式學習利器】STM32全流程虛擬仿真系統(tǒng),零基礎小白到軟硬件全棧工程師的修煉之路

    在嵌入式開發(fā)領域,硬件原理的抽象性和項目全流程的復雜性一直是初學者面臨的挑戰(zhàn),尤其是像STM32單片機開發(fā)這種軟硬件結合的方向,初學者很容易被復雜的硬件知識、寄存器配置、PCB設計這些
    的頭像 發(fā)表于 03-11 16:20 ?141次閱讀
    【嵌入式學習利器】<b class='flag-5'>STM32</b>全流程虛擬仿真系統(tǒng),零基礎小白到軟<b class='flag-5'>硬件</b>全棧工程師的修煉之路

    貿澤電子全新推出內容豐富的硬件項目資源中心

    2025 年 3 月 7 日 – 提供超豐富半導體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿澤電子 (Mouser Electronics) 推出內容豐富的硬件項目資源中心,幫助
    發(fā)表于 03-10 15:31 ?376次閱讀