Jste zde

ColdFire MCF523x mikroprocesor s eTPU

Pro potřeby složitějšího řízení motorů, průmyslové automaty nebo roboty je v nabídce firmy Freescale řešení v podobě mikroprocesorové řady MCF523x. Ta díky jednotce eTPU umožňuje realizovat i velmi složité a přesné časové řízení a zpracování signálů v reálném čase nezávisle na zatížení CPU.

V nabídce firmy Freescale, bývalé divize Motoroly pro výrobu integrovaných obvodů, lze v široké nabídce různých mikroprocesorů nalézt i řadu MCF523x. Tu lze zařadit mezi 32bitové mikroprocesory s jádrem založeným na firemní platformě CPU ColdFire V2 a s velkým stupněm integrace. Chip je navržen tak, aby splňoval dnešní nejpřísnější nároky a požadavky na integraci všech potřebných bloků přímo na chip k procesorovému jádru a tím se co nejvíce omezil počet externích součástek na desce plošných spojů. Uvedená řada je pak primárně určena pro řízení a ovládání průmyslových automatů. Pro tyto účely je na chipu jednotka eTPU, poskytující přesné generování časově náročných řídících průběhů nebo naopak velmi rychlou reakci na nastalé události na některých vstupech.

Vlastnosti

  • V2 ColdFire® CPU s násobičkou 32 x 32 bitů s interní SRAM a cache, 32bitová sběrnice
  • eTPU jednotka pro přesné řízení real-time aplikací s časovým rozlišení 24bitů
  • SDRAM řadič, 4 bloky DMA, watchdog
  • Integrovaná komunikační rozhraní CAN, UART, QSPI, I2C, Ethernet
  • Podpora kryptografických algoritmů SSL/TLS, IPsec, IKE a WTLS/WAP
  • JTAG a BDM debugging
  • Pracovní teplota: -40°C až +85°C
  • Pouzdra: 256 MAPBGA, 196 MAPBGA a 160 QFP

Obr. 1. Přehled bloků integrovaných na chipu mikrocesoru MCF5235 (detail)

Použití

Cílové aplikace pro použití této řady procesorů jsou převážně dány existencí samostatné časovací jednotky eTPU, která se s výhodou dá použít pro generování časově náročných řídících aplikací jako je například řízení pohybu, resp. motorů. Ve spojení s velkým počtem komunikačních rozhraní a velkým výpočetním výkonem se hodí pro řízení robotů a podobných automatických systémů.

Další příklady použití:

  • Real-Time řízení a zpracování signálů, DSP
  • Generování různých i časově náročných průběhů signálů
  • Inteligentní převodníky mezi rozhraními CAN, RS-232, RS-485, UART, I2C, SPI, Ethernet
  • Přesné řízení krokových, DC a AC motorů
  • Vektorové řízení pohybu
  • Řízení robotů a složitých průmyslových automatů
  • Elektronika řízení dnešních vyspělých spalovacích motorů (vstřikování, zapalování, přesné řízení ventilů)

Obr. 2. Příklad použití mikroprocesoru a eTPU jednotky pro řízení pohybu (motorů) (detail)

Jádro ColdFire V2 & paměť & sběrnice

Základ obvodu je založen na redukovaném instrukčním souboru (RISC) jádra ColdFire verze 2 (ColdFire V2 core), pracujícím na frekvencích hodin až 150 MHz. Součástí jádra je i rozšířená jednotka hardwarové násobičky 32 x 32 bitů s 48bitovým akumulátorem (eMAC - enhanced Multiply-Accumulate unit), poskytující výpočetní výkon až 144 (Dhrystone 2.1) MIPS. Přímé zpracování dat podporuje i šestnáct 32bitových víceúčelových registrů. Na CPU jsou přímo připojeny bloky interní paměti SRAM o velikosti 64 kB ((8Kx16)x4) a 8 kB ((1Kx32)x2) cache paměť pro instrukce i data. Pro snadné použití externích pamětí je k dispozici dvoubankový SDRAM řadič podporující 8, 16 nebo 32bitovou šířku slova a rozhraní pro Flash paměti poskytující až 8 povolovacích signálů Chip Select. To umožňuje stránkování. Ke komunikaci s periferiemi a ostatními jednotkami slouží vnitřní nemultiplexovaná 32bitová datová sběrnice s rychlostí poloviny frekvence hodin CPU, tzn. 75 MHz pro frekvenci hodin 150 MHz. Adresová sběrnice má šířku 24 bitů.

Jednotka eTPU

eTPU (Enhanced Time Processor Unit) je samostatně pracující inteligentní jednotka s koprocesorem pro speciální účely časování, řízení I/O vývodů, komunikaci nebo řízení motorů. Samostatnost pak umožňuje paralelní funkci a zpracovávání programu vzhledem k hlavnímu CPU. Jednotka eTPU tak může zpracovávat instrukce a události pro práci v reálném čase, jako například bez problémů ihned reagovat na vstupující řídící impulsy, generovat výstupní signály a průběhy nebo mít přístup k sdíleným datům bez potřeby "obtěžovat" CPU. V důsledku toho je nastavení a zpracování služeb jakkoliv spojených s časováním z pohledu CPU minimalizováno nebo úplně eliminováno.

Obr. 3. Blokové schéma eTPU jednotky (detail)

Dle typu obvodu může eTPU mít 16 nebo 32 kanálů pracující s 24bitovým časovým rozlišením. Každý kanál může pracovat jako vstupní nebo výstupní a dvě stejné Capture/Compare jednotky označené jako Action Unit A a Action Unit B. S jejich pomocí lze vygenerovat či zachytit velmi úzký puls bez nutnosti softwarové obsluhy. Řídící jednotka (Micro-Engine) pak zpracovává vlastní program, který je teď proti dřívějším zvyklostem možné programovat již v jazyku C. To umožňuje rychlejší návrh programu a jeho napojení na hlavní program CPU. Pro využití specializovaného časového zpracování, obsahuje instrukční soubor jednotky eTPU i speciální instrukce, které nejsou k dispozici pro CPU. Program je uložen v 6 kB programové paměti (Code Memory), zatímco další paměť 1.5 kB je určena pro data. Do těchto pamětí se při bootování zavádějí softwarové moduly, které poté definují chování a vlastnosti kanálů eTPU jednotky. K dnešnímu dni jsou k dispozici jednak softwarové moduly obecného použití (PWM, UART, SPI, atd), a taktéž moduly speciální pro podporů řízení elektrických a spalovacích motorů.

Ostatní periferie

Dále jsou na chipu další periferie, umožňující a podporující plnou implementaci prostředků pro řízení a komunikace bez potřeby umisťovat další externí součástky na desku plošných spojů.

Chip obsahuje následující bloky (viz. obrázek 1.):

  • Tři univerzální asynchronní přijímač/vysílač (UART) podporující přímý přístup do paměti DMA
  • Rozhraní CAN 2.0B (Controller area network 2.0B) označený jako FlexCAN modul, případně u některých typů i druhý FlexCAN modul multiplexovaný s třetím rozhraním UART
  • Integrovaný řadič sběrnice I2C
  • Sériové periferní rozhraní s frontou označené jako QSPI (Queued serial peripheral interface) modul
  • Hardwarový kryptografický akcelerátor
    — Generátor náhodných čísel
    — DES/3DES/AES šifrovací blok
    — MD5/SHA-1/HMAC akcelerátor
  • 4kanálový, 32bitový řadič přímého DMA (Direct Memory Access) podporující i 8, 16bitová data
  • 4kanálový, 32bitové input capture/output compare časovače s podporou DMA
  • 4kanálový, 16bitový periodicky přerušovaný časovač PIT (Periodic Interrupt Timers)
  • Softwarově programovatelný časovač watchdog
  • Řadič přerušení schopný obsluhovat až 126 zdrojů přerušení
  • Modul hodin s dosažitelnou frěkvencí až 75 MHz se smyčkou fázového závěsu PLL (Phase Locked Loop)
  • 10/100 BaseT Ethernet řadič

Vývojové prostředí & kity

Pro testování a vývoj nových aplikací je v nabídce i vývojová deska/kit ColdFire MCF523x Evaluation Board (M523xEVB - viz. obrázek 4.), kde samotný mikroprocesor je jádrem dále doplněný o externí 512K x 16 FLASH paměť, což zvyšuje celkovou použitelnou paměť na 2 MB (příp. 4MB při použití 512K x 32 FLASH). Samozřejmostí je vyvedení všech na chipu dostupných volných I/O pinů a komunikačních rozhraní na konektory, plus jsou zde navíc převodníky UART na RS-232 (9pin DSub) a USB. Dále lze najít tradiční, vývoj aplikace podporující periferie jako LED diody, spínače a přepínače. Pro vývoj a testovaní aplikací řízení motorů a praktické odzkoušení softwarových řídicích modulů eTPU je kit doplněn o speciální UNI-3 rozhraní. To slouží pro přímé propojení kitu s výkonovými moduly nebo snímači polohy a rychlosti hřídele motoru. Kit podporuje připojení Hallových snímačů a kvadraturního enkodéru – v současné době Freescale řeší podporu moderních resolver snímačů.

Pro programový vývoj aplikace, tj. programů v asembleru nebo v jazyku C a následné testování, může sloužit firemní vývojové prostředí CodeWarrior Development Studio for ColdFire Architectures v. 6.0 pro OS Windows XP i Linux. Konkrétně například poskytuje C (C++) překladač, přesný simulátor ISS (Instruction Set Simulator), jednoduché nahrávání programů do flash pamětí nebo debugging přes rozhraní JTAG nebo BDM Debug Interface. Z nabídky lze však zvolit i vývojová prostředí, překladače a linkery jiných firem.

Obr. 4. Příklad použití mikroprocesoru MCF5235 ve vývojovém kitu k řízení motoru

Závěr

V nabídce firmy Freescale je mnoho mikroprocesorů s jádrem ColdFire, přičemž každý je vhodný pro určitou oblast aplikací. Řada MCF523x je právě díky samostatně pracující jednotce eTPU vhodná pro náročné real-time aplikace. Spolu s velkým rozsahem vnitřních periferií a výkonným CPU je dnes možné implementovat celý řídící systém do jedné součástky. Bližší informace o uvedených mikroprocesorech a praktické příklady implementace programového kódu je možné nalézt v bohaté dokumentaci na stránkách výrobce.

 

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: