Az egyre fejlettebb ember-gép interfészek (HMI-k) iránti igény kielégítése érdekében az FTDI piacra dobta az FT800-at, mely EVE (Embedded Video Engine), grafikus chipcsaládjának első tagja, és QVGA- és WQVGA-felbontású TFT-kijelzők meghajtására alkalmas grafikus chip. Az FT800 grafikus chip 1/16 pixel felbontással rendereli a képeket, ezáltal nincs szükség hagyományos képkocka-puffermemóriára, ami költségmegtakarítást eredményez. A kontroller integrált érintésérzékeléssel támogatja a rezisztív, négyvezetékes érintőpaneleket, és beágyazott audioprocesszorral is rendelkezik. Az audiochip MIDI-szerű és PCM (Pulse Code Modulation)-rendszerű hanglejátszást tesz lehetővé.
Néhány évvel ezelőtt még elég volt egy egyszerű, karakteralapú kijelző, de mára változtak az idők, az igények nőnek, és évről évre nő a grafikus kijelzők iránti kereslet. Gyakran már maga a formaterv is szebb lehet általuk, de a megjelenítési lehetőségeket is kibővítik. Sajnos a grafikus kijelzők programozása jóval bonyolultabb, mint a korábbi változatoké, és a szoftverfejlesztők gyakran visszasírják a régi pontmátrix-kijelzők egyszerűségét, hiszen azokon néhány vezérlőparanccsal, minimális teljesítményigénnyel minden fontos adat és információ megjeleníthető volt.
Itt lép be a képbe az FTDI. Az EVE-ként is emlegetett FT800 az összes látványos grafikai lehetőséget egyetlen alkatrészbe sűrítve kínálja. Szinte „kulcsrakész" megoldásként, azonnal használható, mivel kész widgetek, hangfunkciók és komplex érintésértékelő algoritmusok találhatók benne. Az EVE 2013-ban mutatkozott be, és a várakozások szerint gyökeresen átalakítja majd a QVGA- és WQVGA-felbontású TFT-kkel ellátott HMI-interfészek tervezésének módszereit.
Ennek az objektumorientált komponensnek köszönhetően fejlettebb és jóval több alkalmazási területet kiszolgálni képes, kijelző-, audio- és érintőfunkciókkal is ellátott HMI-k valósíthatók meg. A korábbi megoldásokhoz képest az alkatrészek száma, az áramköri panel helyigénye és a fejlesztés időigénye is jelentősen kisebb.
Az objektumorientált FT800 a képeket soronként, 1/16 pixeles felbontással rendereli, így feleslegessé válik a korábban plusz költségtételt jelentő képkockapuffer-memória.
Grafikai funkciók – építőkocka-módszerrel
Az EVE-chip csatlakoztatásához mindössze az SPI néhány, max. 30 Mbit/s adatátviteli sebességű vagy az I²C busz (max. 3,4 MHz-es) vezetékére van szükség. A kiegészítő funkciókhoz, pl. az energiatakarékos „Power Down" üzemmódhoz és az érintésérzékeléshez szükséges interruptokhoz további, opcionális vezetékek állnak rendelkezésre. A grafikus chip és a kontroller összekötéséhez mindössze két vagy három vezetékre van szükség. Ez főleg a kevesebb pin-nel rendelkező kontrollerek esetén lehet nagy előny. Emellett megspórolható a gyakran nem olcsó kvarcegység és a RAM is, mivel ezek is integrálva vannak az FTDI FT800-ban.
Az energiatakarékos FT800 aktív üzemmódban beéri 35 mA-rel, alvó üzemmódban pedig mindössze 25 µA az áramfelvétele. Üzemi hőmérséklet-tartománya -40 – +85 °C, és egy 48 pólusú, 7×7×0,9 mm-es VQFN-tokba szerelve szállítják.
Az eddigi grafikai megoldások a frame-pufferen alapszanak. Színmélységtől függően minden egyes pixel legfeljebb 3 bájt memóriát foglal. Egy QVGA (320×240 képpont) felbontású képnél így képkockánként 320×240×3 = 230 400 bájt memóriára van szükség, vagyis három képkocka már a MByte-tartományba tartozó kapacitású SRAM-ot igényel. Ez a külső SRAM komoly elvárásokat támaszt a fejlesztőkkel szemben, mivel gyors, ezért elektromágneses problémákat okozhat. Ráadásul nagy az adatátviteli és címvezetékigénye, sok helyet foglal az áramköri lapon, jelentős erőforrást igényel, leterheli a kontrollert, és az áramkör költségeinek jelentős részéért is felelős.
Az EVE objektumorientált koncepciója a grafikákat egy kis belső listapuffer segítségével állítja elő. A grafikus objektumok és paramétereik egy 8 kByte kapacitású kijelzőlistára kerülnek, és kiszámításuk és megjelenítésük lényegében valós időben történik. Ennek következményeképpen a programozás egészen egyszerű, nincsenek időzítési problémák, és a hardverigény is minimális. Az egy képen egyidejűleg megjeleníthető objektumok számát mindez kb. 2000 elemre korlátozza. Az olyan grafikák, melyek nem grafikai alapelemekből, pl. pontokból, vonalakból, körökből vagy widgetekből állnak, JPG-fájlként egy objektummemóriába tölthetők (max. 256 kByte). Az EVE képes a kicsomagolásukra és a módosításukra, pl. elforgatásukra vagy skálázásukra is. A programozás éppolyan egyszerű, mint a csatlakoztatás.
A kész widgetek megkönnyítik a programozást
A programozás során kész szimbólumok is használhatók, melyeket ráadásul szabadon hozzá lehet igazítani a designhoz. Nézzük például az óraszimbólumot: az óra megjelenítéséhez csak pár paraméter kell: a pozíció, a méret, a külső megjelenés, a háttérszín és a pontos idő.
cmd_clock(80, 60, 50, 0, 8, 15, 0, 0);
[xpos, ypos, radius, option, óra, perc, másodperc, milliszekundum]
Néhány lépésben kompakt tasztatúra is programozható:
cmd_keys(2, 2, 156, 21, 20,
OPT_CENTER, "qwertyuiop");
cmd_keys(2, 26, 156, 21, 20,
OPT_CENTER, "asdfghjkl");
cmd_keys(2, 50, 156, 21, 20,
OPT_CENTER, "zxcvbnm");
cmd_keys(2, 74, 156, 21, 20, 0, "");
Az egyszerű programozásnak köszönhetően a kész elemek módosítása ugyanolyan egyszerű, mint az új elemek programozása. A megjelenítéshez szükség van még a kijelzőlista inicializálására és azt követő aktiválására, de ezek a parancsok is viszonylag egyszerű felépítésűek:
cmd_dlstart();
cmd(DISPLAY());
cmd_swap().
A felhasználó szoftverébe történő beillesztéshez a Glyn forrásként egy C-Lib könyvtárat is rendelkezésre bocsát, melynek segítségével a programozási útmutatóban szereplő összes példa kivitelezhető. Az EVE-modul az érintőkontroller jeleinek teljes analóg értékelését is tartalmazza. Ennek során a grafikus vezérlést végző MCU lényegében teljes mértékben tehermentesítődik, hiszen az FT800 a gombok definíciója révén már minden kijelzőpozíciót ismer, és az érintőfelületet érő nyomásra már a megfelelő Tag-Markot közvetíti.
Az érintőfunkció – avagy a rezisztív érzékelés
Az EVE-ben teljes körű gesztusértékelés is helyet kapott, így például egy virtuális forgatógomb esetén a fejlesztőknek már nem kell foglalkozniuk az érintésérzékelőhöz tartozó értékek bonyolult számítási műveleteivel. Az EVE automatikusan felismeri a kijelzőt körkörösen érintő ujjak mozgását, és képes arra, hogy a forgatógombot optikailag valóban elforgassa a képernyőn. Az EVE arra is képes, hogy automatikusan kalibrálja az érintőfelületet.
De miért kéne mindig csak képeket vagy virtuális gombokat megjeleníteni? Egy-egy applikációtól gyakran azt is elvárja a felhasználó, hogy hangjelzéssel igazolja vissza a gombnyomásokat, vagy akusztikus jelzéseket is adjon.
Hangkeltés – a polifonikus MIDI-hangok egyszerűsége
Az FT800 ezt a feladatot is leveszi a fejlesztők válláról. Polifonikus hanginterfésze segítségével összetett hangok kibocsátására, sőt a feltöltött hangfájlok visszajátszására is képes. A MIDI-interfész segítségével viszonylag egyszerűen előállítható például egy csengő, egy orgona vagy egy trombita hangja. Jó néhány hangszer közül választhatunk, melyek hangszíne és hangmagassága is szabadon változtatható.
Mindent egybevetve az FT800 (más néven EVE) rendelkezik azokkal a legfontosabb funkciókkal, melyeket egy ember-gép interfésznek be kell töltenie.
- Kijelzővezérlés WQVGA-felbontással,
- Érintésértékelés standard rezisztív kijelzőtámogatással,
- Polifonikus hangképző egység.
Az elavult szöveges kijelzők cseréjével a régi készülékek is modernizálhatók
A beavatkozás csekély erőforrás-igényű, az SPI-n vagy az I²C-n keresztül, egyszerűen és olcsón végrehajtható, nincs szükség külső komponensekre vagy külső RAM-ra a képek tárolásához, kvarcegységre és párhuzamos adatbuszra sem.
A szöveges kijelzők modern TFT-kezelőegységre történő cseréjével sokat javíthatunk a régi készülékek használati értékén. A hagyományos kijelzőmegoldásokkal szemben nem áll fenn az „egy mikrokontroller – egy kijelző" korlátozás sem. Az SPI-busz közös használatával elméletben korlátlan számú EVE-es kijelző kiszolgálása lehetséges.
Egy FTDI-USB/SPI átalakító segítségével az EVE-kijelző közvetlenül Windows, Linux vagy OS-X alól is meghajtható. Főleg az embedded Linux esetében lehet ez a legcélszerűbb felhasználói interfész. A Glyn az EVB_EVE_FT800_V2 képében komplett fejlesztői készletet kínál, melynek elemei az FT800 EVE panel, egy, az EDT által gyártott TFT kijelző, valamint a Renesas, a Fujitsu (újabban Spansion) és Toshiba alá készült szoftverpélda-gyűjtemény.