哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

講講基于STM32的硬件資源

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

掃碼添加小助手

加入工程師交流群

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

STM32基礎(chǔ)硬件知識(shí)

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

本文以STM32F103為例對(duì)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)先級(jí)。

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

時(shí)鐘和啟動(dòng)復(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、通用和高級(jí)定時(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、啟動(dòng)選擇

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

表1- BOOT0、BOOT1啟動(dòng)模式表

BOOT0 BOOT1 啟動(dòng)模式 說明
0 X 用戶閃存存儲(chǔ)器 用戶閃存存儲(chǔ)器,也就是FLASH啟動(dòng)
1 0 系統(tǒng)存儲(chǔ)器 系統(tǒng)存儲(chǔ)器啟動(dòng),用于串口下載
1 1 SRAM啟動(dòng) SRAM啟動(dòng),用于在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)志位識(shí)別復(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 寄存器允許對(duì)任何GPIO 寄存器的讀/更改的獨(dú)立訪問;這樣,在讀和更改訪問之間產(chǎn)生IRQ 時(shí)不會(huì)發(fā)生危險(xiǎn)。端口位配置 CNFx[1:0]=xxb,MODEx[1:0]=xxb

對(duì)于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電源,電容作用都是一樣濾出電路中寄生的雜波,不同電容的容值通過的頻率不一樣所以電路中用了不同容值的電容把所有的雜波對(duì)地短路??梢栽贒C5V端增加兩個(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)框圖

對(duì)于單片機(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í)鐘信號(hào)。遵從先倍頻作為CPU時(shí)鐘,然后在由內(nèi)向外分頻,下級(jí)遷就上級(jí)的原則有點(diǎn)兒類似PCB制圖的規(guī)范化要求,在這里也一樣。

本文對(duì)STM32 的硬件部分做大致介紹,設(shè)計(jì)時(shí)用到其它的具體知識(shí)后期會(huì)陸續(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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9588

    瀏覽量

    393527
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11189

    瀏覽量

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

    關(guān)注

    18

    文章

    495

    瀏覽量

    45686

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    國創(chuàng)基礎(chǔ)資源庫落地凡億教育,海量封裝資源賦能實(shí)訓(xùn)教學(xué)!

    國創(chuàng)基礎(chǔ)資源庫近期正式落地凡億教育培訓(xùn)基地。作為知名PCB設(shè)計(jì)與硬件開發(fā)職業(yè)教育品牌,凡億教育在長沙、深圳、西安設(shè)有標(biāo)準(zhǔn)化實(shí)訓(xùn)基地,聚焦零基礎(chǔ)、轉(zhuǎn)行等人群,打造3個(gè)月高強(qiáng)度實(shí)戰(zhàn)培訓(xùn)(對(duì)標(biāo)2-3年企業(yè)
    的頭像 發(fā)表于 04-13 18:04 ?255次閱讀
    國創(chuàng)基礎(chǔ)<b class='flag-5'>資源</b>庫落地凡億教育,海量封裝<b class='flag-5'>資源</b>賦能實(shí)訓(xùn)教學(xué)!

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

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

    一文搞懂?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 ?4710次閱讀
    一文搞懂?RK3588 PCIe:從<b class='flag-5'>硬件</b><b class='flag-5'>資源</b>到拆分配置?+?避坑指南(含腦圖)

    資源狀態(tài)感知是如何實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)鏈路狀態(tài)的實(shí)時(shí)感知的?

    資源狀態(tài)感知對(duì)網(wǎng)絡(luò)鏈路狀態(tài)的實(shí)時(shí)監(jiān)測是通過硬件底層檢測、協(xié)議層交互、算法模型分析的多層協(xié)同實(shí)現(xiàn)的,具體技術(shù)路徑如下: 一、硬件層:物理信號(hào)的實(shí)時(shí)捕獲 PHY 芯片的直接感知以太網(wǎng) PHY 芯片(如
    的頭像 發(fā)表于 11-06 14:49 ?852次閱讀

    智能攤鋪壓實(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 ?656次閱讀
    智能攤鋪壓實(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 ?949次閱讀
    <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ā)板)

    STM32WBA65I-DK1探索套件技術(shù)解析

    STMicroelectronics STM32WBA65I-DK1探索套件采用STM32WBA65RI微控制器作為完整的演示和開發(fā)平臺(tái)。該套件包括Arm^^?^^ Cortex^?^ -M33芯體(帶ARM TrustZone?和主線安全擴(kuò)展)、2Mb閃存、512Kb
    的頭像 發(fā)表于 10-16 09:51 ?870次閱讀
    <b class='flag-5'>STM32</b>WBA65I-DK1探索套件技術(shù)解析

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

    在使用STM32CubeMX的時(shí)候創(chuàng)建的工程已經(jīng)使用的板載資源如何去掉?在基于開發(fā)板進(jìn)行工程創(chuàng)建的時(shí)候會(huì)把板載資源直接初始化,后面想要用不同的功能配置,如何把初始配置去掉?
    發(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 ?1093次閱讀
    通過vmRT-Thread和VirtIO-SCMI攻克<b class='flag-5'>硬件</b>分割依賴難點(diǎn) | 前沿觀點(diǎn)

    請(qǐng)問STM32目前有哪些燒錄的硬件?

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

    STM32多通道FFT運(yùn)算異常的原因?怎么解決?

    問題報(bào)告:STM32多通道FFT運(yùn)算異常 報(bào)告人:XXX日期:2025年X月X日硬件平臺(tái):STM32F407VGT6開發(fā)環(huán)境:STM32CubeMX + KeilCMSIS-DSP庫版
    發(fā)表于 06-19 06:27

    貼片式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)動(dòng)報(bào)警系統(tǒng)設(shè)計(jì),支持以太網(wǎng)和WIFI
    的頭像 發(fā)表于 05-27 08:05 ?1451次閱讀
    【每周推薦】基于<b class='flag-5'>STM32</b>開發(fā)項(xiàng)目實(shí)例下載(含PCB、原理圖、源碼等)

    STM32N6570-DK:邊緣人工智能開發(fā)的全能探索板

    STM32N6570-DKDiscovery套件是一款專為邊緣人工智能開發(fā)設(shè)計(jì)的完整演示和開發(fā)平臺(tái),基于ArmCortex-M55內(nèi)核的STM32N657X0H3Q微控制器。該套件集成了豐富的硬件
    的頭像 發(fā)表于 05-06 16:00 ?1116次閱讀
    <b class='flag-5'>STM32</b>N6570-DK:邊緣人工智能開發(fā)的全能探索板
    日照市| 永昌县| 体育| 报价| 隆化县| 松原市| 隆化县| 岐山县| 巫山县| 光泽县| 宁武县| 富平县| 大理市| 黄平县| 濮阳市| 乌拉特中旗| 安新县| 富民县| 宁阳县| 灵寿县| 呈贡县| 海伦市| 策勒县| 象州县| 喀喇沁旗| 榕江县| 宁都县| 巍山| 咸宁市| 台湾省| 吉水县| 宁强县| 通河县| 封开县| 鲜城| 池州市| 九寨沟县| 胶州市| 宜良县| 朝阳区| 虎林市|