大 創 實 驗 室
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一樣,這個數值越高,就代表其運算速度越快,處理能力越強??梢钥闯鲋挥蠪103、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 可以看出這款單片機足夠滿足我們的開發需求。千里之行始于足下,到這里就完成了第一步,選擇需要的主控單片機,這也是邁入新的世界的第一步,下一篇文章將選擇電機驅動芯片和直流電機進行介紹。 本教程是系列教程,每周都會在微信公眾號更新,各位小伙伴,掃描下方二維碼關注中科四平,獲取更多教程~
文章分類:
教學課程
|