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 37: Linha 37:
  
 
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.
 
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.
 
  
  
Linha 46: Linha 45:
 
* XMEGATM ATxmega: Os novos μcontroladores XMEGA 8/16-bit dispõem de novos e avançados periféricos com aumento de desempenho, DMA (Direct Memory Access) e sistema de eventos .
 
* XMEGATM ATxmega: Os novos μcontroladores XMEGA 8/16-bit dispõem de novos e avançados periféricos com aumento de desempenho, DMA (Direct Memory Access) e sistema de eventos .
 
* AVR32 (não pertence às famílias acima): microcontroladores de 32 bits com arquitetura RISC projetada para maior processamento por ciclos de ''clock'', com eficiência de 1,3 mW/MHz e até 210 DMIPS (''Dhrystone Million Instructions per Second'') a 150 MHz, conjunto de instruções para DSP (''Digital Signal Processing'') com SIMD (''Single Instruction, Multiple Data'') com soluções SoC (''System-on-a-chip'') e completo suporte ao Linux.
 
* AVR32 (não pertence às famílias acima): microcontroladores de 32 bits com arquitetura RISC projetada para maior processamento por ciclos de ''clock'', com eficiência de 1,3 mW/MHz e até 210 DMIPS (''Dhrystone Million Instructions per Second'') a 150 MHz, conjunto de instruções para DSP (''Digital Signal Processing'') com SIMD (''Single Instruction, Multiple Data'') com soluções SoC (''System-on-a-chip'') e completo suporte ao Linux.
 +
 +
Nessa Unidade Curricular será abordado o ATmega328p por ser um microcontrolador que apresenta a maioria das características da família AVR e ser compacto (28 pinos PDIP), apresentando uma memória Flash de tamanho razoável. O importante é saber que ao programar este microcontrolador, os conceitos de programação de qualquer outro da família AVR são aprendidos dada a similaridade entre as
 +
famílias. As pequenas mudanças de hardware e software são resolvidas com uma busca ao referido ''Datasheet''.
  
 
=Referências=
 
=Referências=

Edição das 09h15min 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.


Dentre os principais componentes da família AVR podemos citar:

  • tinyAVR® - ATtiny: microcontroladores de propósito geral de até 8 kbytes de memória Flash, 512 bytes de SRAM e EEPROM.
  • megaAVR® - ATmega: microcontroladores de alto desempenho com multiplicador por hardware, com até 256 kbytes de memória Flash, 4 kbytes de EEPROM e 8 kbytes de SRAM.
  • picoPowerTM AVR: microcontroladores com características especiais para economia de energia.
  • XMEGATM ATxmega: Os novos μcontroladores XMEGA 8/16-bit dispõem de novos e avançados periféricos com aumento de desempenho, DMA (Direct Memory Access) e sistema de eventos .
  • AVR32 (não pertence às famílias acima): microcontroladores de 32 bits com arquitetura RISC projetada para maior processamento por ciclos de clock, com eficiência de 1,3 mW/MHz e até 210 DMIPS (Dhrystone Million Instructions per Second) a 150 MHz, conjunto de instruções para DSP (Digital Signal Processing) com SIMD (Single Instruction, Multiple Data) com soluções SoC (System-on-a-chip) e completo suporte ao Linux.

Nessa Unidade Curricular será abordado o ATmega328p por ser um microcontrolador que apresenta a maioria das características da família AVR e ser compacto (28 pinos PDIP), apresentando uma memória Flash de tamanho razoável. O importante é saber que ao programar este microcontrolador, os conceitos de programação de qualquer outro da família AVR são aprendidos dada a similaridade entre as famílias. As pequenas mudanças de hardware e software são resolvidas com uma busca ao referido Datasheet.

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