Pinagem dos dispositivos de entrada e saída do kit MERCURIO IV

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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.

KitMERCURIO.png

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).

MercurioIV Clock50MHz.png
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.

SwitchesMercurioIV.jpg
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.

KeysMercurioIV.jpg
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] E16 Chave tipo Slide Switch 0 3.3V
SA[1] H22 Chave tipo Slide Switch 1 3.3V
SA[2] F16 Chave tipo Slide Switch 2 3.3V
SA[3] F19 Chave tipo Slide Switch 3 3.3V
SA[4] H21 Chave tipo Slide Switch 4 3.3V
SA[5] J22 Chave tipo Slide Switch 5 3.3V
SA[6] F20 Chave tipo Slide Switch 6 3.3V
SA[7] H19 Chave tipo Slide Switch 7 3.3V
SB[0] J21 Chave tipo Slide Switch 0 3.3V
SB[1] K21 Chave tipo Slide Switch 1 3.3V
SB[2] H20 Chave tipo Slide Switch 2 3.3V
SB[3] H18 Chave tipo Slide Switch 3 3.3V
SB[4] L22 Chave tipo Slide Switch 4 3.3V
SB[5] L21 Chave tipo Slide Switch 5 3.3V
SB[6] J18 Chave tipo Slide Switch 6 3.3V
SB[7] 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.

LedMatrixMercurioIV.png
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



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:

LedRGBMercurioIV.png
  • 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.

SSD0MercurioIV.png
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



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.

SignalName FPGAPin No. DescriptionI/O Standard
SDRAM_A[0]P2SDRAM Address Bit 03v3
SDRAM_A[1]R1SDRAM Address Bit 13v3
SDRAM_A[2]P3SDRAM Address Bit 23v3
SDRAM_A[3]R2SDRAM Address Bit 33v3
SDRAM_A[4]P4SDRAM Address Bit 43v3
SDRAM_A[5]P5SDRAM Address Bit 53v3
SDRAM_A[6]N5SDRAM Address Bit 63v3
SDRAM_A[7]M4SDRAM Address Bit 73v3
SDRAM_A[8]N1SDRAM Address Bit 83v3
SDRAM_A[9]M2SDRAM Address Bit 93v3
SDRAM_A[10]P1SDRAM Address Bit 103v3
SDRAM_A[11]M3SDRAM Address Bit 113v3
SDRAM_A[12]L6SDRAM Address Bit 123v3
SDRAM_BA[0]J4SDRAM Bank Select Bit 03v3
SDRAM_BA[1]H2SDRAM Bank Select Bit 13v3
SDRAM_D[0]B2SDRAM Data Bit 03v3
SDRAM_D[1]B1SDRAM Data Bit 13v3
SDRAM_D[2]C2SDRAM Data Bit 23v3
SDRAM_D[3]C1SDRAM Data Bit 33v3
SDRAM_D[4]D2SDRAM Data Bit 43v3
SDRAM_D[5]E3SDRAM Data Bit 53v3
SDRAM_D[6]F2SDRAM Data Bit 63v3
SDRAM_D[7]F1SDRAM Data Bit 73v3
SDRAM_D[8]J2SDRAM Data Bit 83v3
SDRAM_D[9]H6SDRAM Data Bit 93v3
SDRAM_D[10]H5SDRAM Data Bit 103v3
SDRAM_D[11]J3SDRAM Data Bit 113v3
SDRAM_D[12]G3SDRAM Data Bit 123v3
SDRAM_D[13]G4SDRAM Data Bit 133v3
SDRAM_D[14]G5SDRAM Data Bit 143v3
SDRAM_D[15]E4SDRAM Data Bit 153v3
SDRAM_DQM[0]E1SDRAM Byte Enable 03v3
SDRAM_DQM[1]J5SDRAM Byte Enable 13v3
SDRAM_CLKE5SDRAM Clock In3v3
SDRAM_CKEM5SDRAM Clock Enable3v3
SDRAM_CAS_NM1SDRAM Column Address Strobe (N)3v3
SDRAM_CS_NH1SDRAM Chip Select (N)3v3
SDRAM_RAS_NN2SDRAM Row Address Strobe (N)3v3
SDRAM_WE_NJ1SDRAM 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).