Mudanças entre as edições de "MCO018703 2020 1 AULA01"
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 | + | 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 | ||
==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 | ||
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. | ||
− | + | <b>As principais características dos microcontroladores AVR são:</b> | |
− | * Executam | + | * 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. |
− | * | + | * Possuem um conjunto completo e gratuito de softwares. |
* Preço acessível. | * Preço acessível. | ||
− | Existem | + | 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.
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