PARTE II
MICROCONTROLADORES
Bibliografia
[1] W. S. Zanco, Microcontroladores PIC 16F628A/648A Uma abordagem prtica e objetiva, Ed. rica. [2] D. J. Souza, Desbravando o PIC, 6 Edio, Ed. rica. [3] N. Matic (traduzido para o Portugus por A. Jernimo), The PIC microcontroller, livro on-line. Disponvel em http://www.i-magazine.com.br/imagazine/picbook/livropic.htm [4] Folha de dados do PIC 16F628A. Disponvel em ww1.microchip.com/downloads/en/DeviceDoc/40044C.pdf [5] R. J. Tocci, N. S. Widmer, Sistemas Digitais Princpios e Aplicaes, 8 Edio, Ed. Pearson. [6] Notas de aula
Eletrnica Digital/Microcontroladores
5. INTRODUO
Os sistemas digitais (combinaes de dispositivos eletrnicos projetados para manipular informao ou grandezas fsicas) esto presentes em nosso dia-a-dia. So utilizados desde eletrodomsticos a sistemas industriais, passando pelos computadores pessoais (PCs) e telefones celulares. Baixo custo, flexibilidade e confiabilidade, dentre outras caractersticas, fizeram com que processos industriais tradicionalmente controlados por circuitos analgicos passassem a ser controlados por sistemas digitais programveis. O ncleo destes sistemas , geralmente, um microprocessador (MPU, do ingls microprocessor unit), ou um microcontrolador (MCU, do ingls microcontroller unit) ou um processador digital de sinais (DSP, do ingls digital signal processor). Estes dispositivos so conhecidos, genericamente, como processadores. Pode-se citar como exemplo de aplicao* destas classes de processadores: Computador pessoal: microprocessadores (domnio da famlia Intel - 486, Pentium e seus clones); Controladores lgicos programveis: microprocessadores e microcontroladores Aplicaes embarcadas: microcontroladores e DSPs; Sistemas de processamento digital de sinais (instrumentos eletrnicos industriais e mdicos, telefones celulares, entre outros): DSPs.
*Estas aplicaes foram citadas a ttulo de ilustrao, como reas de utilizao mais comum de cada classe de processador. Pode haver, entretanto, o uso de qualquer classe de processador em praticamente qualquer tipo de aplicao.
Eletrnica Digital/Microcontroladores Existe, atualmente, uma grande quantidade de processadores disponveis no mercado, produzidos por diversos fabricantes, tais como: Intel, Texas Instruments, Motorola, Microchip, entre outros. Cada um destes fabricantes possui uma enorme lista de MPUs, MCUs e DSPs, com diferentes caractersticas. Cada um desses processadores possui caractersticas particulares que os diferenciam entre si, entretanto so muito parecidos conceitualmente (mesmo entre diferentes classes de processadores). Deste modo, o estudo de uma estrutura particular de processador permite que o estudo de outros processadores seja consideravelmente simplificado. Conceitos como modos de endereamentos, unidade lgica e aritmtica, unidade de controle e execuo, registradores, acesso a dispositivos de entrada/sada e outros so comuns a todos os processadores. Assim, nosso estudo ter incio com a anlise da arquitetura bsica de um computador digital. Dentre os dispositivos citados, nosso estudo ser concentrado nos microcontroladores, pois so amplamente utilizados em sistemas industriais. Especificamente, devido sua versatilidade e simplicidade, alm do baixo custo, o dispositivo estudado ser o PIC 16F628A, fabricado pela Microchip.
Microcontrolador* da Microchip
*Imagens fora de escala
Microprocessador* da Intel
Eletrnica Digital/Microcontroladores
Eletrnica Digital/Microcontroladores
Registradores
Eletrnica Digital/Microcontroladores
A ALU de um microprocessador 386 (Intel, ~1990) caberia na borracha de um lpis (com folgaJ)
Foto de uma ALU do ano de 1957 (parte do computador Datamatic 1000 - Honeywell's)
Eletrnica Digital/Microcontroladores UNIDADE DE CONTROLE (UIC) A unidade de controle, tambm chamada unidade de instruo e controle (UIC), responsvel por comandar a operao de todas as outras unidades de um computador digital, fornecendo sinais de controle e temporizao. Essa unidade contm circuitos lgicos e de temporizao que geram os sinais necessrios para executar cada instruo em um programa. Para processar o programa armazenado na memria do computador digital, a UIC faz a busca (na memria, que uma parte externa CPU) de cada instruo a ser executada, as interpreta e executa. Este processo de busca e execuo realizado continuamente, de forma seqencial, para cada uma das instrues contidas em tal programa. A UIC pode ser comparada a um maestro, responsvel por manter cada um dos membros da orquestra em sincronismo. instrues
REGISTRADORES A CPU possui um conjunto de registradores, divididos em dois grupos: a) Registradores de uso geral (GPR, do ingls general purpose register): armazenam dentro da CPU, temporariamente, dados que sero manipulados pelo programa em execuo, evitando a necessidade de acessar a unidade de memria externa CPU; b) Registradores de finalidade especfica (SFR, do ingls special function register): so utilizados em tarefas pr-determinadas e realizam funes especiais como, por exemplo, definir se um determinado terminal (pino) do microcontrolador se comportar como um dispositivo de entrada ou de sada de dados. 7
Eletrnica Digital/Microcontroladores
Localidades de memria
Eletrnica Digital/Microcontroladores MEMRIA DE DADOS E MEMRIA DE PROGRAMA Muitas vezes os dados e os programas so armazenados em localidades de memria diferentes, com caractersticas especficas. A regio da memria que armazena o programa que ser executado pela CPU chamada de memria de programa. Deve ser uma memria do tipo no-voltil (no perde as informaes quando sua alimentao desligada) pois as instrues contidas no programa precisam ser executadas cada vez que for iniciada a operao do computador. J a regio da memria responsvel por armazenar os dados que esto sendo processados chamada memria de dados. Neste caso, utiliza-se memrias do tipo voltil (os dados so armazenados enquanto a memria for alimentada), pois os dados processados vo sendo alterados ao longo da execuo do programa. Em geral, as memrias volteis so mais rpidas (operam em maiores freqncias) que as no-volteis. MEMRIAS SEMICONDUTORAS A implementao da unidade de memria feita atravs dos dispositivos semicondutores (chips de memria). Estes circuitos integrados so classificados quanto volatilidade apresentada e a possibilidade de leitura e/ou escrita na memria.
Memria
No-voltil
Voltil
ROM
PROM
EPROM
EEPROM
FLASH ROM
DRAM
SRAM
Somente leitura; Programada eletricamente pelo usurio (uma nica vez); No pode ser reprogramada Somente leitura; Programada eletricamente pelo usurio; Pode ser reprogramada (os dados so apagados com luz ultravioleta)
EPROM*
Somente leitura; Pode ser programada e reprogramada pelo usurio (os dados so apagados eletricamente);
Somente leitura; Programada eletricamente pelo usurio; Pode ser reprogramada (por meio de software especfico)
10
Flash-BIOS
*
Eletrnica Digital/Microcontroladores SRAM (static random access memory) q Leitura e escrita; q Circuito eletrnico composto por flip-flops; DRAM (dynamic random access memory) q Leitura e escrita; q Circuito eletrnico composto por capacitores (requer REFRESH para manter os dados armazenados, mesmo com a alimentao do circuito ligada); Simulao de leitura que q Alguns tipos de DRAM: EDRAM, FPM, EDO, SDRAM, DDR. Simulao de leitura que
SRAM x DRAM
Velocidade Refresh Tamanho Fsico Custo
DRAM
C C
C C
feita em cada feita em cada localidade com o localidade com o objetivo de reforar os objetivo de reforar os dados armazenados dados armazenados (recarregar os (recarregar os capacitores). Valor tpico capacitores). Valor tpico para o ciclo de refresh: para o ciclo de refresh: 15 ms. 15 ms.
DDR (1 GB)*
Chips de Video RAM (SRAM)* Pente de memria DDR (DRAM, 1 GB)*
11
*Imagens fora de escala
Eletrnica Digital/Microcontroladores
12
Eletrnica Digital/Microcontroladores Para gerenciar o sistema, a CPU precisa se comunicar com a memria e com os dispositivos de I/O. Esta comunicao feita por meio dos barramentos, que so conjuntos de fios que ligam a CPU memria e aos dispositivos de I/O. Os termos via e bus tambm so utilizados para designar o termo barramento. Existem dois modos de comunicao da CPU com a memria ou dispositivos de I/O: a) Escrita: quando a CPU envia uma informao para ser armazenada numa localidade de memria ou para um dispositivo de I/O. b) Leitura: quando a CPU busca uma informao na memria ou num dispositivo de I/O. Os barramentos so divididos em trs grupos: BARRAMENTO DE DADOS Caminho por onde trafegam os dados trocados (enviados e recebidos) entre a CPU e o resto do sistema. BARRAMENTO DE ENDEREOS utilizado quando a CPU precisa se comunicar com a memria ou com um dispositivo de I/O. Cada localidade de memria, assim como cada dispositivo de I/O, possui um endereo, que um valor numrico (geralmente representado em hexadecimal). Por exemplo, quando a CPU faz uma leitura no teclado, ela coloca o valor correspondente ao endereo do teclado no barramento de endereos. O endereo chegar a todos os que estiverem ligados ao barramento de endereos, mas s ser identificado pelo teclado, que atender ao chamado da CPU. O mesmo ocorre quando a CPU tem que armazenar um determinado dado na memria: o endereo da localidade de memria desejado colocado no barramento de endereos. BARRAMETO DE CONTROLE Caminho por onde trafegam os sinais de controle, que informam para o sistema o tipo de comunicao e como esta ser executada. Ex.: operao de escrita ou leitura na 13 memria.
5.1.4. Barramentos
Eletrnica Digital/Microcontroladores
Von-Neumann
Harvard
Utiliza dois barramentos, um para acessar a memrias de dados e outro para acessar a memria de programa. Torna oo processamento mais rpido, pois, Torna processamento mais rpido, pois, no mesmo instante em que uma instruo no mesmo instante em que uma instruo est sendo executada pela CPU, aa prxima est sendo executada pela CPU, prxima instruo pode ser buscada na memria de instruo pode ser buscada na memria de programa. programa.
14
Eletrnica Digital/Microcontroladores
Isso torna ooaprendizado mais fcil eedinmico. Isso torna aprendizado mais fcil dinmico. Entretanto, implica no fato que muitas funes devero ser Entretanto, implica no fato que muitas funes devero ser construdas (pois no existe uma instruo que realize, construdas (pois no existe uma instruo que realize, diretamente, algumas operaes que podem ser necessrias), diretamente, algumas operaes que podem ser necessrias), exigindo maior habilidade do projetista. exigindo maior habilidade do projetista. 15
Eletrnica Digital/Microcontroladores
Microcontrolador (MCU)
16