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 | PIN_T1 | 50 MHz clock input | 3.3V |
CLOCK1_50MHz | PIN_T2 | 50 MHz clock input | 3.3V |
CLOCK2_50MHz | PIN_T21 | 50 MHz clock input | 3.3V |
CLOCK3_50MHz | PIN_T22 | 50 MHz clock input | 3.3V |
SMA_CLKIN | PIN_A12 | SMA clock input | 3.3V |
SMA_CLKIN1 | PIN_B12 | SMA clock input | 3.3V |
SMA_CLKOUT | PIN_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] | PIN_V21 | Chave tipo Slide Switch 0 | 3.3V |
SW[1] | PIN_W22 | Chave tipo Slide Switch 1 | 3.3V |
SW[2] | PIN_W21 | Chave tipo Slide Switch 2 | 3.3V |
SW[3] | PIN_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] | PIN_V22 | Botão tipo Push Button 0 | 3.3V |
KEY[1] | PIN_U20 | Botão tipo Push Button 1 | 3.3V |
KEY[2] | PIN_U22 | Botão tipo Push Button 2 | 3.3V |
KEY[3] | PIN_U16 | Botão tipo Push Button 3 | 3.3V |
KEY[4] | PIN_W20 | Botão tipo Push Button 4 | 3.3V |
KEY[5] | PIN_U21 | Botão tipo Push Button 5 | 3.3V |
KEY[6] | PIN_V15 | Botão tipo Push Button 6 | 3.3V |
KEY[7] | PIN_W17 | Botão tipo Push Button 7 | 3.3V |
KEY[8] | PIN_W19 | Botão tipo Push Button 8 | 3.3V |
KEY[9] | PIN_W15 | Botão tipo Push Button 9 | 3.3V |
KEY[10] | PIN_U17 | Botão tipo Push Button 10 | 3.3V |
KEY[11] | PIN_Y17 | Botão tipo Push Button 11 | 3.3V |
Placa de Expansão com 16 chaves
A Mercurio IV é acompanhada de uma placa de expansão com 16 chaves, dispostas em dois grupos de 8. O grupo da esquerda posicionado sobre o conector de GPIO compreede as chaves do grupo A (SA[0..7]), e as da direita as chaves do grupo B (SB[0..7]). Estas chaves estão ligadas a um filtro RC, porém ainda é indicado utilizar processos de eliminação de repique para evitar a introdução de glitches na FPGA. A placa pode ser conectada em uma das interfaces GPIO, porém é recomendado utilizar a interface GPIO0 (o conector "DE DENTRO") para evitar a inversão da placa, o que pode levar a problemas de sobretensão por haver um sinal de 5V no GPIO0.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
SA[0] | PIN_E16 | Chave tipo Slide Switch 0 | 3.3V |
SA[1] | PIN_H22 | Chave tipo Slide Switch 1 | 3.3V |
SA[2] | PIN_F16 | Chave tipo Slide Switch 2 | 3.3V |
SA[3] | PIN_F19 | Chave tipo Slide Switch 3 | 3.3V |
SA[4] | PIN_H21 | Chave tipo Slide Switch 4 | 3.3V |
SA[5] | PIN_J22 | Chave tipo Slide Switch 5 | 3.3V |
SA[6] | PIN_F20 | Chave tipo Slide Switch 6 | 3.3V |
SA[7] | PIN_H19 | Chave tipo Slide Switch 7 | 3.3V |
SB[0] | PIN_J21 | Chave tipo Slide Switch 0 | 3.3V |
SB[1] | PIN_K21 | Chave tipo Slide Switch 1 | 3.3V |
SB[2] | PIN_H20 | Chave tipo Slide Switch 2 | 3.3V |
SB[3] | PIN_H18 | Chave tipo Slide Switch 3 | 3.3V |
SB[4] | PIN_L22 | Chave tipo Slide Switch 4 | 3.3V |
SB[5] | PIN_L21 | Chave tipo Slide Switch 5 | 3.3V |
SB[6] | PIN_J18 | Chave tipo Slide Switch 6 | 3.3V |
SB[7] | PIN_M21 | Chave tipo Slide Switch 7 | 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] | PIN_J7 | Coluna 0 da matriz de LEDs | 3.3V |
LEDM_C[1] | PIN_J6 | Coluna 1 da matriz de LEDs | 3.3V |
LEDM_C[2] | PIN_K8 | Coluna 2 da matriz de LEDs | 3.3V |
LEDM_C[3] | PIN_J8 | Coluna 3 da matriz de LEDs | 3.3V |
LEDM_C[4] | PIN_L8 | Coluna 4 da matriz de LEDs | 3.3V |
LEDM_R[0] | PIN_F10 | Linha 0 da matriz de LEDs | 3.3V |
LEDM_R[1] | PIN_C8 | Linha 1 da matriz de LEDs | 3.3V |
LEDM_R[2] | PIN_E9 | Linha 2 da matriz de LEDs | 3.3V |
LEDM_R[3] | PIN_G9 | Linha 3 da matriz de LEDs | 3.3V |
LEDM_R[4] | PIN_F9 | Linha 4 da matriz de LEDs | 3.3V |
LEDM_R[5] | PIN_F8 | Linha 5 da matriz de LEDs | 3.3V |
LEDM_R[6] | PIN_G8 | Linha 6 da matriz de LEDs | 3.3V |
LEDM_R[7] | PIN_H11 | Linha 7 da matriz de LEDs | 3.3V |
- Datasheet
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 | PIN_D7 | Elemento vermelho do LED RGB | 3.3V |
LED_G | PIN_D6 | Elemento verde do LED RGB | 3.3V |
LED_B | PIN_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 Catodo 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] | PIN_V2 | Segmento A - Display 0 | 3.3V |
DISP0_D[1] | PIN_V1 | Segmento B - Display 0 | 3.3V |
DISP0_D[2] | PIN_U2 | Segmento C - Display 0 | 3.3V |
DISP0_D[3] | PIN_U1 | Segmento D - Display 0 | 3.3V |
DISP0_D[4] | PIN_Y2 | Segmento E - Display 0 | 3.3V |
DISP0_D[5] | PIN_Y1 | Segmento F - Display 0 | 3.3V |
DISP0_D[6] | PIN_W2 | Segmento G - Display 0 | 3.3V |
DISP0_D[7] | PIN_W1 | Ponto decimal - Display 0 | 3.3V |
DISP1_D[0] | PIN_R5 | Segmento A - Display 1 | 3.3V |
DISP1_D[1] | PIN_T5 | Segmento B - Display 1 | 3.3V |
DISP1_D[2] | PIN_T3 | Segmento C - Display 1 | 3.3V |
DISP1_D[3] | PIN_T4 | Segmento D - Display 1 | 3.3V |
DISP1_D[4] | PIN_M6 | Segmento E - Display 1 | 3.3V |
DISP1_D[5] | PIN_N7 | Segmento F - Display 1 | 3.3V |
DISP1_D[6] | PIN_N6 | Segmento G - Display 1 | 3.3V |
DISP1_D[7] | PIN_P6 | Ponto decimal - Display 1 | 3.3V |
- Datasheet
SDRAM
A placa Mercurio IV possui um chip de SDRAM de 512Mbits (64 MBytes). As tabelas abaixo apresentam as o timming para configuração do controlador de memória e o roteamento dos pinos para a FPGA da placa. Para integração com o NIOS2, é necessário utilizar um PLL para dar um atraso de 3ns na fase do clock encaminhado ao chip de memória.
Signal | Name FPGA | Pin No. Description | I/O Standard |
---|---|---|---|
SDRAM_A[0] | PIN_P2 | SDRAM Address Bit 0 | 3v3 |
SDRAM_A[1] | PIN_R1 | SDRAM Address Bit 1 | 3v3 |
SDRAM_A[2] | PIN_P3 | SDRAM Address Bit 2 | 3v3 |
SDRAM_A[3] | PIN_R2 | SDRAM Address Bit 3 | 3v3 |
SDRAM_A[4] | PIN_P4 | SDRAM Address Bit 4 | 3v3 |
SDRAM_A[5] | PIN_P5 | SDRAM Address Bit 5 | 3v3 |
SDRAM_A[6] | PIN_N5 | SDRAM Address Bit 6 | 3v3 |
SDRAM_A[7] | PIN_M4 | SDRAM Address Bit 7 | 3v3 |
SDRAM_A[8] | PIN_N1 | SDRAM Address Bit 8 | 3v3 |
SDRAM_A[9] | PIN_M2 | SDRAM Address Bit 9 | 3v3 |
SDRAM_A[10] | PIN_P1 | SDRAM Address Bit 10 | 3v3 |
SDRAM_A[11] | PIN_M3 | SDRAM Address Bit 11 | 3v3 |
SDRAM_A[12] | PIN_L6 | SDRAM Address Bit 12 | 3v3 |
SDRAM_BA[0] | PIN_J4 | SDRAM Bank Select Bit 0 | 3v3 |
SDRAM_BA[1] | PIN_H2 | SDRAM Bank Select Bit 1 | 3v3 |
SDRAM_D[0] | PIN_B2 | SDRAM Data Bit 0 | 3v3 |
SDRAM_D[1] | PIN_B1 | SDRAM Data Bit 1 | 3v3 |
SDRAM_D[2] | PIN_C2 | SDRAM Data Bit 2 | 3v3 |
SDRAM_D[3] | PIN_C1 | SDRAM Data Bit 3 | 3v3 |
SDRAM_D[4] | PIN_D2 | SDRAM Data Bit 4 | 3v3 |
SDRAM_D[5] | PIN_E3 | SDRAM Data Bit 5 | 3v3 |
SDRAM_D[6] | PIN_F2 | SDRAM Data Bit 6 | 3v3 |
SDRAM_D[7] | PIN_F1 | SDRAM Data Bit 7 | 3v3 |
SDRAM_D[8] | PIN_J2 | SDRAM Data Bit 8 | 3v3 |
SDRAM_D[9] | PIN_H6 | SDRAM Data Bit 9 | 3v3 |
SDRAM_D[10] | PIN_H5 | SDRAM Data Bit 10 | 3v3 |
SDRAM_D[11] | PIN_J3 | SDRAM Data Bit 11 | 3v3 |
SDRAM_D[12] | PIN_G3 | SDRAM Data Bit 12 | 3v3 |
SDRAM_D[13] | PIN_G4 | SDRAM Data Bit 13 | 3v3 |
SDRAM_D[14] | PIN_G5 | SDRAM Data Bit 14 | 3v3 |
SDRAM_D[15] | PIN_E4 | SDRAM Data Bit 15 | 3v3 |
SDRAM_DQM[0] | PIN_E1 | SDRAM Byte Enable 0 | 3v3 |
SDRAM_DQM[1] | PIN_J5 | SDRAM Byte Enable 1 | 3v3 |
SDRAM_CLK | PIN_E5 | SDRAM Clock In | 3v3 |
SDRAM_CKE | PIN_M5 | SDRAM Clock Enable | 3v3 |
SDRAM_CAS_N | PIN_M1 | SDRAM Column Address Strobe (N) | 3v3 |
SDRAM_CS_N | PIN_H1 | SDRAM Chip Select (N) | 3v3 |
SDRAM_RAS_N | PIN_N2 | SDRAM Row Address Strobe (N) | 3v3 |
SDRAM_WE_N | PIN_J1 | SDRAM Write Enable (N) | 3v3 |
- Datasheet
ADC
DAC
Display de 7 segmentos
Na placa Mercurio IV existe um chip SDRAM de 512Mbits conectado à FPGA. O modelo do chip SDRAM é IS42S16320B (ISSI). Ele possui quatro bancos de memória, sendo que cada um possui 8 M x 16 bits. Cada banco é estruturado em 8192 linhas (13 bits para enumerar) e 1024 colunas (10 bits para enumerar).