|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica
Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
|
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular:
|
Sistemas Embarcados 1
|
Unidade Ofertante:
|
|
Código:
|
FEELT31523
|
Período/Série:
|
5º
|
Turma:
|
U
|
Carga Horária:
|
Natureza:
|
Teórica:
|
45
|
Prática:
|
30
|
Total:
|
75
|
Obrigatória:
|
( x)
|
Optativa:
|
( )
|
Professor(A):
|
Marcelo Barros de Almeida
|
Ano/Semestre:
|
2020/2
|
Observações:
|
Disponibilidade de 20 vagas
|
EMENTA
Estudo e desenvolvimento de sistemas embarcados microcontrolados
JUSTIFICATIVA
Trabalhar os elementos de projeto envolvidos no desenvolvimento de sistemas embarcados, tanto no aspecto de hardware como de firmware. Trazer a sistemática do processo de desenvolvimento de hardware microcontrolado, técnicas de codificação eficiente, estratégias de criação de firmware, estudo da plataforma ARM Cortex M, desenvolvimento de hardware microcontrolado, criação de placas e circuitos com ferramentas CAD e arquitetura de computadores.
OBJETIVO
Objetivo Geral:
|
Esta disciplina tem como objetivo integrar os conceitos apresentados em diversas disciplinas da engenharia Elétrica através do estudo e implementação de hardware e firmware de dispositivos industriais.
- Visão sistêmica do processo de desenvolvimento de hardware e firmware.
- Técnicas de codificação eficiente.
- Estratégias de criação de firmware.
- Estudo da plataforma ARM Cortex M.
- Portabilidade
|
Objetivos Específicos:
|
- Conhecimento detalhado dos principais protocolos de comunicação digital (UART, I2C, SPI).
- Uso eficiente da linguagem C no desenvolvimento de firmware.
- Uso e desenvolvimento de hardware e firmware com o emprego de microcontroladores Cortex M.
- Apresentação de paradigmas diversos de construção de firmwares (voltado a interrupções, super loop, co-rotinas e RTOS).
- Estratégias para criação de código portável (encapsulamento, ponteiros opacos, abstração de hardware).
- Projeto de hardware microprocessados
|
PROGRAMA
- Introdução ao mercado de sistemas embarcados. Possibilidades de inovação e emprego da tecnologia embarcada.
- Arquitetura de computadores
- Paradigmas RISC e CISC.
- Stack pointer, program counter e registros de status.
- Modos de endereçamento.
- Vetores e tratamento de interrupções.
- Dispositivos de memória
- Terminologia de memória
- Princípios de operação da memória
- Memória utilizadas em sistemas embarcados (DRAM, SRAM, ROM, Flash, EEPROM, FRAM)
- Ferramentas de desenvolvimento
- Ferramentas do toolchain GNU (ar, as, gcc, ld, strip, nm, strings)
- Arquivos de linker e de partida
- Uso de IDEs para desenvolvimento e uso de linha de comando.
- Bibliotecas C e código de partida para sistemas embarcados.
- Ferramentas de desenvolvimento ST Microelectronics
- Configuração de pinos/funções no CubeMX. Geração de código.
- Compilação e depuração no System Workbench.
- Arquitetura ARM Cortex M.
- Família Cortex M. Conjunto de instruções Cortex M.
- Arquitetura Cortex M. Registradores comuns do Cortex M. Estados e modos de operação do processador. Inicialização do processador.
- Registros especiais (Control Register, Program Status Register, System Control Block).
- Exceções e interrupções no Cortex M. Controle de interrupções. Prioridades. Entrada e saída de modo interrompido. Contextos de interrupção. Contexto de interrupção com ponto flutuante. Latência de interrupções.
- Mapa de memória.
- Barramentos e DMA.
- Acessos alinhados e não alinhados. Operações atômicas de acesso a bits.
- Modos de baixo consumo.
- Proteção de memória.
- Microcontroladores ARM Cortex STM32.
- Visão geral dos controladores STM32.
- GPIO no STM32, conceitos de portas e pinos.
- Uso por pooling para entrada e saída.
- Interrupções no STM32.
- Teoria geral sobre UART. UART no STM32. Registros relacionados à UART no STM32. Uso com interrupções. UART com buffer circular.
- Conceitos gerais de timers e PWM. Timers e PWM no STM32.
- RS485 no STM32. Uso de transceiver RS485.
- Conceitos gerais de conversores analógicos digitais (características, tipos de ADC e seus princípios de funcionamento, circuitos sampling and holding e multiplexação)
- ADC no STM32 (pooling, interrupção e cíclico via DMA).
- Conceitos gerais do protocolo SPI. Protocolo SPI no STM32.
- Conceitos gerais do protocolo I2C. Protocolo I2C no STM32.
- Conceitos gerais de conversores digitais analógicos (características, tipos de DAC e seus princípios de funcionamento, filtros de reconstrução).
- Conversor DAC no STM32.
- Estratégias de construção de firmware.
- Super loop
- Voltado a interrupções
- Máquinas de estados
- Co-rotinas
- Visão geral de um RTOS (Sistema operacional de tempo real).
- MISRA C.
- Projecto com microcontroladores
- Famílias lógicas TTL e CMOS
- Tensões e correntes de entrada e saída
- Fan-in Fan-out
- Atrasos de propagação e frequência máxima de operação
- Características e tipos de portas digitais (coletor/dreno aberto, tri-state e totem-pole)
- Interfaceamento entre famílias lógicas
- Cuidados adicionais no uso de pinos CMOS não utilizadas
- Reguladores de tensão
- Desacoplamento
- CAD para projeto eletrônico
- Visão geral do uso de ferramenta CAD
- Esquemáticos
- Biblioteca de componentes
- Netlist e lista de materiais
- Projeto da placa de circuito impresso
- Criação de footprints
- Geração de arquivos de fabricação
- Projeto de hardware com controladores STM32
- Escolha do controlador e mapeamento dos pinos
- Alimentação (digital e analógica)
- Desacoplamento
- Relógios (clocks)
- Roteamento de linhas especiais
- Interligação com periféricos diversos
- Montagem e depuração de placas eletrônicas
METODOLOGIA
Para a presente componente curricular, a ser ministrada em formato híbrido, serão adotadas aulas em duas modalidades distintas de comunicação: síncrona (todos os alunos simultaneamente conectados à internet sob a regência do professor) e assíncrona (contemplando atividades remotas off-line). Para tal efeito, serão consideradas as seguintes mídias:
- Modalidade síncrona (on-line): Aulas expositivas através da plataformas Microsoft Teams.
- Modalidade assíncrona (off-line) com aulas gravadas e disponíveis na plataforma Microsoft Teams.
O atendimento ao aluno será realizado de forma remota, seja durante as aulas na modalidade síncrona ou através do aplicativos de mensagens do Microsoft Teams. Caso seja necessário, também podem ser agendadas reuniões individuais através das plataformas Microsoft Teams, em horários específicos a serem definidos pelo professor.
Programação de Atividades
As atividades do curso estão divididas como a seguir, distribuídas durante 16 semanas, com a seguinte estrutura:
- (VID) Vídeos semanais gravados com conteúdos teóricos e práticos
- (LIV) Reuniões presenciais semanais, no total de 50% da carga horária
- (ATV) Atividades práticas para entrega, num total de oito atividades
- (VAC) Verificação de acompanhamento de conteúdo em vídeo, num total de oito trabalhos
A última semana, será reservada para atendimento de casos especiais.
AVALIAÇÃO
O valor das atividades, num total de 100 pontos, é distribuído como a seguir:
- ATV de 1 a 7: 6 pontos cada
- ATV 8: 8 pontos
- VAC de 1 a 7: 6 pontos cada
- VAC 8: 8 pontos
BIBLIOGRAFIA
Básica
[1] Rodrigo Almeida, Carlos Moraes, and Thatyana Seraphim. Programação de Sistemas Embarcados. Editora Elsivier, 2016.
[2] Joseph Yiu. The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors. Newnes, 2014.
[3] Andrew S. Tanenbaum. Organiza¸c˜ao Estruturada de Computadores. Pearson, 2013.
Complementar
[4] Roger S. Pressman. Engenharia de Software. Uma Abordagem Profissional. McGraw-Hill, 2016.
[5] Elecia White. Making Embedded Systems: Design Patterns for Great Software. O’Reilly Media, 2014.
[6] Eric Sink. Version Control by Example. Pyrenean Gold Press, 2011.
[7] Ben Klemens. 21st Century C: C Tips from the New School. O’Reilly Media, 2014.
[8] James W. Grenning. Test Driven Development for Embedded C. Pragmatic Bookshelf, 2011.
[9] Stephen L. Montgomery. MISRA C: Guidelines for the Use of the C Language in Critical Systems 2012. Misra, 2013.
[10] Randall Hyde. Write Great Code: Volume 1: Understanding the Machine. No Starch Press, 2012.
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
| Documento assinado eletronicamente por Marcelo Barros de Almeida, Professor(a) do Magistério Superior, em 24/06/2021, às 05:22, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
Referência: Processo nº 23117.039263/2021-30 |
SEI nº 2857752 |