Search
Tato stránka obsahuje podrobný popis hardware a periferií připravených pro cvičení a semestrální úlohy. Návody jak se se k přípravku připojit naleznete na stránce Nápověda k práci s přípravkem MicroZed APO.
Rozhraní přístupná přímo na desce MicroZed
tlačítko a reset tlačítko
Na výukovém modulu jsou vyvedené v logickém návrhu obsloužené následující periferie
Kompletní mechanický návrh a návrh elektroniky kitu je k dispozici v GIT repozitáři https://gitlab.com/pikron/projects/mz_apo/microzed_apo
Pro zobrazení a editaci mechanického návrhu je potřeba nainstalovat program FreeCAD https://freecadweb.org/
Pro zobrazení a editaci schémat a pložného spoje pak návrhový systém Ing. Petra Porazila - PEDA https://sourceforge.net/projects/peda/
Sada registrů začíná na fyzické adrese SPILED_REG_BASE_PHYS
Další informace pro zájemce o vlastní návrh periferie pro integrovaný procesor v hradlovém poli
Implementace periferie se nachází v adresáři /system/ip/spi_leds_and_enc_1.0/hdl. Protože se v případě LED diod a otočných voličů jedná o pomalé periferie a množství pinů využitelných pro zajímavější a rychlejší rozhraní jako jsou kamery je velké, tak jsou pro přenesení vstupně výstupních signálů z a do pomalých periferií využité sériově (SPI sběrnice) připojené GPIO expandery. Přenášená je v obou směrech posloupnost 48 bitů. O přenos se stará instance spi_leds_and_enc_v1_0_spi_fsm_inst komponenty spi_leds_and_enc_v1_0_spi_fsm. O realizaci sady registrů připojených k CPU sběrnicí AXI se pak stará komponenta spi_leds_and_enc_v1_0_S00_AXI. V odkazované části na konci zdrojového kódu je zřetelně vidět, jak jsou jednotlivé logické signály a jejich skupiny mapované do bitů a bitových polí v jednotlivých registrech AXI periferie.
K vývojovému kitu je připojený grafický displej s lokálním řadičem, který se stará o obnovování obrazu na TFT LCD display s rozměry 480 x 320 bodů.
Řadič přijímá příkazy zapisované na 16-bitovou bránu mapovanou do fyzického paměťového prostoru na adresu 0x43c00008 (PARLCD_REG_BASE_PHYS+PARLCD_REG_CMD_o).
Většina příkazů pak vyžaduje pro provedení vlastní operace zapsání dat. Data je potřeba zapsat na adresu 0x43c0000c (PARLCD_REG_BASE_PHYS+PARLCD_REG_DATA_o).
Příklady práce s LCD naleznete na stráce cvičení 09.
Sada registrů začíná na fyzické adrese PARLCD_REG_BASE_PHYS
Implementace periferie se nachází v adresáři /system/ip/display_16bit_cmd_data_bus_1.0/hdl.
Sada registrů začíná na fyzické adrese SERVOPS2_REG_BASE_PHYS
Implementace periferie se nachází v adresáři /system/ip/servo_led_ps2_1.0/hdl.
Sada registrů začíná na fyzické adrese AUDIOPWM_REG_BASE_PHYS
Implementace periferie se nachází v adresáři /system/ip/audio_single_pwm_1.0/hdl.
Tato periferie byla původně navržená pro předmět Programování systémů reálného času (B3M35PSR, B4B35PSR). Do FPGA návrhu pro předmět Architektura počítačů je zahrnutá volitelně.
Návrh periferie je zahrnutý dvakrát. Jednou pro připojení výkonového stupně a odečtu polohy ke konektoru PMOD1, pro který jsou registry mapované od adresy DCSPDRV_REG_BASE_PHYS_0 a podruhé pro motor připojený přes konektor PMOD2, bázvá adresa DCSPDRV_REG_BASE_PHYS_1.
Implementace periferie se nachází v adresáři /system/ip/dcsimpledrv_1.0/hdl.
Tlačítko je přivedené na pin PS_MIO51_501 SoC Zynq. V jádru Linux je pro MIO nastaven offset 906.
Pro přístup k uživatelskému tlačítku je tedy potřeba přistupovat k GPIO pinu 957 (= 906 + 51).
echo 957 > /sys/class/gpio/export cat /sys/class/gpio/gpio957/value
LED je přivedená na pin PS_MIO47_501 SoC Zynq. V jádru Linux je pro MIO nastaven offset 906.
Pro přístup k uživatelské LED je tedy potřeba přistupovat k GPIO pinu 953.
echo 953 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio953/direction echo 1 > /sys/class/gpio/gpio953/value