STM32學習筆記之芯片簡介

本文首先介紹了STM32與單片機、嵌入式、ARM的關係,然後引出了STM32系列微處理器的種類,最後簡單介紹了STM32F103芯片的一些功能特點。


STM32與單片機

單片機(Microcontrollers)是一種集成電路芯片,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統。由於8位單片機由於內部構造簡單,體積小,成本低廉,在一些較簡單的控制器中應用很廣。常見的8位單片機主要有:Intel的51系列,Atmel的AVR系統,Microchip公司的PIC系列,TI的MSP430系列等。而STM32是一種功能比較強大的32位的單片機。它和8位單片機最大的不同是,它不僅可以使用寄存器進行編程,還可以使用官方提供的庫文件進行編程,這樣不僅編程方便,而且更容易移植。

STM32與嵌入式

嵌入式是以應用爲中心,以計算機技術爲基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。主要分爲DSP,微控制器MCU,微處理器,SOC四種。一個完整的嵌入式系統,從開發過程分爲4層:硬件層、驅動層、操作系統層和應用層。而STM32是MCU的一種,故也屬於嵌入式技術

STM32與ARM

ARM可以說是一個公司的名稱,一類微處理的通稱,也代表一種技術。其實ARM是一個做芯片標準的公司,它負責芯片內核的架構設計,而把具體的實現,授權給像TI,ST等半導體公司。例如任何一個Cortex-M3芯片,他們的內核結構都是一樣的,不同的是他們的存儲器容量,片上外設,IO 以及其他模塊的區別。ARM公司爲了能讓不同的芯片公司生產的Cortex-M3芯片能在軟件上基本兼容,和芯片生產商共同提出了一套標準CMSIS標準(Cortex  Microcontroller  Software Interface  Standard),翻譯過來是ARM Cortex™ 微控制器軟件接口標準”,也就是其庫函數。


STM32系列32位Flash微控制器基於ARM Cortex™-M處理器,旨在爲MCU用戶提供新的開發自由度。它包括一系列32位產品,集高性能、實時功能、數字信號處理、低功耗與低電壓操作等特性於一身,同時還保持了集成度高和易於開發的特點。主要的產品型號有:


STM32F1系列主流MCU

STM32 F1系列主流MCU滿足了工業、醫療和消費類市場的各種應用需求。憑藉該產品系列,意法半導體在全球ARM Cortex-M 微控制器領域處於領先地位,同時樹立了嵌入式應用的里程碑。該系列利用一流的外設和低功耗、低壓操作實現了高性能,同時還以可接受的價格、利用簡單的架構和簡便易用的工具實現了高集成度。

該系列包含五個產品線,它們的引腳、外設和軟件均兼容。

•  超值型STM32F100- 24 MHz CPU,具有電機控制和CEC功能

•  基本型STM32F101- 36 MHz CPU,具有高達1MB的Flash

•  STM32F102 – 48 MHz CPU具備USB FS

•  增強型STM32F103- 72 MHz CPU,具有高達1MB的Flash、電機控制、USB和CAN

•  互聯型STM32F105/107- 72 MHz CPU,具有以太網MAC、CAN和USB 2.0 OTG

 當前主要的產品型號有:

 STM32F103

STM32F103器件採用Cortex-M3內核,CPU最高速度達72 MHz。該產品系列具有16KB~ 1MB Flash、多種控制外設、USB全速接口和CAN。具體的產品型號及對應的Flash大小、封裝類型以及引腳數,如下圖所示

STM32F103ZE功能特點

我們

本系列將採用STM32F103ZE芯片進行實驗,其具備的功能特點有:

  • 內核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPSMHz。單週期乘法和硬件除法。
  • 存儲器:片上集成512KB的Flash存儲器。6-64KB的SRAM存儲器。
  • 時鐘、復位和電源管理:2.0-3.6V的電源供電和IO接口的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振盪電路。內部40 kHz的RC振盪電路。用於CPU時鐘的PLL。帶校準用於RTC的32kHz的晶振。
  • 低功耗:3種低功耗模式:休眠,停止,待機模式。爲RTC和備份寄存器供電的VBAT。
  • 調試模式:串行調試(SWD)和JTAG接口。
  • DMA:12通道DMA控制器。
  • 支持的外設:定時器,ADC,DAC,SPI,IIC和UART。 
  • 2個12位的us級的AD轉換器(16通道):AD測量範圍:0-3.6 V。雙採樣和保持能力。片上集成一個溫度傳感器。
  • 2通道12位DA轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。
  • 最多高達112個的快速IO端口:根據型號的不同,有26,37,51,80,和112的IO端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內的輸入。
  • 最多多達11個定時器:4個16位定時器,每個定時器有4個ICOCPWM或者脈衝計數器。2個16位的6通道高級控制定時器:最多6個通道可用於PWM輸出。
  • 2個看門狗定時器(獨立看門狗和窗口看門狗)。
  • 定時器:24位倒計數器。2個16位基本定時器用於驅動DAC。
  • 最多多達13個通信接口:2個IIC接口(SMBusPMBus)。5個USART接口(ISO7816接口,LIN,IrDA兼容,調試控制)。3個SPI接口(18 Mbits),兩個和IIS複用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。

STM32的優異性體現在如下幾個方面:
1, 超低的價格。以8位機的價格,得到32位機,是STM32最大的優勢。
2, 超多的外設。STM32擁有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等衆多外設及功能,具有極高的集成度。
3, 豐富的型號。STM32僅M3內核就擁有F100、F101、F102、F103、F105、F107、F207、F217等8個系列上百種型號,具有QFN、LQFP、BGA等封裝可供選擇。同時STM32還推出了STM32L和STM32W等超低功耗和無線應用型的M3芯片。
4, 優異的實時性能。84箇中斷,16級可編程優先級,並且所有的引腳都可以作爲中斷輸入。
5, 傑出的功耗控制。STM32各個外設都有自己的獨立時鐘開關,可以通過關閉相應外設的時鐘來降低功耗。
6, 極低的開發成本。STM32的開發不需要昂貴的仿真器,只需要一個串口即可下載代碼,並且支持SWD和JTAG兩種調試口。SWD調試可以爲你的設計帶來跟多的方便,只需要2個IO口,即可實現仿真調試。
學習STM32有兩份不錯的中文資料:
《STM32參考手冊》中文版V10.0
《Cortex-M3權威指南》中文版(宋巖 譯)
前者是ST官方針對STM32的一份通用參考資料,內容翔實,但是沒有實例,也沒有對Cortex-M3構架進行多少介紹(估計ST是把讀者都當成一個Cortex-M3熟悉者來寫的),讀者只能根據自己對書本的理解來編寫相關代碼。後者是專門介紹Cortex-M3構架的書,有簡短的實例,但沒有專門針對STM32的介紹。所以,在學習STM32的時候,必須結合這份資料來看。

 參考鏈接

[1] STM32維基百科

[2] 意法半導體微控制器

[3] 13個基於STM32的經典項目設計實例

[4] STM32官方學習筆記



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章