Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Připojte tuto vývojovou desku Mojo k externím vstupům pomocí tohoto štítu.
Co je vývojová deska Mojo?
Vývojová deska Mojo je vývojová deska založená na Xilinx spartan 3 FPGA. Desku vyrábí Alchitry. FPGA jsou velmi užitečné tam, kde je třeba provádět více procesů současně.
Co budete potřebovat?
Zásoby
Vývojová deska Mojo
Gerberův soubor
8 x 15k ohm odpory (volitelně*)
4 x 470 ohm odpory
Rezistory 4 x 560 ohmů
4 x CC sedmisegmentové displeje
LED diody 4 x 3 mm
4 x hmatové přepínače SPDT
1 x 4polohový přepínač DIP pro povrchovou montáž
2 x 25 x 2 nebo 4 x 25 záhlaví
1x kolíková hlava 2 x 5 pinů
Páječka
Pájka
Flux
*(pokud jsou tyto odpory vynechány, musí být pro příslušné piny povoleno vnitřní vytahování/rozbalování)
Krok 1: Nahrajte Gerber na vybraného výrobce Pcb
Pro své desky jsem objednal z JLC PCB.
Jedinou změnou, kterou jsem udělal, byla barva, kterou jsem chtěl sladit s černou Mojo.
Krok 2: Sestavení desky
Při pájení vždy považuji za užitečné nejprve pájet nejnižší části, takže začít s odpory je dobrý nápad.
R5, R6, R7, R8, R9, R10, R11 a R12 jsou 15k ohmové odpory používané k vytažení spínačů (pokud používáte interní pullup/pulldown, toto ignorujte).
R1, R2, R3, R4 jsou rezistory 560 ohmů, které jsou zodpovědné za omezení proudu prostřednictvím 7segmentového displeje.
R13, R14, R15, R16 jsou odpory 470 ohmů, které jsou zodpovědné za omezení proudu přes 4 LED diody.
Dále připájejte dip přepínač, hmatové spínače, LED diody, sedm segmentových displejů a konektor záhlaví krabice v uvedeném pořadí.
Nyní umístěte 25 na 2 (nebo 2 25 na 1) do mojo, abyste zarovnali kolíky. Srovnejte štít s kolíky a připájejte jej na místo.
Krok 3: Nastavení softwaru
Pokud jde o software odkazující na webovou stránku Alchitry, sdělí vám, co potřebujete k zahájení a instalaci Xilinx ISE. Nicméně změna souboru.ucf, aby věděl, jaké piny jsou připojeny k tomu, co je důležité pro spuštění programu.
Zde je soubor.ucf, který používám se štítem:
KONFIGURACE VCCAUX = 3,3;
NET "clk" TNM_NET = clk; TIMESPEC TS_clk = OBDOBÍ „clk“50 MHz VYSOKÉ 50%; NET "clk" LOC = P56 | IOSTANDARD = LVTTL; NET "rst_n" LOC = P38 | IOSTANDARD = LVTTL; NET "cclk" LOC = P70 | IOSTANDARD = LVTTL; NET "spi_mosi" LOC = P44 | IOSTANDARD = LVTTL; NET "spi_miso" LOC = P45 | IOSTANDARD = LVTTL; NET "spi_ss" LOC = P48 | IOSTANDARD = LVTTL; NET "spi_sck" LOC = P43 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P46 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P61 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P62 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P65 | IOSTANDARD = LVTTL; NET "avr_tx" LOC = P55 | IOSTANDARD = LVTTL; NET "avr_rx" LOC = P59 | IOSTANDARD = LVTTL; NET "avr_rx_busy" LOC = P39 | IOSTANDARD = LVTTL; NET "Q [0]" LOC = P26 | IOSTANDARD = LVTTL; NET "Q [1]" LOC = P23 | IOSTANDARD = LVTTL; NET "Q [2]" LOC = P21 | IOSTANDARD = LVTTL; NET "Q [3]" LOC = P16 | IOSTANDARD = LVTTL; NET "S [0]" LOC = P7 | IOSTANDARD = LVTTL; NET "S [1]" LOC = P9 | IOSTANDARD = LVTTL; NET "S [2]" LOC = P11 | IOSTANDARD = LVTTL; NET "S [3]" LOC = P14 | IOSTANDARD = LVTTL; NET "pb [1]" LOC = P30 | IOSTANDARD = LVTTL; NET "pb [2]" LOC = P27 | IOSTANDARD = LVTTL; NET "pb [3]" LOC = P24 | IOSTANDARD = LVTTL; NET "pb [4]" LOC = P22 | IOSTANDARD = LVTTL; NET "sevsega [0]" LOC = P57 | IOSTANDARD = LVTTL; NET "sevsegb [0]" LOC = P58 | IOSTANDARD = LVTTL; NET "sevsegc [0]" LOC = P66 | IOSTANDARD = LVTTL; NET "sevsegd [0]" LOC = P67 | IOSTANDARD = LVTTL; NET "sevsege [0]" LOC = P74 | IOSTANDARD = LVTTL; NET "sevsegf [0]" LOC = P75 | IOSTANDARD = LVTTL; NET "sevsegg [0]" LOC = P78 | IOSTANDARD = LVTTL; NET "sevsegdp [0]" LOC = P80 | IOSTANDARD = LVTTL; NET "sevsega [1]" LOC = P82 | IOSTANDARD = LVTTL; NET "sevsegb [1]" LOC = P83 | IOSTANDARD = LVTTL; NET "sevsegc [1]" LOC = P84 | IOSTANDARD = LVTTL; NET "sevsegd [1]" LOC = P85 | IOSTANDARD = LVTTL; NET "sevsege [1]" LOC = P87 | IOSTANDARD = LVTTL; NET "sevsegf [1]" LOC = P88 | IOSTANDARD = LVTTL; NET "sevsegg [1]" LOC = P92 | IOSTANDARD = LVTTL; NET "sevsegdp [1]" LOC = P94 | IOSTANDARD = LVTTL; NET "sevsega [2]" LOC = P97 | IOSTANDARD = LVTTL; NET "sevsegb [2]" LOC = P98 | IOSTANDARD = LVTTL; NET "sevsegc [2]" LOC = P99 | IOSTANDARD = LVTTL; NET "sevsegd [2]" LOC = P100 | IOSTANDARD = LVTTL; NET "sevsege [2]" LOC = P101 | IOSTANDARD = LVTTL; NET "sevsegf [2]" LOC = P102 | IOSTANDARD = LVTTL; NET "sevsegg [2]" LOC = P104 | IOSTANDARD = LVTTL; NET "sevsegdp [2]" LOC = P111 | IOSTANDARD = LVTTL; NET "sevsega [3]" LOC = P114 | IOSTANDARD = LVTTL; NET "sevsegb [3]" LOC = P115 | IOSTANDARD = LVTTL; NET "sevsegc [3]" LOC = P116 | IOSTANDARD = LVTTL; NET "sevsegd [3]" LOC = P117 | IOSTANDARD = LVTTL; NET "sevsege [3]" LOC = P118 | IOSTANDARD = LVTTL; NET "sevsegf [3]" LOC = P119 | IOSTANDARD = LVTTL; NET "sevsegg [3]" LOC = P1120 | IOSTANDARD = LVTTL; NET "sevsegdp [3]" LOC = P121 | IOSTANDARD = LVTTL;
Pamatujte si, jestli jste nenainstalovali pulldown rezistory pro úpravu pinů v.ucf pomocí
| TÁHNOUT DOLŮ; Ó
| VYTÁHNOUT;
Pokud chcete blok použít pro cokoli, připojení jsou následující. Vlevo je číslo PIN bloku a vpravo číslo Mojo Pin, které byste měli přiřadit ve vašem.ucf:
kolík 1 = 29
kolík 2 = 51
kolík 3 = 32
kolík 4 = 41
kolík 5 = 34
kolík 6 = 35
kolík 7 = 40
kolík 8 = 33
kolík 9 = GND
kolík 10 = +V