<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MCU介紹

      架構(gòu)

      以一個Cortex-M內(nèi)核的STM32 MCU為例,架構(gòu)如圖:
      image
      整體可以分成幾個層次:

      內(nèi)核

      內(nèi)核是MCU的大腦。STM32F1系列MCU使用Cortex‐M3處理器內(nèi)核作為自己的中央處理單元(CPU)。芯片制造商得到CM3處理器內(nèi)核的使用授權(quán)后,就可以把CM3內(nèi)核用在自己的硅片設計中,添加存儲器,外設,I/O以及其它功能塊。ARM提供了現(xiàn)成的、成熟的CPU內(nèi)核架構(gòu)(指令集(Thumb/ARM 指令)、寄存器模型、總線接口、NVIC中斷控制器和調(diào)試協(xié)議(SWD/JTAG)等)。
      image
      Cortex‐M3是一個32位處理器內(nèi)核,內(nèi)部的數(shù)據(jù)路徑、寄存器和存儲器接口是32位的。CM3采用了哈佛結(jié)構(gòu),擁有獨立的指令總線和數(shù)據(jù)總線,可以讓取指與數(shù)據(jù)訪問同時進行。擁有R0‐R15的寄存器組,R13是堆棧指針SP,R15是程序計數(shù)寄存器,指向當前的程序地址。簡化視圖如下,包括中斷控制器NVIC,取指單元,解碼單元,算數(shù)運算單元,寄存器組,調(diào)試系統(tǒng),總線接口等。
      image

      時鐘與復位系統(tǒng)

      時鐘對于嵌入式系統(tǒng)來說等同于人類的心臟。同一個電路,時鐘越快功耗越大,同時抗電磁干擾能力也會越弱,所以復雜的MCU一般都采用多時鐘源,為了保持低功耗工作,主控默認不開啟這些外設功能。用戶可以根據(jù)自己的需要決定芯片要使用的功能,這個功能開關就在各個外設的時鐘。

      時鐘源從哪來?以STM32F1為例,包括:
      (1)2個外部時鐘源:高速外部振蕩器 HSE (High Speed External Clock signal)外接石英/陶瓷諧振器,頻率為4MHz~16MHz。低速外部振蕩器LSE(Low Speed External Clock signal)外接32.768kHz石英晶體,主要作用于RTC的時鐘源。
      (2)2個內(nèi)部時鐘源:高速內(nèi)部振蕩器HSI(High Speed Internal Clock signal)由內(nèi)部RC振蕩器產(chǎn)生,頻率為 8MHz。低速內(nèi)部振蕩器LSI(Low Speed Internal Clock signal)由內(nèi)部RC振蕩器產(chǎn)生,頻率為40kHz,可作為獨立看門狗的時鐘源。
      芯片上電時默認由內(nèi)部的HSI時鐘啟動,=可根據(jù)用戶配置切換到對應的外部時鐘源。

      鎖相環(huán)是自動控制系統(tǒng)中常用的一個反饋電路,在STM32主控中,鎖相環(huán)的作用主要包括輸入時鐘凈化和倍頻。前者是利用鎖相環(huán)電路的反饋機制實現(xiàn),后者用于使芯片在更高且頻率穩(wěn)定的時鐘下工作。在STM32中,鎖相環(huán)的輸出也可以作為芯片系統(tǒng)的時鐘源。

      復位控制器 (Reset Controller):處理上電復位、看門狗復位、軟件復位等。

      電源與模擬模塊

      電對于嵌入式系統(tǒng)等于血液之于人類。嵌入式常見的低壓電源有3個:
      5V
      5V通常用作開發(fā)板的主要電源輸入,它是一個通用的電壓標準,適用于大多數(shù)電源適配器和USB電源。可以通過降壓轉(zhuǎn)換器生成其他所需的電壓,如 3.3V 和 1.8V。
      外部接口:某些外部接口和外設,如 USB、一些傳感器模塊和顯示模塊,可能需要 5V 電源。
      3.3V
      IO 電壓:大部分FPGA和SoC的GPIO引腳使用3.3V電壓標準。3.3V是一個常見的電平,可以與很多外部設備和外圍器件兼容,如SPI、I2C和UART接口。
      外設供電:許多外設如閃存、SRAM、一些傳感器和通信模塊,也使用 3.3V 電源。
      1.8V
      內(nèi)核電壓:MCU和SoC的內(nèi)核邏輯通常使用更低的電壓,以減少功耗和發(fā)熱。Xilinx Zynq設備的內(nèi)核邏輯電壓通常為1.8V或更低。
      高速接口:某些高速接口,如DDR內(nèi)存和高速串行通信,可能需要1.8V電源。

      STM32的工作電壓(VDD)為2.0~3.6V。通過內(nèi)置的電壓調(diào)節(jié)器提供所需的1.8V電源。

      安全與控制模塊

      看門狗:包括獨立看門狗和窗口看門狗,用于在系統(tǒng)卡住時復位。
      錯誤校驗模塊 (ECC, Parity, CRC):保證數(shù)據(jù)傳輸和存儲可靠。循環(huán)冗余校驗(CRC)計算單元是根據(jù)固定的生成多項式得到任一32位全字的CRC計算結(jié)果。

      調(diào)試接口

      調(diào)試接口 (SWD, JTAG)

      總線

      總線是嵌入式系統(tǒng)的神經(jīng)網(wǎng)絡,各部件靠它通信。常見的總線有AHB,APB,AXI。AHB/APB橋在AHB和APB總線間提供同步連接。APB操作速度一般最高36MHz,APB2速度一般最高72MHz。在每一次復位以后,所有除SRAM和FLITF以外的外設都被關閉,在使用一個外設之前,必須設置寄存器來打開該外設的時鐘。

      Cortex-M內(nèi)核掛在AHB(Advanced High-performance Bus)上。大部分低速外設(GPIO、USART、I2C、SPI、定時器等)掛在APB(Advanced Peripheral Bus)上,通過總線與Cortex內(nèi)核通信。一些高速外設(DMA、以太網(wǎng)、USB、FMC等)掛在AHB或AXI總線上,直接和內(nèi)核或DMA高效交互。AHB和APB通過橋接器連接,形成分層總線結(jié)構(gòu)。

      在程序里訪問外設寄存器,Cortex-M內(nèi)核發(fā)出一個AHB總線訪問請求,AHB總線解碼器識別目標地址屬于APB外設區(qū)。請求通過AHB-APB橋轉(zhuǎn)換成APB協(xié)議,最終到達外設寄存器。外設控制器根據(jù)寫入的值驅(qū)動I/O引腳變化。

      外設

      UART、SPI、I2C、GPIO等。

      存儲器映射

      STM32F10xxx內(nèi)置64K字節(jié)的靜態(tài)SRAM。它可以以字節(jié)、半字(16位)或全字(32位)訪問。
      SRAM的起始地址是0x2000 0000。
      512K字節(jié)閃存存儲器(flash)。
      程序存儲器、數(shù)據(jù)存儲器、寄存器和輸入輸出端口被組織在同一個4GB的線性地址空間內(nèi)。數(shù)據(jù)字節(jié)以小端格式存放在存儲器中。一個字里的最低地址字節(jié)被認為是該字的最低有效字節(jié),而最高地址字節(jié)是最高有效字節(jié)。

      在MCU中,雖然片上實際的Flash、SRAM、外設寄存器都只有幾十KB到幾MB,但ARM內(nèi)核定義了一個統(tǒng)一的32位地址空間(4GB,地址范圍0x0000_0000 ~ 0xFFFF_FFFF),把所有資源都映射進去,形成一個線性地址空間。典型的 Cortex-M 存儲器映射:

      地址范圍 | 用途
      0x0000_0000 ~ 0x1FFF_FFFF 代碼區(qū)(Code),存放 Flash、ROM
      0x2000_0000 ~ 0x3FFF_FFFF SRAM(Data)
      0x4000_0000 ~ 0x5FFF_FFFF 外設寄存器(Peripheral,APB/AHB)
      0x6000_0000 ~ 0x9FFF_FFFF 外部 RAM/設備(External RAM/Device)
      0xA000_0000 ~ 0xDFFF_FFFF 外部設備(External Device)
      0xE000_0000 ~ 0xE00F_FFFF 系統(tǒng)控制空間(System Control Space,NVIC,SysTick 等)
      0xE010_0000 ~ 0xFFFF_FFFF 保留(Reserved)

      這樣設計能夠統(tǒng)一尋址,內(nèi)核用相同的Load/Store指令就能訪問Flash、SRAM、寄存器和I/O端口。也不需要區(qū)分“內(nèi)存訪問”和“I/O 訪問”。外設廠商只要把新的寄存器或存儲器映射到空閑的地址區(qū)間即可。

      外設(UART、SPI、I2C、GPIO 等)掛在APB總線上,Cortex內(nèi)核訪問外設時,不是直接跟外設打交道,而是像訪問內(nèi)存一樣,通過總線去讀寫外設的寄存器。
      這些外設寄存器被映射(memory-mapped I/O)到MCU的統(tǒng)一地址空間(比如Cortex-M是4GB的地址空間),程序里 (volatile uint32_t)0x40011000 = 0x01; 這種寫操作,就是通過總線把數(shù)據(jù)寫到外設控制器的寄存器,從而控制外設。

      其他

      DMA控制器,中斷控制器NVIC等。

      NVIC(Nested Vectored Interrupt Controller,嵌套向量中斷控制器) 是Cortex-M內(nèi)核里的一個組件,用來管理和響應中斷。NVIC不是一個單獨掛在總線上的外設,它是Cortex-M內(nèi)核里的一部分,和內(nèi)核緊密耦合。外設通過APB總線把中斷信號線拉高/拉低通知NVIC,NVIC根據(jù)配置(優(yōu)先級等)決定是否打斷內(nèi)核當前正在執(zhí)行的代碼,并跳轉(zhuǎn)到向量表里該中斷的 ISR(中斷服務函數(shù))。

      作用
      中斷響應:當外設(比如 UART、SPI、定時器)產(chǎn)生中斷請求時,NVIC負責接收、判優(yōu)和調(diào)度。
      優(yōu)先級管理:支持中斷的優(yōu)先級配置,可以嵌套(高優(yōu)先級中斷打斷低優(yōu)先級中斷)。
      中斷屏蔽:可以動態(tài)使能/失能某個中斷。
      異常向量表支持:和內(nèi)核一起使用向量表(Vector Table)來找到每個中斷對應的服務函數(shù)入口地址。

      如何控制中斷
      常見的NVIC寄存器(這些寄存器在 System Control Space (SCS) 里,屬于內(nèi)核區(qū)域,不是普通 APB 外設):
      ISER (Interrupt Set-Enable Register):使能某個中斷
      ICER (Interrupt Clear-Enable Register):關閉某個中斷
      ISPR / ICPR:設置/清除中斷掛起狀態(tài)
      IABR:查看中斷是否正在執(zhí)行
      IPR (Interrupt Priority Register):設置中斷優(yōu)先級

      posted @ 2025-08-21 23:59  CSUFT_NJU  閱讀(101)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产卡一卡二卡三免费入口| 国产黑色丝袜在线播放| 久久人妻无码一区二区三区av| 日韩V欧美V中文在线| 国产精品午夜福利免费看| 精品婷婷色一区二区三区| 少妇激情一区二区三区视频| 尤物yw193无码点击进入| 国产精品国产亚洲区久久| 中阳县| 成人3D动漫一区二区三区| 国产一区二区三区内射高清| 熟女性饥渴一区二区三区| 久久精品女人的天堂av| 精品无码一区二区三区的天堂| 午夜福利免费区在线观看| 午夜国产理论大片高清| 少妇xxxxx性开放| 国产美女裸身网站免费观看视频 | 久久中文字幕国产精品| 亚洲人成网线在线播放VA| 亚洲AV永久无码一区| 亚洲精品专区在线观看| 377p欧洲日本亚洲大胆| 韩国美女福利视频一区二区| 精品无码成人片一区二区| 免费看的日韩精品黄色片| 国产精品午夜福利资源| 亚洲理论电影在线观看| 亚洲成人精品综合在线| 日韩精品亚洲国产成人av| 强奷乱码中文字幕| 亚洲精品乱码久久观看网| 国产精品国三级国产av| 綦江县| 午夜爽爽爽男女污污污网站| 国产成人a在线观看视频免费| 人妻中文字幕亚洲一区| 成人一区二区三区激情视频| 一区二区国产精品精华液| 亚洲中文字幕日产无码成人片|