Jste zde

Caribouboard – platforma pro vývoj náročných aplikací

Caribouboard je vývojová a hodnotící platforma pro průmyslovou komunikaci, řízení pohybu a obsluhu čidel, založená na mikroprocesoru OMAP-L138 ARM™ a analogovém rozhraní od společnosti Texas Instruments.

Úvod

Tato vývojová a prototypová platforma je určena především pro vývojáře náročných průmyslových aplikací, kde představuje určité řešení obvyklých stížností typu „nemáme k dispozici vhodnou hardwarovou platformu“.

Vývojové desky (EVM) a startovací sady od výrobců mikroprocesorů nabízejí obvykle podporu jen základních funkcí. Často jsou určeny pro provoz multitaskingových operačních systémů (HLOS), jako je Embedded Linux nebo Windows Embedded CE, avšak schází jim potřebné hardwarové komponenty, například základní obvody průmyslových sběrnicových systémů a patřičné analogové/digitální vstupy a výstupy.

Vývojář je v tom případě obvykle odkázán na vlastní výrobu prototypových desek, zejména z oblasti průmyslových řídicích systémů, programovatelných logických automatů (PLC), inteligentních jednotek (řadičů), senzorové technologie a oblasti alternativních zdrojů energie. Jelikož se navíc obvykle jedná o komplexní systémy, téměř vždy vyžadují použití programovatelného hradlového pole (FPGA) a jsou členěny do odvětví specifických funkcí.

Představovaná architektura Caribouboard řeší právě tyto nedostatky dostupných EVM pro komplexní průmyslové aplikace. Navíc tím, že využívá softwarové infrastruktury výrobce mikroprocesorů, dává vývojářům možnost jednoduchého opakovaného použití existujících softwarových komponent. Tím samozřejmě šetří nejen peníze, ale i čas pro uvedení nového produktu na trh.

Přehled modulů na Caribouboard

Caribouboard používá techniku System-On-Module (SOM) s mikroprocesorem OMAP- L138 ARMTM od společnosti Texas Instruments (TI). Stejný SOM je používán také na referenčních TI-EVM, takže vývojář má možnost použití stávající softwarové infrastruktury. Příkladem jsou vývojové nástroje, knihovny podpory desek (BSP - Board Support Package) ovladačů zařízení pro HLOS, webové servery, databáze a další aplikace. Více informací od vývojářů je k dispozici na stránce Twiki: http://processors.wiki.ti.com

Na SOM jsou osazeny ty nejkritičtější komponenty systému, jako je mikroprocesor ARM9 a digitální signálový procesor (DSP) C674x s bohatou sadou integrovaných periferií, DDR2 RAM (64 MB), NOR Flash (8 MB), TPS65070 pro správu napájení a Ethernet PHY. SOM je poté umístěna na Caribouboard.

Caribouboard dále obsahuje obvod FPGA Cyclone-3 od společnosti Altera. Dostupných 25 tisíc LUT obvodu FPGA lze snadno začlenit do libovolných průmyslových aplikací. Programovací rozhraní (USB-Blaster) je již na Caribouboard přítomné a k PC umožňuje snadné připojení pomocí dodávaného USB kabelu. Programovací nástroj pro FPGA - Quartus II - Altera Web Edition je zdarma dostupný ke stažení.

Dále Caribouboard integruje hned celou řadu digitálních rozhraní, jako např. izolovaná rozhraní RS-485 transceiveru pro PROFIBUS, dva RS-485 vysílače pro rozhraní kodérů EnDat, transceiver CAN a osmi-násobný I2C IO expandér s 24 V výstupy. Dále rovněž izolované budiče pro mikroprocesorové rozhraní SPI s přímým připojením k SN65HVS882 EVM (osm sériových vstupů s podporou až 34 V úrovní), dvě průmyslová rozhraní 10/100 Mbps Ethernet PHY, stejně jako několik rozšiřujících konektorů.

Kromě uvedených digitálních rozhraní obsahuje Caribouboard také celou řadu analogových převodníků, tedy včetně tří izolovaných Sigma-Delta modulátorů s 16bitovým rozlišením, tří miniaturních analogově-digitálních převodníků SAR s 12bitovým rozlišením, jedním 12bitovým analogově-digitálním převodníkem s 2 MSPS a jedním 16bitovým digitálně-analogovým převodníkem.

Pro práci s PWM signály, například pro řízení krokových, synchronních a asynchronních motorů, je možné použít jak obvod OMAP-L138, tak i FPGA.

Všechny dostupné pinové lišty využívají standardní rozteč 2,54 mm a umožňují vývojářům další snadné rozšíření kitu, například o externí digitální a analogové obvody pro zpracování signálů apod.

Pro napájení celé desky Caribouboard je vyžadováno pouze jediné, 12 V napájecí napětí, přičemž její součástí jsou účinné DC/DC konvertory a také regulátory s nízkým úbytkem napětí (LDO). Pouze musí být externě dodáno izolované napájecí napětí pro analogově-digitální převodník Sigma-Delta a izolovaný budič rozhraní SPI. Napájení po síti Ethernet (PoE) není na Caribouboard k dispozici a je třeba jej řešit externě, například s dostupnými produkty TI.

Programovatelné jednotky reálného času (PRU) v OMAP-L138

Obvody OMAP-L138 jsou založeny na technologii ARM926EJ-S™ jádra RISC na frekvenci až 456 MHz s celou řadou integrovaných periférií. Jednou z hlavních odlišností v dostupných perifériích je programovatelná jednotka reálného času (PRU). Programovatelná jednotka PRU je pro vývojáře ideální především v případě aplikací v reálném čase, protokolů vrstvy Layer 2 a pro manipulaci či filtrování datových struktur při zpracování datových paketů (např. rozhraní Ethernet). Zejména oblast průmyslových aplikací se vyznačuje velkým množstvím různých rozhraní a používaných protokolů, které lze snadno zpracovávat s využitím rozhraní reálného času - PRU a nakonfigurovaných, externích hardwarových komponent.

PRU subsystém (PRUSS) je taktován ze dvou PRU jednotek s polovinou frekvence jádra obvodu. Každý z nich tvoří 32bitový RISC procesor s vlastní datovou a programovou pamětí a oba mohou zcela nezávisle na jádru ARM9 využívat všechny systémové zdroje obvodu OMAP-L138. Vzhledem k řetězení bez čekacích stavů jsou všechny PRU instrukce jazyka assembler prováděny v jediném hodinovém cyklu – tedy během pouhých 4,4 ns, odvozených z frekvence 228 MHz PRU (polovina frekvence jádra). S dostupnými informacemi o všech instrukcích jazyka assembler mohou být algoritmy v PRU prováděny deterministicky, přičemž zbylá část systému může reagovat na jiné real-time události.

Každý PRU má přímý přístup do 30 nebo 32 registrů vstupu a výstupu. Vše se přitom provádí pouze v jediném cyklu a to tak, aby bylo možné číst stav vnějších signálů nebo provádět výstup. Tím je reakce PRU na vnější události, nebo spínání výstupů, zajištěna během několika nanosekund.

Kromě toho jsou podporovány i základní bitové instrukce, které pro nastavení nebo smazání bitu v registru vyžadují opět jediný hodinový cyklus. Jakmile se program dostane na bitově-testující instrukci, která má být vykonána, spolupracuje se zmíněnými registry vstupu a výstupu.

PRU může být zdrojem až osmi systémových událostí, které jsou jádrem ARM9 vyhodnoceny jako přerušení. Rovněž je možné využít spojení s interní datovou pamětí a zajistit efektivní komunikaci (IPC - inter-processor communication).

Rozhraní mezi OMAP-L138 a FPGA

Připojení obvodu FPGA k procesoru OMAP-L138 je provedeno prostřednictvím rozhraní subsystému PRUSS. Na desce Caribouboard jsou implementovány komplexní aplikace, využívající kooperace PRU a FPGA. Vstupy a výstupy, použité na rozhraní FPGA, jsou přímo mapovány do paměťové oblasti procesoru a obsluhovány prostřednictvím hardwarového rozhraní v jediném hodinovém cyklu. Vše je podpořeno bitovými instrukcemi, umožňujícími reakci téměř v reálném čase, při zpracování 8 nebo 16bitových slov.

V procesoru OMAP-L138 však není multiplexováno všech 124 vstupů a výstupů PRU. Některé z nich mají implementovánu vedlejší funkci, což jim umožňuje pracovat například jen jako vstupní nebo naopak jen jako výstupní pin. Další piny jsou z tohoto bloku vyřazeny kvůli systémovým požadavkům průmyslových aplikací, jako jsou například integrovaná rozhraní Ethernet MII v OMAP-L138, které je rovněž sdíleno s piny PRU. Obecně je konfigurace PRU podporována v rámci celé, obousměrné datové sběrnice se šířkou slova 8 a 16bitů, čtyřmi řídicími signály mezi FPGA a PRUSS a volitelným rozložením pinů.

PRUSS je tak primárně určen pro oddělení real-time schopností mezi HLOS v ARM a složitými aplikacemi v FPGA a PRU. Pro řízení systému HLOS můžeme využít proprietární protokol typu UART.

Příklady průmyslových sběrnic a rozhraní s Caribouboard PROFIBUS DP Slave

AM1810 a mikroprocesor OMAP-L138 od TI integruje funkce PROFIBUS DP přímo do subsystému PRUSS. Integrované řešení má výhodu především v tom, že nevyžaduje žádné externí PROFIBUS ASIC obvody, ale může být přímo připojeno na izolované RS-485 vysílače/přijímače. Tím se samozřejmě šetří náklady na materiál i místo na desce plošného spoje. Kromě toho je integrované řešení PROFIBUS s výhodou využito i díky funkcím pro úsporu energie v obvodech rodiny SitaraTM TI.

Caribouboard s mikroprocesorem OMAP-L138 a izolovaným rozhraním RS-485 ISO1176T transceiverem PROFIBUS podporuje maximální přenosovou rychlost 12 Mbaud. Uživatelsky konfigurovatelný PROFIBUS (PNO / PI) je certifikovaná DP Slave aplikace, dostupná na desce Caribouboard.

Další UART a CAN rozhraní

Jeden IO-Link Master může komunikovat prostřednictvím spojení typu Point-to-Point s jedním UART IO-Link Slave. Typické IO-Link Master systémy jsou proto obvykle vybaveny čtyřmi nebo osmi UARTy a umožňují tak použití k řízení většího množství podřízených prvků. Obvod OMAP-L138 má k dispozici tři rozhraní typu UART pro integrované periférie. Další UARTy (SoftUART), multikanálové sériové rozhraní pro audio obvody (McASP) a další periférie jsou implementovány do subsystému PRUSS. Knihovny SoftUART a příslušnou dokumentaci nabízí ke stažení na svých webových stránkách například společnost Mistral (www.mistralsolutions.com). Případně i samotné Linuxové jádro zařízení může v PRU vytvořit až čtyři rozhraní SoftUART.

Společnost Mistral dále vyvinula i CAN-Bus driver, opět pro implementaci na subsystému PRUSS. Driver běží na Linuxu jako samostatná aplikace a emuluje rozhraní CAN (SoftCAN) s využitím rychlých vstupně/výstupních PRU rozhraní. Rozhraní je přitom vhodné i pro aplikace, vyžadující interní sběrnici CAN s omezenou přenosovou rychlostí. Vše je k dispozici ke stažení na uvedených webových stránkách společnosti Mistral.

Ethernet pro průmyslové aplikace

Komplexní zařízení obvykle vyžadují přítomnost sběrnice jako je Real-time Ethernet (obvykle typu Slave); z toho důvodu jsou zde dostupná hned dvě tato síťová rozhraní (např. PROFINET RT, Powerlink, Ethernet / IP, atd.). Tato rozhraní typu Ethernet lze na Caribouboard realizovat s využitím PRUSS, FPGA a dvou průmyslových 10/100 Ethernet PHY.

Dva ethernetové PHY jsou prostřednictvím rozhraní MII připojeny k FPGA. Detekce Linku a další informace o stavu obvodu Ethernet PHY jsou však naopak prostřednictvím rozhraní protokolu MDIO propojeny přímo s obvodem OMAP-L138. V FPGA jsou poté implementovány funkce pro 4 - 8bitové konverze rozhraní MII, FIFO pro ukládání dat, jednotka pro výpočet CRC32 a samozřejmě rozhraní pro PRUSS – jedno pro příjem a jedno pro vysílání. Rozhraní PRUSS FPGA pro příjem a odesílání dat, filtry paketů, stejně jako samotná komunikace je integrována v jádru ARM9. Příjem a vysílání datových rámců prostřednictvím jednotky PRUSS Ethernet je možné i z prostředí operačního systému (například Linuxu), provozovaném na jádru ARM9.

Shrnutí aneb pro koho je Caribouboard určen?

Caribouboard se zaměřuje na vývojáře průmyslových aplikací s komunikačními rozhraními, kteří mají zájem o kombinaci systému mikroprocesoru, digitálního signálového procesoru, analogových a digitálních rozhraní a obvodu FPGA. Deska obsahuje takové komponenty, které jsou obvykle využívány právě v souvislosti s průmyslovou platformou. Vývojář tak má možnost zhodnotit použití analogových a digitálních rozhraní pro ověření komplexního řešení průmyslových aplikací, případně desku použít i jako dočasnou vývojovou platformu do doby, než bude mít dostupnou finální verzi svého produktu. Stávající softwarová infrastruktura referenční EVM od TI dává možnost využití vysokoúrovňového operačního systému. Podporovány jsou především systémy Embedded Linux nebo Windows Embedded CE s aplikačním softwarem Caribouboard.

Dostupnost

Caribouboard lze získat od DevBoard / EBV Elektronik. Balení obsahuje Caribouboard s průmyslovými rozhraními, modul SOM OMAP-L138 LogicPD, JTAG / USB API rozhraní pro obvody Altera FPGA, 12 V napájecí zdroj a samozřejmě řadu propojovacích kabelů. Veřejné představení produktu se koná na veletrhu SPS/IPC/Drives Messe v listopadu 2010.

Autorem článku je Thomas Mauer, aplikační inženýr, Texas Instruments

Hodnocení článku: