Anda di halaman 1dari 16

Eletrnica Digital/Microcontroladores

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

DSP* da Texas Instruments

Microprocessador* da Intel

Dentro de um microprocessador* (Pentium Pro, da Intel)

Eletrnica Digital/Microcontroladores

5.1. Arquitetura Bsica de um Computador Digital


Um computador digital uma combinao de dispositivos e circuitos eletrnicos digitais que podem realizar uma seqncia programada de operaes com mnima interveno humana. Esta seqncia de operaes chamada de programa, que um conjunto de instrues codificadas que armazenado na memria interna do computador juntamente com todos os dados que o programa necessita. A principal funo de um computador processar informaes, que so fornecidas por meio de um dispositivo de entrada (ex.: teclado), retornando o resultado deste processamento ao usurio (ou ao sistema) por meio de um dispositivo de sada (ex.: monitor de vdeo). O que o computador vai fazer com as informaes recebidas pelo dispositivo de entrada depende do programa armazenado em sua memria. Por exemplo, um programa pode simplesmente efetuar a soma de dois nmeros ou controlar o lanamento de uma nave espacial. Um computador digital composto, basicamente, por trs unidades: UNIDADE CENTRAL DE PROCESSAMENTO (CPU, do ingls central processing unit); UNIDADE DE MEMRIA; UNIDADE DE ENTRADA/SADA (unidade de I/O, do ingls input/output). Alm disso, existem os barramentos ou vias de dados, endereos e controle, responsveis pela interligao entre estas unidades bsicas. A organizao dos vrios elementos que compem um computador chamada de arquitetura do computador. 4

Eletrnica Digital/Microcontroladores

Registradores

Legenda Controle Dados/Endereos

Arquitetura Bsica de um Computador Digital

Eletrnica Digital/Microcontroladores

5.1.1. Unidade Central de Processamento (CPU)


A unidade central de processamento responsvel pelo gerenciamento de todo o sistema e pela execuo dos programas, executando vrias tarefas (chamadas instrues). o crebro de um computador digital. Para gerenciar o sistema, a CPU precisa se comunicar com a memria e com os dispositivos de I/O, enviando ou recebendo informaes e, assim, viabilizando o seu processamento. A CPU composta, basicamente, por trs mdulos (unidade lgica e aritmtica, unidade de controle e rede de registradores), descritos a seguir: UNIDADE LGICA E ARITMTICA (ULA ou ALU, do ingls arithmetic/logic unit) a parte da CPU responsvel pela realizao de operaes lgicas (AND, OR, etc.) e aritmticas (adio, subtrao, etc.). O tipo de operao a ser realizado determinado pelos sinais da unidade de controle. Os dados operados pela ALU podem ser oriundos da unidade de memria ou da unidade de entrada. Os resultados das operaes realizadas na ALU podem ser transferidos tanto para a unidade de memria (para armazenamento) como para a unidade de sada.

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

5.1.2. Unidade de Memria


A memria armazena grupos de bits que podem representar instrues (programa) que sero executadas pela CPU ou dados que sero manipulados pelo programa. A memria tambm serve para o armazenamento de resultados intermedirios ou finais das operaes aritmticas. A operao da memria gerenciada pela UIC. LOCALIDADES DE MEMRIA A memria utilizada para armazenar informaes (dados e/ou programas). Ela composta por vrias localidades (ou posies), nas quais so armazenadas as informaes. Cada localidade possui um endereo e capaz de armazenar o equivalente a um caractere. Por exemplo, para so utilizadas 8 localidades de memria para armazenar o nome CEFET-MG. Fisicamente, cada localidade de memria capaz de armazenar um conjunto de 8 bits (ou seja, 1 byte), representados em nveis lgicos de tenso (ou seja, em binrio). Por exemplo, na localidade que est armazenada a letra C (endereo 00h) existe, na verdade, um conjunto de bits que representa tal letra (codificao em ASCII). Neste caso, o dado armazenado na referida localidade de memria seria 010000112 (que o cdigo ASCII equivalente ao caractere C. Oportunamente a utilizao desta codificao ser estudada).
Dado da posio de memria 00h: Dado da posio de memria 00h: 010000112 010000112

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

Eletrnica Digital/Microcontroladores PRINCIPAIS CARACTERSTICAS ROM (read-only memory)


q q q Somente leitura; Sai de fbrica com os dados j programados; No pode ser reprogramada

PROM (programmable read-only memory)


q q q

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 (eletrically programmable read-only memory)


q q q

EPROM*

EEPROM ou E2PROM (eletrically erasable programmable read-only memory)


q q

Somente leitura; Pode ser programada e reprogramada pelo usurio (os dados so apagados eletricamente);

FLASH ROM (memria flash)


q q q

Somente leitura; Programada eletricamente pelo usurio; Pode ser reprogramada (por meio de software especfico)

Cartes de memria e pendrive*

10
Flash-BIOS
*

*Imagens fora de escala

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

SRAM maior no maior maior

DRAM

C C

menor sim menor menor

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.

Chip DRAM (256 kB)* Pentes de memria EDO (DRAM, 32 MB)*

DDR (1 GB)*
Chips de Video RAM (SRAM)* Pente de memria DDR (DRAM, 1 GB)*

11
*Imagens fora de escala

Eletrnica Digital/Microcontroladores

5.1.3. Unidade de Entrada/Sada (I/O)


A unidade de I/O responsvel pela entrada e sada de dados do sistema. a porta de entrada e/ou sada de um computador digital. Os dispositivos que fazem parte da unidade de I/O so denominados perifricos, pois so externos ao resto do computador. Como exemplos de dispositivos de I/O, pode-se citar: teclado, monitor de vdeo, impressora, modem, unidades de disco, leitores de cartes magnticos, conversores analgico-digital (ADC) e digital-analgico (DAC), display de 7 segmentos, display de cristal lquido (LCD), entre outros. Muitos dispositivos de I/O no so diretamente compatveis com a CPU devido s diferenas em caractersticas como velocidade de operao, formato do dados (ex.: BCD, ASCII, binrio), modo de transmisso de dados (ex.: serial, paralelo) e nvel lgico de sinais. Isso significa que quando uma informao entra no sistema por meio de um perifrico, ela pode precisar ser convertida, antes de ser processada pela CPU. Esta converso feita por mdulos conhecidos como interfaces. Tratando-se de sistemas computacionais, define-se interfaceamento como a transmisso digital de informao entre um computador e seus perifricos, de modo compatvel e sincronizado. Exemplo: Um monitor de vdeo recebe dados serialmente (um de cada vez), enquanto a maioria dos computadores digitais manipula os dados no formato paralelo. Deste modo, o monitor de vdeo necessita de circuitos de interface (placa de vdeo) para receber dados do computador.

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

5.2. Arquiteturas Von-Neumann e Harvard


Existem, basicamente, duas formas de apresentao da estrutura interna de um computador digital, conhecidas como arquitetura tipo Von-Neumann e arquitetura tipo Harvard.

Von-Neumann

Harvard

Utiliza um nico barramento, para acesso s memrias de dados e programa.

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

5.3. CISC x RISC


A principal funo de um computador digital executar uma srie de ordens (comandos ou instrues), armazenados em um programa, na sua memria. Cada uma destas instrues interpretada pela CPU e, ento, executada. Assim, cada tipo de computador digital, deve ter um conjunto de instrues (ou set de instrues) definidas, de modo que sua CPU possa interpret-las e execut-las. Em funo deste conjunto de instrues, existem duas classes de computadores digitais: CISC (complex instruction set computer) q Conjunto de instrues ampliado, ou seja, a CPU capaz de executar um grande nmero de instrues (ex.: microcontrolador 8051, da Intel, com 111 instrues); q Computadores com arquitetura Von-Neumann. RISC (reduced instruction set computer) q Conjunto de instrues reduzido (ex.: microcontrolador PIC16F628A, da Microchip, com 35 instrues); q Computadores com arquitetura Harvard.

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

5.4. Microprocessadores x Microcontroladores


MICROPROCESSADOR Um microprocessador (MPU, microprocessor unit) uma CPU de pequeno porte, capaz de executar um determinado conjunto de instrues. o corao de um computador digital. Para formar um computador digital, necessria, alm do MPU, a existncia de memrias e dispositivos de I/O. Exemplos: 8088, 80286, 80386, 80486, Pentium (todos da Intel), entre outros. MICROCONTROLADOR Um microcontrolador (MCU, microcontroller unit) um componente eletrnico que possui microprocessador, memria e dispositivos de I/O em um mesmo encapsulamento (CI). um computador em um nico chip. Exemplos: 8051 (Intel), 68HC05(Motorola), PIC16F628A (Microchip), PIC18F452 (Microchip), entre outros.

Microcontrolador (MCU)

16

Anda mungkin juga menyukai