česky english Vítejte, dnes je pondělí 18. listopad 2024

Zkušenosti s aplikacemi modulu Combi-G20 a desek BaseBoard

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

Úvod

V předchozích číslech tohoto časopisu byl popsán modul Combi s procesorem ARM9/400MHz, obvodem FPGA Xilinx a instalací RT-Linuxu a další části tohoto systému pro řídicí a měřicí aplikace v reálném čase.

Samotný modul Combi má na svých konektorech jen digitální signály (s výjimkou vstupů ADC), a proto potřebuje nějaký „nosič“, základní desku s obvody rozhraní do světa. Těmito rozhraními (převodníky A/D, D/A, výkonové spínače, optoizolované vstupy, proudové smyčky, napájecí zdroj aj.) disponuje řada vyvinutých desek BaseBoard, rovněž stručně popsaných v předchozích číslech. Zkušenosti s aplikací těchto sad, v porovnání s jinými systémy, ve společnosti Ryston Electronics shrnuje tento článek.

Napájení a připojení

Profesionálně vyráběné desky procesorů obdobného výkonu (např. systém Q7) jsou připojeny do aplikační desky přes konektor, který je možná zbytečně nákladný, miniaturní, s příliš mnoha kontakty, a samotný konektor je obtížně dostupný a těžko se pájí na desku. Výrobci se totiž snaží vyvést z procesorového modulu i 32bitovou rychlou datovou sběrnici (PCI nebo její odvozenina), která vyžaduje mnohavodičovou přizpůsobenou desku sběrnice. Její vývoj už je pro jednotlivé aplikátory příliš náročný.

Zkušenosti s aplikacemi modulu Combi-G20 a desek BaseBoard 1

Obr. 1 Sestava Combi-BB1 s kabelem proudové smyčky 4–20 mA a zakončovacím odporem

Systémový konektor modulu Combi odpovídá běžnému standardu průmyslové elektroniky (40 dutinek či špiček ve dvou řadách v rastru 2,54 mm), takže pro připojení je možno použít i nenáročnou desku s „hřebínkem“, nebo dokonce IDE kabel ze šuplíkových zásob. Tento konektor má i dostatečný počet signálů zemí, jak pro napájení, tak pro zachování integrity signálů sériových sběrnic, a má i vstup jediného napájecího napětí +5 V (regulátory dalších potřebných napětí včetně sekvencéru ON/OFF jsou již na modulu). Systémový konektor neobsahuje paralelní datovou sběrnici procesoru, která vede jen do pamětí a FPGA na modulu, a je tudíž jeho návrhem přizpůsobena na jednotné zpoždění.

Cena „hřebínkového“ konektoru se počítá v desetihaléřích, na rozdíl od nepříliš dostupného konektoru např. pro Q7 či moderní verze sběrnice PCI.

Porty

Další dva konektory Combi modulu jsou provedeny mechanicky stejně jako systémový. Na těchto konektorech jsou vyvedeny signály programovatelných vývodů obvodu FPGA a jsou proloženy zeměmi tak, že jsou slučitelné se sběrnicí IDE, kdysi používanou 16bitovou sběrnicí mezi PC a HDD. Kdo nechce, nemusí je požívat. Pro připojení paralelních obvodů byla pro FPGA napsána „aplikace“ implementující tuto sběrnici s programovatelným počtem wait-cyklů apod. Obvod FPGA však umožňuje „zákaznické“ nakonfigurování každého vývodu a naprogramování subsystému v sobě podle připojené periferie, takže je možno vytvořit například další sériové porty, inkrementální snímače polohy, velmi rychlé sekvenční automaty s programovým dohledem, třeba ISDN E1(I.430) rozhraní s datovým přenosem dle doporučení V.110 ve 30 kanálech najednou, čítače, časovače, výstupy PWM a další. K tomu je potřeba být jen obeznámen s vývojovým prostředím obvodů Xilinx/Spartan a mít knihovny pro datové rozhraní (popsáno rovněž v tomto časopise). Obvod FPGA je možno osadit ve stejném foot-printu v několika variantách typů s velkým rozsahem vnitřní složitosti, my jsme zvolili tu nejmenší a ještě jsme ji nenaplnili.

Obdobné desky tyto možnosti zpravidla nemají, jedná se často o verze PC periferií.

Modul Combi, stejně jako konkurenční systémy, disponuje rozhraním Ethernet 100 Mb/s, USB Host a Target na normalizovaných konektorech a též sériovými sběrnicemi SPI a I2C, PWM/TIO a rozhraními COM na LVTTL úrovních. Na základní desce jsou k těmto rozhraním připojeny variantně osaditelné obvody, jako sériové EEPROM, převodníky A/D a D/A s možností konfigurace rozsahu, Darlingtonovy spínače (ULN) s proudovou pojistkou, relé, opticky oddělené vstupy (vedou do FPGA), proudové analogové vysílače 4–20 mA a rozhraní sériových linek RS232/485.

Na desku BB1 s Euro-rozměry 100×160 mm se nám podařilo rozmístit „směs“ různých rozhraní vyjmenovaných výše plus „odlomitelnou“ čtečku SD/MMC karet a modul s osmi LED indikátory, s připájitelnými plochými kablíky pro umístění na ovládacím panelu. Uvedená směs rozhraní se ukázala být vhodnou pro konstrukci jednoduchých průmyslových řídicích systémů např. pro řízení monitoru znečištění odpadních vod, meteorologické stanice, řízení 3D tiskárny a jiných systémů s krokovými motorky; a jistě se najdou další aplikace. K řídicímu systému lze jednoduše připojit alfanumerický či grafický displej LCD/OLED/FSTN, malou klávesnici, přes USB pak myš, web kameru a spoustu dalších zařízení.

Na závěr vývoje, kdy je již odladěna aplikační elektronika do detailů, je možno ji integrovat s modulem G20 do jediné desky bez konektorů, a tím zvýšit spolehlivost. Tato integrovaná deska však musí být 6vrstvá, což je pořád dražší než 2vrstvá, ale vzhled je „profesionální“.

Software

Oproti propracovaným vývojovým systémům profesionálního původu (Keil, Green Hills aj.) je náš systém, založený na internetovém stahování a přepisování jádra Linuxu, poněkud chudý příbuzný. Diskutovat komfort a výhody toho či onoho je nad rámec tohoto článku. Pokud chcete napsat aplikaci do FPGA, musíte si vystačit s knihovnou a vývojovým systémem, který nabízí stránky výrobce těchto obvodů. S trochou úsilí však i takto lze docílit zajímavých výsledků.

Závěr

Více než roční zkušenost ukázala, že systém BB/Combi /RT-Linux je snadno použitelný pro řadu jednoduchých aplikací z řídicí, monitorovací, lékařské, telekomunikační a další techniky a dovoluje často výrazně zkrátit vývojové práce. Modul Combi-G20 je inovovanou verzí modulu Combi s dvojnásobnou rychlostí procesoru. Ve vývoji je podobný modul s procesorem G45, vybaveným navíc řadičem grafického barevného displeje LCD, který se připojuje přes normalizovaný konektor. To otevírá dveře k dalším aplikacím s grafickým výstupem.