Índice:

Mojo FPGA Development Board Shield: 3 etapas
Mojo FPGA Development Board Shield: 3 etapas

Vídeo: Mojo FPGA Development Board Shield: 3 etapas

Vídeo: Mojo FPGA Development Board Shield: 3 etapas
Vídeo: 018 FSM with OAL 2024, Novembro
Anonim
Mojo FPGA Development Board Shield
Mojo FPGA Development Board Shield

Conecte sua placa de desenvolvimento Mojo a entradas externas com este escudo.

O que é a placa de desenvolvimento Mojo?

A placa de desenvolvimento Mojo é uma placa de desenvolvimento baseada no Xilinx spartan 3 FPGA. O tabuleiro é feito pela Alchitry. FPGAs são muito úteis onde vários processos devem ser executados simultaneamente.

O que você precisa?

Suprimentos

Placa de desenvolvimento Mojo

Arquivo Gerber

8 x resistores de 15k ohm (opcional *)

4 x 470 ohms resistores

4 resistores de 560 ohms

4 ecrãs CC de sete segmentos

4 x LEDs de 3 mm

4 x interruptores táteis SPDT

Interruptor DIP de montagem em superfície de 1 x 4 posições

2 x 25 por 2 ou 4 x 25 cabeçalhos

1x cabeça de caixa de 2 por 5 pinos

Ferro de solda

Solda

Fluxo

* (se esses resistores forem omitidos, pullup / pullup interno deve ser habilitado para os pinos relevantes)

Etapa 1: Faça upload do Gerber para o fabricante de PCB de sua escolha

Carregar Gerber para fabricante de PCB de sua escolha
Carregar Gerber para fabricante de PCB de sua escolha

Para minhas placas, encomendei da JLC PCB.

A única alteração que fiz foi a cor que queria combinar com o preto do Mojo.

Etapa 2: Montagem da placa

Montagem do Conselho
Montagem do Conselho

Ao soldar, sempre acho útil soldar as partes mais baixas primeiro, portanto, começar com os resistores é uma boa ideia.

R5, R6, R7, R8, R9, R10, R11 e R12 são resistores de 15k ohm usados para puxar para baixo as chaves (se você estiver usando pullup / pulldown interno ignore isto).

R1, R2, R3, R4 são resistores de 560 ohms responsáveis por limitar a corrente através do display de 7 segmentos.

R13, R14, R15, R16 são resistores de 470 ohms responsáveis por limitar a corrente através dos 4 LEDs.

Em seguida, solde o interruptor dip, os interruptores táteis, os LEDs, os monitores de sete segmentos e o conector do cabeçalho da caixa nessa ordem.

Agora coloque o 25 por 2 (ou 2 25 por 1) no mojo para alinhar os pinos. Alinhe a blindagem com os pinos e solde-a no lugar.

Etapa 3: configuração do software

Para software, consultar o site da Alchitry permitirá que você saiba o que você precisa para começar e instalar o Xilinx ISE. No entanto, alterar o arquivo.ucf para que ele saiba quais pinos estão conectados ao que é importante para que seu programa funcione.

Aqui está o arquivo.ucf que uso com o escudo:

CONFIG VCCAUX = 3,3;

NET "clk" TNM_NET = clk; TIMESPEC TS_clk = PERÍODO "clk" 50 MHz ALTO 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;

Lembre-se se você não instalou os resistores suspensos para editar os pinos no.ucf com

| PUXAR PARA BAIXO; o

| PUXAR PARA CIMA;

Se você quiser usar o bloco para qualquer coisa, as conexões são as seguintes. À esquerda é o número do pino do bloco e à direita é o número do pino mojo que você deve atribuir no seu.ucf:

pino 1 = 29

pino 2 = 51

pino 3 = 32

pino 4 = 41

pino 5 = 34

pino 6 = 35

pino 7 = 40

pino 8 = 33

pino 9 = GND

pino 10 = + V

Recomendado: