大 创 实 验 室

更多内容请联系我们

STM32智能小车系列教程--器件选型

发表时间:2018-10-10 09:38作者:中科四平网址:http://www.3000lab.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一样,这个数值越高,就代表其运算速度越快,处理能力越强。可以看出只有F103、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号楼
0531-62327013                                     www.3000lab.com