chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

講講基于STM32的硬件資源

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

掃碼添加小助手

加入工程師交流群

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

STM32基礎(chǔ)硬件知識

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

本文以STM32F103為例對STM32的硬件資源進(jìn)行介紹。

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

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

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

EXTI 外部中斷/事件控制器,含19個(gè)邊沿檢測器,用于產(chǎn)生中斷/事件請求。

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

低功耗模式:睡眠,停機(jī),待機(jī)

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

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

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

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

VCC:電路的供電電壓。

VSS:電路公共接地端電壓——接地端——接地點(diǎn)

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

2、啟動選擇

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

表1- BOOT0、BOOT1啟動模式表

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

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

3、復(fù)位

圖2-按鍵復(fù)位電路

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

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

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

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

(3)獨(dú)立看門狗計(jì)數(shù)終止(IWDG復(fù)位);

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

(5)低功耗管理復(fù)位。

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

電源復(fù)位

當(dāng)以下事件中之一發(fā)生時(shí),產(chǎn)生電源復(fù)位:

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

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

備份域復(fù)位:

當(dāng)以下事件中之一發(fā)生時(shí),產(chǎn)生備份區(qū)域復(fù)位:

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

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

4、 IO口

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

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

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

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

(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 復(fù)用開漏輸出;

(8)GPIO_Mode_AF_PP 復(fù)用推挽輸出。

5、電源

圖3-電源電路

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

圖4-STM32電源框圖

Vdda是為模擬部分供電的,如果不接Vdda,芯片應(yīng)該無法運(yùn)行。

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

供電方案:

VDD=2.0~3.6V:VDD管腳提供IO管腳和內(nèi)部調(diào)壓器的供電;

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

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

6、燒寫接口

圖5-JTAG接口電路

如果要減小插座的數(shù)量,就用SWD模式的仿真,在這個(gè)模式下,如果用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模式了(其實(shí)并不需要JTAG這么多線),JLINKV8和ULINK2都支持SWD。

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

7、時(shí)鐘與晶振

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

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

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

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

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

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

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

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

圖7-STM32外部晶振電路圖

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

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

責(zé)任編輯:lq

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

    關(guān)注

    135

    文章

    9497

    瀏覽量

    388355
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11118

    瀏覽量

    370894
  • 硬件設(shè)計(jì)
    +關(guān)注

    關(guān)注

    18

    文章

    438

    瀏覽量

    45527

原文標(biāo)題:【值得學(xué)習(xí)的好文章】經(jīng)典的STM32硬件設(shè)計(jì)學(xué)習(xí)筆記

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

    STM32學(xué)習(xí)路線!600+講課程!軟硬件兼修:裸機(jī)+RTOS+LVGL+硬件設(shè)計(jì)+項(xiàng)目實(shí)戰(zhàn) (STM32多核心開發(fā)板)

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

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

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

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

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

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

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

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

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

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

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

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

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

    STM32F10xxx硬件開發(fā)指南

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

    云游戲的基礎(chǔ)資源類型

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

    請問STM32G473是否支持硬件AES?

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

    貿(mào)澤電子全新推出內(nèi)容豐富的硬件項(xiàng)目資源中心

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

    工程師開發(fā)利器:STM32CubeMX 與 eDesignSuite 的協(xié)同開發(fā)

    。與 STM32CubeMX 的功耗配置結(jié)合,可優(yōu)化系統(tǒng)級電源方案。電機(jī)控制方案提供無刷直流電機(jī)(BLDC)、永磁同步電機(jī)(PMSM)的控制算法庫和參考設(shè)計(jì)。通過生成的控制代碼與 STM32CubeMX 配置的硬件
    的頭像 發(fā)表于 02-26 14:07 ?1095次閱讀
    工程師開發(fā)利器:<b class='flag-5'>STM32</b>CubeMX 與 eDesignSuite 的協(xié)同開發(fā)

    STM32、Arduino、樹莓派開發(fā)方式差異大嗎

    異同點(diǎn) STM32、Arduino、樹莓派是三種不同的硬件平臺,各自具有獨(dú)特的特點(diǎn)和適用場景。 ? 一、硬件特性 ? 硬件平臺 STM32
    的頭像 發(fā)表于 01-02 11:33 ?1897次閱讀