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