Mudanças entre as edições de "MCO018703 2020 1 AULA01"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 5: Linha 5:
 
=Introdução aos Microcontroladores=
 
=Introdução aos Microcontroladores=
  
Os avanços tecnológicos demandam cada vez mais dispositivos eletrônicos. Os Microcontroladores têm alcançado grande desenvolvimento nas últimas décadas. Sua facilidade de uso com ampla faixa de aplicações permite o projeto relativamente rápido e fácil de novos equipamentos. O Microcontrolador é o agrupamento de vários componentes em um sistema microprocessado. Basicamente o Microcontrolador é um microprocessador com memória RAM e de programa, temporizadores e circuitos de ''clock'' embutidos. O único componente externo é o cristal para determinar a frequência de trabalho.
+
Os avanços tecnológicos demandam cada vez mais dispositivos eletrônicos. Os Microcontroladores têm alcançado grande desenvolvimento nas últimas décadas e a sua facilidade de uso, com ampla faixa de aplicações, permite um projeto relativamente rápido e fácil de novos equipamentos eletrônicos. O Microcontrolador é o agrupamento de vários componentes em um sistema microprocessado. Basicamente o Microcontrolador é um microprocessador com memória RAM e de programa, temporizadores e circuitos de ''clock'' embutidos. O único componente externo é o cristal para determinar a frequência de trabalho. Os Microcontroladores têm agregado inúmeras funcionalidades como: gerador interno de ''clock''; memória SRAM, EEPROM e FLASH; conversores A/D, D/A; vários temporizadores/contadores; comparadores analógicos; PWM; diferentes tipos de interface de comunicação, incluindo USB, UART, I2C, CAN, SPI, JTAG; relógios de tempo real; circuitos para gerenciamento de energia no chip; circuitos para controle de ''reset'', alguns tipos de sensores; interface para LCD; e outras funcionalidades de acordo com os fabricantes.
Os Microcontroladores têm agregado inúmeras funcionalidades como: gerador interno de ''clock''; memória SRAM, EEPROM e FLASH; conversores A/D, D/A; vários temporizadores/contadores; comparadores analógicos; PWM; diferentes tipos de interface de comunicação, incluindo USB, UART, I2C, CAN, SPI, JTAG; relógios de tempo real; circuitos para gerenciamento de energia no chip; circuitos para controle de ''reset'', alguns tipos de sensores; interface para LCD; e outras funcionalidades de acordo com o fabricante.
 
  
  
 
==Arquiteturas: Von-Neumann x Harvard==
 
==Arquiteturas: Von-Neumann x Harvard==
  
Existem duas arquiteturas clássicas para os microprocessadores em geral: a arquitetura Von-Neumann, onde existe apenas um barramento interno por onde circulam instruções e dados e a  
+
Existem duas arquiteturas clássicas para os microprocessadores em geral: a arquitetura Von-Neumann, onde existe apenas um barramento interno por onde circulam instruções e dados e a arquitetura Harvard, que é caracterizada por dois barramentos internos, sendo um de instruções e outro de dados. Pode-se dizer que a primeira é uma arquitetura serial e a segunda paralela; da mesma forma, pode-se dizer que a arquitetura Von-Neumann permite produzir um conjunto complexo de código de instruções para o processador (CISC – ''Complex Instructions Set Computer''), com um tempo de execução por instrução de vários ciclos de ''clock''. Já a arquitetura Havard produz um conjunto simples de códigos de instruções e, dado ao paralelismo de sua estrutura, é capaz de executar apenas uma instrução por ciclo de ''clock''. A arquitetura Von-Neumann é mais simples, com menor número de portas lógicas, entretanto, sua velocidade é menor que a
arquitetura Harvard, que é caracterizada por dois barramentos internos, sendo um de instruções e outro de dados. Pode-se dizer que a primeira é uma arquitetura serial e a segunda
+
Havard. A arquitetura Havard necessidade de mais linhas de código para executar a mesma tarefa. Enquanto uma arquitetura Von-Neumann possui muito mais tipos de instruções.
paralela; da mesma forma, pode-se dizer que a arquitetura Von-Neumann permite produzir um conjunto complexo de código de instruções para o processador (CISC – Complex Instructions Set
 
Computer), com um tempo de execução por instrução de vários ciclos de clock. Já a arquitetura Havard produz um conjunto simples de códigos de instruções e, dado ao paralelismo de sua
 
estrutura, é capaz de executar uma instrução por ciclo de clock. A arquitetura Von-Neumann é mais simples, com menor número de portas lógicas, entretanto, sua velocidade é menor que a
 
Havard. A arquitetura Havard necessidade de mais linhas de código para executar a mesma tarefa que uma arquitetura Von-Neumann, a qual possui muito mais tipos de instruções.
 
  
  
Linha 24: Linha 19:
 
</center>
 
</center>
  
Atualmente nas modernas arquiteturas de microcontroladores está havendo o domínio da Harvard, que evoluiu para uma arquitetura que pode ser chamada de Harvard estendida ou avançada. Sendo
+
Atualmente nas modernas arquiteturas de microcontroladores está havendo o domínio da Harvard, que evoluiu para uma arquitetura que pode ser chamada de Harvard estendida ou avançada. Sendo composta por um grande número de instruções e ainda com a redução da quantidade necessária de portas lógicas, produzindo um núcleo de processamento compacto, veloz e com programação eficiente com menor número de linhas de código. Devido às questões de desempenho, compatibilidade eletromagnética e economia de energia, hoje é praticamente inaceitável que um microcontrolador não execute a maioria das instruções em poucos ciclos de ''clock'' diminuindo o consumo e a dissipação de energia.
composta por um grande número de instruções e ainda com a redução da quantidade necessária de portas lógicas, produzindo um núcleo de processamento compacto, veloz e com programação
 
eficiente com menor número de linhas de código. Devido às questões de desempenho, compatibilidade eletromagnética e economia de energia, hoje é praticamente inaceitável que um microcontrolador não
 
execute a maioria das instruções em poucos ciclos de ''clock'' diminuindo o consumo e a dissipação de energia.
 
  
  
 
== Microcontroladores AVR ==
 
== Microcontroladores AVR ==
  
Os microcontroladores AVR foram desenvolvidos na Noruega em 1995 e são produzidos pela ATMEL, apresentam ótima eficiência de processamento e núcleo compacto com poucos milhares de
+
Os microcontroladores AVR foram desenvolvidos na Noruega em 1995 e são produzidos pela ATMEL, apresentam ótima eficiência de processamento e núcleo compacto com poucos milhares de portas lógicas. Com uma estrutura RISC avançada, apresentam mais de uma centena de instruções e uma arquitetura voltada à programação C, que permite produzir códigos compactos. Também, dado sua arquitetura, o desempenho do seu núcleo de 8 bits é equivalente ao desenvolvido por microcontroladores de 16bits.
portas lógicas. Com uma estrutura RISC avançada, apresentam mais de uma centena de instruções e uma arquitetura voltada à programação C, que permite produzir códigos compactos. Também,
 
dado sua arquitetura, o desempenho do seu núcleo de 8 bits é equivalente ao desenvolvido por microcontroladores de 16bits.
 
  
;As principais características dos μcontroladores AVR são:
+
<b>As principais características dos microcontroladores AVR são:</b>
* Executam poderosas instruções em um simples ciclo de clock e operam com tensões entre 1,8 e 5,5 V, com velocidades de até 20 MHz. Sendo disponíveis em diversos encapsulamentos (de 8 até 64 pinos).
+
* Executam instruções em um simples ciclo de ''clock'' e operam com tensões entre 1,8 e 5,5 V, com velocidades de até 20 MHz. Sendo disponíveis em diversos encapsulamentos (de 8 até 64 pinos).
 
* Alta integração e grande número de periféricos com efetiva compatibilidade entre toda a família AVR.
 
* Alta integração e grande número de periféricos com efetiva compatibilidade entre toda a família AVR.
* Possuem vários modos para redução do consumo de energia e características adicionais (picoPower) para sistemas críticos.
+
* Possuem vários modos para redução do consumo de energia e características adicionais (''picoPower'') para sistemas críticos.
* Possuem 32 registradores de propósito geral, memória de acesso load-store e a maioria das instruções é de 16bits.
+
* Possuem 32 registradores de propósito geral, memória de acesso ''load-store'' e a maioria das instruções é de 16bits.
* Memória de programação FLASH programável in-system, SRAM e EEPROM, para desenvolvimentos rápidos e flexibilidade de projeto.
+
* Memória de programação FLASH programável ''in-system'', SRAM e EEPROM, para desenvolvimentos rápidos e flexibilidade de projeto.
* Facilmente programados e com debug in-system via interface simples, ou com interfaces JTAG compatível com 6 ou 10 pinos.
+
* Facilmente programados e com ''debug in-system'' via interface simples, ou com interfaces JTAG compatível com 6 ou 10 pinos.
* Um conjunto completo e gratuito de softwares.
+
* Possuem um conjunto completo e gratuito de softwares.
 
* Preço acessível.
 
* Preço acessível.
  
Existem μcontroladores AVR específicos para diversas áreas, tais como: automotiva, controle
+
Existem microcontroladores AVR específicos para diversas áreas, tais como: automotiva, controle de LCDs, redes de trabalho CAN, USB, controle de motores, controle de lâmpadas, monitoração de bateria, ''Bluetooth'', 802.15.4/ZigBeeTM e controle por acesso remoto.
de LCDs, redes de trabalho CAN, USB, controle de motores, controle de lâmpadas, monitoração de
 
bateria, 802.15.4/ZigBeeTM e controle por acesso remoto.
 
  
 
=Referências=
 
=Referências=

Edição das 09h02min de 19 de março de 2020

Apresentação

Nesta unidade curricular vamos aprender sobre como implementar e projetar circuitos eletrônicos digitais com microcontroladores. Para isso precisamos identificar as diferentes arquiteturas de microcontroladores, bem como conhecer as técnicas de programação de microcontroladores. Ainda, vamos apresentar a simbologia e linguagem técnica, bem como programar e gravar microcontroladores. Entre outros assuntos, abordaremos os conteúdos: de Memória, arquitetura interna do Arduino e linguagem C para microcontroladores.

Introdução aos Microcontroladores

Os avanços tecnológicos demandam cada vez mais dispositivos eletrônicos. Os Microcontroladores têm alcançado grande desenvolvimento nas últimas décadas e a sua facilidade de uso, com ampla faixa de aplicações, permite um projeto relativamente rápido e fácil de novos equipamentos eletrônicos. O Microcontrolador é o agrupamento de vários componentes em um sistema microprocessado. Basicamente o Microcontrolador é um microprocessador com memória RAM e de programa, temporizadores e circuitos de clock embutidos. O único componente externo é o cristal para determinar a frequência de trabalho. Os Microcontroladores têm agregado inúmeras funcionalidades como: gerador interno de clock; memória SRAM, EEPROM e FLASH; conversores A/D, D/A; vários temporizadores/contadores; comparadores analógicos; PWM; diferentes tipos de interface de comunicação, incluindo USB, UART, I2C, CAN, SPI, JTAG; relógios de tempo real; circuitos para gerenciamento de energia no chip; circuitos para controle de reset, alguns tipos de sensores; interface para LCD; e outras funcionalidades de acordo com os fabricantes.


Arquiteturas: Von-Neumann x Harvard

Existem duas arquiteturas clássicas para os microprocessadores em geral: a arquitetura Von-Neumann, onde existe apenas um barramento interno por onde circulam instruções e dados e a arquitetura Harvard, que é caracterizada por dois barramentos internos, sendo um de instruções e outro de dados. Pode-se dizer que a primeira é uma arquitetura serial e a segunda paralela; da mesma forma, pode-se dizer que a arquitetura Von-Neumann permite produzir um conjunto complexo de código de instruções para o processador (CISC – Complex Instructions Set Computer), com um tempo de execução por instrução de vários ciclos de clock. Já a arquitetura Havard produz um conjunto simples de códigos de instruções e, dado ao paralelismo de sua estrutura, é capaz de executar apenas uma instrução por ciclo de clock. A arquitetura Von-Neumann é mais simples, com menor número de portas lógicas, entretanto, sua velocidade é menor que a Havard. A arquitetura Havard necessidade de mais linhas de código para executar a mesma tarefa. Enquanto uma arquitetura Von-Neumann possui muito mais tipos de instruções.


Fig050 MCO018703.png

Figura - Arquiteturas clássicas de processadores: Von-Neumann x Harvard.

Atualmente nas modernas arquiteturas de microcontroladores está havendo o domínio da Harvard, que evoluiu para uma arquitetura que pode ser chamada de Harvard estendida ou avançada. Sendo composta por um grande número de instruções e ainda com a redução da quantidade necessária de portas lógicas, produzindo um núcleo de processamento compacto, veloz e com programação eficiente com menor número de linhas de código. Devido às questões de desempenho, compatibilidade eletromagnética e economia de energia, hoje é praticamente inaceitável que um microcontrolador não execute a maioria das instruções em poucos ciclos de clock diminuindo o consumo e a dissipação de energia.


Microcontroladores AVR

Os microcontroladores AVR foram desenvolvidos na Noruega em 1995 e são produzidos pela ATMEL, apresentam ótima eficiência de processamento e núcleo compacto com poucos milhares de portas lógicas. Com uma estrutura RISC avançada, apresentam mais de uma centena de instruções e uma arquitetura voltada à programação C, que permite produzir códigos compactos. Também, dado sua arquitetura, o desempenho do seu núcleo de 8 bits é equivalente ao desenvolvido por microcontroladores de 16bits.

As principais características dos microcontroladores AVR são:

  • Executam instruções em um simples ciclo de clock e operam com tensões entre 1,8 e 5,5 V, com velocidades de até 20 MHz. Sendo disponíveis em diversos encapsulamentos (de 8 até 64 pinos).
  • Alta integração e grande número de periféricos com efetiva compatibilidade entre toda a família AVR.
  • Possuem vários modos para redução do consumo de energia e características adicionais (picoPower) para sistemas críticos.
  • Possuem 32 registradores de propósito geral, memória de acesso load-store e a maioria das instruções é de 16bits.
  • Memória de programação FLASH programável in-system, SRAM e EEPROM, para desenvolvimentos rápidos e flexibilidade de projeto.
  • Facilmente programados e com debug in-system via interface simples, ou com interfaces JTAG compatível com 6 ou 10 pinos.
  • Possuem um conjunto completo e gratuito de softwares.
  • Preço acessível.

Existem microcontroladores AVR específicos para diversas áreas, tais como: automotiva, controle de LCDs, redes de trabalho CAN, USB, controle de motores, controle de lâmpadas, monitoração de bateria, Bluetooth, 802.15.4/ZigBeeTM e controle por acesso remoto.

Referências

[1] https://wiki.ifsc.edu.br/mediawiki/images/d/dd/Microcapostila.pdf

[2] Apostila ATMega8



Icone voltar.png Icone menu.png Icone prox.png