「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

1)實驗平臺:正點原子Linux開發板

2)

摘自《正點原子I.MX6U嵌入式Linux驅動開發指南關注官方微信號公眾號,獲取更多資料:正點原子

「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介


第一篇 硬件篇

實踐出真知,要想學好 STM32,實驗平臺必不可少!本篇將詳細介紹我們用來學習 STM32

的硬件平臺:ALIENTEK MiniSTM32 開發板,通過該篇的介紹,讀者將瞭解到我們的學習平臺

ALIENTEK MiniSTM32 開發板的功能及特點。

為了讓讀者更好的使用 ALIENTEK MiniSTM32 開發板,本篇還介紹了開發板的一些使用

注意事項,請讀者在使用開發板的時候一定要注意。

本篇將分為如下兩章:

1,實驗平臺簡介;

2,實驗平臺硬件資源詳解;ALIENTEK MiniSTM32

V3.0 開發板教程

5

STM32 不完全手冊(HAL 庫版)

第一章 實驗平臺簡介

本章,主要向大家簡要介紹我們的實驗平臺:ALIENTEK MiniSTM32 開發板。通過本章的

學習,你將對我們後面使用的實驗平臺有個大概瞭解,為後面的學習做鋪墊。

本章將分為如下兩節:

1.1,ALIENTEK MiniSTM32 開發板資源初探;

1.2,ALIENTEK MiniSTM32 開發板資源說明;

1.1 ALIENTEK MiniSTM32 開發板資源初探

ALIENTEK MiniSTM32 開發板是一款迷你型的 STM32F103 開發板,小巧而不小氣,簡約

而不簡單。該開發板自推出以來,深得廣大 STM32 學習者喜愛。目前最新版本為 V3,最新

MiniSTM32 開發板資源圖如圖 1.1.1 所示


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

圖 1.1.1 MiniSTM32 開發板資源圖

這款 MiniSTM32 V3 開發板,設計精良,結構小巧!板子的設計充分考慮了成本與功能這

兩個矛盾面,再結合實際使用的經驗及 STM32 的特點,最終確定了這樣的設計。總體來說是

該有的都有,不該有的堅決不要,可有可無的選擇性價比最高的留下。

ALIENTEK MiniSTM32 開發闆闆載資源如下:

◆ CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K;

◆ 1 個標準的 JTAG/SWD 調試下載口

◆ 1 個電源指示燈(藍色)

◆ 2 個狀態指示燈(DS0:紅色,DS1:綠色)

◆ 1 個紅外接收頭,配備一款小巧的紅外遙控器

◆ 1 個 IIC 接口的 EEPROM 芯片,24C02,容量 256 字節

◆ 1 個 SPI FLASH 芯片,W25Q64,容量為 8M 字節(即 64M bit)

◆ 1 個 DS18B20/DS1820 溫度傳感器預留接口

◆ 1 個標準的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持觸摸屏

◆ 1 個 OLED 模塊接口(與 LCD 接口部分共用)

◆ 1 個 USB 串口接口,可用於程序下載和代碼調試

◆ 1 個 USB SLAVE 接口,用於 USB 通信

◆ 1 個 SD 卡接口

◆ 1 個 PS/2 接口,可外接鼠標、鍵盤

◆ 1 組 5V 電源供應/接入口

◆ 1 組 3.3V 電源供應/接入口

◆ 1 個啟動模式選擇配置接口

◆ 1 個 2.4G 無線通信接口

◆ 1 個 RTC 後備電池座,並帶電池

◆ 1 個復位按鈕,可用於復位 MCU 和 LCD

◆ 3 個功能按鈕,其中 WK_UP 兼具喚醒功能

◆ 1 個電源開關,控制整個板的電源

◆ 3.3V 與 5V 電源 TVS 保護,有效防止燒壞芯片。

◆ 獨創的一鍵下載功能

◆ 除晶振佔用的 IO 口外,其餘所有 IO 口全部引出,其中 GPIOA 和 GPIOB 按順序引

從上面的板載資源可以看出,MiniSTM32 開發板的板載資源是很豐富的,加上靈活的設計,

讓您的開發變得更加簡單。

ALIENTEK MiniSTM32 V3.0 開發板的特點包括:

1)小巧。整個板子尺寸為 8cm*10cm*2cm(包括液晶,但不計算銅柱的高度)。

2)靈活。板上除晶振外的所有的 IO 口全部引出,特別還有 GPIOA 和 GPIOB 的 IO 口是按

順序引出的,可以極大的方便大家擴展及使用,另外板載獨特的一鍵下載功能,避免了頻

繁設置 B0、B1 帶來的麻煩,直接在電腦上一鍵下載。

3) 資源豐富。板載十多種外設及接口,可以充分挖掘 STM32 的潛質。

4) 質量過硬。沉金 PCB+全新優質元器件+定製全銅鍍金排針/排座+電源 TVS 保護,堅若磐

石。

5) 人性化設計。各個接口都有絲印標註,使用起來一目瞭然;接口位置設計安排合理,方

便順手。資源搭配合理,物盡其用。

這裡我們首先詳細介紹 MiniSTM32 開發板的各個部分(圖 1.1.1 中的標註部分)的硬件資

源,我們將按逆時針的順序依次介紹。

1. HS0038 紅外接收頭

這是開發闆闆載的標準 38K 紅外信號接收頭,用於接收紅外遙控器的信號,有了它,就可

以用紅外遙控器控制這款開發板了,也可以用來做紅外解碼等其他相關實驗。ALIENTEK

MiniSTM32 開發板標配了一個紅外遙控器,其外觀如圖 1.2.1.1 所示:


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

圖 1.2.1.1 紅外遙控器圖片


關於該遙控器的使用,在第二十七章會有詳細介紹。

2. DS18B20 預留接口

這是開發板預留的數字溫度傳感器 DS18B20/DS1820 接口,採用的是鍍金的圓孔母座。當

要做 DS18B20 實驗的時候,直接插到這個母座上即可,很方便。DS18B20 需自備,插上就可

以用的。同樣 ALIENTEK 提供了 DS18B20 的相關例程。

3. USB 串口/串口 1

這是 USB 轉串口(P4)同 STM32F103RCT6 的串口 1 進行連接的接口,標號 RXD 和 TXD

是 USB 轉串口的 2 個數據口(對 CH340G 來說),而 PA9(TXD)和 PA10(RXD)則是 STM32 的串

口 1 的兩個數據口(複用功能下)。他們通過跳線帽對接,就可以和連接在一起了,從而實現

STM32 的程序下載以及串口通信。

設計成 USB 串口,是出於現在電腦上串口正在消失,尤其是筆記本,幾乎清一色的沒有串

口。所以板載了 USB 串口可以方便大家下載代碼和調試。而在板子上並沒有直接連接在一起,

則是出於使用方便的考慮。這樣設計,你可以把開發板當成一個 USB 轉 TTL 串口來使用,從

而和其他板子進行通信,而其他板子的串口,也可以方便地接到我們的開發板上。

4. 兩個 LED 燈

這是開發闆闆載的兩個 LED 燈,它們在開發板上的標號為:DS0 和 DS1。DS0 是紅色的,

DS1 是綠色的,主要是方便大家識別。一般的應用 2 個 LED 足夠了,在調試代碼的時候,使用

LED 來指示程序狀態,是非常不錯的一個輔助調試方法。ALIENTEK 開發板幾乎每個實例都使

用了 LED 來指示程序的運行狀態

這是開發闆闆載的一個 MiniUSB 頭,用於 STM32 與電腦的 USB 通訊(注意不是 USB 轉

串口!!,一鍵下載的時候不是用這個 USB 口!!),此 MiniUSB 頭在開發板上的標號為:USB,

用於連接 STM32F103RCT6 自帶的 USB,通過此 MiniUSB 頭,開發板就可以和電腦進行 USB

通信了。開發板總共板載了 2 個 MiniUSB 頭,一個用於接 USB 串口,連接 CH340G 芯片;另

外一個用於 STM32 內帶的 USB 連接。

開發板通過 MiniUSB 口供電,板載兩個 MiniUSB 頭(不共用),主要是考慮了使用的方便

性,以及可以給板子提供更大的電流(兩個 USB 都接上)這兩個因素。

6. 24C02 EEPROM

這是開發闆闆載的 2Kbit(256 個字節)EEPROM ,型號為:24C02,用於掉電數據保存。

因為 STM32 內部沒有 EEPROM,所開發板外擴了 24C02,用於存儲重要數據,也可以用來做

IIC 實驗,及其他應用。該芯片直接掛在 STM32 的 IO 口上。

7. JTAG/SWD

這是開發闆闆載的 20 針標準 JTAG 調試口,在開發板上的標號為:JTAG。該 JTAG 口直

接可以和 ULINK 或者 JLINK 或者 STLINK 等調試器(仿真器)連接,同時由於 STM32 支持

SWD 調試,這個 JTAG 口也可以用 SWD 模式來連接。

用標準的 JTAG 調試,需要佔用 5 個 IO 口,很多時候,可能造成 IO 口不夠用,而用 SWD

則只需要 2 個 IO 口,大大節約了 IO 數量,但他們達到的效果是一樣的。所以調試下載的時候,

強烈建議使用 SWD 模式!!!

8. CH340G

這是開發闆闆載的 USB 轉串口芯片,型號為:CH340G。有了這個芯片,我們就可以實現

USB 轉串口,從而能實現 USB 下載代碼,串口通信等。

9. USB 轉串口接口

這是開發闆闆載的另外一個 MiniUSB 頭(USB_232),用於 USB 連接 CH340G 芯片,從而

實現 USB 轉串口,所以串口下載代碼的時候,USB 一定是要接在這個口上的。同時,此 MiniUSB

接頭也是開發板電源的主要提供口。

10. STM32 啟動配置選擇

這是開發闆闆載的啟動模式選擇開關,在開發板上的標號為:BOOT。STM32 有 BOOT0

(B0)和 BOOT1(B1)兩個啟動選擇引腳,用於選擇復位後 STM32 的啟動模式,默認 B0,

B1都是連接在GND的。作為開發板,這兩個是必須的。在開發板上,我們通過跳線帽選擇STM32

的啟動模式。關於啟動模式的說明,請看 2.1.1 節。

11. 電源指示燈

這是開發闆闆載的一顆藍色的 LED,用於指示電源狀態,在開發板上的標號為:PWR。在

電源開啟的時候(通過板上的電源開關控制),該燈會亮,否則不亮。通過這個 LED,可以判

斷開發板的上電情況,開發板必須在上電的條件下(電源燈亮),才可以正常使用。

12. 復位按鍵

這是開發闆闆載的復位按鍵,用於復位 STM32,同時還具有復位液晶的功能,因為液晶模

塊的復位引腳和 STM32 的復位引腳是連接在一起的,此按鍵在開發板上的標號為:RESET。

當按下該鍵的時候,STM32 和液晶一併被複位。

13. WK_UP 按鍵

這是開發闆闆載的一個喚醒按鍵,該按鍵連接到 STM32 的 WAKE_UP(PA0)引腳,可用

於待機模式下的喚醒,在不使用喚醒功能的時候,也可以做為普通按鍵輸入使用,此按鍵在開

發板上的標號為:WK_UP。

14. 兩個普通按鍵

這是開發闆闆載的兩個普通按鍵,可以用於人機交互的輸入,這兩個按鍵是直接連接在

STM32 的 IO 口上的,兩個按鍵在開發板上的標號分別為:KEY0、KEY1。

15. 電源芯片

這是開發板的電源穩壓芯片,型號為:AMS1117-3.3。因為 STM32 是 3.3V 供電的,所以

我們需要將 USB 的 5V 電壓轉換為 3.3V,這個芯片就是將 5V 轉換為 3.3V 的線性穩壓芯片。

16. 電源開關

這是開發闆闆載的電源開關,此開關在開發板上的標號為:K1,並標有 ON/OFF 絲印。該

開關用於控制整個開發板的供電,如果切斷,則整個開發板都將斷電,電源指示燈(PWR)會

隨著此開關的狀態而亮滅。

17. PS2 鼠標/鍵盤接口

這是開發闆闆載的一個標準 PS/2 接頭,用於連接電腦鼠標和鍵盤等 PS/2 設備,在開發板

上的標號為:PS/2。通過該接口,我們僅需要 2 個 IO 口,就可以擴展一個鍵盤,所以大家不必

要對板上只有3 個按鍵而感到擔憂。ALIENTEK 提供了標準的鼠標驅動例程,方便大家學習 PS/2

協議。

18. 3.3V 電源輸出/輸入

這是開發闆闆載的一組 3.3V 電源輸入輸出排針(2*3),在開發板上的標號為:VOUT1。

該排針用於給外部提供 3.3V 的電源,也可以用於從外部取 3.3V 的電源給板子供電。大家在實

驗的時候可能經常會為沒有 3.3V 電源而苦惱不已,ALIENTEK 充分考慮到了大家需求,有了

這組 3.3V 排針,您就可以很方便的擁有一個簡單的 3.3V 電源(最大電流不能超過 500ma),另

外板載了 3.3V TVS 管,能有效吸收高壓脈衝,防止外接設備/電源可能對開發板造成的損壞。

19. 5V 電源輸出/輸入

這是開發闆闆載的一組 5V 電源輸入輸出排針(2*3),在開發板上的標號為:VOUT2,用

於給外部提供 5V 的電源,也可以用於從外部取 5V 的電源給板子供電。同樣大家在實驗的時候

可能經常會為沒有 5V 電源而苦惱不已,有了 ALIENTEK MiniSTM32 開發板,您就可以很方便

的擁有一個簡單的 5V 電源(最大電流不能超過 500ma),另外板載了 5V TVS 管,能有效吸收

高壓脈衝,防止外接設備/電源可能對開發板造成的損壞。

20. GPIOC&D 引出 IO 口

這是開發闆闆載的 GPIOC 與 GPIOD 等 IO 口的引出排針,在開發板上的標號為:P5。我

們可以用這些引出的 IO 口來連接外部模塊,方便大家外接其他模塊。

21. SD 卡接口

這是開發闆闆載的 SD 卡接口。SD 卡作最常見的存儲設備之一,是很多數碼設備的存儲媒

介,比如數碼相框、數碼相機、MP5、手機、平板電腦等。我們的開發板自帶了 SD 卡接口(大

卡),可以用於 SD 卡實驗,方便大家學習 SD 卡,TF 卡通過轉接座也可以很方便的接到我們的

開發板上。

有了它,開發板就相當於擁有了一個大容量的外部存儲器,不但可以用來提供數據,也可

以用來存儲數據,使得這款開發板可以完成更多的功能。

這裡要特別說明一下:該 SD 卡卡座是在開發板的背面!

22. W25Q64 64M FLASH

這是開發闆闆載的一顆 FLASH 芯片,型號為 W25Q64。這顆芯片的容量為 64M bit,也就

是 8M 字節。有了這顆芯片,我們就可以存儲一些不常修改的數據到裡面,比如字庫等,從而

大大節省對 STM32 內部 FLASH 的佔用。關於該芯片的使用見 SPI 實驗這個章節。

23. NRF24L01 模塊接口

這是開發闆闆載的 NRF24L01 模塊接口,只要插入 NRF24L01 無線模塊,我們便可以實現

無線通信功能。但是提醒大家:NRF24L01 通信,至少需要 2 個模塊和 2 個開發板同時工作才

可以。如果只有 1 個開發板或 1 個模塊,是沒法實現無線通信的。

24. GPIOB&C 引出 IO 口

這是開發闆闆載的 GPIOB 與 GPIOC 的引出口,該接口用於將 STM32 的 GPIOB 和部分的

GPIOC 引出,方便大家的使用,在開發板上的標號為:P1。這裡 GPIOB 全部使用順序引出的

方式,尤其適合外部總線型器件的接入。

25. STM32F103RCT6

這是開發板的核心芯片,從 3.0 版本開始,升級到 RCT6,詳細型號為:STM32F103RCT6。

該芯片具有 48K SRAM、256K FLASH、2 個 16 位基本定時器、4 個 16 位通用定時器、2 個 16

位高級定時器、2 個 DMA 控制器、3 個 SPI、2 個 IIC、5 個串口、1 個 USB、1 個 CAN、3 個

12 位 ADC、1 個 12 位 DAC、1 個 SDIO 接口、51 個通用 IO 口。

26. OLED&LCD 共用接口

這是 ALIENTEK 開發板的特色設計,一個接口,兼容兩種模塊。在此部分,LCD 的部分

IO 和 OLED 的 IO 共用,具體請參看後面的開發板原理圖。這樣我們一個接口既可以接 LCD

模塊,又可以接 OLED 模塊。OLED 模塊使用的是 ALIENTEK 的 OLED 模塊,分辨率為 128*64,

模塊大小為 2.6cm*2.7cm。而 LCD 模塊,則可以使用 ALIENTEK 全系列的 TFTLCD 模塊,包

括:2.4 寸(電阻屏,240*320)、2.8 寸(電阻屏,240*320)、3.5 寸(電阻屏,320*480)、4.3

寸(電容屏,800*480)、7 寸(電容屏,800*480)。

這裡特別提醒:在使用的時候,OLED 模塊是靠左插的,而 LCD 模塊,則是靠右插,在後

續章節我們將分別介紹 OLED 模塊和 LCD 模塊的使用。

27. GPIOA 引出 IO 口

這是開發板 GPIOA 的引出排針,在開發板上的標號為 P3。ALIENTEK 開發板將所有的 IO

口(除了 2 個晶振佔用的 4 個 IO 口)都用排針引出來了,而且 GPIOA 和 GPIOB 是按順序引

出的。按順序引出,在很多時候能方便大家的實驗和測試,比如外接帶並行控制的器件,有了

並行引出的排針,那麼就可以很方便的通過這些排針連接到外部設備了。

將開發板的 IO 口全部排針引出,大家就可以用來外接其他模塊等,不論調試還是功能擴

展都是很方便的。

28. 紅外&溫度傳感器連接口

這是開發闆闆載的紅外與溫度傳感器的連接接口,開發板雖然自帶了紅外接收頭和

DS18B20 的接口,但是並沒有將這兩個器件直接掛在 IO 口上,而是通過跳線帽來連接,以防

止在不使用這兩器件的時候,他們對 IO 口的干擾,當然我們也可以用跳線,把 DS18B20 和紅

外遙控接收模塊接到其他電路上使用。

1.2.2 軟件資源說明

上面我們詳細介紹了 ALIENTEK MiniSTM32 開發板的硬件資源。接下來,我們將向大家

簡要介紹一下開發板的軟件資源。

MiniSTM32 開發板提供的標準例程多達 38 個,一般的 STM32 開發板僅提供庫函數代碼,

而我們則提供寄存器和庫函數兩個版本的代碼(本手冊以寄存器版本例程作為介紹)。我們提供

的這些例程,基本都是原創,擁有非常詳細的註釋,代碼風格統一、循序漸進,非常適合初學

者入門。而其他開發板的例程,大都是來自 ST 庫函數的直接修改,註釋也比較少,對初學者

來說不那麼容易入門。

MiniSTM32 開發板的例程列表如表 1.2.2.1 所示:


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

表 1.2.2.1 ALIENTEK MiniSTM32 開發板例程表


從上表可以看出,ALIENTEK MiniSTM32 開發板的例程基本上涵蓋了 STM32F103RCT6

的所有內部資源,並且外擴展了很多有價值的例程,比如:FLASH 模擬 EEPROM 實驗、內存

管理實驗、FATFS 實驗、IAP 實驗、綜合實驗等。

而且從上表可以看出,例程安排是循序漸進的,首先從最基礎的跑馬燈開始,然後一步步

深入,從簡單到複雜,有利於大家的學習和掌握。所以,ALIENTEK MiniSTM32 開發板是非常

適合初學者的。當然,對於想深入瞭解 STM32 內部資源的朋友,ALIENTEK MiniSTM32 開發

板也絕對是一個不錯的選擇。

這裡特別說明一下綜合實驗,這個實驗使得ALIENTEK MiniSTM32開發板更像一個產品,

而不單單是一個開發板了,它採用 ALIENTEK 自己編寫的 GUI 系統,自動兼容各種分辨率

(320*240/480*320/800*480)的屏幕,支持電阻和電容觸摸屏,可玩性高。該實驗集成了文件

系統(讀&寫)、圖片顯示、T9 拼音輸入法、手寫識別、多國語言切換、記事本和 USB 連接等

高級功能,具有極高的參考價值。

1.2.3 MiniSTM32 V3 IO 引腳分配

為了讓大家更快更好的使用我們的 MiniSTM32 V3 開發板,這裡特地將 MiniSTM32 V3 開

發板主芯片:STM32F103RCT6 的 IO 資源分配做了一個總表,以便大家查閱。MiniSTM32 V3

的 IO 引腳分配總表如表:1.2.3.1 所示:


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

表 1.2.3.1 MiniSTM32 V3 IO 資源分配總表


表 1.2.3.1 中,引腳欄即 STM32F103RCT6 的引腳編號;GPIO 欄則表示 GPIO;連接資源欄

表示了對應 GPIO 所連接到的網絡;獨立欄,表示該 IO 是否可以完全獨立(不接其他任何外設

和上下拉電阻)使用,通過一定的方法,可以達到完全獨立使用該 IO,Y 表示可做獨立 IO,N

表示不可做獨立 IO;連接關係欄,則對每個 IO 的連接做了簡單的介紹。

該表在:光盤→3,ALIENTEK MiniSTM32 開發板原理圖 文件夾下有提供 Excel 格式,並

注有詳細說明和使用建議,大家可以打開該表格的 Excel 版本,詳細查看。

1.3 ALIENTEK MiniSTM32 V3.0 開發板升級說明

ALIENTEK MiniSTM32 V3.0 開發板相對於過往版本,主要變化如表 1.3.1 所示:


「正點原子STM32Mini板資料連載」 第一章 實驗平臺簡介

表 1.3.1 V3.0 版本 VS 過往版本硬件變更表


從表 1.3.1 可以看出,前面四項,是硬件升級,後面 3 項是線路變更。

硬件升級方面:CPU 採用更多資源的 STM32F103RCT6,相比 RBT6,資源多了不少,集成度

更高,功能更強。USB 轉串口芯片改為採用與戰艦 STM32 開發板相同的 CH340G,更穩定,不容

易出現兼容性問題。SPI FLASH 芯片同樣改為採用與戰艦 STM32 開發板相同的 W25Q64,容量是

W25Q16 的 4 倍,可以存儲更多內容。另外,V3.0 版本去掉了不常用的 JF24C/D 模塊接口。

線路變更方面,做了三項改變:PA1 原來是連接 JF24_FIFO 信號的,V3.0 改為連接 NRF_IRQ

信號。PC5 原來是用來連接 NRF_IRQ 信號,V3.0 改為連接 KEY0/PS_DAT 信號。而 PA13 原來是連

接 KEY0/PS_DAT 信號的,V3.0 改為不連接任何外設(僅作 JTMS/SWDIO 信號)。經過這樣的變更

以後,PA13(SWDIO)空出來了,所以 V3.0 開發板便可以支持所有例程 SWD 在線仿真了,原來

的版本存在有按鍵的例程,就不能仿真這樣的缺陷,在 V3.0 上面,這個缺陷得到了圓滿解決


分享到:


相關文章: