|
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 I
|
Unidade Ofertante:
|
FEELT
|
Código:
|
31523
|
Período/Série:
|
5
|
Turma:
|
A/B
|
Carga Horária:
|
Natureza:
|
Teórica:
|
45h
|
Prática:
|
30h
|
Total:
|
75h
|
Obrigatória:
|
(x )
|
Optativa:
|
( )
|
Professor(A):
|
Daniel Pereira de Carvalho
Marcelo Barros de Almeida
|
Ano/Semestre:
|
2022/2
|
Observações:
|
|
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.
- RS485 no STM32. Uso de transceiver RS485.
- Conceitos gerais de timers e PWM. Timers e PWM no STM32.
- Conceitos gerais de conversores analógicos digitais (características, tipos de ADC e seus princípios de funcionamento, circuitos sample and hold 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.
- Projeto 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
- 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)
- Reguladores de tensão
- Desacoplamento
- Relógios (clocks)
- Roteamento de linhas especiais
- Interligação com periféricos diversos
- Montagem e depuração de placas eletrônicas
METODOLOGIA
Aulas expositivas com utilização de quadro, datashow e mesa digitalizadora e aulas práticas em laboratório. Recursos e plataformas de comunicação e ensino à distância como Microsoft Teams e Meet poderão ser utilizados para facilitar a comunicação entre o professor e o estudante e como complementação da carga horária. Vídeos didáticos sobre diversos tópicos da disciplina se encontram disponíveis no canal institucional da disciplina no Teams (SEMB-I).
As aulas expositivas cobrem os temas mais complexos ou que exigem maior experiência. As aulas práticas são direcionadas para a plataforma Cortex M (processadores STM32) com atividades periódicas pontuadas, em geral finalizadas dentro do tempo da aula, favorecendo o compartilhamento de experiências por parte do professor.
A carga horária total da disciplina é de 75 horas, ou seja, 90 horas-aula. Entretanto, de acordo com o cronograma apresentado estão previstas apenas 75 horas-aula. As 15 horas-aula restantes serão realizadas por meio de atividades assíncronas.
A última semana, será utilizada para atendimento de casos especiais e prova de recuperação. As provas teóricas serão realizadas presencialmente.
AVALIAÇÃO
São previstos duas provas teóricas e um trabalho durante o semestre, a saber:
- Primeira avaliação (P1), de 30 pontos, com conteúdo voltado para linguagem C e programação embarcada.
- Segunda avaliação (P2), de 30 pontos, com conteúdo voltado para microcontroladores STM32, programação embarcada e arquitetura Cortex M.
- Um trabalho composto por parte de hardware, com design de PCB na ferramenta Kicad e parte de firmware, a ser realizado na ferramenta de desenvolvimento da ST (STM32CubeIDE). O trabalho pode ser feito de forma individual ou em duplas. Não serão permitidos trabalhos com mais de duas pessoas assim como não será permitido mudar de grupo após a PRJ2. O trabalho é composto de cinco partes, listadas a seguir:
- PRJ1: proposta inicial do trabalho, descrevendo o que se pretende fazer, quais sensores, atuadores, controlador pretender usar. Também deve ser apresentado um diagrama de blocos do projeto. Essa proposta só terá validade se aprovada pelos professores da disciplina, podendo então seguir para as fases seguintes. Isso é importante para que todos os trabalhos possuam o mesmo nível de dificuldade.
- PRJ2 (10 pontos): entrega do esquema elétrico do projeto, possíveis bibliotecas de símbolos e da lista de materiais (BOM, bill of materials).
- PRJ3 (10 pontos): entrega da estrutura básica do projeto, feito com o HAL da ST, onde o aluno deve configurar o clock e demais periféricos usados (GPIO, I2C, SPI, UART,etc) na ferramenta STM32CubeIDE e gerar o código. Essa geração deve refletir o esquema elétrico entregado e não precisa ter nenhuma lógica de execução do firmware, apenas o configuração do hardware na ferramenta.
- PRJ4 (10 pontos): entrega do projeto do PCB e arquivos de fabricação (gerber).
- PRJ5 (10 pontos): entrega do firmware do projeto, feito com o HAL da ST, com a parte lógica do firmware, devidamente organizada e com abstrações necessárias criadas.
- Quando uma parte do trabalho não tiver sido entregue, ela não será pontuada. No entanto, como o trabalho é uma sequência de partes com dependência da anterior, a parte seguinte deve conter a anterior mas os pontos serão dados apenas em relação à parte atual.
De acordo com a Resolução CONGRAD 46/2022, ao fim do semestre, será disponibilizada aos estudantes que não obtiveram o rendimento mínimo para aprovação e com frequência mínima de 75% (ou 22 faltas) no componente curricular uma ATIVIDADE DE RECUPERAÇÃO (REC) no valor de 20 pontos. Essa atividade de recuperação tem foco nas atividades teóricas, ou seja, irá permitir a recuperação sobre os 60 pontos distribuídos em provas. O estudante precisa ter pelo menos 40% dos pontos de avaliações teóricas, ou seja, 24 pontos do total de 60 pontos. Além disso, a soma das notas das provas (P1, P2 e REC) será limitada em 60 pontos. O conteúdo da prova de recuperação é sobre todo o material visto no semestre.
Datas de prova para o semestre (podem alterar caso seja de interesse dos alunos e professores):
- 17/04, 18h: P1
- 21/06, 18h: P2
- 26/06, 18h: REC
Datas de entrega dos trabalhos (podem alterar caso seja de interesse dos alunos e professores):
- 23/04: PRJ1
- 28/05: PRJ2 e PRJ3
- 25/06: PRJ4 e PRJ5
Horários de atendimento:
- Professor Marcelo Barros: sexta-feira, de 8h a 11:30, na sala 118N do bloco 3N (onde ficam as secretarias e salas de professores da FEELT), para encontros presenciais sem agendamento. Outros horários devem ser agendados diretamente com o professor através do chat do Teams (marcelo.barros@ufu.br).
- Professor Daniel Carvalho: segunda-feira e terça-feira, 14h às 16h, na sala 3N321 do bloco 3N. Outros horários podem ser agendados diretamente com o professor através do chat do Teams (daniel.carvalho@ufu.br).
BIBLIOGRAFIA
Básica
[1] TOCCI, Ronald J. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Education do Brasil, c2011. xx, 817 p., il. ISBN 9788576059226 (broch.).
[2] TANENBAUM, Andrew S. Organização estruturada de computadores. São Paulo: Pearson, c2013. 605 p., il. ISBN 9788581435398.
[3] PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: McGraw-Hill, 2016. ISBN 9788580555349.
Complementar
[1] EMBEDDED Systems: new approaches to their formal description and design : an advanced course, Zurich, Switzerland, march 5-7, 1986. Berlin: Springer, c1987. iv, 207p., il. (Lecture notes in computer science, 284). ISBN 354018581X (broch.).
[2] BACKES, André. Linguagem C: completa e descomplicada. Rio de Janeiro: Elsevier, 2013. 371 p., il. ISBN 9788535268553.
[3] SOUSA, Daniel Rodrigues de. Microcontroladores ARM7: (Philips - Família LPC213x) : o poder dos 32 bits : teoria e prática. São Paulo: Érica, 2006. 278 p., il. Inclui bibliografia e índice. ISBN 9788536501208 (broch.).
[4] LI, Qing. Real-time concepts for embedded systems. San Francisco: CMP Books, 2003. xii, 294 p., ill., 24 cm. Includes bibliographical references (p. 281- 283) and index. ISBN 1578201241 (alk. paper).
[5] OLIVEIRA, André Schneider de. Sistemas embarcados: hardware e firmware na prática. São Paulo: Érica, 2006. 316 p., il. Inclui bibliografia e índice. ISBN 8536501057 (broch.).
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 07/02/2023, às 10:02, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
| Documento assinado eletronicamente por Daniel Pereira de Carvalho, Professor(a) do Magistério Superior, em 08/02/2023, às 15:19, 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.002527/2023-61 |
SEI nº 4231131 |