Jeffrey Cross
Jeffrey Cross

Jak navrhnout obvod mikrokontroléru

Konstrukce obvodu potřebná pro zabudovaný mikrokontrolér může být trochu ohromující. Samotný datový list a technické reference mohou pro pokročilé mikrokontroléry provozovat několik stovek stránek.

Než začnete s návrhem obvodu, je dobré nakreslit blokové schéma ukazující všechny hlavní části projektu, včetně všech periferií, které budou propojeny s mikrokontrolérem.

ARM Cortex-M Mikrokontrolér

Tento článek se zaměří především na úvahy týkající se návrhu obvodu zabudování mikrokontroléru ARM Cortex-M. Architektura mikrokontroléru ARM Cortex-M je nabízena několika výrobci čipů v různých verzích.

ARM Cortex-M je 32bitová architektura, která je zvláště vhodná pro výpočetně náročné úlohy ve srovnání s tím, co je k dispozici u typických 8bitových mikrokontrolérů. 32bitový mikrokontrolér je také výhodný, pokud máte aplikaci, která vyžaduje větší paměťový adresní prostor, nebo která potřebuje snadnou cestu migrace pro budoucí rozšíření.

Budeme diskutovat o řadě mikrokontrolérů ARM Cortex-M od firmy ST Microelectronics, která se nazývá STM32, nebo se konkrétněji zaměříme na řadu STM32F4.

Série STM32 je však obrovská a obsahuje také ultra nízký výkon STM32L, stejně jako vyšší a nižší výkonové verze ve srovnání s STM32F4. Nejvyšším výkonem je STM32F7, který může provádět více než 1 miliardu instrukcí za sekundu. Na druhém konci výkonového spektra provádí STM32L0 pouze 26 milionů instrukcí za sekundu.

Viz schéma schématického zapojení níže na obr. 1, znázorňující obvod STM32F4, na který budeme v tomto článku odkazovat.

Obrázek 1. Kliknutím zobrazíte větší obrázek.

Návrh napájení

Napájení vašeho obvodu je jedním z nejdůležitějších aspektů návrhu hardwaru a neměli byste čekat příliš pozdě na proces návrhu, abyste určili schéma napájení a uzemnění.

Proud používaný mikrokontrolérem je určen několika faktory, jako je provozní napětí, hodinová frekvence a zatížení I / O kolíku.

Každý pin VDD napájecího zdroje na MCU by měl mít keramické kondenzátory 1uF a 100nF (například viz C7 a C8 na obrázku 1) umístěné co nejblíže k zajištění oddělení napájení. Další 4,7uF keramický kondenzátor (C1 na obr. 1) by měl být umístěn v blízkosti IC na trase hlavního obvodu dodávající VDD.

Mikrokontroléry s analogově-digitálním převodníkem (ADC) mají obvykle také samostatný výkon (VDDA) a zemnicí kolíky (VSSA) pouze pro analogové. Tyto špendlíky musí být obzvláště čisté.

Kolík VDDA by měl mít keramické kondenzátory 1uF a 10nF (C10 a C11 na obrázku 1) umístěné co nejblíže kolíku VDDA. Ve většině případů považuji za dobrý nápad zahrnout do VDDA kolíku také induktor (L1 na obr. 1), aby se vytvořil LC nízkoprůchodový filtr poskytující ještě čistší analogové napájecí napětí.

Pokud je vaše napájecí napětí vyšší než maximální vstupní napětí pro mikrokontrolér, je obvykle vyžadován lineární regulátor napětí s nízkým poklesem proudu. Například, TPS795xx od Texas Instruments je obzvláště nízkošumový a může zdroj až 500mA. Pokud je vaše napájecí napětí výrazně vyšší než požadované napětí mikrokontroléru, pak je lepší volbou regulátor spínání. Lineární regulátory ztrácejí příliš mnoho energie, když je jejich vstupní napětí výrazně vyšší než jejich regulované výstupní napětí.

Obvykle je však nejlepší regulovat výstupní napětí spínacího regulátoru pomocí lineárního regulátoru. Je to proto, že lineární regulátor produkuje mnohem čistší, nižší šumové napájecí napětí.

Hodiny

STM32F4 lze spustit z interních nebo externích systémových hodin. Systémové hodiny při zapnutí jsou interní hodiny (16 MHz) a po inicializaci systému lze v softwaru zvolit další externí zdroj hodin.

Hodinové piny na STM32F4 mohou řídit externí 4 až 26 MHz krystal (viz X1 na Obrázku 1) nebo lze použít nezávislý zdroj hodin až 50 MHz.

Pokyny pro rozvržení v datovém listu by měly být přísně dodržovány, pokud jde o rozložení krystalu. Obecně by stopy měly být krátké a zátěžová kapacita na krystalu by měla být stejná, jako doporučuje krystalická výroba.

GPIO

Piny GPIO (General Purpose Input / Output) na mikroprocesorech jsou programovatelné a mohou být konfigurovány pomocí softwaru jako vstup nebo výstup.

Například S1 na obrázku 1 je tlačítko, které je připojeno k GPIO naprogramovanému jako vstup. STM32 poskytuje interní pull-up rezistory, takže pro toto tlačítko není potřeba externí odpor. Příklad výstupu GPIO je zobrazen s LED diodou.

Většina pinů GPIO má alternativní funkce a na čipových periferiích se prostřednictvím těchto multifunkčních pinů připojují k vnějšímu světu.

Ne všechny interní funkce jsou dostupné pro každý pin GPIO a je zde povoleno specifické mapování, proto si při výběru konkrétních pinů, které se používají, nahlédněte do datového listu.

Špendlíky GPIO mohou být použity k řízení různých zátěží a většina pinů může klesat nebo zdroj až do 25 mA. Obecně je však dobré poskytnout určitý typ externího budicího obvodu pro vypínání požadavků na pohon. Viz například MN1, který řídí LED na obrázku 1.

STM32 má maximální povolený proud specifikovaný pro každý pin individuálně, stejně jako limity celkového proudu pro všechny GPIO piny sčítané dohromady.

Připojení periferií

STM32 poskytuje sériové připojení přes různá rozhraní včetně UART, I2C, SPI a USB.

Jako příklad je na obr. 1 teplotní čidlo (U2 - LM75BDP) připojeno k mikrokontroléru přes sběrnici I2C. Na sběrnici I2C jsou zapotřebí dva pullup rezistory (R2 a R3), protože zařízení připojující se k sběrnici mají otevřené drenážní ovladače.

Pro aplikace s nízkou rychlostí, jako je tomu u většiny senzorů, je I2C obvykle můj preferovaný sériový protokol, protože pro komunikaci používá pouze dva řádky. Na rozdíl od SPI, která vyžaduje samostatnou linku pro výběr čipu pro každé periferní zařízení, používá I2C jedinečné adresy. To znamená, že k připojení více periferií lze použít pouze dva řádky.

Sběrnice SPI na obr. 1 je připojena k senzoru MPU-9250 9-osého pohybu (U3) od firmy Invensense. MPU-9250 obsahuje tříosý akcelerometr, tříosý gyroskop a tříosý magnetometr.

Programovací konektor

Model STM32F4 nabízí dvě rozhraní pro programování v systému (ISP): sériový kabel-ladění (SWD) a JTAG. Verze STM32 s nižšími náklady nabízejí pouze rozhraní SWD. SWD a JTAG jsou dvě nejběžnější programovací rozhraní pro mikrokontroléry.

Závěr

V tomto článku jsme se zabývali návrhem obvodů pro mikrokontrolér. Konkrétně jsme se zabývali návrhem obvodů STM32F4, který je schopen číst vstupní tlačítko, řídit LED a komunikovat s teplotním čidlem I2C a snímačem pohybu SPI. Další informace o vytvoření nového elektronického produktu naleznete v příručce Ultimate Guide to Jak vytvořit nový elektronický produkt.

Podíl

Zanechat Komentář