Lattice MachXO2 Pico Development Kit – platforma dla projektów SoC
Wymienione – a nie są to wszystkie warte wspomnienia! – cechy układów MachXO2 nie usprawiedliwiają zachwytów – i słusznie. Kolejne atuty takich wątpliwości już nie wzbudzą:
- układy MachXO2 wyposażono w pamięć konfiguracji typu SRAM, co wymusza odtworzenie jej zawartości z pamięci nieulotnej. Większość podobnie konfigurowanych układów wymaga zastosowania zewnętrznej pamięci Flash, co nie tylko zwiększa liczbę niezbędnych układów, ale także utrudnia ochronę projektu przed nieuprawnionym kopiowaniem.
- układy MachXO2 wyposażono w pamięć nieulotną Flash (UFM – User Flash Memory), którą użytkownik może wykorzystać we własnej aplikacji do przechowywania danych, których trwałość nie może być zależna od zasilania.
- wszystkie układy z rodziny MachXO2 wyposażono w dwa sprzętowe (zaimplementowane na „twardo” w krzemie, czyli nie zajmują konfigurowalnych zasobów logicznych dostępnych dla użytkownika) interfejsy I2C, jeden interfejs SPI oraz konfigurowalny timer-licznik.
Peryferia te są dostępne poprzez magistralę równoległą Wishbone (rysunek 1), którą użytkownik może komunikować się z zaimplementowanym przez siebie sterownikiem, sekwencerem lub innym blokiem logicznym.
Rys. 1. Elementem wyposażenia wszystkich układów MachXO2 są wbudowane „twarde” peryferia: timer-licznik oraz interfejsy 2xI2C i 1xSPI, do których dostęp jest możliwy za pośrednictwem interfejsu Wishbone
Sądzę, że wymienione w ekspresowym skrócie cechy układów MachXO2 są dla fanów logiki programowalnej wystarczającą dla nich rekomendacją. Warto jeszcze dodać, że producent udostępnił bezpłatny pakiet programowy do projektowania o nazwie Diamond, który jest dostępny zarówno dla systemów Windows jak i Linux. Lattice Diamond to kompletne środowisko projektowe, umożliwiające realizację wszystkich faz realizacji projektu, począwszy od jego specyfikacji aż do programowania (konfiguracji) układu programowalnego. Lattice Diamond ma narzędzia umożliwiające specyfikowanie projektu (Verilog, VHDL, schematy), syntezę logiczną, implementację, symulację, programowanie, a także debugowanie działania systemu uruchomionego w docelowym układzie programowalnym.
Zestaw MachXO2 Pico Development Kit – wyposażenie i możliwości
Firma Lattice oferuje konstruktorom chcącym zapoznać się w praktyce z możliwościami układów MachXO2 trzy tanie zestawy ewaluacyjne, z których jeden – MachXO2 Pico Development Kit (fotografia 2) – przedstawiamy w artykule. Jest to zestaw o niewielkich wymiarach, ale rozbudowany funkcjonalnie, dzięki czemu można zaimplementować w nim wiele różnorodnych, także rozbudowanych aplikacji. Poważnym atutem prezentowanego zestawu jest niska cena.
Fot. 2. Wygląd zestawu MachXO2 Pico Development Kit
Najważniejszymi elementami sprzętowego wyposażenia zestawu są:
- układ MachXO2 LCMXO2-1200ZE w obudowie BGA o 132 wyprowadzeniach,
- dwukanałowy układ pomiaru natężenia prądu z przetwornikiem delta-sigma,
- pamięć Flash SPI o pojemności 1 Mb,
- czujnik temperatury z interfejsem I2C,
- 4-cyfrowy, 7-sehmentowy wyświetlacz LCD,
- 4 pojemnościowe pola dotykowe,
- miejsce na złącze o rastrze 2,54 mm z wyprowadzonymi 32 liniami I/O układu PLD,
- konwerter RS-232/USB (FTDI),
- programator-konfigurator JTAG współpracujący z pakietem programowym Diamond.
Aplikacja demonstracyjna SoC z 8-bitowym mikrokontrolerem Mico8