CRIAÇÃO DE UMA PLATAFORMA COMPUTACIONAL DIDÁTICA BASEADA EM MICROCONTROLADORES: HARDWARE

May 27, 2017 | Autor: Felipe Lopes | Categoria: Microcontrollers, AVR Microcontroller Programming
Share Embed


Descrição do Produto

SANTOS e KASCHNY (2013)

CRIAÇÃO DE UMA PLATAFORMA COMPUTACIONAL DIDÁTICA BASEADA EM MICROCONTROLADORES: HARDWARE 2

Felipe Matos Lopes dos Santos¹ e Jorge Ricardo de Araujo Kaschny ¹Grupo Sistemas Complexos, Bolsista PIBITI, IFBA Campus Vitória da Conquista. E-mail: [email protected]; 2 Grupo Sistemas Complexos, IFBA Campus Vitória da Conquista. E-mail: [email protected]

Artigo submetido em 09/Jun/2013 e aceito em xxxx/2013

RESUMO No presente trabalho apresentamos as linhas gerais relacionadas com o desenvolvimento do hardware de uma plataforma computacional didática. A referida plataforma pretende compor um hardware livre similar ao de um microcomputador completo utilizando microcontroladores. Na concepção atual teremos uma CPU baseada em um microcontroldor ATmega1284P com Clock de 14.7452 MHz, 16 kBytes de memória RAM e

128 kBytes de memória Flash para abrigar o sistema operacional. A interação com o usuário é composta por um display LCD gráfico, monocromático, e um teclado padrão PC-AT. Para o armazenamento de dados, utilizamos um cartão de memória SD, que atua de maneira similar a um disco rígido. Testes do protótipo demonstram a operacionalidade do hardware, ficando em aberto a implementação do sistema operacional.

PALAVRAS-CHAVE: Microcontroladores, Hardware, Computação.

DESIGN OF A DIDATIC COMPUTING PLATFORM BASED ON MICROCONTROLLERS: HARDWARE ABSTRACT In the present work we present the basic aspects related to the hardware development of a didactic computing platform. This project intends to propose a free hardware, using a single microcontroller, which work similar to a complete microcomputer. The actual circuit design has a CPU based on a ATMEGA1284P with clock of 14.7452 MHz, 16 Kbytes of RAM and 128 Kbytes of

flash memory for the operational system. The user interaction interface is formed by a monochrome graphic LCD display and a standard PC-AT keyboard. For data storage it is used a SD memory card, working like to a hard drive. Preliminary tests demonstrate the operability of the hardware, but the implementation of operational system remains an open point.

KEY-WORDS: Microcontrollers, Hardware, Computing.

Congresso Norte Nordeste de Pesquisa e Inovação, 2013

1

SANTOS e KASCHNY (2013)

CRIAÇÃO DE UMA PLATAFORMA COMPUTACIONAL DIDÁTICA BASEADA EM MICROCONTROLADORES: HARDWARE INTRODUÇÃO A evolução da informática na atualidade é indiscutivelmente espantosa. Tal afirmação é facilmente justificada sob uma perspectiva temporal; uma historia que muitos de nós presenciamos. Ao traçarmos um comparativo dos computadores disponíveis em um passado "recente", por exemplo, entre os anos 1975 e 1995, podemos ver tal evolução claramente. No Brasil, entre 1975 e 1983 tínhamos essencialmente mainframes, que ocupavam prédios inteiros, e mini computadores, muitos dos quais maiores que uma geladeira duplex. Tais sistemas possuíam capacidades de processamento, memória e armazenamento que podem ser facilmente classificadas como ridículas quando comparadas com a de um computador portátil atual ou mesmo com um tablet ou smartphone. Nessa mesma época, e um pouco além, algo entre 1983 e 1989, começaram a surgir no mercado nacional alguns computadores ditos pessoais, denominados como microcomputadores. Em geral eram clones de outros ‘micros’ fabricados no exterior tais como do Sinclair - TKs 82 e 85 da Microdigital, do MSX - Expert da Gradiente ou Hotbit da Sharp, do TRS80 - CPs 300 e 400 da Prologica ou JR da Sysdata, e do Apple II - TK2000 e TK3000 da Microdigital ou APII da Unitron (MCI, 2013). Este ultimo possuía uma arquitetura de 8bits baseada no processador 6502 com clock em torno de 1 MHz, memória RAM de 16 kbytes expansível até 64 kbytes, memória ROM de 16 kbytes que tipicamente abrigava o sistema operacional básico e um interpretador BASIC, saída de sinal composto para um televisor usado como monitor de vídeo colorido com até 16 cores, um teclado de 54 teclas sem acentuação e uma unidade de disquete de 5¼ polegadas com capacidade de armazenamento em torno de 170 kbytes a partir do qual o sistema operacional de disco (o DOS) tinha que ser carregado em RAM durante o boot. Excluindo a possibilidade de qualquer saudosismo exagerado, que é claramente inviável, tendo em mente os dados acima e comparando os mesmos com o potencial apresentado pelos microcontroladores atuais, fica evidente a possibilidade de construirmos um microcomputador completo usando praticamente um único chip. Limitando nosso horizonte a microcontroladores de 8 bits, podemos verificar, por exemplo, que um ATmega1284P pode operar com um clock de até 20 MHz, possuindo 128 kbytes de FLASH (ROM) e 16 kbytes de (S)RAM. Portanto, em termos de velocidade e capacidade de memoria, ele é razoavelmente compatível com a capacidade apresentada por vários microcomputadores da década de 1980. De fato a implementação de um microcomputador completo a partir de um circuito microcontrolador já foi feito em algumas oportunidades. Aqui cabe destacar os projetos ‘Ein Chip Computer’ coordenado por Merten Joost da Universidade Koblenz-Landau (ECC, 2013), ‘ChipBASIC’ de autoria de Jörg Wolfram (CHIPBASIC, 2013) e ‘Projekte M64’ concebido por André Klonz (PM64, 2013). Mantendo o foco nessa linha de raciocínio, poderíamos encarar a construção de um microcomputador completo, tendo como base um microcontrolador, como um desafio muito interessante a ser abraçado. Contudo, se encaramos tal projeto como constituindo a criação de uma ferramenta de aprendizagem aplicada para o ensino de ciência da computação, e áreas correlatas, verificamos que isso vai muito além de um simples desafio. Se analisarmos criticamente o panorama típico do estudo de computação e informática, podemos ver que muitos detalhes sobre o funcionamento de um computador fogem de nossa percepção. São Congresso Norte Nordeste de Pesquisa e Inovação, 2013

2

SANTOS e KASCHNY (2013)

detalhes essenciais, sem os quais nada funciona e que são comumente transparentes tanto aos usuários como também aos desenvolvedores. Aqui devemos lembrar que todo e qualquer software se conecta direta ou indiretamente com um hardware, ou seja, com um amontoado de circuitos eletrônicos cujo funcionamento encontra-se intimamente ligado com o seu projeto e construção. A abordagem mais corriqueira consiste em estudarmos o hardware, por exemplo de um PC, como um conjunto de blocos que devem ser interligados de maneira correta para formar um conjunto operacional. Assim ao conectarmos, por exemplo, uma placa de vídeo em um slot da placa-mãe dificilmente sabemos como tal interface opera ou mesmo como ela realmente se comunica com o resto do conjunto. Mesmo ao enviarmos um caractere para uma impressora, algo simples e corriqueiro, ignoramos solenemente o mecanismo de como esse dado se materializa em algo impresso em uma folha de papel. Os exemplos de tais situações são abundantes. Via de regra fugimos dessas questões, pois é praticamente impossível acessarmos todas as informações necessárias sobre o design do hardware, devido a sua complexidade atual ou mesmo devido a interesses comerciais e industriais. Portanto, seria algo interessante criarmos uma plataforma computacional didática, constituída de um hardware livre confeccionado a partir de componentes eletrônicos usuais e que qualquer um pode reproduzir, contendo softwares de base (firmware) com código aberto e detalhadamente documentados. Tendo em mente tais considerações, é descrito na presente contribuição uma proposta para o desenvolvimento do hardware de uma plataforma computacional didática. Em linhas gerais, a referida plataforma pretende compor um hardware similar ao de um microcomputador completo. Na concepção atual teríamos uma CPU baseada em um microcontrolador ATmega1284P, um display LCD gráfico monocromático atuando como um monitor de vídeo, uma entrada de teclado padrão PC-AT e um cartão de memória SD utilizado como dispositivo de armazenamento similar a um disco rígido (HDD). DESCRIÇÃO DO PROTÓTIPO Tal como mencionado acima, o circuito aqui proposto é baseado fundamentalmente no microcontrolador ATmega1284P, fabricado pela Atmel (ATMEL, 2013). Para desempenhar a função equivalente a de um monitor de vídeo foi escolhido um display gráfico LCD de 240x128 pontos modelo G241281BNHDWD, baseado no controlador T6963C fabricado pela Toshiba. O teclado utilizado é um miniteclado padrão AT, com conexão PS2, comumente usado em computadores pessoais. Como dispositivo de armazenamento não volátil foi usado um cartão de memoria do tipo SD, de 512 Mbytes, da marca SanDisk. Os testes preliminares foram baseados em um firmware desenvolvido utilizando a plataforma Bascom (MCS, 2013) em conjunto com a biblioteca AVR-DOS (VOEGEL, 2013). Tal biblioteca disponibiliza um sistema de arquivos completo do tipo FAT, sendo ela de uso livre para aplicações não comerciais. Cabe aqui salientar que um dos pontos mais importantes, e pouco documentados, diz respeito ao uso do display acima citado. Além da evidente necessidade de uma biblioteca adequada ao controlador T6963C, é indispensável desabilitar o FUSE BIT correspondente ao ‘flag’ JTAG, habilitando-se o que indica ‘clock provido por um cristal externo’. Sem tais adequações o sistema simplesmente não funciona. O diagrama esquemático do circuito que se encontra em desenvolvimento é mostrado na figura 1. Congresso Norte Nordeste de Pesquisa e Inovação, 2013

3

SANTOS e KASCHNY (2013)

Figura 1 – Diagrama esquemático do circuito em desenvolvimento. Congresso Norte Nordeste de Pesquisa e Inovação, 2013

4

SANTOS e KASCHNY (2013)

A alimentação de +5 V é fornecida via uma fonte externa qualquer, como por exemplo, a tensão fornecida por uma porta USB de um PC, via o conector JC3. Para prover a alimentação adequada ao cartão de memoria SD, foi incluído no circuito um regulador de tensão LM1117/3.3 capaz de fornecer os +3.3 V necessários. Para gerar a tensão de -12 V requerido pelo display LCD, foi utilizado um oscilador de aproximadamente 160 kHz, baseado em um temporizador NE555. Tal oscilador aciona um pequeno inversor cuja saída é diretamente ligada ao potenciômetro P1, possibilitando assim um ajuste de contraste. A tensão destinada à alimentação do ‘backlight’ é ajustada via o potenciômetro P2, que por sua vez constitui uma espécie de ajuste de brilho. Além das conexões correspondentes ao cristal e a alimentação do microcontrolador, que seguem as orientações do fabricante, implementa-se alguns circuitos adicionais indispensáveis. Os pinos PB0 e PB1 controlam um ‘buzzer’ e um LED, respectivamente, usados para sinalização. O teclado PS2 é conectado via JC1 diretamente nos pinos PB3 e PB4. As portas PA (pinos PA0 até PA7) e PC (pinos PC0 até PC7) são inteiramente dedicas ao controle e comunicação com o display gráfico via o conector JC5, de 26 pinos. O conector JC2, ligado aos pinos PB5, PB6, PB7 e RESET, pode ser tanto usado para a comunicação com o modulo de armazenamento quanto para a atualização do firmware via ISP (In-System Programming). Para isso temos que desabilitar o interruptor de reset do sistema, movendo o jumper dos terminais 3-4 para os terminais 1-2 em JMP1. Uma interface serial TTL (UART0) é disponibilizada em JC4, sendo os demais pinos (PD2, PD3, PD6 e PB2) reservados para uma segunda porta serial (UART1) ou qualquer outra expansão. A comunicação com o modulo de armazenamento, cujo diagrama esquemático é ilustrado na figura 2, é efetuada via barramento SPI. Os sinais MOSI, MISO e SCK são fornecidos pelos pinos PB5, PB6 e PB7, respectivamente, sendo o SS (Slave Select) fornecido pelo pino PD7 via o conector JC4. Para efetuar a conversão de níveis de tensão entre sinais de +5 V (microcontrolador) e +3.3V (cartão de memoria SD) optou-se pelo uso de quatro MOSFETs, tal como indicado no diagrama da figura 2.

Figura 2 – Diagrama esquemático do módulo de armazenamento. MONTAGEM E TESTES PRELIMINARES A montagem do protótipo, correspondendo aos circuitos esquematizados nas figuras anteriores, foi efetuada utilizando uma placa padrão, sendo a mesma mostrada na figura 3. Congresso Norte Nordeste de Pesquisa e Inovação, 2013

5

SANTOS e KASCHNY (2013)

Batizamos tal protótipo de PHOTON, já que se trata de um sistema extremamente básico. Como se pode ver, a montagem tem dimensões ligeiramente menores que o miniteclado. O display gráfico é fixado sobre a placa principal, ficando o modulo de armazenamento localizado atrás do conjunto. Os ensaios efetuados com um firmware de teste atestam a funcionalidade de todo o circuito, ou seja, o protótipo opera de forma adequada, atingindo-se assim o objetivo principal do atual trabalho. Até mesmo os testes de comunicação serial com um PC, implementado via o uso de um conversor UART/USB do tipo FT232R, mostraram resultados altamente satisfatórios. Certamente uma montagem definitiva, usando uma placa de circuito impresso dedicada, reduzirá as dimensões do sistema e irá conferir ao mesmo uma maior robustez e confiabilidade.

Figura 3 – Aspecto geral do protótipo construído. CONCLUSÃO Na presente contribuição é proposto o desenvolvimento do hardware correspondente de uma plataforma computacional didática baseada em microcontroladores. O circuito projetado foi montado e testado, atingindo todas as funcionalidades planejadas. Contudo, ainda não temos uma versão preliminar para o seu sistema operacional. Esperamos que tal problema seja tratado por novos colaboradores, podendo constituir uma contribuição em uma futura oportunidade. REFERENCIAS 1. ATMEL. AVR Microcotrollers. Disponível em: . Acesso: 2013. 2. CHIPBASIC. Chipbasic: Ein Kleiner Einchip-Computer Mit Basic. Jörg Wolfram. Disponível em: . Acesso: 2013. 3. ECC. Ein Chip Computer. Mersen Joost - Universiät Koblenz-Landau. Disponível em: . Acesso: 2012. 4. FTDI. FT232R USB UART I.C. Disponível em: . Acesso: 2013. 5. MCI. Museu da Computação e Informática. Disponível em: . Acesso: 2013. 6. MCS. BASCOM AVR. Disponível em: . Acesso: 2013. 7. PM64. Projekte M64. Andre Klonz. Disponível em: . Acesso: 2013. 8. VOEGEL. AVR-DOS. Disponível em: < http://members.aon.at/voegel/>. Acesso: 2013.

Congresso Norte Nordeste de Pesquisa e Inovação, 2013

6

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.