česky english Vítejte, dnes je čtvrtek 18. duben 2024

Cesta k úspěšné aplikaci vestavného počítače: Deska BaseBoard2 pod modul Combi-G20 – I.

DPS 1/2018 | Články
Autor: Ing. Tomáš Navrátil, Ryston Electronics

Úvod

V předchozích článcích této řady v časopisu DPS a-z byl popsán modul vestavného počítače s názvem Combi vyvinutý ve firmě Ryston. S trochou zdravého sebevědomí ho nazývám „supersoučástka“: ač rozměrů vizitky, integruje počítač s Linuxem a obvodem FPGA a lze ho připojit na již několik základních desek, které jsme pro něj vyvinuli. Modul se připojuje k základní desce nasunutím na do ní zapájené dvouřadé konektory typu „hřebínek“, nejběžnější konektorový systém na světě.

Deska BaseBoard2, jíž se týká tento článek, je pokusem o kompromisně univerzální řešení použitelné pro všechny aplikace, které nás napadly, za přijatelnou cenu. Ačkoli vznikla na základě zadání automotivního systému pro sběr dat, její využití i v nezměněném stavu bude, doufejme, dosti široké.

Obr. 1 Modul Combi, supersoučástka

Stručný popis systému

Modul Combi-G20 byl v tomto časopise popsán před časem, proto jen stručně zopakuji, že jde o „embedded“ –„vestavný“ počítač s procesorem Atmel G20 s jádrem ARM926, 32bitovou strukturou sběrnic propojující procesor s paměťmi SDRAM 64 MByte, NAND Flash a obvodem FPGA Xilinx Spartan. 32bitová datová sběrnice procesoru je vyvedena jen na obvody na modulu, a proto je velmi rychlá.

Procesor tak má dostatek paměti pro OS Linux s real-time rozšířením a jeho aplikacemi, což umožňuje práci se soubory, USB zařízeními, práci v síti a přístup k internetu. A navíc je tu sen každého vývojáře, programovatelný logický obvod FPGA, viděný procesorem jako kus paměti, navíc s řadou bloků PLL, mailboxů a uživatelských vstupů/výstupů vyvedených na konektory na pravé straně modulu.

Obr. 2 Náčrtek základní konfigurace desky BaseBoard2 pod modulem Combi

Periferní obvody na základní desce se připojují přes signály na „systémovém“ konektoru pod levou částí modulu. Na přední „vnitřní“ straně je jen konektor jednovodičového rozhraní (Dallas), zato na zadní straně modulu jsou konektory USB a LAN, což umožňuje v některých případech „přisadit“ modul a základní desku k otvoru v zadním panelu přístroje a tyto konektory mít přístupné rovnou zezadu.

Původně byl modul Combi navržen s procesorem AT91SAM9260CU-200MHz, později byl předělán a osazen modernizovaným procesorem G20-400MHz.

Samotný modul Combi však neobsahuje žádná rozhraní pro připojení k reálnému vnějšímu světu.

Na rozdíl od modulu Combi, který je velmi kompaktní a vyšitý na 6vrstvém DPS, je jeho „nosič“, deska BaseBoard2 (dále BB2), vyrobena jen z 2vrstvého materiálu, takže její velikost není z pohledu ceny kritická. Je to naopak výhoda pro pohodlné připojení různých výkonových modulů k jejím konektorům.

Tabulka 1 J1 - Systémový konektor

Deska obsahuje konektory pro „footprint“ modulu Combi, napájecí obvody 24/5V a 24/3,3V, volitelně oddělovací DC/DC, Darlingtonovy spínače jako výkonové výstupy, optické vstupy, vstupy/ výstupy a další obvody. Deska byla původně určena k vestavění do plastové krabice GW44209 s rozměry zhruba 320 × 200 × 120 mm. Montuje se na sloupky do pole děr v desce „podstavy“ přišroubované na připravené osazení na dně krabice. Díry mají rozteč 400 mils (cca 1 cm) a všechny výkonové a rozvodné moduly mají montážní díry také v tomto rastru. Vše se montuje na sloupky, které jsou přišroubovány do děr v podkladní desce. Aby byla zajištěna odolnost proti vibracím, osvědčilo se použít aspoň dva sloupky kovové, ostatní mohou být plastové.

Orientace desky a její konektory

Deska BaseBoard2 je na náčrtku orientována tak, že obvody A/D, D/A a čidlo tlaku vidíte vlevo od sebe, indikační LED nalevo k sobě. Tedy při pohledu na nasazený modul Combi s USB a LAN konektory od sebe je systémový konektor modulu (J1) nalevo a dva konektory portové z obvodu Xilinx nazvané IDE, neboť tak jdou nakonfigurovat, jsou napravo, nejvíce napravo je J3. Vývod č. 1 každého konektoru je nejvíc vzadu, vývod č. 40 je vpravo vepředu. Konektory jsou popsány jako pohled shora skrz desky.

V základní desce BB2 jsou zapájeny tři „hřebínky“ – konektory J1..3 po 2× 20 špičkách mířících nahoru, zatímco v modulu Combi jsou zapájeny dutinky mířící dolů. Modul se nasazuje dutinkami na špičky v desce, čímž vznikne kompaktní sestava desek s roztečí 12,7 mm. Přitom konektor USB a LAN z modulu a napájecí konektor ze spodní desky míří dozadu. Celou sestavu desek lze přišroubovat otvory v desce BB2 na sloupky ve dnu budovaného přístroje.

Napájení

Jelikož v naší konstrukci jsou ještě další moduly, hodilo se mít konektory USB a LAN uvnitř krabice. Prostor za sestavou byl využit pro modul napájení. Ten obsahuje vstupní konektor pro přívod napájení. Z tohoto modulu vedou tavnými pojistkami ochráněné napájecí vodiče do desky BB2, do jejího reléového spínače napájení pro externí čidla a obvod zálohování při výpadku. Vzhledem k původnímu použití systému na nákladní automobil jsme volili napájecí napětí 24 V, celý systém je však snadno možné předělat na 12V: volbou jiného typu relé a Zenerovy diody pro detekci poklesu napětí.

Obr. 3 Deska BB2

Po připojení napájecího napětí se nejprve napájí jen zdroj pro modul Combi, který provede interní testy a boot (vše poznamenává do databáze událostí) a potom aktivuje relé, jehož kontakty sepnou napájení pro vnější obvody a čidla. Toto napájení je samostatně odjištěno a ještě podmíněno vodivým spojením bezpečnostního okruhu z důvodu zabezpečení proti samovolnému pohybu stroje při přítomnosti osoby. Tak je možné okamžitě zastavit stroj, ale procesor dále může běžet a například vytvořit záznam o porušení bezpečnosti do databáze událostí. Pro účely ladění je možno bezpečnostní okruh přemostit propojkou pod plombou.

Při vypnutí napájení, které může nastat v kterémkoli okamžiku (ovládá se klíčkem zapalování), je pokles napětí pod 21 V detekován obvodem se Zenerovou diodou, který vygeneruje přes obvod FPGA žádost o přerušení, načež procesor dokončí všechny systémové akce (pozavírá soubory), odpojí vnější napájení a přejde do stavu HALT, z nějž ho vysvobodí buď obvod Watchdog/generátor resetu, anebo dokončené vypnutí systému. Potřebnou energii dodává velký elektrolytický kondenzátor, který prodlouží činnost systému o asi 100 ms. Pokud je potřeba bateriové napájení, je možno použít např. baterii 4 Li-ion článků (sériově zapojených), které však je nutno po opětovném zapnutí napájení zase nějakou dobu nabíjet. Pomocí signálů systémového konektoru J1 lze připojit téměř libovolný periferní obvod. Všimněte si kompletního 8signálového rozhraní sériové linky UART0, které lze využít buď pro připojení modemu, anebo GSM modulu. Kromě toho jsou zde ještě další tři páry RxD/TxD UARTů 1..3 bez modemových signálů. Dále jsou zde čtyři vstupy interního A/D převodníku a referenčního napětí VREF. Převodník má rozlišení jen 10 bitů, ale někdy to stačí. Jsou zde i dvě trojice signálů interních čítačů/časovačů TIOA,B, které mohou sloužit např. jako PWM výstupy pro výkonové ovladače.

Nejzajímavější je sběrnice TWI (rozšíření I2C) a SPI1 s device-select signály 0,1,2 (z konektoru na desce se ještě dá použít sběrnice SPI0). Kromě dvou špiček vstupu napájení +5 V (modul si vyrábí všechna potřebná napájení interně) je tu ještě výstup signálu Reset, aktivní v nule, pro uvedení všech obvodů do počátečního stavu. Reset nastává po zapnutí nebo při aktivizaci obvodu Watch- Dog, který hlídá aktivitu procesoru. Nemělo by to být nutné, ale tento signál je možné natvrdo uzemnit tlačítkem v případě totálního pádu softwaru.