Índice

Transcrição

Índice
Índice
Objetivo..................................................................................................................................................... 3
Dia 18 de fevereiro de 2013. .................................................................................................................... 4
Apresentação – conversa com os alunos...........................................................................................................4
Dia 25 de fevereiro de 2013. .................................................................................................................... 5
Revisão de dados ligados à eletrônica digital...................................................................................................5
Quanto ao grau de integração:..........................................................................................................................................5
SSI (Small Scale integration, Pequena Escala de Integração)
10 portas / C.I. ......................................................5
MSI (Medium Scale integration, Média Escala de Integração) 10 a 100 portas / C.I. ...........................................5
LSI (Large Scale integration, Grande Escala de Integração)
100 a 1000 portas / C.I. ..........................................5
GSI (Great Scale integration, Escala de Integração muito Grande)
>1000 portas / C.I. .......................................6
Dia 04 de março de 2013.......................................................................................................................... 7
Uso de transistores bipolar:...............................................................................................................................7
Uso de transistores MOS (Metal Oxide Semiconductor Logic, Lógica de MOSFETs): ..............................7
DTL – Diode Transistor Logic (lógica com diodos e transistores) ..................................................................................7
DCTL (Direct-Coupled Transistor Logic) ...................................................................................................................7
RTL (Resistor-Transistor Logic) ..................................................................................................................................8
RCTL (Resistor-Capacitor Transistor Logic) .............................................................................................................8
TTL (Transistor-Transistor Logic) ..............................................................................................................................9
Dia 07 de março de 2013........................................................................................................................ 10
MOS (Metal-Oxide Semiconductor)..............................................................................................................10
MOSFET........................................................................................................................................................................10
BiCMOS ........................................................................................................................................................................10
Parâmetros elétricos: .......................................................................................................................................11
Terminologia:.................................................................................................................................................................11
Índices:...........................................................................................................................................................................11
Níveis de tensão: ............................................................................................................................................................12
Tempos:..........................................................................................................................................................................12
Dia 11 de março de 2013........................................................................................................................ 13
Ruído:.............................................................................................................................................................................13
FAN IN ..............................................................................................................................................................13
FAN OUT..........................................................................................................................................................13
Tipos de memórias ................................................................................................................................. 14
ROM...................................................................................................................................................................14
PROM ................................................................................................................................................................14
EPROM .............................................................................................................................................................14
EEPROM ou E2PROM....................................................................................................................................15
RAM...................................................................................................................................................................15
FLASH ..............................................................................................................................................................15
Processador ............................................................................................................................................ 15
Arquitetura VON NEUMANN x HARVARD ....................................................................................... 15
-Von Neumann: ................................................................................................................................................15
-Harvard: ..........................................................................................................................................................16
-Von Neumann x Harvard...............................................................................................................................17
Equipamentos que utilizam a arquitetura Harvard: ....................................................................................17
Dia 18 de março de 2013........................................................................................................................ 19
Microprocessadores x Microcontroladores ...................................................................................................19
Bits, Flags, Nibles, Bytes e Words...................................................................................................................19
Bit...................................................................................................................................................................................19
Flag ................................................................................................................................................................................19
Nibles .............................................................................................................................................................................19
Byte ................................................................................................................................................................................19
Word ..............................................................................................................................................................................19
- PIC16F877A ...................................................................................................................................................20
CPU RISC de alta performance......................................................................................................................20
Características dos periféricos. .......................................................................................................................20
Dia 25 de março de 2013........................................................................................................................ 21
Características analógicas. ..............................................................................................................................21
Dia 27 de maio de 2013.......................................................................................................................... 22
Características especiais do PIC16F877A......................................................................................................22
- Periféricos do PIC16F877A...........................................................................................................................22
Nomenclatura dos pinos ..................................................................................................................................23
- Estrutura interna do PIC16F877A...............................................................................................................25
Alguns exemplos do compartilhamento de pinos ..........................................................................................26
O que é ciclo de máquina?...............................................................................................................................29
Memória de programa.....................................................................................................................................29
- Vetor de reset. ................................................................................................................................................30
- Vetor de interrupção. ....................................................................................................................................30
- Tamanho da memória e páginas de memória. ............................................................................................30
- Pilha (stack). ...................................................................................................................................................31
Set de instruções. ..............................................................................................................................................31
Objetivo.
No dicionário o significado da palavra professor é “aquele que ensina”, sendo assim poderia dizer
que meu objetivo é ensinar-lhes.
No entanto prefiro o objetivo de compartilhar, compartilhar o meu conhecimento, ainda que
pequeno diante da vasta gama de tecnologias que a ciência da eletrônica tem a nos oferecer nos dias de
hoje, não sendo um conhecedor de todos os assuntos dessa ciência, sempre busco de maneira
incansável mais conhecimento e sempre que possível busco também uma oportunidade de compartilhar
esse conhecimento.
Sempre achei que enquanto compartilharmos o pouco que conhecemos, sempre teremos um
pouco para compartilhar e quando o fazemos, somamos, multiplicamos e melhoramos o nosso
conhecimento.
Hoje uma das oportunidades que tenho para compartilhar o meu conhecimento são os alunos do
4º Eletrônica Noturno do Colégio Clovis Bevilácqua no ano letivo de 2013, me esforço para conquistar
esse objetivo, sempre de maneira em que possa respeitar e ser respeitado no relacionamento aluno e
professor, ensinar e aprender sempre que possível e ter na consciência a certeza de ter me empenhado
ao máximo para atender os objetivos de aprendizado dos alunos, mais ainda, que esses possam aplicar
esse conhecimento em suas promissoras carreiras nessa, que eu acho fascinante, ciência da eletrônica.
Dia 18 de fevereiro de 2013.
Apresentação – conversa com os alunos.
Neste dia houve uma conversa com alunos para conhecimento e esclarecimento de alguns tópicos
como:
- Proibição do uso do celular ou outros que façam uso de fones de ouvido ou reprodução de tipos
diversos de mídia na sala de aula, proibição essa imposta pelos órgão competentes da área da educação
e que o colégio bem como seus colaboradores devem fazer cumprir.
- Comportamento, procurar dar o exemplo de conduta e esperar ser seguido.
- A apresentação propriamente dita, vestir-se adequadamente e proibição do uso de boné, gorro,
toca ou outro tipo qualquer de acessório para uso na cabeça, também essas são regras .
- Possíveis métodos de avaliação como trabalhos, chamada oral ou outros.
Dia 25 de fevereiro de 2013.
Revisão de dados ligados à eletrônica digital.
Iniciada uma revisão dos conceitos de tecnologias de fabricação de chips digitais, portas lógicas,
tipos de memórias, entre outras com finalidade única de relembrar a matéria.
Com relação às tecnologias de construção de chips digitais essa se divide basicamente pelo seu
grau de integração e tecnologia de fabricação entre outras, veja algumas dessas classificações:
Quanto ao grau de integração:
Esta classificação é determinada pela quantidade de portas lógicas que são inseridos no chip que
irá compor o CI a ser classificado, essa classificação está detalhada conforme as siglas usadas abaixo:
SSI (Small Scale integration, Pequena Escala de Integração)
10 portas / C.I.
Para os CIs com pequena escala de integração podemos citar como exemplos alguns CIs de portas lógicas das
séries TTL e CMOS como:
TTL
7400: Quatro portas NAND de duas entradas
7401: Quatro portas NAND de duas entradas com coletor aberto
7402: Quatro portas NOR de duas entradas
7403: Quatro portas NAND de duas entradas com coletor aberto
CMOS
4000: Dual tri-Input NOR Gate and Inverter
4001: Quad 2-input NOR gate
4002: Dual 4-input NOR gate
MSI (Medium Scale integration, Média Escala de Integração) 10 a 100 portas / C.I.
Para os CIs com média escala de integração podemos citar também alguns CIs de funções básicas, porém um pouco
mais elaborados como alguns contadores, registradores de deslocamento (shift-registers) entre outros que ultrapassam
facilmente as 10 portas lógicas como a seguir:
TTL
7445: Decodificador BCD para Decimal
7446: Decodificador BCD para 7 segmentos com saídas de 30V com coletor aberto
7470: Flip-Flop J-K com Preset e Clear com porta AND ativado por borda de subida
CMOS
4014: 8-stage shift register
4008: 4 bit adder
4021: 8-bit static shift register
LSI (Large Scale integration, Grande Escala de Integração)
100 a 1000 portas / C.I.
Nesta categoria de CIs continuam os CIs dedicados a funções exclusivas como contadores, registradores de
deslocamentos e alguns decodificadores mas também já aparecem alguns CIs mais avançados como CIs dedicados à
comunicação serial entre outros, veja alguns exemplos:
8255: PPI – Programable Peripheral Interface, interface de periféricos programável.
8251: USART – Universal Synchronous Asynchronous Receiver Transmiter, Receptor e transmissor síncrono ou
assíncrono universal.
GSI (Great Scale integration, Escala de Integração muito Grande)
>1000 portas / C.I.
Nesta categoria encontramos os mais diversos tipos de CIs, na sua maioria composto por CIs de memórias,
microcontroladores, FPGA entre outros, alguns exemplos:
PIC16F877A – Microcontrolador da MICROCHIP – alvo do nosso estudo
80C52 – Microcontrolador da INTEL
Dia 04 de março de 2013.
Quanto à tecnologia de fabricação essa se divide basicamente em duas classes, sendo que uma faz
uso de transistores BIPOLAR e a outra faz uso de transistores MOS.
Uso de transistores bipolar:
- DTL
- DCTL
- RTL
- RCTL
- HTL
- TTL
- ECL
(Diode Transistor Logic, Lógica de Diodos e Transistores);
(Direct Coupled Transistor Logic, Lógica de Transistores diretamente acoplados);
(Resistor Transistor Logic, Lógica de Transistores e Resistores);
(Resistor Capacitor Transistor Logic, RTL com Capacitores);
(High Threshold Logic, Lógica de alto Limiar);
(Transistor Transistor Logic, Lógica Transistor-transistor);
(Emitter Coupled Logic, Lógica de Emissores Acoplados);.
Uso de transistores MOS (Metal Oxide Semiconductor Logic, Lógica de MOSFETs):
- pMOS (MOSFET canal P);
- nMOS (MOSFET canal N);
- CMOS (Complementary MOS Logic, Lógica MOS complementar) ® Há sempre um pMOS e um
nMOS em arquitetura complementar.
A seguir algumas das principais técnicas de construção de CIs digitais:
DTL – Diode Transistor Logic (lógica com diodos e transistores)
Figura 01
DCTL (Direct-Coupled Transistor Logic)
A família DCTL (Lógica de transistores diretamente acoplados) permitem alimentação de baixa
tensão, em torno de 3V.
Figura 02
Fan-out igual a 2 (limitação), baixa potência em função do menor números de resistores internos,
imunidade ao ruído baixa, em função do fato de que qualquer variação da tensão de entrada poderá
fazer, facilmente, com que um dos transistores saia da situação de corte e entre em situação de
saturação.
RTL (Resistor-Transistor Logic)
A família RLT (Lógica de transistores e resistores) é uma das primeiras famílias transpostas para
os circuitos integrados. Essa família é semelhante à família DCTL somente que seus circuitos não
possuem acoplamento direto dos transistores. Analogamente à família DCTL, possui circuitos simples
e de fácil compreensão.
Figura 03
Características gerais: Fan-out igual a 5, potência dissipada por bloco da ordem de
10mW,devido à introdução dos resistores de base, tem-se maior imunidade ao ruído que na família
DCTL e tempo de atraso típico da ordem de 12ns. A maior imunidade ao ruído é devido ao fato de o
ruído, para polarizar a junção base-emissor do transistor, deve perder energia sobre o resistor de 450
ohms. A tensão associada a esta perda é justamente o incremento de imunidade a ruídos que esta
família tem em relação ao circuito correspondente sem resistor.
RCTL (Resistor-Capacitor Transistor Logic)
A família RCTL (Lógica de Transistor-resistor-capacitor) é semelhante a RTL, apenas com a
introdução de capacitores para diminuir o tempo de atraso, ou seja, aumentar a velocidade de
comutação.
Figura 04
O efeito dos capacitores é diminuir o tempo de atraso, pois quando se aplica um degrau de tensão
em um capacitor, o mesmo comporta-s e como um curto-circuito no instante inicial.
TTL (Transistor-Transistor Logic)
A família TTL (Lógica de Transistores Bipolares) é derivada da família DTL (vide comparação
na figura), diferenciando-se no uso de Transistores Multiemissores, o que resulta em uma série de
vantagens ,tais como: eliminação da rede de diodos e resistores de entrada, maior velocidade de
comutação e ainda, maior facilidade de construção em escala integrada, tornando-se menor o custo por
unidade.
Figura 05
Entrada em aberto – na tecnologia TTL uma entrada em aberto é considerada como se ligada
em nível lógico 1, porém sua alta impedância de entrada a torna sensível a ruídos.
Saída – esta pode ser complementar ou coletor aberto.
Características Principais da Família TTL
- Bloco lógico básico: porta NE
- Fan-out igual típico de 10 para
- O consumo dessa família é da ordem de 10mW por porta na versão mais comum.
- A imunidade ao ruído é relativamente boa,em torno de 0,4 V.
- O tempo de atraso de propagação é da ordem de 10 ns na versão mais comum.
Dia 07 de março de 2013.
Algumas variações da família TTL:
Tabela 01
MOS (Metal-Oxide Semiconductor)
A família MOS (Lógica de transistores MOS-FET) são circuitos formados a partir de transistores
MOSFETs, transistores de efeito de campo, construídos a partir da tecnologia MOS (semicondutor de
óxido metálico). Ilustra-se abaixo estes transistores.
MOSFET
Figura 06
Para o transistor MOS canal n (nMOS) enquanto VGS <= 0V o transistor está cortado. Quando a
tensão VGS for de aproximadamente 1,5 V começa a formação de um canal condutivo entre o dreno e
a fonte (source). Quanto maior o valor de VGS ® maior o canal de condução e, portanto, menor a
resistência entre dreno e fonte. Trabalhando em condições de corte e saturação tem-se resistências de
corte de 10 GW e de saturação de 1 kW. O transistor pMOS (MOSFet canal p) funciona de maneira
complementar de modo que podemos fazer o seguinte resumo.
Nível lógico zero no gate faz o pMOS conduzir e o nMOS cortar, enquanto que o nível lógico um
no gate faz o pMOS cortar e o nMOS conduzir.
O transistor nMOS é 2 vezes mais rápido que o pMOS (maior nível de integração) (**) A
tecnologia MOS apresenta como característica uma maior densidade de integração que os bipolares, de
forma a conseguirmos um grande número de componentes dentro de um mesmo encapsulamento.
Graças a esta característica, têm grande aplicação em circuitos de memórias de grande capacidade e
microprocessadores. Como vantagens desta família temos o baixo custo de fabricação; menor consumo
(não utiliza resistores na fabricação de C.I.'s. Os transistores fazem o papel de resistores); menor
espaço ocupado (ótimo para C.I.'s com alta escala de integração como memórias e
microprocessadores). A principal desvantagem desta família é sua menor velocidade de operação.
BiCMOS
BiCMOS combina as vantagens das tecnologias Bipolar (Alta velocidade) e CMOS (Baixo
Consumo). Esta tecnologia de alta performance tem uma maior facilidade de projeto (projeta-se de
modo análogo aos de baixa performance), uma vez que a minimização dos problemas de ruído
intrínseco, ruídos de chaveamento e consumo em altas freqüências, juntamente com outras
características desta tecnologia híbrida, reduz os esforços de projeto.
Algumas dos vantagens desta tecnologia são: alta velocidade; consumo reduzido tanto em
operação dinâmica quanto estática; Saídas bipolares que provêem 48-64 mA, necessárias para
aplicações avançadas em barramentos; Ruído de chaveamento menor; saída puramente bipolar com
requisitos de corrente e ruídos de acordo com as necessidades atuais; Os estágios de entrada e funcional
utilizam principalmente tecnologia CMOS.
O BiCMOS avançado (ABT) tem sua performance melhorada e ainda pode ser integrado a uma
escala pouco menor que a metade da escala da BiCMOS normal.
Parâmetros elétricos:
Em sistemas digitais, mais precisamente em manuais (DATA SHEET) de componentes ou
sistemas digitais existem alguns termos que são amplamente usados para indicação das características
elétricas do componente em estudo. Algumas delas são:
Terminologia:
-I
- intensity of current;
-V
- voltage (tensão);
-t
- time (tempo);
Índices:
-I
-O
-H
-L
-a
-p
-c
- input (entrada);
- output (saída);
- high (1);
- low (0);
- delay (atraso);
- propagation (propagação);
- comutation (comutação).
As combinações das terminologias e índices podem resultar em termos como os que seguem
abaixo:
Corrente de entrada para nível alto;
- IIH:
- IIL:
Corrente de entrada para nível baixo;
- IOH: Corrente de saída para nível alto;
- IOL: Corrente de saída para nível baixo;
- VIH: Tensão de entrada para nível alto;
- VIL: Tensão de entrada para nível baixo;
- VOH: Tensão de saída para nível alto;
- VOL: Tensão de saída para nível baixo;
Níveis de tensão:
Gráfico 01
Tempos:
- ta: tempo de atraso de propagação (tempo que uma saída lógica leva para “responder” a uma
informação inserida na entrada);
- tc: tempo de comutação ou de chaveamento - é o tempo de transição entre níveis de tensões de
uma unidade lógica. Pode-se ainda classificar a comutação em ts, tempo de subida, o tempo que o
dispositivo leva para ir do nível zero para o nível 1 e td, tempo de descida, tempo que leva para comutar
de um estado lógico 1 para o estado 0.
Gráfico 02
Dia 11 de março de 2013.
Ruído:
Outras características importantes em sistemas digitais é a imunidade a ruídos e a capacidade de
fornecer ou consumir corrente.
Gráfico 03
Corrente de entrada e saída.
FAN IN
- O termo FAN IN significa leque de entrada, isto é, o conjunto das informações das correntes de
entrada. O FAN IN é dado normalmente em amperes, nas formas de corrente de entrada para nível alto,
FAN IN 1 ou IIH e corrente de entrada para nível baixo, FAN IN 0 ou IIL. As correntes de entradas
significam as correntes quiescentes, ou seja, as correntes necessárias para o perfeito funcionamento das
entradas (quando falarmos das correntes de saídas nós veremos que estas são fornecidas com seus
valores máximos). Na figura abaixo, ilustra -se este conceito.
Figura 07
FAN OUT
O termo FAN OUT significa leque de saída e corresponde ao conjunto de informações sobre as
correntes de saída. FAN OUT, ao contrário de FAN IN, não é fornecido em amperes, mas sim,
convencionalmente, como o número de entradas-padrão (da mesma família) que uma saída consegue
excitar com garantia. É um número adimensional e tem um sentido estritamente doméstico (não tem
sentido falar sobre FAN OUT entre famílias diferentes, embora possamos calcular facilmente a
capacidade excitatória de uma família para outra). Por exemplo, se tomarmos a porta desenhada acima,
podemos dizer que o FAN OUT daquela família é 3 se a saída for capaz de drenar 3x1,3mA das três
entradas a ela ligadas e fornecer 3x1,5uA para as mesmas (vide figura abaixo).
Figura 08
Alguns tipos de tecnologia de circuitos digitais:
Fontes:
http://www.pessoal.utfpr.edu.br/bertoldo/Downloads/FamiliasDig.PDF
Tipos de memórias
Em eletrônica digital a memória é um componente indispensável, a mesma pode ser usada para
armazenar uma infinidade de informações, desde o programa até dados que não podem ser perdidos em
eventual queda de energia ou mesmo pelo desligamento temporário do circuito em questão, para isso
existem vários tipos de memória, sendo os principais:
ROM
– Read Only Memory, memória apenas de leitura, esta memória, como o nome já diz é apenas de
leitura, normalmente só é produzida em grande escala e sai de fabrica com o conteúdo já definido.
PROM
– Prgramable Read Only Memory, memória apenas de leitura com possibilidade de uma única
gravação, ou seja, saí de fabrica sem conteúdo, mas pode, com equipamento adequado, ser gravada
uma única vez e manterá seus dados para posterior leitura, o equipamento para gravação da memória é
um gravador e normalmente possui um firmware que atende as características de gravação da memória
determinadas pelo fabricante, normalmente uma tensão mais elevada em um determinado pino habilita
a gravação.
EPROM
– Eraseble Programable Read Only Memory, memória apenas de leitura, mas que pode, com
equipamento adequado, ser gravado e apagado, como a PROM para gravar é usado um gravador de
memória como o citado anteriormente e pode ser apagada por exposição do chip a luz ultravioleta, este
chip possui uma janela de cristal de quartzo que expõem o chip à luz ambiente.
EEPROM ou E2PROM
– Electrically Eraseble Programable Read Only Memory, memória apenas de leitura, mas que
pode, com equipamento adequado, ser gravado e apagado, diferentemente da EPROM esta pode ser
apagada eletricamente, sem a necessidade de exposição à luz ultravioleta, normalmente são gravadas
com gravadores específicos, mas pode ser implementado no hardware recurso para que a mesma seja
gravada pelo próprio hardware em que ela é usada, porém sua velocidade de gravação costuma ser
bastante lenta.
RAM
– Random Access Memory, memória de acesso randômico, esta é uma memória que pode ser
acessada de maneira aleatória (randômica), ser lida e gravada a qualquer momento pela aplicação,
diferente das anteriores esta é uma memória volátil, ou seja, se a mesma for desenergisada seus dados
serão perdidos. Normalmente são as memórias com maior velocidade de operação tanto em escrita
como em leitura.
FLASH
– Flash é uma evolução da memória EEPROM, mas por uma questão de reserva de uso do nome
EEPROM foi criado o termo flash, o nome se deve ao fato de que entre as melhorias presentes nessa
versão está o aumento de velocidade da mesma, uma das técnicas usadas para aumentar a velocidade de
gravação é o uso de um buffer de dados em memória RAM que é mais rápida, ou seja, os dados são
armazenados nesse buffer e depois são gravados em lote na memória não volátil.
Processador
O processador é a unidade central de processamento de um computador ou sistema
computacional, normalmente é um circuito integrado que executa instruções de máquina, realizando
diversos cálculos e tomadas de decisão, o que o torna o cérebro do computador, pois todas as tarefas
são executas por ele.
Este componente processa os dados que recebe, transformando-os em outros dados que
chamamos de informação, todo processamento realizado é controlado por um programa desenvolvido
por um programador ou equipe desses a fim de realizar uma determinada tarefa com precisão e
velocidade.
O processador também é denominado CPU (Central Processing Unit) ou UCP (Unidade Central
de Processamento).
Microprocessador é o nome dado ao processador usado em PCs (Computadores Pessoais),
servidor, notebook, Workstation e mainframe usados por pessoas, empresas e instituições em geral.
Arquitetura VON NEUMANN x HARVARD
-Von Neumann:
A Arquitetura de Von Neumann (de John Von Neumann), é uma arquitetura de computador que
se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço
de memória que os dados, podendo assim manipular tais programas e dados com um único barramento.
A máquina proposta por Von Neumann reúne os seguintes componentes: (I) uma memória, (II)
uma unidade aritmética e lógica (ALU), (III) uma unidade central de processamento (CPU), composta
por diversos registradores, e (IV) uma Unidade de Controle (CU), cuja função é a mesma da tabela de
controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e
executá-lo sobre os dados de entrada.
Cada um dos elementos apresentados é realizado à custa de componentes físicos independentes,
cuja implementação tem variado ao longo do tempo, conforme a evolução das tecnologias de
fabricação, desde os relés eletromagnéticos, as válvulas, até aos semicondutores, abrangendo os
transistores e os circuitos integrados, com média, alta ou muito alta densidade de integração (MSI medium scale, LSI - large scale, ou VLSI - very large scale integration), medida em termos de milhões
transistores por pastilha de silício.
As interações entre os elementos exibem tempos típicos de instrução que também têm variado ao
longo do tempo, conforme as tecnologias de fabricação. Atualmente, as CPUs processam instruções
sob o controle de relógios cujos períodos típicos são da ordem de menos de 1 nanosegundo, ou seja,
1−9 segundos. O mesmo vem acontecendo com as memórias que tem velocidade de barramentos de
800MHz a 2,4GHz. Outras tecnologias são as portas USB, que na sua versão mais recente USB3.0
pode transferir dados a uma velocidade de até 4,8Gbps.
-Harvard:
A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, tendo
vindo da necessidade de por o microcontrolador para trabalhar mais rápido. É uma arquitetura de
computador que se distingue das outras por possuir duas memórias diferentes e independentes em
termos de barramento e ligação ao processador.
Baseia-se na separação de barramentos de dados das memórias onde estão as instruções de
programa e das memórias de dados, permitindo que um processador possa acessar as duas
simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de Von Neumann, pois
pode buscar uma nova instrução enquanto executa outra.
A principal vantagem desta arquitetura é dada pela dupla ligação às memórias de dados e
programa (código), permitindo assim que o processador leia uma instrução ao mesmo tempo em que
faz um acesso à memória de dados.
-Von Neumann x Harvard
Nessas distintas arquiteturas, temos vantagens e desvantagens, como se pode observar a seguir:
Arquitetura tipo Harvard: Caminhos de dados e de instrução distintos, dessa forma, seus
componentes internos têm a seguinte disposição.
Arquitetura Von-Neumann, processa uma única informação por vez, visto que nessa tecnologia as
instruções e dados percorrem o mesmo barramento, o que torna o processo lento em relação à
arquitetura Harvard.
-
Von Neumann
Arquitetura mais simples.
Mais lento, pois não permite acesso simultâneo a
dados e instruções.
Geralmente CISC.
Alguns exemplos de componentes com arquitetura
Von Neumann:
- 4004 – processador com 46 instruções.
- 8080 – Processador com 78 instruções.
- 8085 – Processador com 150 instruções.
- Z80 – Processador com mais de 500 instruções.
- 8051 – Microcontrolador com 111 instruções.
-
Harvard
Arquitetura mais complexa.
Mais rápido, pois permite acesso simultâneo a
dados e instruções.
Geralmente RISC
Permite o Pipelining.
Alguns exemplos de componentes com arquitetura
Von Neumann:
- Intel 8086 e 8088
- Microcontroladores PIC – 35 instruções na versão
PIC16.
Normalmente a arquitetura Havard também possui um repertório com menos instruções do que a
de Von-Neumann.
Os microcontroladores com arquitetura Havard são também conhecidos como
"microcontroladores RISC" (Reduced Instruction Set Computer - Computador com Conjunto Reduzido
de Instruções), e os microcontroladores com uma arquitetura Von-Neumann, são conhecidos como
"microcontroladores CISC" (Complex Instruction Set Computer - Computador com um Conjunto
Complexo de Instruções), apesar de isso não ser uma regra.
Equipamentos que utilizam a arquitetura Harvard:
Os PICs (microcontroladores PIC) são uma família de microcontroladores fabricados pela
Microchip Technology, que processam dados de 8 bits, de 16 bits e mais recentemente 32 bits, com
extensa variedade de modelos e periféricos internos, com arquitetura Harvard e conjunto de instruções
RISC (componentes que começam com conjuntos de 35 instruções), com recursos de programação por
Memória flash, EEPROM e OTP. Os microcontroladores PIC têm famílias com núcleos de
processamento de 12 bits, 14 bits e 16 bits e trabalham em velocidades de 0kHz (ou DC) a 48MHz,
usando ciclo de instrução de 4 períodos de clock, o que permite uma velocidade de no máximo 12
MIPS para essas famílias, podendo ser mais rápidos em outras famílias. Há o reconhecimento de
interrupções tanto externas como de periféricos internos. Funcionam com tensões de alimentação de 2 a
6V e os modelos possuem encapsulamento de 6 a 100 pinos em diversos formatos (SOT23, DIP, SOIC,
TQFP, etc).
Fonte: http://sistemasuniban.blogspot.com.br/2010/04/arquiterura-von-neumann-vs-harvard.html
Dia 18 de março de 2013.
Microprocessadores x Microcontroladores
Basicamente podemos dizer que:
- Microprocessador é um componente eletrônico composto por uma unidade central de
processamento, barramento de endereço, barramento de dados e barramento de controle, não possui
memória nem periféricos (temporizadores, conversores ADC ou DAC, hardware de comunicação
serial, entre outros), devendo esses serem ligados externamente no projeto computacional que usa o
Microprocessador escolhido.
- Microcontrolador é um componente eletrônico que tem os mesmos recursos do
microprocessador, porém já tem em seu chip a memória de programa, a memória de dados e vários
periféricos, tudo em um encapsulamento único.
Bits, Flags, Nibles, Bytes e Words.
Em sistemas computacionais eletrônicos a base numérica é a binária, onde os dígitos variam entre
0 e 1, onde o 0 equivale a 0Vcc ou estar ligado ao GND do circuito e o 1 equivale a +Vcc, ou seja, em
um circuito alimentado por +5Vcc essa será a tensão equivalente ao digito 1.
Cada dígito pode ser tratado de maneira individual ou em conjunto o que nos dá as seguintes
possibilidades:
Bit
- Um bit é a menor unidade em um sistema digital podendo, por exemplo, endereçar apenas duas
possibilidades, 0 e 1.
Flag
- Um flag contém apenas um bit e normalmente é parte de um byte, mas especificamente um
registrador, em sistemas computacionais microcontrolados os registradores são amplamente usados
para configurar dispositivos ou representar o status dos dispositivos, um flag pode ser usado, por
exemplo, para ligar ou desligar um determinado dispositivo ou periférico do microcontrolador em uso.
Nibles
- Um nible é um conjunto de 4 bits o que permite 16 combinações.
Byte
- Um byte é um conjunto de 8 bits, ou dois nibles, que permite 256 combinações, é a unidade
mais usada para determinar capacidades de armazenamento e também transferências de dados digitais,
também pode ser usada com seus multiplicadores mais comuns, Kbytes, Mbytes entre outros.
Word
- Em sistemas computacionais de estrutura Harvard como os PICs os barramentos podem ter
tamanhos que não são bit, nibles ou bytes esses barramentos podem ter tamanhos de 12, 14, 16 ou
outras capacidades em bits, para esses tamanhos de barramentos damos o nome de words.
- PIC16F877A
O microcontrolador escolhido para nossos estudos é o PIC16F877A, um microprocessador da
família de 8bits da MICROCHIP que pode ser encontrando e vários encapsulamentos entre eles o DIP
de 40 pinos o que facilita seu uso prático, seguem abaixo as principais características deste PIC:
CPU RISC de alta performance.
•
•
•
•
•
•
Apenas 35 instruções.
Maioria das instruções realizadas em um ciclo de máquina exceto as de desvio.
Velocidade de operação de DC a 20MHz com ciclo de DC a 200ns.
8K x 14 words de memória de programa flash.
368 bytes de memória RAM.
256 bytes de memória EEPROM.
Características dos periféricos.
•
•
•
•
Timer0 – Timer/Counter de 8 bits com prescaler de 8 bits.
Timer1 – Timer/Counter de 16 bits com prescaler e que pode ser incrementado durante o sleep se o clock for
externo.
Timer2 – Timer/Counter de 8 bits com registrador de período de 8 bits, prescaler e postscaler.
2 módulos de compare, capture ou PWM (captura com de 16 bits e resolução máxima de 12,5ns, Compara
com 16 bits e resolução de 200ns e o PWM tem uma resolução máxima de 10 bits).
Dia 25 de março de 2013.
•
•
•
•
Porta serial síncrona (SSP – Synchronous Serial Port) com SPI (Máster mode) e I2C (Master and Slave
Mode). – Comunicação com periféricos à curta distancia, normalmente na mesma placa de circuito
impresso, um exemplo podem ser os sensores de temperatura e o chip de relógio em uma placa mãe de
computador.
Porta serial síncrona assíncrona (USART – Universal Synchronous Asynchronous Receiver Transmiter). –
Em um computador é este dispositivo que está por trás da porta de comunicação serial que ainda tem em
alguns micros e que podem ser usadas para comunicação com modem externo ou ainda com alguns sistemas
de relógio de ponto ou sistemas de controle de acesso.
Porta Paralela Escrava (PSP – Parallel Slave Port), porta de 8 bits com sinais de controle R/D, W/R e C/S. –
Comunicação de paralela de 8 bits como as que eram usadas em impressoras antigas (padrão
CENTRONICS).
Detector de baixa tensão de alimentação (BOR – Brown-out Reset). – Funciona como um voltímetro que
monitora a tensão de alimentação de sua aplicação e pode resetar o microcontrolador caso essa tensão venha
a ter uma variação crítica ou que ultrapasse um limite pré-determinado.
Características analógicas.
•
Conversor analógico para digital de 10 bits com até 8 entradas. – Este é um único conversor com uma
precisão de 10bits (1024 divisões) e com um multiplexador para uso com até oito entradas, sendo possível
fazer a conversão de tensão de todas essas, mas uma de cada vez.
Dia 27 de maio de 2013.
Características especiais do PIC16F877A.
•
•
•
•
•
•
•
•
•
•
•
•
Suporta mais de 100.000 de ciclos de gravação da memória de programa (quantia de vezes que podemos
carregar programas ou apagar a memória do µcontrolador).
Suporta mais de 1.000.000 de ciclos de gravação da memória EEPROM.
Retenção de dados na memória de mais de 40 anos (significa que o programa permanece na memória do
µcontrolador mesmo sem estar alimentado).
Alto programável via software (significa que o software que estiver rodando na aplicação pode gravar na
própria memória de programa).
ICSP (In Circuit Serial Program), programação serial na aplicação via dois pinos (forma pela qual podemos
gravar o programa desenvolvido no µcontrolador da nossa aplicação).
Pode ser programado apenas com a alimentação de 5Vcc (pode ser gravado mesmo sem a tensão de 13Vcc
normalmente aplicada a um pino do chip para habilitar a gravação do programa na memória interna).
Watchdog Timer (WDT) com um oscilador RC interno para operação confiável (um oscilador independente
do principal para evitar falha do WDT).
Proteção do código nas memórias de programa e EEPROM (Evita que possam ler o código gravado tanto na
memória de programa como na EEPROM, ou seja, se habilitar essa função não será possível fazer o uso de
um programador externo para extrair o código que foi criado).
Modo de sono (SLEEP) para redução de consumo ( permite parar quase todas as funções inclusive o
processamento da UCP a fim de economizar energia em aplicações que façam uso de pequenas baterias,
funcionam apenas alguns itens para que o chip possa ser reposto em trabalho).
Vários tipos de osciladores para serem escolhidos (permite a escolha de tipos diferentes de osciladores
oferecendo opções com estabilidade, velocidade, consumo ou combinações dessas características conforme
necessidade da aplicação desenvolvida).
Debug de software via dois pinos (ICD) (Permite que o programa seja monitorado por uma combinação de
hardware e software externos, acompanhando o programa passo a passo para encontrar possíveis erros no
código).
Uso de tecnologias de baixo consumo e alta velocidade, memórias FLASH e EEPROM, versões para uso
comercial ou industrial (suporta menor ou maior variação de temperatura), tensão de alimentação de 2 a
5,5Vcc.
- Periféricos do PIC16F877A.
O PIC16F877A possui os seguintes periféricos a disposição dos desenvolvedores de aplicações para os mais diversos
usos, usos esses que são limitados apenas pela quantidade de hardware e principalmente da criatividade do desenvolvedor.
•
•
•
•
•
•
33 pinos de entrada e saída (I/O) compartilhados o que significa que apesar de existirem os 33 pinos que
podem ser configurados como entrada, saída ou alternar esses estados durante o funcionamento da aplicação
eles podem ser necessários para uso dos periféricos do µcontrolador.
3 temporizadores contadores (timers/counters) sendo o timer 0 de 8 bits com prescaler, o timer 1 de 16 bits
com prescaler e pode ser incrementado durante o SLEEP se o pulso for externo e o timer 2 com prescaler e
postcaler, esses periféricos podem ser usado para contagem de eventos (contadores) ou para gerar períodos
regulares (timer) a fim de controlar algo com tempos específicos.
Porta Serial Síncrona (SSP – Synchronous Serial Port), portas para comunicação de média ou alta
velocidade e curta distancia (normalmente entre circuitos no mesmo hardware em que se encontra o
µcontrolador), existem dois tipos diferentes de comunicação que são a I2C e a SPI e serão detalhadas mais à
frente.
Transmissor receptor síncrono assíncrono universal (USART – Universal Synchronous Assynchronous
Receiver Transmitter) comunicação serial normalmente usada para comunicação com hardware externo
como outra aplicação ou ainda um PC com um aplicativo especifico a uma média ou longa distancia.
Porta paralela escrava (PSP – Paralell Slave Port) para comunicação via barramento de 8 bits e pinos de
controle com outros periféricos compatíveis com esse recurso.
Conversor analógico para digital com resolução de 10 bits (ADC – Analog to Digital Converter), como o
nome já diz permite converter um sinal analógico aplicado a um determinado pino em um número para que
•
•
possa ser devidamente processado, apesar de possuir apenas um ADC existem 8 entradas que podem ser
configuradas como entrada analógicas, porém só podem ser lida uma de cada vez.
2 comparadores analógicos que podem ser usados para detectar quando uma ou mais entradas analógicas
tem uma tensão maior ou menor que uma determinada referencia que pode ser interna ou externa.
2 módulos de comparação, captura e PWM, CCP1 e CCP2 que serão melhor explicados quando de sua
utilização.
•
O PIC16F877A, alvo do nosso estudo tem como periféricos em seu interior os recursos citados acima, ao longo do
curso vamos explicar o que cada um faz.
Para darmos inicio ao detalhamento segue abaixo a pinagem deste CI no invólucro PDIP:
Pino de saída (Out)
Legenda:
pino de entrada (In)
Pino de entrada e saída (I/O)
Nomenclatura dos pinos
Segue abaixo uma tabela com descrição de cada um dos pinos deste chip a fim de facilitar a
identificação das funções dos mesmos.
Nome
OSC1 / CLKIN
Número
13
I/O/P
I
OSC2 / CLKOUT
14
O
Tipo
ST /
CMOS(4)
_
Nome
MCLR / Vpp
Número
1
I/O/P
I/P
Tipo
ST
Vss
Vdd
PORTA
RA0 / AN0
RA1 / AN1
RA2 / AN2 / Vref / Cvref
12 / 31
11 / 32
P
P
-
2
3
4
I/O
I/O
I/O
TTL
TTL
TTL
RA3 / AN3 / Vref+
5
I/O
TTL
RA4 / TOCKI / C1OUT
6
I/O
ST
RA5 / SS / AN4 / C2OUT
7
I/O
TTL
Descrição
Entrada para cristal ou osciladores externos (hibridos ou RC)
Saída para critais ou ressonadores no caso deste tipo de
oscilador ou no modo RC representa uma saida de onda
quadrada com 1/4 da frequência de operação (ciclo de
máquina)
Descrição
Master Clear Reset externo. Deve permanecer em nivlel
lógico 1, quando levado a 0 reseta o microcontrolador. Se
aplicada uma tensão de 13Vcc neste pino o chip entra em
modo de programação.
Alimentação positiva do chip
GND - Terra do chip
I/Os digitais bidirecionais e sistema analógico.
PORTB
I / O digital ou entrada analógica AN0
I / O digital ou entrada analógica AN1
I / O digital ou entrada analógica NA2, ou tensão negativa de
referência analógica
I / O digital ou entrada analógica AN3 ou tensão positiva de
referência analógica
I / O digital (quando configurado como saída esta se
caracteriza por uma saída open drayn), entrada externa do
TMR0 ou saída do comparador 1.
I /O digital, entrada analógica AN4, Habilitação externa (Slave
Select) para comunicação SPI ou saída do comparador 2.
I/Os digitais bidirecionais, todos os pinos dessa porta
tem resistores PULL UP que podem ser habilitados por
software.
I/O digital e entrada de interrupção externa
RB0 / INT
RB1
RB2
RB3 / PGM
33
34
35
36
I/O
I/O
I/O
I/O
TTL / ST(1)
TTL
TTL
TTL
RB4
RB5
RB6 / PGC
37
38
39
I/O
I/O
I/O
TTL
TTL
TTL / ST
I / O digital com interrupção por mudança de estado, clock da
RB7 / PGD
40
I/O
TTL / ST(2)
programação serial ou pino di In Circuit Debugger
I / O digital com interrupção por mudança de estado, dados
I / O digital
I / O digital
I / O digital ou entrada para programação em baixa tensão
(Vcc)
I / O digital com interrupção por mudança de estado
I / O digital com interrupção por mudança de estado
da programação serial ou pino de In Circuit Debugger.
I/Os digitais bidirecionais.
PORTC
RC0 / T10SO / T1CKI
15
I/O
ST
RC1/T10SI/CCP2
16
I/O
ST
RC2/CCP1
17
I/O
ST
RC3/SCK/SCL
18
I/O
ST
RC4/SDI/DAS
23
I/O
ST
RC5/SDO
RC6/TX/CK
24
25
I/O
I/O
ST
ST
RC7/RX/DT
26
I/O
ST
I / O digital, saída do oscilador externo para TMR1 ou entrada
de incremento do TMR1.
I / O digital, entrada do oscilador externo para TMR1, entrada
do capture 2 ou saída do compare 2 ou PWM2
I / O digital, entrada do capture 1 ou saída do compare 1 ou
PWM 1.
I / O digital ou entrada/saída de clock para comunicação
serial SPI / I2C.
I / O digital, entrada de dados para SPI ou via de dados para
I2C.
I / O digital, e saída de dados para SPI.
I / O digital, TX (transmissão) para comunicação USART
assíncrona ou clock para comunicação síncrona.
I / O digital, RX (recepção)para comunicação USART
assíncrona ou data para comunicação síncrona.
Nome
PORTD
Número
I/O/P
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
PORTE
RE0/RD/AN5
19
20
21
22
27
28
29
30
8
I/O
TTL / ST(3)
RE1/WR/AN6
9
I/O
TTL / ST(3)
RE2/CS/AN7
10
I/O
TTL / ST(3)
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Tipo
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
TTL/ST(3)
Descrição
I/Os digitais bidirecionais e bits do PMP (Pararell Master
Port).
I/O digital ou bit0 do PMP
I/O digital ou bit1 do PMP
I/O digital ou bit2 do PMP
I/O digital ou bit3 do PMP
I/O digital ou bit4 do PMP
I/O digital ou bit5 do PMP
I/O digital ou bit6 do PMP
I/O digital ou bit7 do PMP
I/Os digitais bidirecionais e sistema analógico
I/O digital, controle de leitura da PMP ou entrada analógica
AN5.
I/O digital, controle de escrita da PMP ou entrada analógica
AN6.
I/O digital, controle de seleção da PMP ou entrada analógica
AN7.
Legenda da tabela de nomenclatura:
- I/O
-I
-O
- TTL
- ST
-P
- “-“
=
=
=
=
=
=
=
Input/Output (entrada e saída).
Input (apenas entrada).
Output (apenas saída).
Pino tipo TTL (pino com tecnologia compatível TTL).
Pino tipo Schimitt Trigger (pino com caracteristica Schimitt trigger).
Power (pinos de alimentação do CHIP).
Não Utilizado (pino não usado).
Notas:
(1) Esta entrada é tipo ST somente para a função INT (interrupção externa).
(2) Esta entrada é tipo ST somente durante a programação do chip.
(3) Esta entrada é tipo ST quando usada como I/O e TTL quando usada como PMP.
(4) Esta entrada é ST quando usado o modo RC e CMOS nos demais casos.
- Estrutura interna do PIC16F877A.
Na figura abaixo podemos identificar vários dos conceitos explicados anteriormente, entre eles
podemos destacar:
9 Mais de um barramento como “DATA BUS”, usado para trafego de dados entre a ALU
(Aritmetic Logic Unit – Unidade Lógica e Aritmética) e memória e periféricos do nosso
chip, característica da arquitetura Von Neumann.
9 Uso de vários tipos de memória como a RAM para registradores e dados, memória Flash
para programa e EEPROM para armazenamento dados não voláteis.
9 Os vários recursos do microcontrolador como os Timers, conversor AD entre outros.
Esta figura é parte do data sheet original da MICROCHIP.
Alguns exemplos do compartilhamento de pinos
Notem no desenho acima que os pinos RB0 a RB3 estão sendo usados como entradas (leitura de
teclas) e como saídas (acionamento dos LEDS), notem ainda que a porta D (RD0 a RD7) está sendo
usada para acionar 04 displays de 7 segmentos a LED usando uma varredura com os pinos RB4 a RB7
e os transistores Q1 a Q4.
O uso dos pinos como entrada e como saída para poder ler uma tecla e também acionar o LED
pode ser necessário dependendo do custo da sua aplicação e é controlado por software, fazendo as
funções de entrada e saída se alternarem em tempos curtos e relativamente precisos a fim de poderem
ler as teclas com boa precisão e ao mesmo tempo conseguir dar ao usuário da aplicação uma diferença
bastante nítida dos estados de apagado e aceso do LED, bem como a varredura dos displays que devem
oferecer uma boa nitidez e clareza para sua leitura.
No exemplo acima temos a ligação de um display LCD de caracteres ligados à porta D, um
teclado configurado como matriz de 3 colunas e 4 linhas ligados à porta B, um botão ligado ao pino
RA0, dois LEDs ligados aos pinos RE0 e RE1 e um relé ligado ao pino RE2.
Notem que foram usados resistores de pull-down (ligados ao terra) nos pinos do LCD, o que não
é necessário tendo em vista que os pinos da porta D podem impor tanto o nível alto como o nível baixo
quando configurados como saída.
VDD
U1
+88.8
RV1
13
14
1
Volts
50%
+88.8
mA
1k
+88.8
2
3
4
5
6
7
Volts
8
9
10
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/THV
U2
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T0CKI
RA5/AN4/SS
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RE0/AN5/RD
RC2/CCP1
RE1/AN6/WR
RC3/SCK/SCL
RE2/AN7/CS
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
VSS
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
PIC16877
33
34
35
36
37
38
39
40
3
4
7
8
13
14
17
18
15
16
17
18
23
24
25
26
1
11
19
20
21
22
27
28
29
30
D0
D1
D2
D3
D4
D5
D6
D7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
D0
D1
D2
D3
D4
D5
D6
D7
D[0..15]
+5V
OE
LE
D[0..15
74LS373
U3
3
4
7
8
13
14
17
18
1
11
D0
D1
D2
D3
D4
D5
D6
D7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
D8
D9
D10
D11
D12
D13
D14
D15
OE
LE
74LS373
No esquema acima podemos ver uma aplicação não muito comum, pois faz uso de displays de 7
segmentos hexadecimais e usa 2 CIs 74LS373 que são buffers com retenção para multiplexar, em
conjunto com os pinos RD6 e RD7 os pinos da porta B, e o pino RA0 está sendo usado como entrada
analógica.
NÃO IMPRIMAM A PARTIR DAQUI.
O que é ciclo de máquina?
O que se deve saber é que nesse microcontrolador a freqüência do clock interno equivale a ¼ da
freqüência do clock do circuito oscilador escolhido, ou seja, se tivermos um cristal de 4MHz ligado aos
pinos CLKIN / CLKOUT do PIC a freqüência usada como referencia interna para processamento e
periféricos que façam uso do clock será de 1MHz.
Abaixo é possível ver um gráfico de tempo que explica melhor essa técnica:
Notem que no primeiro ciclo de máquina é buscada(fetch 1) a primeira instrução no próximo
ciclo ela é executada(execute 1) e ao mesmo tempo é buscada(fetch 2) a segunda instrução e assim por
diante, isso ocorre até encontrar uma instrução de salto (CALL SUB_1), nesse momento também é
buscada a instrução seguinte porém durante a execução da instrução CALL a próxima instrução
buscada é descartada e será realizado o salto para a rotina SUB_1.
O que significa que a grande maioria das instruções do PIC são realizadas em um único ciclo de
maquina, exceto aquelas de salto e algumas condições de teste como indicada no data sheet.
Memória de programa.
A memória deste chip tem um tamanho de 8Kword, cada Word tem 14 bits e fica armazenada em
uma memória flash, esta é uma memória não volátil que pode ser gravada por hardware externo
(gravador) ou pode ser gravada pelo software da sua aplicação o que possibilita um software dinâmico
ou ainda a implantação da técnica de boot loader, pequeno programa que pode ser usado por exemplo
para que o usuário da aplicação faça as atualizações disponibilizadas do firmware, outra opção é o uso
desta memória como uma expanção da EEPROM existente no chip.
Outras características importantes desta memória são:
- Vetor de reset.
Neste chip o vetor de reset é o endereço 0x0000, endereço inicial da memória e destino do
contador de programa (PC Program Counter) sempre que o chip é devidamente alimentado ou que o
pino MCLR recebeu um pulso de reset (pulso negativo).
- Vetor de interrupção.
Todos os periféricos deste chip inclusive o pino INT (entrada de interrupção externa) podem
gerar uma interrupção para o programa principal, apesar de existirem neste chip 15 fontes de
interrupção todas usam o mesmo vetor, este vetor é o endereço 0x0004 da memória de programa.
- Tamanho da memória e páginas de memória.
Como descrito acima a memória deste chip é de 8Kword, ou seja, 8.192 endereços de programa e
cada endereço é composto por uma palavra (Word) de 14 bits, isso gera um problema de gerenciamento
dos endereços, ou seja, para endereçar 9.192 endereços são necessários 13 bits e a Word tem apenas 14
bits, porém essa Word tem que conter o opcode (código da instrução) e o endereço do salto.
Veja alguns exemplos de opcode de instruções de salto:
Instrução
CALL
OPCODE
100 KKK KKKK KKKK
GoTo
101 KKK KKKK KKKK
Obs
KKK KKKK KKK equivalem a 11 dos 13 bits do endereço de
destino
KKK KKKK KKK equivalem a 11 dos 13 bits do endereço de
destino
Para solucionar o problema a memória de programa foi dividida em 04 páginas de 2.048
endereços cada página e foi implementado um registrador PCLATCH para armazenar dois bits que são
os bits mais significativos para completar o endereço. Veja abaixo uma representação das páginas de
memória do chip.
- Pilha (stack).
A pilha de memória é um bloco na memória separado para armazenar endereços de retorno das
instruções de chamada de sub rotinas e interrupção, ou seja, sempre que ocorre um desvio do programa
para atender a uma interrupção ou a uma chamada de sub rotina o endereço seguinte ao endereço em
execução é salvo nessa memória, no final da rotina uma instrução de retorno da rotina busca na pilha o
endereço de retorno para dar continuidade no programa principal.
Uma característica importante desta pilha é que ela é limitada em 8 endereços, ou seja, somente
será possível atender a 8 chamadas de rotinas ou atendimento de interrupção em seqüência, sem que
ocorram o encerramentos dessas rotinas por retorno, caso aconteçam mais de 8 chamadas a sub rotinas
ao ocorrer a nona chamada o endereço da primeira chamada é perdido e assim por diante.
Outra característica é que o tamanho das words da pilha é de 13 bits, ou seja, ela pode armazenar
um endereço de retorno completo sem se preocupar com as páginas do endereço, no entanto no caso de
chamadas de sub rotinas por software (CALL) deve-se antes ajustar o PCLATCH referente ao endereço
da rotina que será chamada.
Set de instruções.
Instrução
Descrição
Ciclos
Status
afetado
Instruções com registradores em nível de Bytes
ADDWF
f,d Soma o conteúdo do registro W com o
conteúdo de um registrador F qualquer
1
C,DC,Z
ANDWF
f,d Operação “E” entre o conteúdo do registro W e
conteúdo de um registro F qualquer
1
Z
CLRF
f
Limpa o conteúdo de um registrador F qualquer
1
Z
CLRW
-
Limpa o conteúdo do registrador W
1
Z
COMF
f,d Complementa o conteúdo de um registrador F
qualquer
1
Z
DECF
f,d Decrementa o conteúdo de um registrador F
qualquer
1
Z
DECFSZ
f,d Decrementa o conteúdo de um registrador F
qualquer, pula próxima instrução se “zero”
1(2)
-
INCF
f,d Incrementa o conteúdo de um registrador F
qualquer
1
Z
INCFSZ
f,d Incrementa o conteúdo de um registrador F
qualquer, pula próxima instrução se “zero”
1(2)
-
IORWF
f,d Operação “OU” entre o conteúdo do registro W
e conteúdo de um registro F qualquer
1
Z
MOVF
f,d Move o conteúdo de um registrador F qualquer
1
Z
MOVWF
f
Move o conteúdo do registro W para um
registrador F qualquer
1
-
NOP
-
Consome um ciclo, sem executar nada
1
-
RLF
f,d Gira a esquerda o conteúdo de um registrador
F qualquer, considerando o “Carry”
1
C
RRF
f,d Gira a direita o conteúdo de um registrador F
qualquer, considerando o “Carry”
1
C
SUBWF
f,d Subtraí o conteúdo do registro W com o
conteúdo de um registrador F qualquer
1
C,DC,Z
SWAPF
f,d Troca os “nibble’s” de um registrador qualquer
1
-
XORWF
f,d Operação “OU Exclusivo” entre o conteúdo do
registro W e conteúdo de um registro F
qualquer
1
Z
Instruções com registradores em nível de Bit
BCF
f,b Zera um bit de um registrador F qualquer
1
-
BSF
f,b Seta um bit de um registrador F qualquer
1
-
BTFSC
f,b Testa um bit de um registrador F qualquer,
pula próxima instrução se igual a zero
1(2)
-
BTFSS
f,b Testa um bit de um registrador F qualquer,
pula próxima instrução se igual a “1”
1(2)
-
Operações com Literais e de controle
ADDLW
k
Soma o valor “k” ao registrador W
1
C,DC,Z
ANDLW
k
Operação “E” entre o valor “k” e o registrador
W
1
Z
CALL
k
Chama uma sub-rotina representada por “k”
2
-
CLRWDT
-
Limpa o WatchDog Timer
1
TO,PD
GOTO
k
Desvia para o endereco representado por “k”
2
-
IORLW
k
Operação “OU” entre o valor “k” e o registrador
W
1
-
MOVLW
k
Move o valor “k” para o registrador W
1
-
RETFIE
-
Retorno de uma interrupção
2
-
RETLW
k
Retorno de uma sub-rotina com valor “k” no
registrador W
2
-
RETURN
-
Retorno de uma sub-rotina
2
-
SLEEP
-
Entra em modo “Standby”
1
TO,TP
SUBLW
k
Subtraí o valor “k” do registrador W
1
C,DC,Z
XORLW
k
Operação “OU Exclusivo” entre o valor “k” e o
registrador W
1
Z

Documentos relacionados

Circuitos Integrados (CIs)

Circuitos Integrados (CIs) CIs digitais frequentemente são classificados de acordo com a complexidade de seus circuitos, de acordo com o número de portas lógicas no substrato

Leia mais