大 创 实 验 室
STM32智能小车系列教程--器件选型在上篇文章【一周波波秀】STM32智能小车系列教程--入门基础中写了大概的提纲,这里我们就开始从大纲的第一步器件选型,开始我们的教程。 相信大家都动手做过东西,那么大家想一下,在开始动手之前都需要准备什么东西?是不是需要先有个想法,再思考这个想法的可能性,然后选购一些需要的耗材。这里我们的想法是做一个智能小车,也认可这个想法的可能性,并且选择用STM32的单片机做主控。到这为止,整个项目的架构已经出现了,接下来就要做一些更加具体的事情。 为什么选择STM32的单片机做主控? 要知道STM32这个系列的单片机型号非常多,先不说具体型号,光是大类也有三种,主流系列有STM32Fx,低功耗系列有STM32Lx,高性能系列有STM32Hx。(x代表某个具体数字,数值越大性能越强) STM32系列是ST意法半导体公司为要求高性能、低成本、低功耗的嵌入式行业专门设计的一款基于ARM Cortex®-M0,M0+,M3, M4和M7内核的微控制器。有兴趣的可以去ST官网去查看一下,在官网有对STM32系列产品的专门介绍。 为什么选择F10x系列? 之所以选择STM32F10x系列去做这款智能小车,主要因为F1系列应用最广泛,资料也最丰富,而且我们对性能也没有太高的要求,就没必要选择高性能的,对低功耗的需求不高,所以低功耗系列也可以忽略。 但是F10x系列又细分了很多小类,具体差别可以见下表: 可以看出不同型号之间的差异主要在CPU主频上,那这个主频是做什么呢?其实这个主频主要决定了单片机运行速度,就像你经常听说的电脑的CPU主频是多少GHz一样,这个数值越高,就代表其运算速度越快,处理能力越强。可以看出只有F103、F105和F107的主频在F10x系列是最高的,这里我们选择F103系列就好,至于它们三者的区别,大家可以自己去ST官网了解一下。 那么问题又来了,STM32F103这个系列之下,又有很多子型号,这里贴一张图片让大家可以更加直观的看一下。 这里的不同型号之间主要是管脚数量、Flash大小和RAM大小之间的差别。那么在这些子型号之间我们怎么做出一个合理的选择呢?首先要关注一下管脚数量,因为需要接很多外设,就必然会用到一些管脚,如果选择了管脚数量少的,就有可能不够用,如果选择管脚数量太多的,就会造成浪费,而且价格较高。所以我们需要选择一款最适合这个项目的单片机。 首先计算一下会用到的脚管数量: 可以计算出我们需要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 可以看出这款单片机足够满足我们的开发需求。千里之行始于足下,到这里就完成了第一步,选择需要的主控单片机,这也是迈入新的世界的第一步,下一篇文章将选择电机驱动芯片和直流电机进行介绍。 本教程是系列教程,每周都会在微信公众号更新,各位小伙伴,扫描下方二维码关注中科四平,获取更多教程~
文章分类:
教学课程
|