[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
- Período Letivo: 24/03/2025 a 05/07/2025
- Local: LE-30
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:
- Trabalhar somente na sua sub-pasta (workspace)
C:\Users\ea701\RA. Não deixar os arquivos espalhados em
outras pastas, principalmente na Área de Trabalho.
- Ao abrir STM32CubeIDE certificar se está
entrando mesmo na sua área de trabalho (workspace).
- Fazer sempre uma cópia do conteúdo
importante da sua sub-pasta para evitar perda de dados.
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.
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
- 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).
- 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.
- Memórias: tecnologias; mapeamento e segmentação; alinhamento e ordenação de bytes e estruturas de dados elementares. Acesso e manipulação com C.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
- Exploração Inicial: Os alunos exploram projetos-exemplo relacionados ao tópico, buscando entender o potencial da tecnologia.
- Exposição dos fundamentos: São apresentados os conceitos e princípios teóricos que fundamentam os projetos-exemplo explorados.
- Consolidação: Os alunos consolidam o aprendizado, com apoio do roteiro, referências e
instrutores, através de:
- Resolução de exercícios de fixação.
- Análise orientada dos projetos-exemplo.
- Desafio: Após as atividades dirigidas, os alunos são desafiados a resolver problemas similares
aos analisados, aplicando os conhecimentos adquiridos.
Etapas e Recursos
- Roteiros e Questões: Antes da aula de cada tópico, são disponibilizados o roteiro (com os projetos-exemplo, fundamentos teóricos e orientação para consulta de materiais) e as questões conceituais e práticas.
- Projetos-exemplo: Antes da aula expositiva, os alunos devem executar os projetos-exemplo apresentados no roteiro para estimular a curiosidade, o questionamento e a reflexão.
- Fundamentos teóricos: Antes da aula expositiva, é desejável que os alunos façam uma leitura rápida da seção de Fundamentos Teóricos do roteiro para formular suas próprias hipóteses e compreender a necessidade de um conhecimento teórico mais aprofundado.
- Aula expositiva: As aulas se iniciam com uma apresentação ao tópico, seguindo a estrutura do roteiro, para que os alunos possam dar sentido às suas experiências práticas com os projetos-exemplo.
- Exercícios individuais de fixação de conceitos: Durante a aula, os alunos devem completar as questões de fixação disponíveis no Moodle, com o apoio do roteiro, dos materiais sugeridos e dos instrutores presentes.
- Entendimento individual dos projetos-exemplo: Antes de iniciar o desenvolvimento de um projeto relacionado ao tópico, os alunos devem avaliar o seu entendimento da aplicação dos conceitos adquiridos nos projetos-exemplo respondendo às questões levantadas no roteiro através do Moodle.
- Aplicação prática em grupo: Os alunos devem desenvolver um projeto para resolver um problema similar aos apresentados nos projetos-exemplo. Este projeto é descrito no Moodle.
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.
- PAD: Renan Almeida de Assis, RA: 218374
- PAD: Breno Rocha Coelho, RA: 243089
| |
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:
-
M > = 5.0 .
- as notas finais dos questionários superiores a 3.0.
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."