Pinagem dos dispositivos de entrada e saída do kit MERCURIO IV
Para encontrar as informações completas sobre o kit Mercurio IV consulte diretamente o Manual do Usuário, [1] e o Diagrama Esquemático, [2] do fabricante. Para facilitar o acesso as informações mais utilizadas nos projetos didáticos, são listadas a seguir alguns dos pinos e sua ligação externa no kit.
O FPGA que equipa a placa Mercurio IV é uma Cyclone IV EP4CE30F23, a qual possui 30 mil elementos lógicos.
Clock
O clock de entrada do FPGA é de 50 MHz. O sinal de CLOCK_50MHZ está disponível nos pinos T1, T2, T21 e T22 do FPGA. Um clock externo diferente pode ser conectado ao FPGA através do conector SMA (SMA_CLKIN), e da mesma forma um clock internamente gerado por ser conectado o conector SMA (SMA_CLKOUT).
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
CLOCK_50MHz | T1 | 50 MHz clock input | 3.3V |
CLOCK1_50MHz | T2 | 50 MHz clock input | 3.3V |
CLOCK2_50MHz | T21 | 50 MHz clock input | 3.3V |
CLOCK3_50MHz | T22 | 50 MHz clock input | 3.3V |
SMA_CLKIN | A12 | SMA clock input | 3.3V |
SMA_CLKIN1 | B12 | SMA clock input | 3.3V |
SMA_CLKOUT | E6 | SMA clock outpur | 3.3V |
Chaves
A placa Mercurio® IV possui quatro chaves do tipo Slide Switch que são conectadas diretamente ao FPGA. Se a chave estiver posicionada na parte de baixo, o nível lógico na porta do FPGA será ‘0’, se a chave estiver posicionada para cima o nível lógico produzido será ‘1’. Elas estão ligadas a filtros RC, porém, mesmo assim, pode ser interessante implementar um processo de debounce do sinal, a fim de evitar glitches na troca de posição das chaves.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
SW[0] | V21 | Chave tipo Slide Switch 0 | 3.3V |
SW[1] | W22 | Chave tipo Slide Switch 1 | 3.3V |
SW[2] | W21 | Chave tipo Slide Switch 2 | 3.3V |
SW[3] | Y22 | Chave tipo Slide Switch 3 | 3.3V |
Teclado numérico
Na placa Mercurio IV existe uma organização de 12 botões do tipo push button que estão arranjados de forma a simular um teclado telefônico. Os botões não pressionados geram sinal de nível Lógico baixo na entrada do FPGA, e quando apertados geram um pulso de nível lógico alto.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
KEY[0] | V22 | Botão tipo Push Button 0 | 3.3V |
KEY[1] | U20 | Botão tipo Push Button 1 | 3.3V |
KEY[2] | U22 | Botão tipo Push Button 2 | 3.3V |
KEY[3] | U16 | Botão tipo Push Button 3 | 3.3V |
KEY[4] | W20 | Botão tipo Push Button 4 | 3.3V |
KEY[5] | U21 | Botão tipo Push Button 5 | 3.3V |
KEY[6] | V15 | Botão tipo Push Button 6 | 3.3V |
KEY[7] | W17 | Botão tipo Push Button 7 | 3.3V |
KEY[8] | W19 | Botão tipo Push Button 8 | 3.3V |
KEY[9] | W15 | Botão tipo Push Button 9 | 3.3V |
KEY[10] | U17 | Botão tipo Push Button 10 | 3.3V |
KEY[11] | Y17 | Botão tipo Push Button 11 | 3.3V |
Matriz de Leds
A matriz de LEDs da placa Mercurio IV é composta por oito linhas e cinco colunas de LEDs, conforme a Figura 13. Cada linha e cada coluna está conectada a um pino do FPGA, portanto, para acender apenas o LED superior esquerdo, por exemplo, é necessário colocar a linha superior e a coluna esquerda em nível baixo, os demais sinais devem permanecer em nível alto (lógica invertida). Ou seja, o acesso à matriz deve ser multiplexado, ou por linhas ou por colunas.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
LEDM_C[0] | J7 | Coluna 0 da matriz de LEDs | 3.3V |
LEDM_C[1] | J6 | Coluna 1 da matriz de LEDs | 3.3V |
LEDM_C[2] | K8 | Coluna 2 da matriz de LEDs | 3.3V |
LEDM_C[3] | J8 | Coluna 3 da matriz de LEDs | 3.3V |
LEDM_C[4] | L8 | Coluna 4 da matriz de LEDs | 3.3V |
LEDM_R[0] | F10 | Linha 0 da matriz de LEDs | 3.3V |
LEDM_R[1] | C8 | Linha 1 da matriz de LEDs | 3.3V |
LEDM_R[2] | E9 | Linha 2 da matriz de LEDs | 3.3V |
LEDM_R[3] | G9 | Linha 3 da matriz de LEDs | 3.3V |
LEDM_R[4] | F9 | Linha 4 da matriz de LEDs | 3.3V |
LEDM_R[5] | F8 | Linha 5 da matriz de LEDs | 3.3V |
LEDM_R[6] | G8 | Linha 6 da matriz de LEDs | 3.3V |
LEDM_R[7] | H11 | Linha 7 da matriz de LEDs | 3.3V |
Led RGB
O LED RGB de alto brilho possui três elementos internos, o vermelho, o verde e o azul. Esses três elementos são utilizados para que o LED possa emitir sete cores diferentes:
- Vermelho – elemento R;
- Verde – elemento G;
- Azul – elemento B;
- Amarelo – elementos R e G;
- Ciano – elementos G e B;
- Magenta – elementos R e B;
- Branco – elementos R, G e B.
Cada elemento possui um pino associado, sendo os três elementos conectados ao FPGA e o pino comum é conectado ao VCC. Assim o FPGA pode ativar ou desativar cada elemento do LED RGB colocando ‘0’ no pino associado, sendo possível gerar as sete cores do LED.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
LED_R | D6 | Elemento vermelho do LED RGB | 3.3V |
LED_G | D7 | Elemento verde do LED RGB | 3.3V |
LED_B | E7 | Elemento azul do LED RGB | 3.3V |
- Datasheets
Display de 7 segmentos
Na placa Mercurio IV existem dois displays de 7 segmentos arranjados um ao lado do outro, para ser possível exibir um número com dois algarismos. O display DISP0 fica a direita e o DISP1 a esquerda. Cada display possui um barramento de oito sinais ligado no FPGA, sete sinais para os segmentos e um sinal para o ponto decimal. Os displays são do tipo Anodo Comum, portanto, nível ‘1’ no pino de entrada acende o segmento do display e nível ‘0’ apaga o segmento.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
DISP0_D[0] | V2 | Segmento A - Display 0 | 3.3V |
DISP0_D[1] | V1 | Segmento B - Display 0 | 3.3V |
DISP0_D[2] | U2 | Segmento C - Display 0 | 3.3V |
DISP0_D[3] | U1 | Segmento D - Display 0 | 3.3V |
DISP0_D[4] | Y2 | Segmento E - Display 0 | 3.3V |
DISP0_D[5] | Y1 | Segmento F - Display 0 | 3.3V |
DISP0_D[6] | W2 | Segmento G - Display 0 | 3.3V |
DISP0_D[7] | W1 | Ponto decimal - Display 0 | 3.3V |
DISP1_D[0] | R5 | Segmento A - Display 1 | 3.3V |
DISP1_D[1] | T5 | Segmento B - Display 1 | 3.3V |
DISP1_D[2] | T3 | Segmento C - Display 1 | 3.3V |
DISP1_D[3] | T4 | Segmento D - Display 1 | 3.3V |
DISP1_D[4] | M6 | Segmento E - Display 1 | 3.3V |
DISP1_D[5] | N7 | Segmento F - Display 1 | 3.3V |
DISP1_D[6] | N6 | Segmento G - Display 1 | 3.3V |
DISP1_D[7] | P6 | Ponto decimal - Display 1 | 3.3V |