大 創 實 驗 室

更多內容請聯系我們

STM32智能小車系列教程--器件選型

發表時間:2018-10-10 09:38作者:中科四平網址:http://www.156502.com

在上篇文章【一周波波秀】STM32智能小車系列教程--入門基礎中寫了大概的提綱,這里我們就開始從大綱的第一步器件選型,開始我們的教程。

相信大家都動手做過東西,那么大家想一下,在開始動手之前都需要準備什么東西?是不是需要先有個想法,再思考這個想法的可能性,然后選購一些需要的耗材。這里我們的想法是做一個智能小車,也認可這個想法的可能性,并且選擇用STM32的單片機做主控。到這為止,整個項目的架構已經出現了,接下來就要做一些更加具體的事情。

為什么選擇STM32的單片機做主控?

要知道STM32這個系列的單片機型號非常多,先不說具體型號,光是大類也有三種,主流系列有STM32Fx,低功耗系列有STM32Lx,高性能系列有STM32Hx。(x代表某個具體數字,數值越大性能越強)

STM32系列是ST意法半導體公司為要求高性能、低成本、低功耗的嵌入式行業專門設計的一款基于ARM Cortex?-M0,M0+,M3, M4和M7內核的微控制器。有興趣的可以去ST官網去查看一下,在官網有對STM32系列產品的專門介紹。

為什么選擇F10x系列?

之所以選擇STM32F10x系列去做這款智能小車,主要因為F1系列應用最廣泛,資料也最豐富,而且我們對性能也沒有太高的要求,就沒必要選擇高性能的,對低功耗的需求不高,所以低功耗系列也可以忽略。

但是F10x系列又細分了很多小類,具體差別可以見下表:

images%2Fcompany%2Fen.STM32F1_series_SS1031.jpg

可以看出不同型號之間的差異主要在CPU主頻上,那這個主頻是做什么呢?其實這個主頻主要決定了單片機運行速度,就像你經常聽說的電腦的CPU主頻是多少GHz一樣,這個數值越高,就代表其運算速度越快,處理能力越強??梢钥闯鲋挥蠪103、F105和F107的主頻在F10x系列是最高的,這里我們選擇F103系列就好,至于它們三者的區別,大家可以自己去ST官網了解一下。

那么問題又來了,STM32F103這個系列之下,又有很多子型號,這里貼一張圖片讓大家可以更加直觀的看一下。

images%2Fcompany%2Fen.STM32F103_line_LN1565.jpg

這里的不同型號之間主要是管腳數量、Flash大小和RAM大小之間的差別。那么在這些子型號之間我們怎么做出一個合理的選擇呢?首先要關注一下管腳數量,因為需要接很多外設,就必然會用到一些管腳,如果選擇了管腳數量少的,就有可能不夠用,如果選擇管腳數量太多的,就會造成浪費,而且價格較高。所以我們需要選擇一款最適合這個項目的單片機。

首先計算一下會用到的腳管數量:

006WkPJlly1fw0lyd7827j305v0kht8y.jpg

可以計算出我們需要60個管腳左右,再預留幾個腳管剛好就可以選擇具有64個管腳型號的單片機了,我們這里選擇STM32F103RC,72MHz主頻、265K Flash、64K RAM這個性能足夠我們使用了。

我們來詳細看一下STM32F103RC的詳細特性

Core: ARM? 32-bit Cortex?-M3 CPU

72 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access

Single-cycle multiplication and hardware division

Memories

256 to 512 Kbytes of Flash memory

up to 64 Kbytes of SRAM

Flexible static memory controller with 4 Chip Select. Supports Compact Flash, SRAM, PSRAM, NOR and NAND memories

LCD parallel interface, 8080/6800 modes

Clock, reset and supply management

2.0 to 3.6 V application supply and I/Os

POR, PDR, and programmable voltage detector (PVD)

4-to-16 MHz crystal oscillator

Internal 8 MHz factory-trimmed RC

Internal 40 kHz RC with calibration

32 kHz oscillator for RTC with calibration

Low power

Sleep, Stop and Standby modes

VBAT supply for RTC and backup registers

3 × 12-bit, 1 μs A/D converters (up to 21 channels)

Conversion range: 0 to 3.6 V

Triple-sample and hold capability

Temperature sensor

2 × 12-bit D/A converters

DMA: 12-channel DMA controller

Supported peripherals: timers, ADCs, DAC, SDIO, I2Ss, SPIs, I2Cs and USARTs

Debug mode

Serial wire debug (SWD) & JTAG interfaces

Cortex?-M3 Embedded Trace Macrocell?

Up to 112 fast I/O ports

51/80/112 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

Up to 11 timers

Up to four 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input

2 × 16-bit motor control PWM timers with dead-time generation and emergency stop

2 × watchdog timers (Independent and Window)

SysTick timer: a 24-bit downcounter

2 × 16-bit basic timers to drive the DAC

Up to 13 communication interfaces

Up to 2 × I2C interfaces (SMBus/PMBus)

Up to 5 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)

Up to 3 SPIs (18 Mbit/s), 2 with I2S interface multiplexed

CAN interface (2.0B Active)

USB 2.0 full speed interface

SDIO interface

CRC calculation unit, 96-bit unique ID

ECOPACK? packages

可以看出這款單片機足夠滿足我們的開發需求。千里之行始于足下,到這里就完成了第一步,選擇需要的主控單片機,這也是邁入新的世界的第一步,下一篇文章將選擇電機驅動芯片和直流電機進行介紹。


本教程是系列教程,每周都會在微信公眾號更新,各位小伙伴,掃描下方二維碼關注中科四平,獲取更多教程~

中科四平公眾號二維碼.jpg


山東省濟南市歷下區舜華路750號大學科技園北區3號樓
服務熱線:13256445996                                  www.156502.com