EA701 Introdução aos Sistemas Embarcados
FEEC/ Unicamp
Primeiro Semestre de 2025
Turma A
Profa. Wu, Shin - Ting
https://dca.fee.unicamp.br/cursos/EA701/1s2025/
[Site Oficial] [Objetivos] [Período Letivo e Local] [Ementa] [Conteúdo Programático] [Calendário de Atividades] [Auxiliares Didáticos] [Critério de Avaliação] [Referências Técnicas] [Moodle]

Objetivos

A disciplina EA701, de 6 créditos, foi projetada para expandir os conceitos da EA869 (Introdução a Sistemas de Computação) para o campo dos sistemas embarcados. Além disso, visa preparar os alunos para o desenvolvimento de projetos na EA801 (Laboratório de Projetos de Sistemas Embarcados). Durante o curso, exploraremos os refinamentos dos conceitos básicos através das tecnologias atuais, utilizando um microcontrolador da arquitetura ARM.


Período Letivo e Local

O acesso ao LE-30 é permitido para os alunos fora dos horários de aula, mediante identificação na entrada do Bloco E. Antes de sair do laboratório, favor desliguem TODOS os equipamentos sobre as bancadas e arrumem a bancada utilizada. Se forem os últimos, fechem as janelas, desliguem o ar condicionado, e apaguem as luzes.

Seguem-se algumas boas práticas para uso compartilhado das bancadas:

Haverá manuntenção periódica das máquinas que será avisada previamente. Arquivos podem ser removidos.
Ajude-nos manter as bancadas operantes em 24 horas. Quando identificar algum problema nas bancadas, avise o monitor ou o suporte.


Ementa

Linguagem para programação de microcontroladores. Estruturas de dados elementares. Entrada e saída paralela, serial e analógica. Varredura e interrupção. Temporizadores. Conversão A/D e D/A. Sensores e atuadores. Introdução ao projeto de processadores dedicados. Linguagem de descrição de hardware.


Conteúdo Programático

  1. Sistemas embarcados: definição; características; tecnologias e aplicações. Apresentação do IDE e da plataforma de hardware. Microcontroladores: arquiteturas; processadores; barramentos; memória e periféricos. Ferramentas de desenvolvimento (IDE, programadores e depuradores).
  2. Introdução à programação em linguagem C: tipos de dados e modificadores; ponteiros, macros; definições e diretivas; laços; desvios condicionais e funções. Técnicas de depuração.
  3. Memórias: tecnologias; mapeamento e segmentação; alinhamento e ordenação de bytes e estruturas de dados elementares. Acesso e manipulação com C.
  4. Interfaces paralelas: representação física dos bits; características dos sinais físicos; tipos de entrada e saída; condicionamento de sinais; sincronismo e data skew. Configuração, uso e programação de portas de entrada e saída de propósito geral em C; boas práticas para minimizar data skew.
  5. Interrupção e varredura: sinais digitais e detecção de eventos; conceitos de polling, exceções e interrupções; tipos de interrupções e prioridades; mecanismos de tratamento (ciclo de interrupção, rotinas de serviço e uso de pilhas); latência de interrupção; concorrência e regiões críticas. Configuração de interrupções em microcontroladores, suas aplicações e boas práticas para proteger regiões críticas e aumentar a responsividade.
  6. Comunicação serial: conceitos e tipos (síncrona e assíncrona); sincronismo de dados e sincronização de tempo; integridade e controle de fluxo; uso de buffers FIFO e interrupções na comunicação; protocolos UART, SPI e I2C. Configuração e aplicação de periféricos de comunicação serial em microcontroladores.
  7. Temporizadores: estrutura e princípios de operação; mecanismos de exatidão e precisão; recursos de segurança; geração de interrupções periódicas; temporizadores dedicados: modulação por largura de pulso (PWM), captura de eventos (Input Capture), geração de eventos (Output Compare), contadores de pulsos externos, relógio de tempo real (RTC), temporizadores de segurança (Watchdog). Configuração e aplicação de temporizadores em microcontroladores.
  8. Conversores digital-analógicos (D/A) e analógica-digitais (A/D): domínios analógicos e digitais; amostragem e quantização; princípios de conversão; integração de domínios analógicos e digitais; arquiteturas de conversores D/A e A/D; métricas de desempenho; interface analógica; uso de buffers FIFO e interrupções na conversão. Configuração e aplicação de conversores D/A e A/D em microcontroladores.
  9. Controlador de DMA (Acesso Direto à Memória): princípio; tipos de controladores; modos de operação. Configuração e aplicação de DMA para periféricos em microcontroladores.
  10. Sensores e Atuadores: princípios de funcionamento; tipos analógicos e digitais; condicionamento de sinais; circuitos de interfaceamento com microcontroladores (ADC, DAC, PWM, GPIO, SPI, I2C); aquisição de dados e controle de atuadores. Integração de sensores e atuadores em sistemas embarcados.
  11. Comunicação em sistemas embarcados e redes industriais: topologias física e lógica de redes; controle de rede e arbitragem de barramento; sincronização de tempo e sincronismo entre nós; estratégias para garantir determinismo, robustez, segurança, eficiência, integridade e confiabilidade. Configuração e aplicação de periféricos de comunicação determinística (como CAN) em microcontroladores.
  12. Projeto de processadores dedicados: níveis de abstração de hardware; modelagem comportamental com máquinas de estados finitos (FSM); dispositivos de lógica programável (PLDs); linguagens de descrição de hardware, visuais (como captura esquemática) e textuais (como VHDL). Implementação de sistemas digitais dedicados utilizando VHDL.


Dinâmica do Curso

Adotamos a metodologia de Aprendizado Baseado em Problemas (PBL), que se estrutura da seguinte forma:

  1. Exploração Inicial: Os alunos exploram projetos-exemplo relacionados ao tópico, buscando entender o potencial da tecnologia.
  2. Exposição dos fundamentos: São apresentados os conceitos e princípios teóricos que fundamentam os projetos-exemplo explorados.
  3. Consolidação: Os alunos consolidam o aprendizado, com apoio do roteiro, referências e instrutores, através de:
  4. Desafio: Após as atividades dirigidas, os alunos são desafiados a resolver problemas similares aos analisados, aplicando os conhecimentos adquiridos.

Etapas e Recursos

Suporte extra-classe: As atividades práticas contam com suporte de PAD em plantões de dúvidas.

Entrega: O prazo para entrega do projeto é de 48 horas antes da próxima aula.


Calendário de Atividades

Tópico Aula Segundas A(14:00 - 18:00h) Roteiro
Fundamentos de Sistemas Embarcados 1 24/02 roteiro 1
Linguagem de Programação para Microcontroladores (CMSIS) 3 10/03 roteiro 2
Varredura e Interrupção (Pilha) 5 17/03 roteiro 3
Organização de Memória 7 24/03 roteiro 4
Temporizadores (PIT, SysTick, One-shot, Watchdog, RTC) 9 31/03 roteiro 5
Temporizadores (PWM, IC, OC) 11 07/04 roteiro 6
Entrada Serial (UART, FIFO) 13 14/04 roteiro 7
Prova 14 28/04 (PE-26) Avaliação 1
Saída/Entrada Paralela (LED RGB, Teclado) 17 05/05 roteiro 8
Entrada/Saída Analógica (D/A, A/D, DMA, FIFO Circular) 19 12/05 roteiro 9
Entrada/Saída Analógica (D/A, A/D, DMA, FIFO Circular) 21 19/05
Sensores e Atuadores (SPI e I2C) 23 26/05 roteiro 10
Redes Industriais (CAN) 25 02/06 roteiro 11
HDL 27 09/06 roteiro 12
29 16/06
Prova 31 23/06 (PE-26) Avaliação 2
Exame Final 31 14/07 (PE-26) Exame Final

Auxiliar Didático

Neste semestre, contaremos com o suporte de dois PADs. Os horários das monitorias presenciais estão listados abaixo. Caso tenha alguma dúvida fora desses horários, você também pode entrar em contato pelo grupo de Whatsapp.
Segunda Terça Quarta Quinta Sexta
8:00 - 9:00          
9:00 - 10:00          
10:00 - 11:00          
11:00 - 12:00          
12:00 - 13:00     Breno Breno  
13:00 - 14:00     Breno Breno  
14:00 - 14:00          
14:00 - 15:00 EA701 (turma A)       EA701 (turma A)
15:00 - 16:00 EA701 (turma A)       EA701 (turma A)
16:00 - 17:00 EA701 (turma A)       EA701 (turma A)
17:00 - 18:00 EA701 (turma A)       EA701 (turma A)
18:00 - 18:30          
18:30 - 19:00     Renan    
19:00 - 19:30     Renan   Renan
19:30 - 20:30     Renan   Renan
20:30 - 21:00         Renan
21:00 - 22:00          
22:00 - 23:00          

Critério de Avaliação

M = 0.05T + 0.05P + 0.4I + 0.5A,
onde T e P representam médias dos questionários teóricos e práticos respectivamente, I é a média dos projetos práticos, e A é a média das duas avaliações. Todos os questionários, tanto teóricos quanto práticos, devem ser realizados individualmente. Eles devem ser respondidos através do Moodle. Os projetos são atividades em grupos de até 2 pessoas. As avaliações sobre conhecimentos teóricos são individuais. Cada uma das duas avaliações terá uma duração de 2 horas, correspondendo à metade do tempo de uma aula.

É imprescindível a presença nos horários da aula e a entrega dos questionários e projetos no prazo.

Serão aprovados os alunos que satisfizerem as duas condições:

A média final, Mfinal, destes alunos é igual a M.

Exame Final

O exame final cobrirá todos os tópicos abordados durante a disciplina.


Referências Técnicas


Sugestões: ting at unicamp dot br

Última modificação: Dom Fev 16 08:56:14 -03 2025

"Esta página, assim como todas as páginas sob esta mesma árvore, não é uma publicação oficial da UNICAMP, seu conteúdo não foi examinado e/ou editado por esta instituição. A responsabilidade por seu conteúdo é exclusivamente do autor."

"This page, as well as all pages under this same tree, is not an official publication from UNICAMP; its content has not been verified and/or edited by this institution. The author is solely responsible by its contents."