Professional Documents
Culture Documents
Aula 10
As verses CHMOS (89C51, 89S52, etc) da famlia MCS-51 possuem dois modos de controle de reduo de potncia de operao do chip .
1. Modo Idle
PCON
Modo Idle
IDL = 1
o oscilador funciona somente para as Interrupes e os Timers. No existe sinal de clock para a CPU.
O status da CPU preservado: o SP, o PC, o PSW, o ACC e todos os outros registradores mantm seus dados durante o tempo em que a CPU estiver em Modo Idle. As Portas mantm seus estados lgicos que tinham quando o Modo Idle foi ativado .
1. Ativao de uma Interrupo habilitada Zera automaticamente o bit IDL Atende a sub-rotina de Interrupo Ao executar o RETI entra novamente no Modo Idle Os Flags GF1 e GF2 podem ser utilizados para indicar se as interrupes ocorreram durante o modo normal de operao ou durante o Modo Idle
2. Reset de Hardware
Todas as funes param. O contedo da RAM interna e dos SFRs se mantm. Neste Modo Vcc pode ser reduzido para at 2 Volts. A nica forma de sair deste modo e atravs do reset de hardware . O consumo da ordem de 10 uA.
Uma vez programados, os Bits de Proteo s podem ser alterados atravs de uma operao de Chip Erase.
A rotina de atendimento ao Watchdog Timer pode colocar o Microcontrolador em um estado seguro desligando motores, sadas de alta tenso, etc, at que a falha seja resolvida.
Exemplo de Microcontrolador com Watchdog Timer implementado no chip. DS80C320 fabricado pela Dallas Semiconductor (ncleo do 8051)
Quando o Watchdog habilitado, o programa do usurio deve escrever em um determinado SFR regularmente permitindo ao Watchdog saber se o programa est executando corretamente.
Se o programa no realizar a escrita dentro de um determinado perodo de tempo, o Watchdog assume que o programa falhou e realiza um Reset ou uma Interrupo, dependendo da configurao.
2. 3.
Programao In-Circuit
Os Pinos P2.6, P2.7, P3.6, P3.7 selecionam a operao: Apagar, Ler, Escrever, Gravar Lock Bit, etc
In-System Programming (ISP) Processo no qual um Microcontrolador montado em uma placa de circuito impresso pode ser apagado ou programado com o cdigo final do usurio sem remov-lo da placa. Para a programao o Microcontrolador deve ser ligado no Modo ISP . O Microcontrolador recebe comandos e dados atravs de um software localizado por exemplo em um PC.
Terminada a operao de ISP o dispositivo reconfigurado para que possa operar normalmente.
A programao in-circuit via ISP pode ser realizada atravs de canais seriais do Microcontrolador.
a. b.
Via RxD e TxD da interface serial RS232 Via Interface SPI (Serial Peripheral Interface)
Os Microcontroladores que possuem a possibilidade de programao ISP tem um programa localizado na parte superior da Memria de Programa (BOOTROM) chamado de BOOT LOADER.
In-System Programming (ISP) SPI (Serial Peripheral Interface) um duto padro serial, sncrono, desenvolvido pela Motorola e utilizado por diversos fabricantes de Microcontroladores.
Os dispositivos se comunicam em uma relao Mestre/escravo onde o Mestre inicia a comunicao. SCLK MOSI MISO SS Clock gerado pelo Mestre Master data Output, Slave data Input Master data Input,Slave data Output Slave Select
Em um esquema de mltiplos escravos, o Mestre deve gerar sinais separados de Slave Select (SS) para cada Escravo.
O SPI no tem um mecanismo de confirmao de dado recebido (acknowledgement). O SPI indicado para aplicaes que transferem diretamente um cordo de Dados (Data Stream). Razo de Transmisso do SPI = 1Mbps
Utilizao do duto SPI do Microcontrolador 89S52 para programao in-circuit. Durante a transferncia dos dados o pino de RESET deve ficar em nvel lgico 1. Aps a gravao, deve-se colocar o pino de RESET em zero para operao normal do chip.
In Application Programming (IAP) Algumas aplicaes tem a necessidade de apagar ou re-programar o cdigo do programa sob controle da prpria aplicao. Exemplo: Armazenar informaes de calibrao em vo Carregar novas partes do cdigo do programa em vo A capacidade de um Microcontrolador de apagar ou re-programar o cdigo do programa na aplicao do usurio (end-user) conhecida como IAP. Em geral, as rotinas do Boot Loader que realizam a programao no modo ISP, tambm so responsveis pelo Modo IAP. No existe um Mestre para gravar o programa. A prpria aplicao pode realizar a tarefa.
Duto de comunicao Serial desenvolvido pela Phillips para interligao de perifricos dentro da mesma placa de circuito impresso. Exemplos de dispositivos I2C: Microcontroladores Memrias Sensores Conversores A/D e D/A Sistemas Embarcados
Duto I2C ( Inter Integrated Circuit) I2C um Duto serial de 2 fios No existe Chip Select barato e simples de implementar em hardware
SDA SCL
O dispositivo que inicia a transao o Mestre e os dispositivos endereados so os Escravos. Cada dispositivo compatvel com I2C vem com um endereo pr-definido.
1. 2. 3.
O Mestre inicia a comunicao enviando a condio START O Mestre envia o endereo de 7 Bits do dispositivo Escravo
S=1
O oitavo Bit (R/W) especifica se a operao de Leitura (1) (Escravo Transmite) ou de Escrita (0) (Escravo Recebe) O Escravo envia um ACK =1 se o Byte anterior foi recebido O Transmissor (Mestre ou Escravo) transmite um Byte de dados iniciando pelo MSB
4. 5.
6. 7.
No final do Byte, o receptor (Mestre ou Escravo) envia um bit de ACK O padro de 9 Bits (8 Bits de Dados e ACK) repetido se novos bytes necessitarem ser transmitidos. Numa Transao de Escrita (Escravo Recebe), quando o Mestre termina a transmisso de todos os Bytes ele monitora o ltimo ACK enviado pelo Escravo e termina enviando uma condio de Parada (STOP=1) Numa Transao de Leitura (Escravo Transmite), o Mestre no envia o ltimo ACK, o que informa ao Escravo que a transao acabou. O Mestre envia ento a condio de STOP.
8.
9.
O Dado (SDA) lido durante uma subida de borda da linha de Clock (SCL)