<sub id="1djzl"><dfn id="1djzl"><ins id="1djzl"></ins></dfn></sub>

    <sub id="1djzl"><delect id="1djzl"></delect></sub>

    <address id="1djzl"></address>
    <address id="1djzl"><dfn id="1djzl"></dfn></address><address id="1djzl"></address><form id="1djzl"></form>

    <address id="1djzl"><dfn id="1djzl"></dfn></address>
    <address id="1djzl"><listing id="1djzl"></listing></address>
    <thead id="1djzl"><var id="1djzl"><mark id="1djzl"></mark></var></thead>

        <form id="1djzl"><listing id="1djzl"></listing></form>
        <address id="1djzl"><var id="1djzl"><output id="1djzl"></output></var></address>

          <sub id="1djzl"></sub>

            <address id="1djzl"><var id="1djzl"></var></address>

              <sub id="1djzl"><dfn id="1djzl"></dfn></sub><sub id="1djzl"><var id="1djzl"><ins id="1djzl"></ins></var></sub>

                  <sub id="1djzl"><var id="1djzl"><output id="1djzl"></output></var></sub>

                    stm32介紹(節選自普中開發攻略)

                    首頁    學習交流    嵌入式    stm32介紹(節選自普中開發攻略)

                    一、STM32 是什么

                    從字面意義來看:

                    ST:意法半導體,是一個公司的名字。

                    M:Microelectronics 的縮寫,表示微控制器,要注意微控制器和微處理器

                    的區別

                    32:32bit 的意思,表示這是一個 32bit 的微控制器



                    二、STM32 與 ARM 的關系

                    ARM 是英國的芯片設計公司,其最成功的莫過于 32 位嵌入式 CPU 核----

                    ARM 系列,最常用的是 ARM7 和 ARM9,ARM 公司主要提供 IP(Intellectual

                    Property core 知識產權的核心)核,就是 CPU 的內核結構,只包括最核心的部

                    分,并不是完整的處理器。ARM 把這個核賣給各大半導體公司,如 Philips,三

                    星,ATMEL,甚至 Intel 等許多公司。ARM 為了對付 8 位機市場,推出了一系列

                    Cortex-M 核,STM32 就是將Cortex-M 作為內核,通過一些外設等組合封裝在一

                    起就成了如今火爆的 32 位嵌入式處理器。

                    我們開發板上使用的是 STM32F1,也就是 M3 內核,Cortex-M3 采用ARMv7-M

                    架構,ARMv7 架構定義了三大分工明確的系列:

                    “A”系列:面向尖端的基于虛擬內存的操作系統和用戶應用

                    “R”系列:針對實時系統;

                    “M”系列:對微控制器。

                    Cortex-M4采用ARMv7-ME架構,Cortex-M0采用ARMv6-M架構,Cortex-A5/A8

                    采用 ARMv7-A 架構,傳統的 ARM7 系列采用的是 ARMv4T 架構。



                    三、STM32F103ZET6 介紹

                    首先我們看下 STM32 是如何分類的:

                    1

                    其次看下 STM32 的命名規則,如下:

                    2

                    3


                    我們開發板使用的是 STM32F103ZET6 芯片,芯片外觀及引腳圖如下:

                    54


                    其內部資源如下:

                    (1)內核:32 位 高性能 ARM Cortex-M3 處理器。時鐘:高達 72M,實際還

                    可以超頻一點。單周期乘法和硬件除法。

                    (2)IO 口:STM32F103ZET6: 144 引腳 112 個 IO,大部分 IO 口都耐5V(模

                    擬通道除外),支持調試:SWD 和 JTAG,SWD 只要 2 根數據線

                    (3)存儲器容量:512K FLASH,64K SRAM

                    (4)時鐘,復位和電源管理:

                    ①2.0~3.6V 電源和 IO 電壓

                    ②上電復位,掉電復位和可編程的電壓監控

                    ③強大的時鐘系統

                    -4~16M 的外部高速晶振

                    -內部 8MHz 的高速 RC 振蕩器

                    -內部 40KHz 低速 RC 振蕩器,看門狗時鐘

                    -內部鎖相環(PLL,倍頻),一般系統時鐘都是外部或者內部高速

                    時鐘經過 PLL 倍頻后得到

                    - 外部低速 32.768K 的晶振,主要做 RTC 時鐘源

                    (5)低功耗:

                    -睡眠,停止和待機三種低功耗模式

                    -可用電池為 RTC 和備份寄存器供電

                    (6)AD:

                    -3 個 12 位 AD(多達 21 個外部測量通道)

                    -轉換范圍:0-3.6V(參考電源電壓)

                    -內部通道可以用于內部溫度測量

                    -內置參考電壓

                    (7)DA:2 個 12 位 DA

                    (8)DMA:12 個 DMA 通道(7 通道 DMA1,5 通道 DMA2),支持外設:定時器,

                    ADC,DAC,SDIO,I2S,SPI,I2C,和 USART

                    (9)定時器:多達 11 個定時器

                    -4 個通用定時器

                    -2 個基本定時器

                    -2 個高級定時器

                    -1 個系統定時器

                    -2 個看門狗定時器

                    (10)通信接口:多達 13 個通信接口

                    -2 個 I2C 接口

                    -5 個串口

                    -3 個 SPI 接口

                    -1 個 CAN2.0

                    -1 個 USB FS

                    -1 個 SDIO

                    STM32F103ZET6 芯片有這么多管腳,那么怎么知道相應管腳的具體功能呢?

                    我們可以通過芯片數據手冊來查找,STM32F103ZET6 芯片數據手冊在光盤“\6--

                    芯片資料\開發板芯片數據手冊\STM32F103ZET6”。打開查找到 STM32 引腳定義

                    后如下:

                    6

                    STM32F103 系列芯片的系統架構如下:

                    7


                    STM32F103 系列芯片的系統結構如下:(不包含互聯網型)

                    8


                    從上圖可以看出,在小容量、中容量和大容量產品中,主系統由以下部分構

                    成:


                    ● 四個驅動單元:

                    ─ Cortex-M3 內核 DCode 總線(D-bus),和系統總線(S-bus)

                    ─ 通用 DMA1 和通用 DMA2

                    ● 四個被動單元

                    ─ 內部 SRAM

                    ─ 內部閃存存儲器

                    ─ FSMC

                    ─ AHB 到 APB 的橋(AHB2APBx),它連接所有的 APB 設備

                    這些都是通過一個多級的 AHB 總線構架相互連接的。下面我們看看它們各自

                    的功能:

                    ICode 總線

                    該總線將 Cortex-M3 內核的指令總線與閃存指令接口相連接。指令預取在此

                    總線上完成。

                    DCode 總線

                    該總線將 Cortex-M3 內核的 DCode 總線與閃存存儲器的數據接口相連接(常

                    量加載和調試訪問)。

                    系統總線

                    此總線連接 Cortex-M3 內核的系統總線(外設總線)到總線矩陣,總線矩陣協

                    調著內核和 DMA 間的訪問。

                    DMA 總線

                    此總線將DMA的AHB主控接口與總線矩陣相聯,總線矩陣協調著CPU的DCode

                    和 DMA 到 SRAM、閃存和外設的訪問。

                    總線矩陣

                    總線矩陣協調內核系統總線和 DMA 主控總線之間的訪問仲裁,仲裁利用輪換

                    算法。在互聯型產品中,總線矩陣包含 5 個驅動部件(CPU 的 DCode、系統總線、

                    以太網 DMA、 DMA1 總線和 DMA2 總線)和 3 個從部件(閃存存儲器接口(FLITF)、

                    SRAM 和 AHB2APB 橋)。在其它產品中總線矩陣包含 4 個驅動部件(CPU 的 DCode、

                    系統總線、DMA1 總線和 DMA2 總線)和 4 個被動部件(閃存存儲器接口(FLITF)、

                    SRAM、 FSMC 和 AHB2APB 橋)。AHB 外設通過總線矩陣與系統總線相連,允許DMA

                    訪問。

                    AHB/APB橋(APB)

                    兩個 AHB/APB 橋在 AHB 和 2 個 APB 總線間提供同步連接。 APB1 操作速度限

                    于 36MHz, APB2 操作于全速(最高 72MHz)。有關連接到每個橋的不同外設的地

                    址映射請參考《STM32F1xx 中文參考手冊》存儲器映像章節。在每一次復位以后,

                    所有除 SRAM 和 FLITF 以外的外設都被關閉,在使用一個外設之前,必須設置寄

                    存器 RCC_AHBENR 來打開該外設的時鐘。



                    四、STM32 能做什么

                    STM32 的用處取決于其內部資源,前面我們了解了 STM32 內部擁有非常多的

                    通信接口。所以如果你使用的模塊擁有此接口都可以通信。比如:

                    USART:ESP8266 WIFI 模塊、GSM 模塊、藍牙模塊、GPS 模塊、指紋識別模

                    塊等。

                    IIC:EEPROM、MPU6050 陀螺儀、0.96 寸 OLED 屏、電容屏等。

                    SPI:串行 FLASH、以太網 W5500、VS1003/1053 音頻模塊、SPI 接口的 OLED

                    屏、電阻屏等。

                    AD/DA:光敏傳感器模塊、煙霧傳感器模塊、可燃氣體傳感器模塊、簡易示

                    波器等。

                    其他的一些接口這里就不羅列,反正 STM32 能做的東西太多太多。

                    日常生活中可見的電子產品:

                    智能手環,微型四軸飛行器,平衡車、掃地機、移動 POST 機,智能電飯鍋,

                    3D 打印機、機器人等。

                    1211

                    109


                    總之學好 STM32 用處是大大的,而眾多 STM32 芯片中,M3 內核的

                    STM32F103ZET6 芯片當然是首選。大家只要認真學習本套教程,相信學好 STM32

                    并不是神話!



                    五、STM32 學習方法

                    (1)基本外設:

                    GPIO 輸入輸出,外部中斷,定時器,串口。理解了這四個外設,基本就入

                    門了一款 MCU。

                    (2)基本外設接口:

                    SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。這些外設接口功能原理對每個芯片

                    幾乎都是一樣。對芯片而言就是多和少而已。

                    (3)高級功能:

                    UCOS,FATFS,EMWIN 等。以及一些應用。

                    (4)C 語言能力要加強

                    C 語言是嵌入式開發的基礎中的基礎。如果 C 語言不過關,大大限制嵌入式

                    學習進度,以及嵌入式學習深度。嵌入式高手都是 C 高手。選擇譚浩強的《C 程

                    序設計 第四版》入門及鞏固 C 語言基礎是不錯的,但是僅靠這本書遠遠不夠,

                    可以參考《C 與指針》、《C 指針編程之道》等。我們已經在光盤“8--STM32相

                    關資料\C 語言加油站”內提供給大家。

                    (5)多動手編程


                    2018年8月13日 08:22
                    ?瀏覽量:0
                    ?收藏
                    国产偷拍欧洲日韩亚洲 - 视频 - 在线观看 - 影视资讯 - 新赏网