Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Microcontroladores vs Microprocessadores: Memória e Unidades Relacionadas, Notas de estudo de Tecnologia Industrial

A evolução dos microcontroladores e microprocessadores, enfatizando a importância da memória em ambos. Desde a primeira aparição dos primeiros microprocessadores de 8 bits até a decisão crítica de faggin em desenvolver o intel 8085, o texto aborda a importância da memória e dos registos na execução de operações matemáticas e outras operações com dados. Além disso, o documento discute a comunicação série, a unidade de comunicação série, o temporizador e a conversão analógico-digital (a/d).

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 16/07/2010

valdemir-barbosa-8
valdemir-barbosa-8 🇧🇷

1 documento

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Microcontroladores PIC
on-line GRÁTIS!
CAPÍTULO 1
Introdução aos Microcontroladores
Introdução
História
Microcontroladores versus microprocessadores
1.1 Unidade de memória
1.2 Unidade central de processamento
1.3 Bus
1.4 Unidade de entrada/saída
1.5 Comunicação série
1.6 Unidade de temporização
1.7 Watchdog
1.8 Conversor analógico-digital
1.9 Programa
Introdução
As circunstâncias que se nos deparam hoje no campo dos microcontroladores têm os seus primórdios no
desenvolvimento da tecnologia dos circuitos integrados. Este desenvolvimento tornou possível armazena
r
centenas de milhares de transístores num único chip. Isso constituiu um pré-requisito para a produção de
microprocessadores e, os primeiros computadores foram construídos adicionando periféricos externos tais como
memória, linhas de entrada e saída, temporizadores e outros. Um crescente aumento do nível de integração,
permitiu o aparecimento de circuitos integrados contendo simultaneamente processador e periféricos. Foi assim
que o primeiro chip contendo um microcomputador e que mais tarde haveria de ser designado po
r
microcontrolador, apareceu.
História
É no ano de 1969 que uma equipa de engenheiros japoneses pertencentes à companhia BUSICOM chega aos
Estados Unidos com a encomenda de alguns circuitos integrados para calculadoras a serem implementados
segundo os seus projectos. A proposta foi entregue à INTEL e Marcian Hoff foi o responsável pela sua
concretização. Como ele tinha tido experiência de trabalho com um computador (PC) PDP8, lembrou-se de
apresentar uma solução substancialmente diferente em vez da construção sugerida. Esta solução pressupunha
que a função do circuito integrado seria determinada por um programa nele armazenado. Isso significava que a
configuração deveria ser mais simples, mas também era preciso muito mais memória que no caso do projecto
proposto pelos engenheiros japoneses. Depois de algum tempo, embora os engenheiros japoneses tenham
tentado encontrar uma solução mais fácil, a ideia de Marcian venceu e o primeiro microprocessador nasceu. Ao
transformar esta ideia num produto concreto, Frederico Faggin foi de uma grande utilidade para a INTEL. Ele
transferiu-se para a INTEL e, em somente 9 meses, teve sucesso na criação de um produto real a partir da sua
primeira concepção. Em 1971, a INTEL adquiriu os direitos sobre a venda deste bloco integral. Primeiro eles
compraram a licença à companhia BUSICOM que não tinha a mínima percepção do tesouro que possuía. Neste
mesmo ano, apareceu no mercado um microprocessador designado por 4004. Este foi o primeiro
microprocessador de 4 bits e tinha a velocidade de 6 000 operações por segundo. Não muito tempo depois, a
companhia Americana CTC pediu à INTEL e à Texas Instruments um microprocessador de 8 bits para usar em
terminais. Mesmo apesar de a CTC acabar por desistir desta ideia, tanto a Intel como a Texas Instruments
continuaram a trabalhar no microprocessador e, em Abril de 1972, os primeiros microprocessadores de 8 bits
apareceram no mercado com o nome de 8008. Este podia endereçar 16KB de memória, possuía 45 instruções e
tinha a velocidade de 300 000 operações por segundo. Esse microprocessador foi o pioneiro de todos os
microprocessadores actuais. A Intel continuou com o desenvolvimento do produto e, em Abril de 1974 pôs cá
fora um processador de 8 bits com o nome de 8080 com a capacidade de endereçar 64KB de memória, com 75
instruções e com preços a começarem em $360.
Uma outra companhia Americana, a Motorola, apercebeu-se rapidamente do que estava a acontecer e, assim,
pôs no mercado um novo microprocessador de 8 bits, o 6800. O construtor chefe foi Chuck Peddle e além do
microprocessador propriamente dito, a Motorola foi a primeira companhia a fabricar outros periféricos como os
6820 e 6850. Nesta altura, muitas companhias já se tinham apercebido da enorme importância dos
microprocessadores e começaram a introduzir os seus próprios desenvolvimentos. Chuck Peddle deixa a
Motorola para entrar para a MOS Technology e continua a trabalhar intensivamente no desenvolvimento dos
microprocessadores.
g
ina 1 de 8CAPÍTULO 1 - Introdução aos Microcontroladores
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Microcontroladores vs Microprocessadores: Memória e Unidades Relacionadas e outras Notas de estudo em PDF para Tecnologia Industrial, somente na Docsity!

Microcontroladores PIC

on-line GR¡TIS!

CAPÕTULO 1

IntroduÁ„o aos Microcontroladores

IntroduÁ„o HistÛria Microcontroladores versus microprocessadores 1.1 Unidade de memÛria 1.2 Unidade central de processamento 1.3 Bus 1.4 Unidade de entrada/saÌda 1.5 ComunicaÁ„o sÈrie 1.6 Unidade de temporizaÁ„o 1.7 Watchdog 1.8 Conversor analÛgico-digital 1.9 Programa

IntroduÁ„o

As circunst‚ncias que se nos deparam hoje no campo dos microcontroladores tÍm os seus primÛrdios no desenvolvimento da tecnologia dos circuitos integrados. Este desenvolvimento tornou possÌvel armazenar centenas de milhares de transÌstores num ˙nico chip. Isso constituiu um prÈ-requisito para a produÁ„o de microprocessadores e, os primeiros computadores foram construÌdos adicionando perifÈricos externos tais como memÛria, linhas de entrada e saÌda, temporizadores e outros. Um crescente aumento do nÌvel de integraÁ„o, permitiu o aparecimento de circuitos integrados contendo simultaneamente processador e perifÈricos. Foi assim que o primeiro chip contendo um microcomputador e que mais tarde haveria de ser designado por microcontrolador, apareceu.

HistÛria

… no ano de 1969 que uma equipa de engenheiros japoneses pertencentes ‡ companhia BUSICOM chega aos Estados Unidos com a encomenda de alguns circuitos integrados para calculadoras a serem implementados segundo os seus projectos. A proposta foi entregue ‡ INTEL e Marcian Hoff foi o respons·vel pela sua concretizaÁ„o. Como ele tinha tido experiÍncia de trabalho com um computador (PC) PDP8, lembrou-se de apresentar uma soluÁ„o substancialmente diferente em vez da construÁ„o sugerida. Esta soluÁ„o pressupunha que a funÁ„o do circuito integrado seria determinada por um programa nele armazenado. Isso significava que a configuraÁ„o deveria ser mais simples, mas tambÈm era preciso muito mais memÛria que no caso do projecto proposto pelos engenheiros japoneses. Depois de algum tempo, embora os engenheiros japoneses tenham tentado encontrar uma soluÁ„o mais f·cil, a ideia de Marcian venceu e o primeiro microprocessador nasceu. Ao transformar esta ideia num produto concreto, Frederico Faggin foi de uma grande utilidade para a INTEL. Ele transferiu-se para a INTEL e, em somente 9 meses, teve sucesso na criaÁ„o de um produto real a partir da sua primeira concepÁ„o. Em 1971, a INTEL adquiriu os direitos sobre a venda deste bloco integral. Primeiro eles compraram a licenÁa ‡ companhia BUSICOM que n„o tinha a mÌnima percepÁ„o do tesouro que possuÌa. Neste mesmo ano, apareceu no mercado um microprocessador designado por 4004. Este foi o primeiro microprocessador de 4 bits e tinha a velocidade de 6 000 operaÁıes por segundo. N„o muito tempo depois, a companhia Americana CTC pediu ‡ INTEL e ‡ Texas Instruments um microprocessador de 8 bits para usar em terminais. Mesmo apesar de a CTC acabar por desistir desta ideia, tanto a Intel como a Texas Instruments continuaram a trabalhar no microprocessador e, em Abril de 1972, os primeiros microprocessadores de 8 bits apareceram no mercado com o nome de 8008. Este podia endereÁar 16KB de memÛria, possuÌa 45 instruÁıes e tinha a velocidade de 300 000 operaÁıes por segundo. Esse microprocessador foi o pioneiro de todos os microprocessadores actuais. A Intel continuou com o desenvolvimento do produto e, em Abril de 1974 pÙs c· fora um processador de 8 bits com o nome de 8080 com a capacidade de endereÁar 64KB de memÛria, com 75 instruÁıes e com preÁos a comeÁarem em $360.

Uma outra companhia Americana, a Motorola, apercebeu-se rapidamente do que estava a acontecer e, assim, pÙs no mercado um novo microprocessador de 8 bits, o 6800. O construtor chefe foi Chuck Peddle e alÈm do microprocessador propriamente dito, a Motorola foi a primeira companhia a fabricar outros perifÈricos como os 6820 e 6850. Nesta altura, muitas companhias j· se tinham apercebido da enorme import‚ncia dos microprocessadores e comeÁaram a introduzir os seus prÛprios desenvolvimentos. Chuck Peddle deixa a Motorola para entrar para a MOS Technology e continua a trabalhar intensivamente no desenvolvimento dos microprocessadores.

Em 1975, na exposiÁ„o WESCON nos Estados Unidos, ocorreu um acontecimento crÌtico na histÛria dos microprocessadores. A MOS Technology anunciou que ia pÙr no mercado microprocessadores 6501 e 6502 ao preÁo de $25 cada e que podia satisfazer de imediato todas as encomendas. Isto pareceu t„o sensacional que muitos pensaram tratar-se de uma espÈcie de vigarice, considerando que os competidores vendiam o 8080 e o 6800 a $179 cada. Para responder a este competidor, tanto a Intel como a Motorola baixaram os seus preÁos por microprocessador para $69,95 logo no primeiro dia da exposiÁ„o. Rapidamente a Motorola pÙs uma acÁ„o em tribunal contra a MOS Technology e contra Chuck Peddle por violaÁ„o dos direitos de autor por copiarem ao copiarem o 6800. A MOS Technology deixou de fabricar o 6501, mas continuou com o 6502. O 6502 È um microprocessador de 8 bits com 56 instruÁıes e uma capacidade de endereÁamento de 64KB de memÛria. Devido ao seu baixo custo, o 6502 torna-se muito popular e, assim, È instalado em computadores como KIM-1, Apple I, Apple II, Atari, Comodore, Acorn, Oric, Galeb, Orao, Ultra e muitos outros. Cedo aparecem v·rios fabricantes do 6502 (Rockwell, Sznertek, GTE, NCR, Ricoh e Comodore adquiriram a MOS Technology) que, no auge da sua prosperidade, chegou a vender microprocessadores ‡ raz„o de 15 milhıes por ano!

Contudo, os outros n„o baixaram os braÁos. Frederico Faggin deixa a Intel e funda a Zilog Inc. Em 1976, a Zilog anuncia o Z80. Durante a concepÁ„o deste microprocessador, Faggin toma uma decis„o crÌtica. Sabendo que tinha sido j· desenvolvida uma enorme quantidade de programas para o 8080, Faggin conclui que muitos v„o permanecer fieis a este microprocessador por causa das grandes despesas que adviriam das alteraÁıes a todos estes programas. Assim, ele decide que o novo microprocessador deve ser compatÌvel com o 8080, ou seja, deve ser capaz de executar todos os programas que j· tenham sido escritos para o 8080. AlÈm destas caracterÌsticas, outras caracterÌsticas adicionais foram introduzidas, de tal modo que o Z80 se tornou um microprocessador muito potente no seu tempo. Ele podia endereÁar directamente 64KB de memÛria, tinha 176 instruÁıes, um grande n˙mero de registos, uma opÁ„o para refrescamento de memÛria RAM din‚mica, uma ˙nica alimentaÁ„o, maior velocidade de funcionamento, etc. O Z80 tornou-se um grande sucesso e toda a gente se transferiu do 8080 para o Z80. Pode dizer-se que o Z80 se constituiu sem sombra de d˙vida como o microprocessador de 8 bits com maior

sucesso no seu tempo. AlÈm da Zilog, outros novos fabricantes como Mostek, NEC, SHARP e SGS apareceram. O Z80 foi o coraÁ„o de muitos computadores como o Spectrum, Partner, TRS703, Z-3 e Galaxy, que foram aqui usados.

Em 1976, a Intel apareceu com uma vers„o melhorada do microprocessador de 8 bits e designada por 8085. Contudo, o Z80 era t„o superior a este que, bem depressa, a Intel perdeu a batalha. Ainda que mais alguns microprocessadores tenham aparecido no mercado (6809, 2650, SC/MP etc.), j· tudo estava ent„o decidido. J· n„o havia mais grandes melhorias a introduzir pelos fabricantes que fundamentassem a troca por um novo microprocessador, assim, o 6502 e o Z80, acompanhados pelo 6800, mantiveram-se como os mais representativos microprocessadores de 8 bits desse tempo.

Microcontroladores versus Microprocessadores

Um microcontrolador difere de um microprocessador em v·rios aspectos. Primeiro e o mais importante, È a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes devem-lhe se

r adicionados, tais como memÛria e componentes para receber e enviar dados. Em resumo, isso significa que o microprocessador È o verdadeiro coraÁ„o do computador. Por outro lado, o microcontrolador foi projectado para ter tudo num sÛ. Nenhuns outros componentes externos s„o necess·rios nas aplicaÁıes, uma vez que todos os perifÈricos necess·rios j· est„o contidos nele. Assim, nÛs poupamos tempo e espaÁo na construÁ„o dos dispositivos.

1.1 Unidade de MemÛria

A memÛria È a parte do microcontrolador cuja funÁ„o È guardar dados. A maneira mais f·cil de explicar È descrevÍ-la como uma grande prateleira cheia de gavetas. Se supusermos que marcamos as gavetas de modo a elas n„o se confundirem umas com as outras, ent„o o seu conte˙do ser· facilmente acessÌvel. Basta saber a designaÁ„o da gaveta e o seu conte˙do ser· conhecido.

de memÛria que desejamos endereÁar e o n˙mero de linhas do outro depende da largura da palavra de dados, no nosso caso È igual a oito. O primeiro bus serve para transmitir endereÁos do CPU para a memÛria e o segundo para ligar todos os blocos dentro do microcontrolador.

Neste momento, a funcionalidade j· aumentou mas um novo problema apareceu: nÛs temos uma unidade capaz de trabalhar sozinha, mas que n„o possui nenhum contacto com o mundo exterior, ou seja, conosco! De modo a remover esta deficiÍncia, vamos adicionar um bloco que contÈm v·rias localizaÁıes de memÛria e que, de um lado, est· ligado ao bus de dados e do outro ‡s linhas de saÌda do microcontrolador que coincidem com pinos do circuito integrado e que, portanto, nÛs podemos ver com os nossos prÛprios olhos.

1.4 Unidade de entrada/saÌda

Estas localizaÁıes que acabamos de adicionar, chamam-se "portos". Existem v·rios tipos de portos: de entrada, de saÌda e de entrada/saÌda. Quando trabalhamos com portos primeiro de tudo È necess·rio escolher o porto com que queremos trabalhar e, em seguida, enviar ou receber dados para ou desse porto.

Quando se est· a trabalhar com ele, o porto funciona como um local de memÛria. Qualquer coisa de que se est· a ler ou em que se est· a escrever e que È possÌvel identificar facilmente nos pinos do microcontrolador.

1.5 ComunicaÁ„o sÈrie

Anteriormente, acrescent·mos ‡ unidade j· existente a possibilidade de comunicar com o mundo exterior. Contudo, esta maneira de comunicar tem os seus inconvenientes. Um dos inconvenientes b·sicos È o n˙mero de linhas que È necess·rio usarmos para transferir dados. E se for necess·rio transferi-los a uma dist‚ncia de v·rios quilÛmetros? O n˙mero de linhas vezes o n˙mero de quilÛmetros n„o atesta a economia do projecto. Isto leva-nos a ter que reduzir o n˙mero de linhas de modo a que a funcionalidade se mantenha. Suponha que estamos a trabalhar apenas com trÍs linhas e que uma linha È usada para enviar dados, outra para os receber e a terceira È usada como linha de referÍncia tanto do lado de entrada como do lado da saÌda. Para que isto trabalhe nÛs precisamos de definir as regras para a troca de dados. A este conjunto de regras chama-se protocolo. Este protocolo deve ser definido com antecedÍncia de modo que n„o haja mal entendidos entre as partes que est„o a comunicar entre si. Por exemplo, se um homem est· a falar em francÍs e o outro em inglÍs, È altamente improv·vel que efectivamente e rapidamente, ambos se entendam. Vamos supor que temos o seguinte protocolo. A unidade lÛgica "1" È colocada na linha de transmiss„o atÈ que a transferÍncia se inicie. Assim que isto acontece, a linha passa para nÌvel lÛgico '0' durante um certo perÌodo de tempo (que vamos designar por T), assim, do lado da recepÁ„o ficamos a saber que existem dados para receber e, o mecanismo de recepÁ„o, vai activar-se. Regressemos agora ao lado da emiss„o e comecemos a pÙr zeros e uns lÛgicos na

linha de transmiss„o correspondentes aos bits, primeiro o menos significativo e finalmente o mais significativo. Vamos esperar que cada bit permaneÁa na linha durante um perÌodo de tempo igual a T, e, finalmente, depois do oitavo bit, vamos pÙr novamente na linha o nÌvel lÛgico "1" , o que assinala a transmiss„o de um dado. O protocolo que acabamos de descrever È designado na literatura profissional por NRZ (N„o Retorno a Zero).

Como nÛs temos linhas separadas para receber e enviar, È possÌvel receber e enviar dados (informaÁ„o) simultaneamente. O bloco que possibilita este tipo de comunicaÁ„o È designado por bloco de comunicaÁ„o sÈrie. Ao contr·rio da transmiss„o em paralelo, aqui os dados movem-se bit apÛs bit em sÈrie, daqui provÈm o nome de comunicaÁ„o sÈrie. Depois de receber dados nÛs precisamos de os ler e guardar na memÛria, no caso da transmiss„o de dados o processo È inverso. Os dados vÍm da memÛria atravÈs do bus para o local de transmiss„o e dali para a unidade de recepÁ„o de acordo com o protocolo.

1.6 Unidade de temporizaÁ„o

Agora que j· temos a unidade de comunicaÁ„o sÈrie implementada, nÛs podemos receber, enviar e processar dados.

Contudo, para sermos capazes de utilizar isto na ind˙stria precisamos ainda de mais alguns blocos. Um deles È o bloco de temporizaÁ„o que nos interessa bastante porque pode dar-nos informaÁıes acerca da hora, duraÁ„o, protocolo, etc. A unidade b·sica do temporizador È um contador que È na realidade um registo cujo conte˙do aumenta de uma unidade num intervalo de tempo fixo, assim, anotando o seu valor durante os instantes de tempo T1 e T2 e calculando a sua diferenÁa, nÛs ficamos a saber a quantidade de tempo decorrida. Esta È uma parte muito importante do microcontrolador, cujo domÌnio vai requerer muita da nossa atenÁ„o.

1.7 Watchdog

Uma outra coisa que nos vai interessar È a fluÍncia da execuÁ„o do programa pelo microcontrolador durante a sua utilizaÁ„o. Suponha que como resultado de qualquer interferÍncia (que ocorre frequentemente num ambiente industrial), o nosso microcontrolador p·ra de executar o programa ou, ainda pior, desata a trabalhar incorrectamente.

Claro que, quando isto acontece com um computador, nÛs simplesmente carregamos no bot„o de reset e continuamos a trabalhar. Contudo, no caso do microcontrolador nÛs n„o podemos resolver o nosso problema deste modo, porque n„o temos bot„o. Para ultrapassar este obst·culo, precisamos de introduzir no nosso modelo um novo bloco chamado watchdog (c„o de guarda). Este bloco È de facto outro contador que est· continuamente a contar e que o nosso programa pıe a zero sempre que È executado correctamente. No caso de o programa "encravar", o zero n„o vai ser escrito e o contador, por si sÛ, encarregar-se-· de fazer o reset do

Esquema de um microcontrolador com os seus elementos b·sicos e ligaÁıes internas.

Numa aplicaÁ„o real, um microcontrolador, por si sÛ, n„o È suficiente. AlÈm dele, nÛs necessitamos do programa que vai ser executado e de mais alguns elementos que constituir„o um interface lÛgico para outros elementos (que vamos discutir em capÌtulos mais ‡ frente).

1.9 Programa

Escrever um programa È uma parte especial do trabalho com microcontroladores e È designado por "programaÁ„o". Vamos tentar escrever um pequeno programa numa linguagem que seremos nÛs a criar e que toda a gente ser· capaz de compreender.

INICIO

REGISTO1=LOCAL_DE_ MEMORIA_A

REGISTO2=LOCAL_DE_ MEMORIA_B

PORTO_A=REGISTO1+REGISTO

FIM

O programa adiciona os conte˙dos de dois locais de memÛria e coloca a soma destes conte˙dos no porto A. A primeira linha do programa manda mover o conte˙do do local de memÛria "A" para um dos registos da unidade central de processamento. Como necessitamos tambÈm de outra parcela, vamos colocar o outro conte˙do noutro registo da unidade central de processamento (CPU). A instruÁ„o seguinte pede ao CPU para adicionar os conte˙dos dos dois registos e enviar o resultado obtido para o porto A, de modo a que o resultado desta adiÁ„o seja visÌvel para o mundo exterior. Para um problema mais complexo, naturalmente o programa que o resolve ser· maior. A tarefa de programaÁ„o pode ser executada em v·rias linguagens tais como o Assembler, C e Basic que s„o as linguagens normalmente mais usadas. O Assembler pertence ao grupo das linguagens de baixo nÌvel que implicam um trabalho de programaÁ„o lento, mas que oferece os melhores resultados quando se pretende poupar espaÁo de memÛria e aumentar a velocidade de execuÁ„o do programa. Como se trata da linguagem

mais frequentemente usada na programaÁ„o de microcontroladores, ela ser· discutida num capÌtulo mais adiantado. Os programas na linguagem C s„o mais f·ceis de se escrever e compreender, mas, tambÈm, s„o mais lentos a serem executados que os programas assembler. Basic È a mais f·cil de todas para se aprender e as suas instruÁıes s„o semelhantes ‡ maneira de um ser humano se exprimir, mas tal como a linguagem C, È tambÈm de execuÁ„o mais lenta que o assembler. Em qualquer caso, antes que escolha entre uma destas linguagens, precisa de examinar cuidadosamente os requisitos de velocidade de execuÁ„o, de espaÁo de memÛria a ocupar e o tempo que vai demorar a fazer o programa em assembly. Depois de o programa estar escrito, nÛs necessitamos de introduzir o microcontrolador num dispositivo e pÙ-lo a trabalhar. Para que isto aconteÁa, nÛs precisamos de adicionar mais alguns componentes externos. Primeiro temos que dar vida ao microcontrolador fornecendo-lhe a tens„o (a tens„o elÈctrica È necess·ria para que qualquer instrumento electrÛnico funcione) e o oscilador cujo papel È an·logo ao do coraÁ„o que bate no ser humano. A execuÁ„o das instruÁıes do programa È regulada pelas pulsaÁıes do oscilador. Logo que lhe È aplicada a tens„o, o microcontrolador executa uma verificaÁ„o dele prÛprio, vai para o princÌpio do programa e comeÁa a execut·-lo. O modo como o dispositivo vai trabalhar depende de muitos par‚metros, os mais importantes dos quais s„o a competÍncia da pessoa que desenvolve o hardware e do programador que, com o seu programa, deve tirar o m·ximo do dispositivo.