Post on 07-Aug-2015
description
INTRODUÇÃO
As páginas seguintes mostrarão como é possível desenvolver um kit de
gravação e simulação de circuitos baseados em microcontroladores,
especificamente no 8051. Com os modestos tópicos a seguir, queremos mostrar
que é possível o desenvolvimento de tal tecnologia, bastando apenas
compreensão do funcionamento básico dos blocos de funcionamento de um
microcontrolador. Esse estudo pode ser entendido para microcontroladores de
outros fabricantes, tais como os microcontroladores da série PIC, Motorola e até
mesmo Holtek.
5
1.1 Objetivos
Este trabalho visa á criação de um modelo aberto de programação e
simulação de hardware com a arquitetura do 8051, neste caso explicitaremos o
funcionamento dos microcontroladores das séries AT89S51 e AT89S52, execução
dos processo de gravação tanto pela porta serial como paralela. Também
mostraremos sugestões de alguns softwares para gravação. O projetista de circuitos
poderá solucionar muitos processos que exijam repetição ao longo do tempo e isto
com o mínimo de circuitos extras.
Não é de nosso intuito esgotar o assunto, pois é necessário muita pesquisa
para que o projetista possa desenvolver suas aplicações. Nossa proposta que se
baseia no conceito de laboratório portátil, porém com uma certa flexibilidade na
arquitetura, para que o usuário desenvolva quaisquer aplicações que sua
imaginação permitir, respeitando os limites de processamento do equipamento.
1.2 Objetivos específicos
O projeto visa não somente uma arquitetura robusta para desenvolvimento de
processos, mas também uma vasta gama de aplicações que serão propostas
através de um sítio na Internet, sugestões para aplicações, e na documentação do
equipamento, assim como entradas e saídas da placa para a realização de
processos e leitura de dados.
6
MICROCONTROLADORES
Microcontroladores são componentes que podem executar diversas funções,
possuem memória interna (ROM) que permite gravar programas criados pelos
projetistas. Tais programas controlam as portas de entrada e saída de dados destes
dispositivos, facilitando assim a criação de projetos complexos com o mínimo de
dispositivos e o máximo de eficiência, dependendo apenas da criatividade do
projetista.
Com o crescimento da informática e da construção de componentes
eletrônicos mais eficientes, em 1974 foi lançado o primeiro microcontrolador pela
Texas, o TMS 1000, com apenas 4 bits, RAM e ROM.
Em 1977, a Intel lançou o 8048 que possuía memória externa (ROM) e
memória de dados (RAM).
Os anos 80 iniciaram uma revolução no processo de automação. A Intel
lançou o 8051, que possui 4K de memória de programa e 128 bytes de memória de
dados.
Desde o lançamento do microcontrolador TMS 1000, vemos uma explosão de
fabricantes e conceitos de microcontroladores tais como os da ATMEL, HOLTEK,
MOTOROLA, MICROCHIP, dentre outros. (1)
7
1.1 Microcontroladores versus Microprocessadores
Microcontroladores são diferentes de microprocessadores. A diferença está
na funcionalidade do primeiro. O microprocessador necessita de componentes
extras para que possa executar suas funcionalidades, tais como memórias e
periféricos, para enviar e receber dados. Os microcontroladores foram projetados
para possuírem memórias e periféricos de entrada e saída agregadas em um só
circuito integrado, onde nenhum outro componente externo é necessário para
execução de suas tarefas. Isso possibilita maior economia de espaço, tempo e
viabilidade para construção do projeto. (2)
Para aplicações específicas é necessário que o controle do processo seja
dedicado a um pequeno conjunto de tarefas. Para tal aplicação os
microcontroladores levam vantagem para controlar o ambiente externo. Estes
possuem circuitos eletrônicos mais adequados para a conexão ao ambiente e seu
custo acaba sendo reduzido, em comparação aos microprocessadores, que são
construídos para a otimização de processamento de dados, necessitando de auxílio
de diversos componentes externos, tais como: memórias, co-processadores,
dispositivos periféricos, dentre outros. Desta forma, sua principal aplicação torna-se
mais eficiente na execução de processamento de alto volume de dados. (3)
1.2 O microcontrolador 8051
8
São microcontroladores que incorporam memória de programa e dados em
sua estrutura interna. Possibilitam expansão para até 64 Kbytes de programa e mais
64 Kbytes de dados. O acesso à portas internas de I/O é permitido, canal de
comunicação UART full duplex, interrupções “nesting” com clock de 12 a 60 Mhz.
Através de softwares, é possível a execução de complexas operações aritméticas e
lógicas.
A escolha do 8051 para o desenvolvimento do projeto foi devido as
características de seu hardware interno:
- RAM Interna de uso geral de 128 bytes e 128 bytes para os registradores
especiais;
- ROM de 4 Kbytes;
- 4 portas I/O;
- 2 timers de 16 bits;
- Uma interface serial;
- Capacidade de 64 Kbytes de endereçamento externo de ROM;
- Capacidade de 64 Kbytes de endereçamento externo de RAM;
- Processador booleano;
- Ciclos típicos de instrução de 1 a 2 us a 12Mhz;
- Instrução direta de divisão e multiplicação;
- Entradas de interrupção externa;
Outras características importantes a ressaltar seriam as portas de comunicação do
8051, este possui:
- 8 portas de comunicação de uso geral, via software, sendo possível ler e escrever
nessas portas, sendo chamadas de (Port P1).
- 8 portas de uso geral para comunicação externa caso o projetista não as utilize
para comunicação externa com RAM/ROM/EPROM. Essas portas são chamadas
(Port P2).
- 8 portas de comunicação com RAM externas, interface entre os periféricos internos
do chip e externos a ele. Entradas programáveis também podem ser utilizadas com
I/O. São conhecidas como (Port P3). (4)
O HARDWARE BÁSICO
9
Quase todos os processadores atualmente são utilizados em sistemas
embarcados. Seu início ocorre na fabricação de computadores pessoais, mas
diferentes destes que são utilizados para executar uma tarefa específica. O projeto a
ser apresentado visa execução de algumas aplicações, de acordo com a
necessidade do usuário, sejam elas multitarefa ou individuais. As aplicações a
serem desenvolvidas dependem das características físicas externas de cada
hardware que são projetados para executarem tarefas genéricas independendo de
seus hardware interno. As aplicações serão bem sucedidas de acordo com o nível
de proteção física do hardware que estará sujeito ao meio ambiente o qual esse será
submetido.
2.1 O circuto de Clock
O circuito interno do microcontrolador é formado por um circuito oscilador,
chamado de clock. Depende de uma ligação externa através de cristal e capacitores.
“É o relógio interno do microprocessador para execução de qualquer atividade
interna ou externa à máquina.” (NICOLESI, 2009, p98)
O circuito abaixo nos mostra a ligação feita para que o circuito funcione
adequadamente, reparemos na figura 1 o uso de capacitores e o cristal ligados nos
pinos 18 e 19.
Figura 1. Circuito oscilador.
Os capacitores podem ser entre 10pf a 30pf e o cristal de até 12Mhz para as
versões AT89Sxxx.
A ligação do cristal permite que o circuito funcione adequadamente,
energizado pelos capacitores, oscila, gerando um sinal periódico que é uma forma
10
de onda próxima de uma senóide. O sinal que vem do cristal entra no oscilador
interno que o transforma numa onda quadrada. Esta servirá como relógio para o
microcontrolador.
Em alguns casos, uma fonte de clock pode ser uma TTL do tipo NOT. Abaixo os
tipos de configurações que podem ser realizadas:
Figura 2. Circuitos osciladores a Cristal e TTL
Sendo o CLOCK o elemento que gera e controla os ciclos e o microcontrolador um
equipamento dinâmico, é necessário entender como funciona o ciclo de máquina.
Vamos definir cada pulso “P” como um ciclo de oscilação e a cada dois P (P1 e P2)
um estado “S”.
Figura 3. Os ciclos de máquina.
Na imagem acima temos um ciclo de máquina igual a 12 ou seja, se temos um
cristal de 12 MHz ligado ao circuito temos:
12 x (período do clock) = 12 x (1/12 x 106)=1 microsegundo.
2.2 O Reset (RST)
11
O reset ou RST do 8051 é efetuado através do pino 9, quando ligamos o CHIP este
deve possuir um circuito externo. Quando há a energização do circuito (+Vcc 5
Volts), o capacitor esta descarregado e assim é aplicado um pulso de alto no pino
RST que na sequência vai a zero. O tempo é dado pelo circuito RC. Desta forma o
reset forçado faz o capacitor se descarregar e carregar novamente, aplicando um
pulso alto no RST.
Ao projetar um gravador de microcontroladores, é necessário ficar atendo a estes
detalhes e sempre que ligar o equipamento, efetuar um reset forçado através de
uma chave normalmente aberta, desta forma o circuito fica habilitado para a
gravação. (5)
Figura 4. O circuito de reset.
12
2.3 Os Ports de uso geral
Abaixo descrevemos algumas as portas de comunicação com o mundo externo ao
8051, chamaremos por convenção de Ports. (1)
Abaixo a pinagem do 8051.
Figura 5 – :Pinagem do AT89S51/52
Port P0: Vão dos pinos 32 a 39, esses oito pinos físicos formam o barramento de 1
byte. Utilizado para a comunicação de entrada e saída (Input/Output) de dados. É
um barramento de uso geral, mas também pode ser um barramento multiplexado,
nesse caso pode ser usado utilizamos uma memória externa que pode ser lida ou
escrita via software.
Port P1: Seguem dos pinos 1 a 8, formando um Byte, também são utilizadas como
porta (I/O) de dados. Pode ser utilizados também como barramento de uso geral,
geralmente em kits comerciais são utilizadas para comunicação com Displays de
LCD.
Atenção: Os pinos 6, 7 e 8 ou os Ports 1.5, 1.6 e 1.7 também são utilizados para
gravação do microcontrolador através da porta paralela.
13
Port P2: Os pinos físicos de 21 a 28 também formam um Byte, também utilizados
como (I/O). São utilizados como barramento de uso geral ou para trabalharmos com
memórias externas. Em kits comerciais são muito utilizados para a comunicação
com Displays.
Port P3: Essas portas de comunicação possuem funções especiais, pois são elas
que efetuamos a comunicação serial, controle das interrupções, timers e contadores,
também podemos utilizar como escrita e leitura de dados de uso geral.(4)(5)
Ports Função
P3.0 RXD – Port de entrada Serial
P3.1 TXD – Port de saída serial
P3.2 INT0 – Interrupção externa (T0)
P3.3 INT1 – Interrupção externa (T1)
P3.4 T0 – Entrada Externa para Timer0
P3.5 T1 – Entrada Externa para Timer1
P3.6 WR – Port para escrita em memória externa (DADOS)
P3.7 RD – Port para leitura da memória externa (DADOS)
Tabela 1. Funções dos ports (pinos).
ALE/PROG: O Pino 30 é o pino responsável pela demultiplexação de dados e bits
menos significativos. Gera um pulso de entrada enquanto a memória do tipo de
FLASH é programada. (1)(2)(4)(5)
PSEN (Pino 29): Ativamos esse pino quando queremos acessar uma memória
externa, lendo seus códigos.
EA/VPP: Conectamos esse pino ao VCC para a execução interna dos programas,
Estando em nível lógico 1 (5+) o microcontrolador enxerga sua memória interna,
após isso faz a leitura das memórias externas. Em nível lógico zero o
microcontrolador, faz apenas leituras de memórias externas.
14
2.4 Memória Flash
Os microcontroladores da série AT89S51/52 possuem dois modos de gravação que
podem ser pelas portas serial ou paralela.
Figura 6 – Características das formas de onda da gravação em modo paralelo.
Figura 7 – Características das formas de onda da gravação serial.
15
2.5 Comunicação Serial Síncrona e assíncrona
A transmissão na porta serial pode ser realizada de forma síncrona ou assíncrona, é
realizada em equipamentos do tipo DTE (Data Terminal Equipment - PC) e DCE
(Data Communication Equipment - microcontrolador). Na comunicação serial
síncrona utilizamos a saída para envio ou recepção de dados e a outra para levar o
sinal de sincronismo, assim o receptor enxergará quem é o bit 0 e quem é o bit 1. Já
a comunicação serial assíncrona não depende do sinal de sincronismo, ela gera um
padrão de transmissão para cada byte transmitido. O sistema de recepção espera
um bit de início (start) (ocorre a transição de 1 para 0), inicia a recepção dos outros
bits do byte transmitidos. Ao contá-los, o sistema fica esperando o bit de parada
(stop) (neste momento ocorre a transmissão de 0 para 1), a comunicação é
encerada. (2) (8)
O 8051 possui um modo de comunicação síncrona (Modo 0) e três modos de
comunicação assíncrona (Modos 1, 2 e 3). Mostraremos agora alguns cálculos para
exemplificar seu funcionamento.
Os computadores baseados na arquitetura PC, apresentam basicamente três
saídas, USB (Universal Serial Bus), COM1 e LPT1 (antiga porta de impressão).
Chamamos de comunicação serial porque há a transmissão um byte, bit por bit
Conexão da comunicação serial é mostrada abaixo através do conector DB9 tipo
fêmea.
Chamamos esse tipo de comunicação serial, porque as informações são transferidas
bit a bit de forma seqüencial e programada previamente, assim o receptor
retransmite as informações de forma que a informação não perca sua integridade
original.
Na figura 9 temos um modelo de conexão da porta de comunicação serial, neste
caso a podem ser a COM1, COM2, etc. (4)(8)
16
Figura 8. Comunicação serial
1 – Carrier Detect (CD) é sinal de
entrada para uso de modem externo
vindo do DCE
2 – Received Data (RD) Incoming Data
(de um DCE para um DTE) ou sinal RX
3 – Transmitted Data (TD) Outgoing
Data (de um DTE para um DCE) ou sinal
TX.
4 – Data Terminal Ready (DTR) é o sinal
de saída controlado pelo DTE, avisa que
quer transmitir.
5 – Signal Ground Common ou sinal
terra entre os dispositivos envolvidos.
6 – Data set Ready (DSR) ou sinal de
entrada controlado pelo DCE, que avisa
que pode receber.
7 – Request To Send (RTS), sinal de
entrada controlado pelo DTE, para
avisar que quer transmitir.
8 – Clear To Send (CTS), sinal de
entrada controlado pelo DCE, que avisa
que pode receber.
9 – Ring Indicator (RI) é o sinal de
entrada de modem de campanhia.
Figura 9. Conector DB9,
tipo fêmea para cabo.Figura 10. Conector DB9 tipo macho
17
Onde pino 1 é TX, pino 2 é RX e pino 3 é GND. (Na placa)
Onde pino 3 é TX, pino 2 é RX e pino 5 é GND. ( No PC )
Abaixo o esquema de ligação serial entre o microcontrolador e o PC, onde:
Eq.: corresponde ao equipamento com microcontrolador.
PC.: Computador IBM-PC.
Figura 11. Modelo de conexão DB9
Para ligações em serial com um através de um conector DB25, podemos utilizar a pinosgem abaixo:
Figura 12. Ligação da porta paralela, conector DB25 com a serial do
microcontrolador.
Generalizado podemos realizar conexões seriais entre DB25 para DB25, DB9 para
DB9 ou mistas.
Figura 13. Conexões DB9 – DB9, DB25 – DB25, DB9 – DB25
Número Nome Designação2 TXD - Transmit Data Transmissão de dados
18
Onde pino 1 é TX, pino 2 é RX e pino 3 é GND. (Na placa)
Onde pino 2 é TX , pino 3 é RX e pino 7 é GND. ( No PC )
3 RXD - Receive Data Recepção de dados4 RTS - Request To Send Pedido de emissão5 CTS - Clear To Send Empréstimo a emitir6 DSR - Data Set Ready Dados prontos7 GND - Signal Ground Massa lógica8 CD - Carrier Detect Deteção de portador20 DTR - Data Terminal Ready Terminal pronto22 RI - Ring Indicator Indicador de campainha eléctrica
Tabela 2. Funções de cada pino na conexão serial DB25.
Abaixo a ligação da porta de comunicação paralela, através do conector DB25.
Figura 14. Conector DB25, tipo macho
para cabo.
19
2.6 A tecnologia MAX232
O integrado MAX232 é produzido pela MAXIM, sua função é de converter os sinais
RS232 para os +/-12 volt necessários à transmissão e receber do seu porto série os
0/5 volt TTL, diretamente pela porta do microcontrolador.
O standard RS232 define um conjunto de especificações para a transmissão série
de dados entre dispositivos DTE e DCE . O RS232 foi desenvolvido com o intuito de
ligar um terminal de dados (no nosso caso um computador) com um modem, para a
transmissão à distância dos dados produzidos, neste caso a porta serial do PC
COM1, COM2, etc, com o microcontrolador 8051, mas pode ser utilizado para a
comunicação com microcontroladores de outros fabricantes.
Figura 15. Circuito de ligação do MAX232.
Fonte: http://www.rogercom.com/PortaSerial/PortaSerial.htm
20
TIPOS DE CONEXÕES SERIAL
Abaixo, alguns modelos de comunicação serial que são adotados para ligação de
diversos dispositivos. (13)
Cabos null-modem para comunicação entre 2 computadores através da porta serial
com suporte a controle de fluxo via hardware.(Rogério, 2011)
Figura 16. Cabo Serial para conectar DB9 com DB9.
Figura 17. Cabo Serial para conectar DB25 com DB9.
21
Figura 18. Cabo Serial para conectar DB25 com DB25.
CABOS DE COMUNICAÇÃO SEM SUPORTE A CONTROLE DE FLUXO VIA HARDWARE
Figura 19. Cabo Serial para conectar DB9 com DB9.
22
Figura 20. Cabo Serial para conectar DB25 com DB9.
Figura 21. Cabo Serial para conectar DB5 com DB5.
23
Figura 22. Teste de porta serial sem a necessidade de se conectar dois
equipamentos.
Figura 23. Com o DB9
24
O FUNCIONAMENTO DO CIRCUITO
O MAX 232 leva
25
O PROGRAMA DE GRAVAÇÃO
O programa que utilizamos é sugestão do Engenheiro Rafael Ferrari (14)
Figura 24. Programa de gravação.
Passo 1. Escolha o modelo de chip que irá gravar, neste caso clique em Chip e
escolha o modelo que esta usando.
Passo 2. Se seu arquivo está no formato Hex (hexadecimal) clique em Tools
(ferramentas) e depois HEX - > BIN onde BIN é o formato binário que vai para o
microcontrolador.
Passo 3. Clique em Write (escrever, gravar)
Passo 4. Encontre o seu arquivo HEX ou BIN.
Passo 5. Observe a barra de progresso.
O comando Erase, serve para apagar o conteúdo que se encontra nas memórias
Flash/EEPROM. Também apaga os Lock Bits que impedem a gravação do
26
microcontrolado.
27
CONCLUSÕES
O projeto foi pensado inicialmente para ser um circuito de simulação de
microcontroladores da série 8051, porém essa modalidade de circuito mostrou-se
difícil essa, pois para ocorrer uma simulação, é necessário o desenvolvimento de
software específico. Averiguamos também que o circuito pode ser simulado se
ativarmos as portas de comunicação PSEN (pino 29) e ALE (pino 30), mantendo
ativado (+5Vcc) na porta EA (pino 31) o microcontrolador entra em modo leitura .
Recomendamos que em projetos futuros sejam desenvolvido tal Hardware,
expandindo pinos ou barramentos nas portas de comunicação.
Em desenvolvimento de sistema de Hardware para funções específicas, é
recomendável que o projetista incluísse sempre que possível uma parte
microcontrolada, com expansões nas portas, jumpeamentos específicos e
respectivas entradas/saídas de comunicação, desta forma podemos criar circuitos
inteligentes que necessitam somente pouca mudança no Hardware, sendo que sua
funcionalidade fique apenas na parte de software.
28
BIBLIOGRAFIA
(1) História dos microcontroladores . Disponível em:
http://www.artigos.com/components/com_mtree/attachment.php?
link_id=6681&cf_id=24. Acesso em 27 de março de 2011-03-27
(2) NICOLOSI, Denis Emílio Campion – Microntrolador 8051: detalhado – 8ª ed. –
São Paulo: Érica, 2007.
(3) Processos em Sistemas embarcados – MOURA, Danilo Santos. Disponível em:
www.lisha.ufsc.br/~guto/teaching/theses/danillo-bsc.pdf.
Acesso em 29 de março de 2011
(4) NICOLESI, Bronzeri – Microcontrolador 8051 com Linguagem C: Prático e
Didático - 2ª ed. – São Paulo: Érica, 2008.
(5) SIMPLÍCIO, Fernando de Sousa – Programação em Basic para
microcontroladores 8051: com base na IDE BASCON 8051: teoria e prática - 1ª
ed. – São Paulo: Érica, 2006.
(6) NEUROTREND, Technology Solutions Ltda. Disponível em:
http://www.jonasbairros.xpg.com.br/apostila%20manual%20kit%20micro
%20controlador%208051.doc
Acesso em 01/11/2011
(7) Microcontroladores - RUIZ, Wilson. Disponível em:
http://alexandrejaragao.vilabol.uol.com.br/Apostilas/microcontroladores.pdf
Acesso em 01/11/2011
(8) Datasheet, ATMEL. Disponível em:
http://www.keil.com/dd/docs/datashts/atmel/at89s52_ds.pdf
Acesso em 01/11/2011
29
(9) SWEET, Michael R. Disponível em:
http://www.easysw.com/~mike/serial/serial.html
Acesso em 03/11/2011
(10) Minicomputadores, e Micro. Disponível em:
http://www.dca.fee.unicamp.br/courses/EA078/1s2004/arquivos/turma_ab/cap8.pdf
Acesso em 03/11/2011
(11) Canzian, Edmur. Disponível em:
http://www.professores.aedb.br/arlei/AEDB/Arquivos/rs232.pdf
Acesso em 03/11/2011
(12) ATMEL, Hardware. – Disponível em:
http://www.atmel.com/dyn/resources/prod_documents/doc4316.pdf
Acesso em 3 de novembro de 2011
(13) Antônio Rogério, Messias. - Disponível em:
http://www.rogercom.com/PortaSerial/PortaSerial.htm
Acesso em 3 de novembro de 2011
(14)Ferrari, Rafael. – Disponível em: http://www.rafa.eng.br/index.htm
Acesso em 3 de novembro de 2011.
30