Desenvolvimento com A placa DE2 Desenvolvimento com a
Transcrição
Desenvolvimento com A placa DE2 Desenvolvimento com a
UNIFEI – Universidade Federal de Itajubá IESTI - Instituto de Engenharia de Sistemas e Tecnologia da Informação ELT029/ELT041 – Laboratório de Eletrônica Digital I / Digital II Desenvolvimento com a placa Altera DE2 DE Prof. Rodrigo de Paula Rodrigues 10 de Abril de 2012 A placa DE2 A placa DE2 da Altera é um kit de desenvolvimento para apreciação da família de arranjos de portas programáveis em campo (FPGA) Cyclone II. Essa placa emprega um dispositivo de lógica programável da série EP2C35F672C6N que, agregado ao a conjunto de periféricos do kit, permitem com que sejam desenvolvidas aplicações simples de lógica combinacional até complexas aplicações de lógica sequencial envolvendo processamento de sinais de áudio, vídeo e afins. A figura seguinte apresenta a placa DE2 e evidencia seus periféricos. periféricos DE2 - Tutorial de gravação 1/11 Periféricos na placa DE2: A – Conector de alimentação da placa; B – Conector USB para o gravador USB-Blaster; C – Conector USB para atuar como cliente USB; D – Conector USB para atuar como hospedeiro USB; E – Conectores de entrada e saída de áudio; F – Conectores de entrada e saída de vídeo; G – Conector Ethernet RJ45; H – Conector RS232; I – Conector de entrada OS2 para mouse e teclado; J – Conectores de expansão; K – Conector para cartão de dados SD; L – Porta de comunicação infra-vermelho; M – Chaves de apertar; N – Chaves de seleção liga/desliga; O – Conjunto de diodos emissores de luz (LED); P – Display LCD de 16x2 linhas; Q – Chave de escolha entre os modos de gravação e programação; R – Botão liga/desliga da placa DE2; S – Memória SDRAM de 8 MB; T – Memória SRAM de 512 kB; U – Memória Flash de 4 MB; V – FPGA Cyclone II EP2C35F672C6N; X – Memória de configuração para o FPGA; W – Displays de 7 segmentos. DE2 - Tutorial de gravação 2/11 Periféricos da placa DE2 Alguns dos periféricos presentes no kit DE2 são citados na sequência. 1 - Chaves de seleção de estado As chaves de seleção de estados são os periféricos de SW[0] a SW[17]. Seu estado lógico alto ocorre quando a chave estiver em sua posição para cima. Chave de seleção Chave de seleção Periférico SW[0] FPGA PIN_N25 Periférico SW[9] FPGA PIN_A13 SW[1] PIN_N26 SW[10] PIN_N1 SW[2] PIN_P25 SW[11] PIN_P1 SW[3] PIN_AE14 SW[12] PIN_P2 SW[4] PIN_AF14 SW[13] PIN_T7 SW[5] PIN_AD13 SW[14] PIN_U3 SW[6] PIN_AC13 SW[15] PIN_U4 SW[7] PIN_C13 SW[16] PIN_V1 SW[8] PIN_B13 SW[17] PIN_V2 2 - Botões de pressionamento Os botões de pressionamento presentes no kit são os periféricos de nome KEY[0] a KEY[3]. Estas chaves são do tipo normalmente fechadas e, desta forma, geram um pulos negativo ao serem pressionadas. Sem pressionamento, essas chaves geram nível lógico alto. Botões Periférico KEY[0] FPGA PIN_G26 KEY[1] PIN_N23 KEY[2] PIN_P23 KEY[3] PIN_W26 3 - LEDs de sinalização O kit DE2 possui 2 grupos de LEDs associados a pinos de seu dispositivo de lógica programável. Os periféricos de nome LEDR[0] a LEDR[17] emitem luz na cor vermelha, periféricos de nome LEDG[0] a LEDG[8] emitem luz na cor verde. DE2 - Tutorial de gravação 3/11 LEDs de cor vermelha LEDs de cor vermelha LEDs de cor verde Periférico LEDR[0] FPGA PIN_AE23 Periférico LEDR[9] FPGA PIN_Y13 Periférico LEDG[0] FPGA PIN_AE22 LEDR[1] PIN_AF23 LEDR[10] PIN_AA13 LEDG[1] PIN_AF22 LEDR[2] PIN_AB21 LEDR[11] PIN_AC14 LEDG[2] PIN_W19 LEDR[3] PIN_AC22 LEDR[12] PIN_AD15 LEDG[3] PIN_V18 LEDR[4] PIN_AD22 LEDR[13] PIN_AE15 LEDG[4] PIN_U18 LEDR[5] PIN_AD23 LEDR[14] PIN_AF13 LEDG[5] PIN_U17 LEDR[6] PIN_AD21 LEDR[15] PIN_AE13 LEDG[6] PIN_AA20 LEDR[7] PIN_AC21 LEDR[16] PIN_AE12 LEDG[7] PIN_Y18 LEDR[8] PIN_AA14 LEDR[17] PIN_AD12 LEDG[8] PIN_Y12 4 – Displays de 7 segmentos Estão presentes oito displays de 7 segmentos na placa. Esses periféricos recebem a designação de HEX[0] a HEX[7] e são do tipo anodo comum, ou seja, cada um de seus segmentos é ativo com nível lógico baixo. O pino de acionamento do segmento de ponto decimal de cada um desses periféricos não foi conectado a um pino do FPGA e, desta forma, não pode ser manipulado. 330 Ω a 330 Ω b 330 Ω 3.3V c 330 Ω d 330 Ω e 330 Ω f 330 Ω g Para se trabalhar com esse tipo de display, se deve especificar o sinal de estado de acionamento para cada um dos 7 segmentos que compõem um dígito. A forma mais comum de aplicar este tipo de periférico é utilizá-lo como display numérico de 0 a 9, muito embora seja possível também se trabalhar com os dígitos hexadecimais de a a f. As duas próximas tabelas possuem a relação entre os dígitos hexadecimais e os respectivos estados lógicos necessários para reproduzi-los por meio dos displays de 7 segmentos presentes na placa DE2. Dígito 0 a b c d e f g Dígito 8 a b c d e f g 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 9 0 0 0 0 1 0 0 2 0 0 1 0 0 1 0 A 0 0 0 1 0 0 0 3 0 0 0 0 1 1 0 b 1 1 0 0 0 0 0 4 1 0 0 1 1 0 0 c 1 1 1 0 0 1 0 5 0 1 0 0 1 0 0 d 1 0 0 0 0 1 0 6 0 1 0 0 0 0 0 E 0 1 1 0 0 0 0 1 F 0 1 1 1 0 0 0 7 0 0 DE2 - Tutorial de gravação 0 1 1 1 4/11 As 8 tabelas seguintes possuem o mapa de associação dos segmentos dos oito displays presentes no kit de ensino. HEX0 Periférico a b HEX1 FPGA PIN_AF10 Periférico a HEX2 FPGA PIN_V20 Periférico a HEX3 FPGA PIN_AB23 Periférico a FPGA PIN_Y23 PIN_AA25 PIN_AB12 b PIN_V21 b PIN_V22 b c PIN_AC12 c PIN_W21 c PIN_AC25 c PIN_AA26 d PIN_AD11 d PIN_Y22 d PIN_AC26 d PIN_Y26 e PIN_AE11 e PIN_AA24 e PIN_AB26 e PIN_Y25 f PIN_V14 f PIN_AA23 f PIN_AB25 f PIN_U22 g PIN_V13 g PIN_AB24 g PIN_Y24 g PIN_W24 HEX4 Periférico a b HEX5 FPGA PIN_U9 Periférico a HEX6 FPGA PIN_T2 Periférico a HEX7 FPGA PIN_R2 Periférico a FPGA PIN_L3 PIN_U1 b PIN_P6 b PIN_P4 b PIN_L2 c PIN_U2 c PIN_P7 c PIN_P3 c PIN_L9 d PIN_T4 d PIN_T9 d PIN_M2 d PIN_L6 e PIN_R7 e PIN_R5 e PIN_M3 e PIN_L7 f PIN_R6 f PIN_R4 f PIN_M5 f PIN_P9 g PIN_T3 g PIN_R3 g PIN_M4 g PIN_N9 DE2 - Tutorial de gravação 5/11 Gravação do dispositivo FPGA Os passos para se gravar uma descrição em HDL ou um circuito esquemático no dispositivo de lógica programável presente na placa DE2 são os seguintes: 1. 2. 3. 4. 5. Especificar, junto ao projeto, o FPGA com o qual trabalhar; Associar as portas de entrada e de saída do circuito a pinos do FPGA; Especificar o tratamento aos pinos não utilizados; Configurar o processo de gravação; Efetuar a gravação. 1 - Especificação do FPGA com o qual trabalhar Para que o projeto em desenvolvimento por meio do Quartus II possa ser programado no FPGA do kit DE2, o dispositivo EP2C35F672C6 deve ser especificado como o dispositivo de destino para o projeto. Para criar tal relacionamento, se deve executar os seguintes passos: 1 – Na interface do assistente de criação de novo projeto ou na interface acessível por meio da opção de menu “Associações | Dispositivo” e, então, opção “Dispositivo”, escolher a família Cyclone II; 2 – Escolher o modelo EP2C35F672C6 na lista de dispositivos disponíveis. Interface acessada durante o assistente de criação de novo projeto DE2 - Tutorial de gravação Interface acessada através do item de menu “Associações|Dispositivo” 6/11 2 - Associação das portas do circuito aos pinos do FPGA Para que os periféricos presentes na placa DE2 possam ser acessados por um circuito esquemático ou uma descrição em HDL, os pinos relacionados aos periféricos da placa com os quais o projeto interagirá devem ser associados com as portas de entrada e saída do projeto em desenvolvimento. Para se realizar o mapeamento em questão, deve-se abrir a interface de planejamento de pinos por meio do botão de planejamento de pinos presente na interface principal do Quartus II. Uma vez na interface de planejamento de pinos, basta associar cada uma das portas de entrada/saída do projeto com um respectivo pino do FPGA. Este relacionamento pode ser feito ou se escolhendo cada um dos pinos presentes na representação gráfica do FPGA ou se utilizando a tabela de relacionamento presente na divisão inferior da interface. Para realizar tal associação por meio da tabela, basta prosseguir à linha relacionada à porta a ser associada e, na respectiva coluna localização, fornecer o nome do pino ao qual a porta será associada. Este processo deve ser repetido para cada uma das portas do circuito em desenvolvimento. DE2 - Tutorial de gravação 7/11 Uma segunda forma de realizar a associação de pinos é importar uma associação já existente. Neste caso, as portas presentes no circuito em desenvolvimento devem coincidir com as portas de entrada e de saída presentes na associação a ser importada. O modelo do dispositivo lógico programável em uso pelo circuito e o presente no arquivo de importação também devem coincidir. Para efetuar a importação de uma associação já existente, entre na interface de planejamento de pinos, acessível via botão de planejamento de pinos presente na interface principal do Quartus II ou por meio da opção de menu “Associações | Pinos”. Com tal interface aberta, seleciona a opção de menu “Associações | Importar associações”. Na interface que se abrirá, selecione o arquivo com as informações de associação de pinos e então confirme a importação. 3 - Tratamento aos pinos não utilizados Uma vez que a placa DE2 contém um conjunto de periféricos fisicamente conectados aos pinos de seu FPGA, projetos que não se utilizem de todos os pinos do dispositivo devem colocar em estado de inatividade (alta impedância) todos os pinos que não tenham aplicação no projeto. Cada um dos pinos de entrada/saída de um FPGA da família Cyclone II possui um estado de altaimpedância que pode ser ativado por meio de configuração no Quartus II. Esta configuração pode ser acessada por meio do botão “Opções do Dispositivo e de Pinos”, o qual é acessível por meio do item de menu “Associações | Dispositivo” e então a opção “Dispositivo”. DE2 - Tutorial de gravação 8/11 Já na interface que se abre ao se pressionar o botão citado, deve-se acessar a aba “Pinos não utilizados” e, então, escolher a opção “Como entradas em estado de alta-impedância” (As input tri-stated) na caixa de seleção “Reserve pinos não utilizados como:”. Importante: Uma vez efetuada a associação de pinos e a especificação do tratamento de pinos não utilizados, deve-se recompilar o projeto. 4 – Configuração do processo de gravação Para que ocorra com êxito, o processo de gravação deve ser corretamente configurado. Com a placa DE2 corretamente conectada ao circuito de alimentação, ligada e então conectada ao computador por meio de seu cabo de conexão USB, acesse o botão programador presente na interface principal do aplicativo. Uma vez na interface de programação do dispositivo, acesse o botão “Configuração de Hardware”. DE2 - Tutorial de gravação 9/11 Na interface que se abre, escolha o equipamento USB-Blaster na caixa de seleção do equipamento correntemente selecionado e então feche a interface por meio do botão fechar. Ainda na interface de gravação, garanta que o equipamento selecionado é o USB-Blaster e que o modo, JTAG. Na chave de seleção presente na placa (periférico Q), selecione a posição “RUN”. 5 – Efetuando a gravação Uma vez configurado o processo de gravação, a efetiva programação do FPGA é requisitada por meio do botão de Início presente na interface de gravação. DE2 - Tutorial de gravação 10/11 Se a gravação for efetuada com sucesso, a barra lateral de progresso sinalizará 100% e o projeto poderá, então, ser testado por meio da placa DE2 e seus periféricos. DE2 - Tutorial de gravação 11/11