Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1
APOSTILA TÉCNICA APROFUNDADA
Microprocessadores
Tema 6
Projetos Com Microcontroladores
Engenharia Elétrica - 8º semestre
Resumo completo por módulos, com teoria, cálculos, diagramas e aplicação
Módulos deste tema
Módulo 1 - Plataformas de hardware e software para projetos com microcontroladores
Módulo 2 - Limitações dos microcontroladores em projetos embarcados de alto desempenho
Módulo 3 - Boas práticas de programação de software embarcado
Módulo 4 - Comunicação sem fio e Internet das Coisas (IoT)
Microprocessadores Tema 6 - Projetos Com Microcontroladores
2
Objetivos e mapa de estudo
Propósito do material da faculdade
Discutir sobre os aspectos de escolha em um projeto com microcontroladores é um exercício primordial na
formação do profissional, que irá atuar em equipes com pessoas com diferentes visões, incluindo questões de
custos, desempenho, qualidade, ética e perspectivas futuras da aplicação.
O que você deve dominar ao terminar este tema
• Explicar os conceitos com terminologia técnica correta e linguagem simples.
• Interpretar o funcionamento e os diagramas associados.
• Aplicar as equações dentro de suas hipóteses e unidades.
• Comparar componentes, topologias e tecnologias.
• Reconhecer limitações, falhas, riscos e critérios de seleção.
Mapa progressivo dos módulos
Módu
lo
Questão central Resultado esperado
1 Como compreender e aplicar plataformas de hardware
e software para projetos com microcontroladores?
Analisar, calcular quando aplicável e justificar
uma decisão de engenharia.
2 Como compreender e aplicar limitações dos
microcontroladores em projetos embarcados de alto
desempenho?
Analisar, calcular quando aplicável e justificar
uma decisão de engenharia.
3 Como compreender e aplicar boas práticas de
programação de software embarcado?
Analisar, calcular quando aplicável e justificar
uma decisão de engenharia.
4 Como compreender e aplicar comunicação sem fio e
internet das coisas (iot)?
Analisar, calcular quando aplicável e justificar
uma decisão de engenharia.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
3
Módulo 1 - Plataformas de hardware e
software para projetos com
microcontroladores
Fundamento → compreensão → funcionamento → análise → aplicação de engenharia
1. Visão geral
O módulo trata de plataformas de hardware e software para projetos com microcontroladores. Sua finalidade
é permitir que o estudante reconheça o fenômeno, equipamento ou arquitetura, modele seu comportamento
e utilize os resultados em decisões de projeto, operação, diagnóstico e proteção.
Dentro de Microprocessadores, esse conhecimento é importante porque afeta prazo, risco e manutenção. Ele
aparece em aplicações como: Problema: implementar uma função embarcada com recursos limitados.
Solução: dividir requisitos entre hardware e firmware, configurar periféricos e validar tempo, memória e
falhas.
Sensor / evento → Periférico integrado → CPU + firmware → Driver / comunicação
Figura conceitual - caminho funcional do assunto estudado.
2. Conceitos fundamentais
Conceitos centrais explicados
Conceito: Plataforma
Definição técnica: Conjunto de MCU, placa, toolchain, bibliotecas e depuração.
Explicação simples: É o ecossistema do projeto.
Importância: Afeta prazo, risco e manutenção.
Conceito: BSP/HAL
Definição técnica: Camada de suporte ao hardware.
Explicação simples: Padroniza acesso a periféricos.
Importância: Facilita portabilidade.
Conceito: Prototipagem
Definição técnica: Implementação rápida para validar hipóteses.
Explicação simples: Testa ideia antes do produto final.
Importância: Reduz incerteza técnica.
Desenvolvimento dos subassuntos do material-base
Os blocos abaixo reorganizam os pontos teóricos distribuídos nas páginas do módulo. Foram removidas chamadas de vídeo,
alternativas de questões e repetições, mas preservado o desenvolvimento conceitual necessário ao estudo.
Análise e projeto
O verdadeiro desafio que qualquer projetista enfrenta não é apenas prezar pela funcionalidade, mas encontrar a
implementação que pode otimizar simultaneamente grande número de métricas desse projeto.
Outras requerem conhecimento das tecnologias disponíveis no mercado.
Assim, dependendo do projeto, a escolha de um modelo ou família de microcontrolador pode ser uma decisão
que envolve não só o(s) projetista(s), mas também profissionais de outros departamentos que podem considerar
custos, futuros projetos e perspectivas diversas de uma empresa.
Ter o suficiente para atender quatro pessoas.
Esse, portanto, não é um problema de resposta única. Tem muitas respostas possíveis, dependendo do preço
dos itens individuais, do apetite dos visitantes etc.
Métricas de custo
Medem o custo, o custo unitário e o preço do produto. Incluem o custo de NRE (Non-Recurring Engineering ou
engenharia não recorrente). Esse é um custo monetário único para projetar o sistema. Uma vez que este é
projetado, qualquer número de unidades pode ser fabricado sem incorrer em qualquer custo adicional; daí o
Microprocessadores Tema 6 - Projetos Com Microcontroladores
4
termo não recorrente. O tempo para produzir o protótipo, tempo para mercado e facilidade de uso são algumas
das métricas que também afetam o custo e o preço.
Métricas de eficácia do sistema
Em muitas aplicações, como as militares, a eficácia do sistema na implementação de seu objetivo é mais
importante do que o custo. Confiabilidade, facilidade de manutenção, adequação do projeto e flexibilidade estão
relacionadas às métricas desse grupo.
Outras métricas incluem aquelas que podem orientar o projetista na escolha de muitos componentes disponíveis
no mercado. Facilidade de uso, suporte de software, segurança e disponibilidade de fornecedores de segunda
fonte são também métricas a se considerar.
As restrições de projeto representam os requisitos que são colocados no sistema - normalmente uma
combinação de demandas de diferentes pessoas em níveis diversos da organização e do ambiente onde o
sistema deve operar. Os requisitos podem ser funcionais ou não funcionais.
Energia
É a quantidade de energia consumida pelo sistema. Tem um efeito direto na vida útil de uma bateria. Ele
determina os requisitos de resfriamento do chip; mais energia significa mais calor e, portanto, a necessidade de
mais resfriamento. A energia consumida por um dispositivo pode afetar a confiabilidade geral do sistema e
muitas outras métricas de projeto. Alguns microcontroladores que podem entrar em estado de baixo consumo
de energia e são eficientes neste requisito são: A série STM32 da STMicroelectronics, a série Kinetis L da NXP, a
série H8 Super Low Power da Renesas, a série PSoC 6 da Cypress, a série eXtreme Low Power PIC da Microchip e
a série MSP430 da Texas Instruments.
Segurança
A invasão por hackers está aumentando e é uma ameaça especialmente relevante para microcontroladores
usados em automóveis e em IoT. Em resposta, os fabricantes estão implementando camadas de segurança,
como criptografia e segurança física. Atualmente, os usuários podem comprar microcontroladores certificados
com os mais recentes padrões de segurança com hardware seguro no chip. As empresas que oferecem
microcontroladores de segurança independentes incluem a STMicroelectronics (série ST33), Renesas (série AE-5
e RS-4), Infineon (OPTIGA Trust e OPTIGA TPM), Cypress (PSoC 64), Microchip e Texas Instruments (série
MSP430).
Custo
Microcontroladores estão dentro de uma ampla faixa de preço, de cem unidades por alguns dólares a alguns
dólares por unidade. Para escalar, é necessário considerar o custo total versus o poder de desempenho
individual. Ao começar a trabalhar, deve-se atentar para a existência de microcontroladores da mesma família
com mais memória FLASH e SRAM ou capacidade de interface com uma memória externa, para eventual
expansão do projeto.
Disponibilidade
Refere-se à probabilidade de que um sistema esteja operando. Às vezes, indica a possibilidade de obter o
mesmo produto de mais de um fabricante. Esse significado veio do fato de que muitos dispositivos são feitospor
mais de um fabricante. Esse tipo de disponibilidade, preferencialmente chamado de “fornecedores de segunda
fonte”, é importante quando o projetista do sistema precisa considerar a confiabilidade e a longevidade do
fornecimento.
Time-to-market
É o tempo necessário para desenvolver um sistema até o ponto em que ele possa ser lançado e vendido aos
clientes. Os principais contribuintes são o tempo de projeto, o tempo de fabricação e o tempo de teste.
Passos para a seleção de um microcontrolador Mesmo considerando os aspectos já mencionados, selecionar o
microcontrolador certo para um produto é uma tarefa de paciência. Não há apenas uma série de recursos
técnicos a serem considerados, mas também questões de negócio, como custo e prazos de entrega, que podem
paralisar um projeto.
Muitos profissionais, depois de alguns projetos, tendem a pautar a sua escolha por essas experiências,
desconsiderando outras famílias de microcontroladores com a qual têm pouca familiaridade. Esse pode ser um
comportamento aceitável, pois certamente a experiência conta muito para a conclusão mais rápida e sem erros
quando o profissional já conhece as ferramentas envolvidas.
A curva de aprendizado para uma equipe usar um novo dispositivo pode ser recompensada por um produto final
mais integrado e preparado para as novas necessidades. Portanto, decisões de escolha de microcontroladores
devem ser tomadas com participação ampla de profissionais da empresa, sem deixar novas opções de fora nem
modismos não testados suficientemente tomarem a dianteira nesta escolha.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
5
3. Funcionamento
A sequência funcional deve ser lida do estímulo ou entrada até a resposta do sistema. Em cada etapa, o
engenheiro observa as variáveis de estado, conversões, atrasos, perdas e condições de falha.
1. Configurar clock, alimentação e periféricos.
2. Adquirir eventos e dados por hardware.
3. Processar o algoritmo no firmware.
4. Atuar/comunicar e tratar falhas dentro do prazo.
4. Equações e relações matemáticas
orçamento de memória = disponível - reservado
Variáveis e unidades: Bytes.
Significado físico: Margem para firmware.
margem CPU = 1 - utilização
Variáveis e unidades: Fração ou %.
Significado físico: Folga de processamento.
Condições de validade
• Unidades coerentes no SI.
• Hipóteses e condições de contorno explicitadas.
• Resultados validados contra limites do equipamento e do processo.
5. Componentes, elementos ou equipamentos
Elemento/equipamen
to
Função Princípio Características e limitações
Placa Disponibilizar MCU e
interfaces.
Hardware de
desenvolvimento.
Pode não representar ambiente
final.
IDE/toolchain Compilar e depurar. Ferramentas de software. Licença e suporte.
Bibliotecas Reutilizar drivers. APIs. Qualidade e dependências.
A tabela resume a função principal. A seleção final deve considerar tensão, corrente, frequência, ambiente, tolerância,
proteção, manutenção e vida útil conforme a natureza do elemento.
6. Aplicação prática
Problema implementar uma função embarcada com recursos limitados.
Solução dividir requisitos entre hardware e firmware, configurar periféricos e validar
tempo, memória e falhas.
Funcionamento Configurar clock, alimentação e periféricos. Adquirir eventos e dados por
hardware. Processar o algoritmo no firmware.
Resultado esperado Resultado tecnicamente verificável, dentro dos limites de desempenho,
segurança e operação.
7. Exemplo de engenharia
Dimensionamento de recursos embarcados
Problema: Uma função deve executar em 1 ms com CPU de 80 MHz e usa 48.000 ciclos.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
6
Resolução passo a passo
1. Tempo=48.000/80 MHz=0,6 ms.
2. Margem bruta=1,0-0,6=0,4 ms.
3. Interrupções, cache, DMA e variação de caminho precisam entrar no pior caso.
Resultado: Tempo nominal=0,6 ms; margem bruta=40%.
Interpretação de engenharia: Medir no hardware e no pior caminho é obrigatório para concluir atendimento
temporal.
8. Pontos críticos e cuidados
• Ler o datasheet e erratas.
• Respeitar níveis elétricos e corrente por pino.
• Evitar bloqueios em tarefas críticas.
• Medir tempo, memória e consumo no alvo.
• Planejar atualização e recuperação de falhas.
Erros e modos de falha recorrentes
Erro/modo de falha Consequência Prevenção ou verificação
Overflow de buffer/pilha Corrupção de memória ou reset Dimensionar, monitorar e testar pior
caso
Bloqueio em ISR Perda de eventos e jitter ISR curta e processamento em tarefa
Nível elétrico incompatível Dano ao pino Condicionar e proteger a interface
9. Relação com outros assuntos
• Eletrônica digital e instrumentação.
• Automação e controle em tempo real.
• Comunicação e sistemas embarcados.
A relação entre disciplinas é importante porque o comportamento elétrico, a instrumentação, o controle, a
comunicação e a proteção formam um único sistema na aplicação real.
10. Complementos técnicos
Complemento técnico: bibliotecas aceleram o desenvolvimento, mas o engenheiro deve conhecer custos
temporais, estados de erro e acesso concorrente aos periféricos.
Complemento: além de fazer o firmware funcionar, é necessário demonstrar pior tempo de execução, uso de
pilha, condições de corrida, recuperação de falha, atualização segura e comportamento após reset.
Normas e referências normativas relacionadas
• IEC 61508 - segurança funcional quando o sistema embarcado executa função de segurança. Consultar a
edição vigente e o escopo aplicável.
• MISRA C - diretrizes para C em sistemas críticos, quando adotadas pelo projeto. Consultar a edição vigente e
o escopo aplicável.
• IEC 60529 - graus de proteção do invólucro do produto, quando aplicável. Consultar a edição vigente e o
escopo aplicável.
11. O que realmente precisa ser memorizado
• Plataforma inclui hardware e software.
• Prototipagem não substitui projeto final.
• Verificar licença e manutenção.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
7
• Reservar margem de CPU e memória.
• Planejar depuração e atualização.
• orçamento de memória = disponível - reservado - Margem para firmware.
• margem CPU = 1 - utilização - Folga de processamento.
12. Resumo final do módulo
• O assunto central é Plataformas de hardware e software para projetos com microcontroladores.
• Plataforma: Conjunto de MCU, placa, toolchain, bibliotecas e depuração.
• BSP/HAL: Camada de suporte ao hardware.
• Prototipagem: Implementação rápida para validar hipóteses.
• Plataforma inclui hardware e software.
• Prototipagem não substitui projeto final.
• Verificar licença e manutenção.
• Reservar margem de CPU e memória.
• Planejar depuração e atualização.
Checklist de domínio
□ Consigo explicar, sem consultar o texto, o que é plataformas de hardware e software para projetos com
microcontroladores e por que esse assunto é usado?
□ Consigo diferenciar Plataforma de BSP/HAL e dar uma aplicação de cada um?
□ Consigo identificar as unidades, hipóteses e significado físico das equações principais?
□ Consigo refazer o exemplo numérico e interpretar o sinal, a ordem de grandeza e o limite do resultado?
□ Consigo reconhecer os três principais erros de projeto ou operação discutidos no módulo?
Microprocessadores Tema 6 - Projetos Com Microcontroladores
8
Módulo 2 - Limitações dos microcontroladores
em projetos embarcados de alto desempenho
Fundamento → compreensão → funcionamento → análise → aplicação de engenharia
1. Visão geral
O módulo trata de limitações dos microcontroladores em projetos embarcados de alto desempenho. Sua
finalidade é permitir que o estudante reconheça o fenômeno, equipamento ou arquitetura, modele seu
comportamento e utilize os resultados em decisões de projeto, operação, diagnóstico e proteção.
Dentro de Microprocessadores, esse conhecimento é importante porque define viabilidade de tempo real. Ele
aparece em aplicações como: Problema: implementar uma função embarcada com recursos limitados.
Solução: dividir requisitos entre hardware e firmware, configurar periféricos e validar tempo,memória e
falhas.
Sensor / evento → Periférico integrado → CPU + firmware → Driver / comunicação
Figura conceitual - caminho funcional do assunto estudado.
2. Conceitos fundamentais
Conceitos centrais explicados
Conceito: Limite de processamento
Definição técnica: Quantidade finita de instruções por prazo.
Explicação simples: A CPU pode não terminar tudo a tempo.
Importância: Define viabilidade de tempo real.
Conceito: Limite de memória
Definição técnica: Capacidade finita de Flash, RAM e armazenamento.
Explicação simples: Código, pilha e buffers competem por espaço.
Importância: Pode causar falhas difíceis.
Conceito: Limite elétrico
Definição técnica: Restrições de tensão, corrente, temperatura e EMI.
Explicação simples: O chip opera somente dentro das margens.
Importância: Afeta confiabilidade.
Desenvolvimento dos subassuntos do material-base
Os blocos abaixo reorganizam os pontos teóricos distribuídos nas páginas do módulo. Foram removidas chamadas de vídeo,
alternativas de questões e repetições, mas preservado o desenvolvimento conceitual necessário ao estudo.
Esses computadores são “embutidos” em dispositivos, dando-lhes um desempenho que melhora as suas
funcionalidades. Esses dispositivos inteligentes podem fazer mais e mais rápido do que nunca, mas nem todos
os microcontroladores embarcados são criados de forma a ter o mesmo desempenho e confiabilidade. Alguns
têm mais exigências do que outros.
Um sistema embarcado é um computador com funções de controle específicas, podendo ser parte de um
sistema de computador maior ou um dispositivo autônomo. Pode conter os processadores programáveis, que
são os microcontroladores, ou os processadores de sinal digital (DSPs), e a maioria deles deve operar dentro de
restrições de tempo real.
Os sistemas críticos embarcados são definidos para aplicações das forças armadas, transporte ferroviário,
controle médico, industrial, exploração espacial, aviação, instrumentação nuclear e muitas outras indústrias.
Além da IEC (International Electrotechnical Commission), outras organizações como a ISO (International
Organization for Standardization) e a ITU (International Telecommunication Union) desenvolvem normas e guias
internacionais para áreas com sistemas críticos, definindo critérios e requisitos para áreas particulares como
ferrovias e aviação.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
9
De acordo com essas normas, alguns sistemas críticos embarcados devem sobreviver em ambientes adversos:
Choques e vibrações severas, radiação ionizante em taxas elevadas - como no espaço e em temperaturas
extremas, de baixas a altas -, entre outros.
A confiabilidade é uma questão da mais alta prioridade nas infraestruturas que apoiam a nossa sociedade, com
muitos sistemas complexos cujas funções necessitamos proteger e manter em funcionamento, sejam estas para
um avião, uma planta nuclear, um equipamento de terapia com radiação ou um sistema de frenagem de um
trem.
A confiabilidade pode ter o seu foco em propriedades diferentes, dependendo do sistema e das funções
desempenhadas. Probabilidade de produzir os resultados requisitados, tempo de resposta alcançado, graus de
tolerância a falhas ou de prevenção de intrusões deliberadas em sistemas são algumas dessas propriedades em
que se busca confiabilidade.
Determinismo Os sistemas críticos embarcados são altamente determinísticos, devendo executar em tempo real
as respostas aos eventos.
mais consistente será sua capacidade de resposta
mais consistente será sua capacidade de resposta. Um fator primário que afeta esse requisito é quantas
interrupções um sistema deve tratar simultaneamente. Em geral, aumentar o número de interrupções no
sistema prejudicará seu determinismo.
O determinismo afeta, portanto, diretamente a capacidade de resposta, confiabilidade e precisão. Se um
desenvolvedor souber que a latência está fixada em 50 ou 500 ciclos, isso pode ser levado em consideração
durante o processamento. No entanto, quando a latência pode variar de 50 a 500 ciclos, o melhor que os
desenvolvedores podem fazer é assumir uma latência típica, como 200 ciclos, e suportar qualquer variação
como erro. Além disso, a latência do pior caso pode começar a se aproximar das limitações de prazo em tempo
real e ameaçar a confiabilidade do sistema. Reduzir o número potencial de interrupções simultâneas, mesmo as
de baixa frequência, pode aumentar substancialmente o determinismo do sistema.
Quanto mais alta a frequência do sinal, maior a carga na CPU quando as interrupções são empregadas e maior o
potencial de aumento da latência para outras tarefas. Logo, para eventos com maior frequência de ocorrência, a
carga da CPU se torna uma consideração importante.
As aplicações de computação do futuro se tornarão ainda mais dependentes de sistemas críticos embarcados à
medida que continuarem a aumentar o alcance dos sistemas autônomos. Estes representam o próximo grande
passo na fusão de máquinas, computação, sensoriamento e software para criar sistemas inteligentes capazes de
interagir com as complexidades do mundo real. Devem, portanto, ter grande capacidade em desempenho e
confiabilidade, exigindo essa capacidade dos sistemas críticos embarcados.
Os microcontroladores Hercules TMS470M/TMS570M e RM4x da Texas Instruments de 16/32 bits são dispositivos
que seguem nessa linha. Também alguns modelos de PIC, como o PIC12F1612 e o PIC16F1613. Outros
fabricantes que lançaram modelos para aplicações críticas foram a NXP com a série NXP LPC17xx, como
LPC1769 e LPC1788, a Freescale, com os modelos Kinetis K20, e a Renesas, com o modelo V850.
Falhas no software também são consideradas sistemáticas, pois este é totalmente determinístico e, embora
desafiador, pode ser formalmente comprovado como correto antes da implementação do produto. O
gerenciamento de falhas sistemáticas é obtido por meio de processos robustos que incluem verificações e
balanços em cada atividade de desenvolvimento.
Ilha segura
O conceito de ilha segura inclui a implementação de mecanismos de segurança de hardware para as memórias
flash e SRAM internas. Em um sistema típico, a flash é usada como memória de instrução da CPU e a SRAM
fornece memória de dados da CPU. Ambas, bem como a conexão entre elas e a CPU, devem estar funcionando
corretamente para garantir a operação correta do software. O diagnóstico de tempo de execução primário para
SRAM e flash é a lógica ECC (código de correção de erros) nos dados aumentados por endereço e paridade de
controle. A tecnologia ECC é uma forma bem aceita e eficaz de detectar falhas aleatórias. Ela codifica os dados
de uma forma que permite aos sistemas não apenas detectar quando a memória foi corrompida, mas também
corrigir erros de bit único, se desejado, para que a operação do sistema possa continuar ininterrupta.
3. Funcionamento
A sequência funcional deve ser lida do estímulo ou entrada até a resposta do sistema. Em cada etapa, o
engenheiro observa as variáveis de estado, conversões, atrasos, perdas e condições de falha.
1. Configurar clock, alimentação e periféricos.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
10
2. Adquirir eventos e dados por hardware.
3. Processar o algoritmo no firmware.
4. Atuar/comunicar e tratar falhas dentro do prazo.
4. Equações e relações matemáticas
Ucpu = Σ(Ci/Ti)
Variáveis e unidades: Carga periódica.
Significado físico: Estimativa de utilização.
stack livre = total - pior uso
Variáveis e unidades: Bytes.
Significado físico: Margem contra overflow.
Tj = Ta + P·RθJA
Variáveis e unidades: °C.
Significado físico: Estimativa térmica.
Condições de validade
• Unidades coerentes no SI.
• Hipóteses e condições de contorno explicitadas.
• Resultados validados contra limites do equipamento e do processo.
5. Componentes, elementos ou equipamentos
Elemento/equipamen
to
Função Princípio Características e limitações
CPU Processar tarefas. Clock e arquitetura. Prazo e consumo.
RAM/Flash Guardar dados e código. Memória integrada. Capacidade/endurance.
InterfacesConectar periféricos. Pinos e controladores. Número, taxa e compatibilidade.
A tabela resume a função principal. A seleção final deve considerar tensão, corrente, frequência, ambiente, tolerância,
proteção, manutenção e vida útil conforme a natureza do elemento.
6. Aplicação prática
Problema implementar uma função embarcada com recursos limitados.
Solução dividir requisitos entre hardware e firmware, configurar periféricos e validar
tempo, memória e falhas.
Funcionamento Configurar clock, alimentação e periféricos. Adquirir eventos e dados por
hardware. Processar o algoritmo no firmware.
Resultado esperado Resultado tecnicamente verificável, dentro dos limites de desempenho,
segurança e operação.
7. Exemplo de engenharia
Orçamento de CPU
Problema: Tarefas periódicas usam 1 ms/5 ms, 0,5 ms/10 ms e 2 ms/20 ms.
Resolução passo a passo
1. U1=1/5=20%.
2. U2=0,5/10=5%.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
11
3. U3=2/20=10%.
4. Utilização somada=35%, antes de interrupções e sistema.
Resultado: Carga periódica estimada: 35%.
Interpretação de engenharia: A média não substitui análise de pior caso, prioridades e bloqueios.
8. Pontos críticos e cuidados
• Ler o datasheet e erratas.
• Respeitar níveis elétricos e corrente por pino.
• Evitar bloqueios em tarefas críticas.
• Medir tempo, memória e consumo no alvo.
• Planejar atualização e recuperação de falhas.
Erros e modos de falha recorrentes
Erro/modo de falha Consequência Prevenção ou verificação
Overflow de buffer/pilha Corrupção de memória ou reset Dimensionar, monitorar e testar pior
caso
Bloqueio em ISR Perda de eventos e jitter ISR curta e processamento em tarefa
Nível elétrico incompatível Dano ao pino Condicionar e proteger a interface
9. Relação com outros assuntos
• Eletrônica digital e instrumentação.
• Automação e controle em tempo real.
• Comunicação e sistemas embarcados.
A relação entre disciplinas é importante porque o comportamento elétrico, a instrumentação, o controle, a
comunicação e a proteção formam um único sistema na aplicação real.
10. Complementos técnicos
Complemento técnico: bibliotecas aceleram o desenvolvimento, mas o engenheiro deve conhecer custos
temporais, estados de erro e acesso concorrente aos periféricos.
Complemento: além de fazer o firmware funcionar, é necessário demonstrar pior tempo de execução, uso de
pilha, condições de corrida, recuperação de falha, atualização segura e comportamento após reset.
Normas e referências normativas relacionadas
• IEC 61508 - segurança funcional quando o sistema embarcado executa função de segurança. Consultar a
edição vigente e o escopo aplicável.
• MISRA C - diretrizes para C em sistemas críticos, quando adotadas pelo projeto. Consultar a edição vigente e
o escopo aplicável.
• IEC 60529 - graus de proteção do invólucro do produto, quando aplicável. Consultar a edição vigente e o
escopo aplicável.
11. O que realmente precisa ser memorizado
• Medir pior caso, não média.
• Reservar margem de memória.
• Evitar alocação dinâmica sem estratégia.
• Verificar temperatura e alimentação.
• Escalar arquitetura quando o requisito exceder o MCU.
• Ucpu = Σ(Ci/Ti) - Estimativa de utilização.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
12
• stack livre = total - pior uso - Margem contra overflow.
• Tj = Ta + P·RθJA - Estimativa térmica.
12. Resumo final do módulo
• O assunto central é Limitações dos microcontroladores em projetos embarcados de alto desempenho.
• Limite de processamento: Quantidade finita de instruções por prazo.
• Limite de memória: Capacidade finita de Flash, RAM e armazenamento.
• Limite elétrico: Restrições de tensão, corrente, temperatura e EMI.
• Medir pior caso, não média.
• Reservar margem de memória.
• Evitar alocação dinâmica sem estratégia.
• Verificar temperatura e alimentação.
• Escalar arquitetura quando o requisito exceder o MCU.
Checklist de domínio
□ Consigo explicar, sem consultar o texto, o que é limitações dos microcontroladores em projetos
embarcados de alto desempenho e por que esse assunto é usado?
□ Consigo diferenciar Limite de processamento de Limite de memória e dar uma aplicação de cada um?
□ Consigo identificar as unidades, hipóteses e significado físico das equações principais?
□ Consigo refazer o exemplo numérico e interpretar o sinal, a ordem de grandeza e o limite do resultado?
□ Consigo reconhecer os três principais erros de projeto ou operação discutidos no módulo?
Microprocessadores Tema 6 - Projetos Com Microcontroladores
13
Módulo 3 - Boas práticas de programação de
software embarcado
Fundamento → compreensão → funcionamento → análise → aplicação de engenharia
1. Visão geral
O módulo trata de boas práticas de programação de software embarcado. Sua finalidade é permitir que o
estudante reconheça o fenômeno, equipamento ou arquitetura, modele seu comportamento e utilize os
resultados em decisões de projeto, operação, diagnóstico e proteção.
Dentro de Microprocessadores, esse conhecimento é importante porque evita implementação sem critério de
aceitação. Ele aparece em aplicações como: Problema: implementar uma função embarcada com recursos
limitados. Solução: dividir requisitos entre hardware e firmware, configurar periféricos e validar tempo,
memória e falhas.
Sensor / evento → Periférico integrado → CPU + firmware → Driver / comunicação
Figura conceitual - caminho funcional do assunto estudado.
2. Conceitos fundamentais
Conceitos centrais explicados
Conceito: Requisitos
Definição técnica: Descrição verificável do comportamento e das restrições.
Explicação simples: Define o que o firmware deve fazer.
Importância: Evita implementação sem critério de aceitação.
Conceito: Arquitetura em camadas
Definição técnica: Separação entre drivers, serviços e aplicação.
Explicação simples: Isola hardware da lógica.
Importância: Melhora teste e manutenção.
Conceito: Teste embarcado
Definição técnica: Verificação unitária, integração e alvo real.
Explicação simples: Comprova comportamento normal e de falha.
Importância: Reduz risco operacional.
Desenvolvimento dos subassuntos do material-base
Os blocos abaixo reorganizam os pontos teóricos distribuídos nas páginas do módulo. Foram removidas chamadas de vídeo,
alternativas de questões e repetições, mas preservado o desenvolvimento conceitual necessário ao estudo.
A variedade de programas escritos em C, portanto, tende a refletir claramente a diferença no nível de habilidade
de codificação entre programadores experientes e menos experientes. Não é desejável que o código-fonte varie
muito em qualidade, dependendo das habilidades e experiência de codificação individuais dos programadores.
1. A necessidade de regras não é compreendida. Os métodos apropriados para lidar com a violação destas
também não são amplamente compartilhados. 2. Existem regras muito numerosas para aprender. No entanto,
as existentes não são abrangentes o suficiente para cobrir todo o escopo da codificação.
Devido a tais circunstâncias, existem, de fato, algumas convenções de codificação estabelecidas em nível de
organização ou departamento que perderam seu significado e não são mais estritamente observadas. No
entanto, as organizações que as possuem, não importa o tipo de formato em que as preparem, são pelo menos
melhores do que aquelas sem nenhum. Ainda há algumas empresas que não conseguem chegar a um consenso
sobre a convenção de codificação a ser seguida internamente e estão confiando em grande parte nos
julgamentos individuais dos programadores para decidir como o código-fonte deve ser escrito.
Dica No caso de microcontroladores, a experiência de muitos programadores mostra que essa preocupação
deve ser colocada em segundo plano. Digamos que vale a ideia de qualquer outro desenvolvimento de software:
Não otimize até que saiba que precisa, e então não otimize até que saiba o que precisa otimizar. Escreva o
Microprocessadores Tema 6 - Projetos Com Microcontroladores
14
código para que seja confiável, legível e fácil de manter primeiro. A otimizaçãoprematura é mais um problema
em sistemas embarcados.
Não é realmente necessária
Não é realmente necessária. A alocação de memória dinâmica permite reutilização da mesma memória para
fazer coisas diferentes em momentos distintos. Os sistemas embarcados tendem a fazer a mesma coisa o tempo
todo.
A alocação dinâmica de memória torna muito difícil depurar, especialmente com algumas das ferramentas de
depuração limitadas disponíveis no sistema embarcado. Ao alocar coisas estaticamente, é possível saber onde
as coisas estão o tempo todo, o que significa que é muito mais fácil inspecionar o estado de algo.
O padrão MISRA-C Embora seguir padrões de programação pareça sempre ser tedioso e cerceador, ainda é uma
das melhores escolhas para seguir boas práticas de programação, em particular para sistemas embutidos que
operam em áreas críticas, como a automobilística.
Com sua primeira versão em 1998, o MISRA-C teve a sua última versão em 2012 e vem se tornando um padrão
para empresas de sistemas embarcados. Essas empresas pretendem utilizar melhores práticas no
desenvolvimento de software seguro e portável em linguagem C.
As diretrizes proíbem o comportamento indefinido crítico e restringem o uso de comportamento definido pela
implementação e extensões do compilador. Eles também limitam o uso de recursos de linguagem que podem
ser facilmente mal utilizados ou mal interpretados. No geral, as diretrizes são projetadas para melhorar a
confiabilidade, legibilidade, portabilidade e manutenção.
Diretiva
Uma diretriz na qual as informações relativas à conformidade geralmente não estão totalmente contidas no
código-fonte - requisitos, especificações, projetos, todos devem ser levados em consideração. Ferramentas de
análise estática podem auxiliar na verificação da conformidade com as diretivas, se fornecidas com informações
extras não derivadas do código-fonte.
Uma pergunta mais profunda pode ser
Uma pergunta mais profunda pode ser: É possível testar a qualidade em um produto? Sim, basta construir uma
peneira de teste tão apertada que nenhum produto ruim possa passar por ela. Então rejeita-se
sistematicamente tudo que não passa.
Construir um software de qualidade conforme ele está sendo desenvolvido é muito mais eficaz do que tentar
testá-lo depois de construído. As técnicas de verificação e validação (V&V) podem ser aplicadas em todo o ciclo
de vida do produto para ajudar a garantir que o software correto está sendo construído e que ele está sendo
construído corretamente.
O foco da verificação e a validação é detectar defeitos o mais cedo possível após eles serem introduzidos e
removê-los na origem. Isso não apenas torna a remoção de defeitos mais barata, mas também fornece uma
confiança muito maior de que a qualidade está sendo incorporada ao produto, em vez de tentar filtrá-la antes do
envio.
Definição # 1
Validação é a determinação da exatidão do programa final ou software produzido a partir de um projeto de
desenvolvimento em relação às necessidades e aos requisitos do usuário. Geralmente é realizada pela
averiguação de cada estágio do ciclo de vida de desenvolvimento de software.
Definição # 2
A verificação envolve a avaliação do software durante cada fase do ciclo de vida para garantir que ele atenda
aos requisitos definidos na fase anterior. A validação envolve testar o software ou sua especificação no final do
esforço de desenvolvimento para garantir que ele atenda aos seus requisitos (que faça o que deve). Embora
tenham definições separadas, é possível obter o máximo benefício usando-as sinergicamente e tratando 'V&V'
como uma definição integrada.
3. Funcionamento
A sequência funcional deve ser lida do estímulo ou entrada até a resposta do sistema. Em cada etapa, o
engenheiro observa as variáveis de estado, conversões, atrasos, perdas e condições de falha.
1. Configurar clock, alimentação e periféricos.
2. Adquirir eventos e dados por hardware.
3. Processar o algoritmo no firmware.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
15
4. Atuar/comunicar e tratar falhas dentro do prazo.
4. Equações e relações matemáticas
Utilização CPU = Σ(Ci/Ti)
Variáveis e unidades: Ci: execução; Ti: período.
Significado físico: Estimativa de carga periódica.
Margem = prazo - pior tempo
Variáveis e unidades: Tempo em s.
Significado físico: Folga de tarefa em tempo real.
Cobertura = itens testados/itens totais
Variáveis e unidades: Indicador, não prova de correção.
Significado físico: Mede extensão do teste.
Condições de validade
• Unidades coerentes no SI.
• Hipóteses e condições de contorno explicitadas.
• Resultados validados contra limites do equipamento e do processo.
5. Componentes, elementos ou equipamentos
Elemento/equipamen
to
Função Princípio Características e limitações
HAL/driver Acessar hardware. Abstração de
registradores.
Pode ocultar custo temporal.
Máquina de estados Organizar
comportamento.
Estados e transições
explícitas.
Explosão de estados.
Watchdog Recuperar travamentos. Reset se não houver
serviço periódico.
Não corrige causa raiz.
A tabela resume a função principal. A seleção final deve considerar tensão, corrente, frequência, ambiente, tolerância,
proteção, manutenção e vida útil conforme a natureza do elemento.
6. Aplicação prática
Problema implementar uma função embarcada com recursos limitados.
Solução dividir requisitos entre hardware e firmware, configurar periféricos e validar
tempo, memória e falhas.
Funcionamento Configurar clock, alimentação e periféricos. Adquirir eventos e dados por
hardware. Processar o algoritmo no firmware.
Resultado esperado Resultado tecnicamente verificável, dentro dos limites de desempenho,
segurança e operação.
7. Exemplo de engenharia
Dimensionamento de recursos embarcados
Problema: Uma função deve executar em 1 ms com CPU de 80 MHz e usa 48.000 ciclos.
Resolução passo a passo
1. Tempo=48.000/80 MHz=0,6 ms.
2. Margem bruta=1,0-0,6=0,4 ms.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
16
3. Interrupções, cache, DMA e variação de caminho precisam entrar no pior caso.
Resultado: Tempo nominal=0,6 ms; margem bruta=40%.
Interpretação de engenharia: Medir no hardware e no pior caminho é obrigatório para concluir atendimento
temporal.
8. Pontos críticos e cuidados
• Ler o datasheet e erratas.
• Respeitar níveis elétricos e corrente por pino.
• Evitar bloqueios em tarefas críticas.
• Medir tempo, memória e consumo no alvo.
• Planejar atualização e recuperação de falhas.
Erros e modos de falha recorrentes
Erro/modo de falha Consequência Prevenção ou verificação
Overflow de buffer/pilha Corrupção de memória ou reset Dimensionar, monitorar e testar pior
caso
Bloqueio em ISR Perda de eventos e jitter ISR curta e processamento em tarefa
Nível elétrico incompatível Dano ao pino Condicionar e proteger a interface
9. Relação com outros assuntos
• Eletrônica digital e instrumentação.
• Automação e controle em tempo real.
• Comunicação e sistemas embarcados.
A relação entre disciplinas é importante porque o comportamento elétrico, a instrumentação, o controle, a
comunicação e a proteção formam um único sistema na aplicação real.
10. Complementos técnicos
Complemento técnico: bibliotecas aceleram o desenvolvimento, mas o engenheiro deve conhecer custos
temporais, estados de erro e acesso concorrente aos periféricos.
Complemento: além de fazer o firmware funcionar, é necessário demonstrar pior tempo de execução, uso de
pilha, condições de corrida, recuperação de falha, atualização segura e comportamento após reset.
Normas e referências normativas relacionadas
• IEC 61508 - segurança funcional quando o sistema embarcado executa função de segurança. Consultar a
edição vigente e o escopo aplicável.
• MISRA C - diretrizes para C em sistemas críticos, quando adotadas pelo projeto. Consultar a edição vigente e
o escopo aplicável.
• IEC 60529 - graus de proteção do invólucro do produto, quando aplicável. Consultar a edição vigente e o
escopo aplicável.
11. O que realmente precisa ser memorizado
• Requisitosdevem ser testáveis.
• Separar hardware e aplicação.
• Evitar bloqueios longos.
• Tratar falhas e watchdog.
• Testar no hardware real e medir pior caso.
• Utilização CPU = Σ(Ci/Ti) - Estimativa de carga periódica.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
17
• Margem = prazo - pior tempo - Folga de tarefa em tempo real.
• Cobertura = itens testados/itens totais - Mede extensão do teste.
12. Resumo final do módulo
• O assunto central é Boas práticas de programação de software embarcado.
• Requisitos: Descrição verificável do comportamento e das restrições.
• Arquitetura em camadas: Separação entre drivers, serviços e aplicação.
• Teste embarcado: Verificação unitária, integração e alvo real.
• Requisitos devem ser testáveis.
• Separar hardware e aplicação.
• Evitar bloqueios longos.
• Tratar falhas e watchdog.
• Testar no hardware real e medir pior caso.
Checklist de domínio
□ Consigo explicar, sem consultar o texto, o que é boas práticas de programação de software embarcado e
por que esse assunto é usado?
□ Consigo diferenciar Requisitos de Arquitetura em camadas e dar uma aplicação de cada um?
□ Consigo identificar as unidades, hipóteses e significado físico das equações principais?
□ Consigo refazer o exemplo numérico e interpretar o sinal, a ordem de grandeza e o limite do resultado?
□ Consigo reconhecer os três principais erros de projeto ou operação discutidos no módulo?
Microprocessadores Tema 6 - Projetos Com Microcontroladores
18
Módulo 4 - Comunicação sem fio e Internet das
Coisas (IoT)
Fundamento → compreensão → funcionamento → análise → aplicação de engenharia
1. Visão geral
O módulo trata de comunicação sem fio e internet das coisas (iot). Sua finalidade é permitir que o estudante
reconheça o fenômeno, equipamento ou arquitetura, modele seu comportamento e utilize os resultados em
decisões de projeto, operação, diagnóstico e proteção.
Dentro de Microprocessadores, esse conhecimento é importante porque permite monitoramento e automação
distribuída. Ele aparece em aplicações como: Problema: implementar uma função embarcada com recursos
limitados. Solução: dividir requisitos entre hardware e firmware, configurar periféricos e validar tempo,
memória e falhas.
Sensor / evento → Periférico integrado → CPU + firmware → Driver / comunicação
Figura conceitual - caminho funcional do assunto estudado.
2. Conceitos fundamentais
Conceitos centrais explicados
Conceito: IoT
Definição técnica: Dispositivos conectados que medem, processam e trocam dados.
Explicação simples: Liga objetos físicos a serviços digitais.
Importância: Permite monitoramento e automação distribuída.
Conceito: Comunicação sem fio
Definição técnica: Transmissão por radiofrequência.
Explicação simples: Dispensa cabo, mas compartilha o meio.
Importância: Facilita mobilidade e retrofit.
Conceito: Segurança embarcada
Definição técnica: Proteção de identidade, firmware e dados.
Explicação simples: Impede uso e atualização não autorizados.
Importância: É requisito de ciclo de vida.
Desenvolvimento dos subassuntos do material-base
Os blocos abaixo reorganizam os pontos teóricos distribuídos nas páginas do módulo. Foram removidas chamadas de vídeo,
alternativas de questões e repetições, mas preservado o desenvolvimento conceitual necessário ao estudo.
4. Microcontroladores para projetos de comunicação sem fio e Internet das Coisas (IoT)
O que é a Internet da Coisas? A expressão Internet das Coisas (Internet of Things - IoT) tem nos acompanhado
nos últimos anos para indicar oportunidades de negócios e grande conjunto de equipamentos ligados de alguma
forma à internet.
Na escala micro, as "coisas" podem ser indivíduos, componentes, como uma unidade de iluminação inteligente
em um edifício comercial de escritórios, ou o próprio edifício, como um item em um portfólio de ativos sendo
monitorados. O valor da IoT está nos dados que são coletados e, em seguida, analisados para fornecer ideias ou
ações. Para garantir a integridade desses dados, todo o sistema deve ser seguro e gerenciado. Uma parte vital
disso é a escolha do protocolo de conectividade.
Os dispositivos IoT podem coletar, armazenar, compartilhar dados e executar funções de controle, como em
medidores inteligentes e lâmpadas, veículos autônomos e sofisticados equipamentos industriais - aumentando o
uso de inteligência artificial e aprendizado de máquina (machine learning).
Conforme a IoT se expande, mais empresas estão usando soluções de sistema em um chip para economizar
espaço e melhorar a integração. As medidas de segurança que protegem os dispositivos e as redes IoT de
ataques estão sendo incorporadas com mais frequência às operações centrais por meio de uma arquitetura de
Microprocessadores Tema 6 - Projetos Com Microcontroladores
19
segurança. A plataforma IoT deve ter base flexível, segura e eficiente, que abranja conectividade, dispositivo e
gerenciamento de dados.
A IoT é o principal impulsionador da transformação digital, possibilitando que as empresas reinventem produtos,
serviços, operações internas e modelos de negócios.
Eles fazem todos os dispositivos funcionarem juntos como um sistema para fornecer os serviços inteligentes. Os
dados de detecção são Microcontroladores enviados ao microcontrolador para processamento e estes geram
sinais para os atuadores. Dessa forma, todo o sistema pode ser controlado até o estado de destino.
São usados para manipular o ambiente
São usados para manipular o ambiente. Os atuadores são uma Atuadores espécie de dispositivo transdutor,
pegando um sinal elétrico como entrada e convertendo-o em um movimento físico mecânico.
Todo o sistema IoT deve ser incorporado com inteligência embutida para melhorar a eficiência da colaboração.
Assim, o microcontrolador para IoT deve ser equipado com técnicas inteligentes para coordenar todos os
componentes para trabalharem juntos de forma eficiente. O microcontrolador pode ser considerado o “cérebro”
do sistema IoT, pois pode buscar dados de sensores, analisar dados com técnicas de inteligência computacional
e gerar os comandos finais de controle.
Camada de sensoriamento
Na camada de sensoriamento ou detecção, o microcontrolador interage com dispositivos terminais, como
sensores e atuadores. Essa camada inclui a seleção de tipos de sensores de acordo com os diferentes tipos de
tarefas. Os dados do sensor são as entradas do microcontrolador. O atuador recebe o sinal de saída do
microcontrolador e executa as ações correspondentes.
Modelos de microcontroladores para IoT Para determinar qual microcontrolador funcionará melhor com seu
projeto, é necessário conhecer o que eles fazem e alguns dos seus principais recursos. Dentro dessas
características, a camada de comunicação é essencial. É assim que a aplicação se conecta à internet via Wi-Fi,
ethernet ou outros meios. Esse é um aspecto importante das aplicações de IoT.
As ferramentas de desenvolvimento já existentes para a plataforma escolhida, a comunidade de
desenvolvedores, são também importantes. Facilita muito o desenvolvimento quando existe um conjunto
maduro de ferramentas, documentação e suporte da comunidade para ajudar a criar programas que serão
executados no microcontrolador selecionado para sua aplicação IoT. Um dos desafios iniciais é integrar seus
dados em uma nuvem. Nesse ponto, será preciso utilizar protocolos como o MQTT (MQ Telemetry Transport).
Esse é o principal protocolo de mensagens leves para sensores e pequenos dispositivos móveis, otimizado para
redes TCP/IP.
Bare Metal
Significa que não há, de fato, nenhum sistema operacional. Essa é a abordagem original para trabalhar com
microcontroladores, e ainda é a mais popular porque é econômica e eficiente. A principal desvantagem dessa
opção, no caso de IoT, é que ela fornece menos suporte para o desenvolvedor do software no caso de acesso à
internet.
Assim como não se concebe atualmente um microcontrolador sem comunicação serial, a comunicação sem fio
pode vir a ser padrão pela necessidade de todo sistema microcontrolado de se integrarem rede em futuro
próximo.
Os dois núcleos são denominados CPU de protocolo (PRO_CPU) e CPU de aplicativo (APP_CPU). Ou seja,
basicamente o processador PRO_CPU lida com Wi-Fi, bluetooth e outros periféricos internos como SPI, I2C, ADC
etc. O APP_CPU é deixado de fora para o código do aplicativo. Essa diferenciação é feita no Espressif Internet
Development Framework (ESP-IDF) - o framework oficial de desenvolvimento de software para o chip. Arduino e
outras implementações para o desenvolvimento são baseadas no ESP-IDF, que usa o freeRTOS para alternar
entre os processadores e a troca de dados entre eles.
O ESP32 possui uma lista completa de periféricos, como temporizadores e watchdog, relógio de tempo real, ADC
e sensores incorporados, Conversor Digital para Analógico (DAC), sensor de toque, Coprocessador de Baixo
Consumo (Ultra Low Power - ULP), Interface MAC Ethernet, Controlador SD/ SDIO/MMC, Transmissor Receptor
Universal Assíncrono (UART), Interface I2C e SPI, contador de pulsos, Modulação de Largura de Pulso (PWM),
dentre outros.
3. Funcionamento
A sequência funcional deve ser lida do estímulo ou entrada até a resposta do sistema. Em cada etapa, o
engenheiro observa as variáveis de estado, conversões, atrasos, perdas e condições de falha.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
20
1. Configurar clock, alimentação e periféricos.
2. Adquirir eventos e dados por hardware.
3. Processar o algoritmo no firmware.
4. Atuar/comunicar e tratar falhas dentro do prazo.
4. Equações e relações matemáticas
autonomia ≈ capacidade/corrente média
Variáveis e unidades: h, se unidades coerentes.
Significado físico: Estimativa de bateria.
Imédia = Σ(Di·Ii)
Variáveis e unidades: Di: fração de tempo.
Significado físico: Consumo por modos.
link margin = Prx - sensibilidade
Variáveis e unidades: dB.
Significado físico: Folga do enlace.
Condições de validade
• Unidades coerentes no SI.
• Hipóteses e condições de contorno explicitadas.
• Resultados validados contra limites do equipamento e do processo.
5. Componentes, elementos ou equipamentos
Elemento/equipamen
to
Função Princípio Características e limitações
Rádio Transmitir/receber. Wi-Fi, BLE, LoRa etc. Alcance, consumo e coexistência.
Antenna Acoplar RF ao espaço. Radiação eletromagnética. Layout e ambiente.
Boot seguro Validar firmware. Assinatura e raiz de
confiança.
Gestão de chaves.
A tabela resume a função principal. A seleção final deve considerar tensão, corrente, frequência, ambiente, tolerância,
proteção, manutenção e vida útil conforme a natureza do elemento.
6. Aplicação prática
Problema implementar uma função embarcada com recursos limitados.
Solução dividir requisitos entre hardware e firmware, configurar periféricos e validar
tempo, memória e falhas.
Funcionamento Configurar clock, alimentação e periféricos. Adquirir eventos e dados por
hardware. Processar o algoritmo no firmware.
Resultado esperado Resultado tecnicamente verificável, dentro dos limites de desempenho,
segurança e operação.
7. Exemplo de engenharia
Estimativa de autonomia IoT
Problema: Dispositivo consome 40 mA por 2 s a cada 10 min e 20 µA em repouso; bateria de 2400 mAh.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
21
Resolução passo a passo
1. Duty ativo=2/600=0,00333.
2. Iavg≈40·0,00333 + 0,020·0,99667=0,153 mA.
3. Autonomia ideal=2400/0,153=15.686 h≈654 dias.
Resultado: Autonomia ideal≈1,8 ano.
Interpretação de engenharia: Autodescarga, temperatura, retransmissões e regulador reduzem a autonomia
real.
8. Pontos críticos e cuidados
• Ler o datasheet e erratas.
• Respeitar níveis elétricos e corrente por pino.
• Evitar bloqueios em tarefas críticas.
• Medir tempo, memória e consumo no alvo.
• Planejar atualização e recuperação de falhas.
Erros e modos de falha recorrentes
Erro/modo de falha Consequência Prevenção ou verificação
Overflow de buffer/pilha Corrupção de memória ou reset Dimensionar, monitorar e testar pior
caso
Bloqueio em ISR Perda de eventos e jitter ISR curta e processamento em tarefa
Nível elétrico incompatível Dano ao pino Condicionar e proteger a interface
9. Relação com outros assuntos
• Eletrônica digital e instrumentação.
• Automação e controle em tempo real.
• Comunicação e sistemas embarcados.
A relação entre disciplinas é importante porque o comportamento elétrico, a instrumentação, o controle, a
comunicação e a proteção formam um único sistema na aplicação real.
10. Complementos técnicos
Complemento técnico: bibliotecas aceleram o desenvolvimento, mas o engenheiro deve conhecer custos
temporais, estados de erro e acesso concorrente aos periféricos.
Complemento: além de fazer o firmware funcionar, é necessário demonstrar pior tempo de execução, uso de
pilha, condições de corrida, recuperação de falha, atualização segura e comportamento após reset.
Normas e referências normativas relacionadas
• IEC 61508 - segurança funcional quando o sistema embarcado executa função de segurança. Consultar a
edição vigente e o escopo aplicável.
• MISRA C - diretrizes para C em sistemas críticos, quando adotadas pelo projeto. Consultar a edição vigente e
o escopo aplicável.
• IEC 60529 - graus de proteção do invólucro do produto, quando aplicável. Consultar a edição vigente e o
escopo aplicável.
11. O que realmente precisa ser memorizado
• Escolher protocolo por alcance, taxa e energia.
• Calcular corrente média por duty cycle.
• Projetar atualização segura.
Microprocessadores Tema 6 - Projetos Com Microcontroladores
22
• Proteger chaves e identidade.
• Validar RF no ambiente real.
• autonomia ≈ capacidade/corrente média - Estimativa de bateria.
• Imédia = Σ(Di·Ii) - Consumo por modos.
• link margin = Prx - sensibilidade - Folga do enlace.
12. Resumo final do módulo
• O assunto central é Comunicação sem fio e Internet das Coisas (IoT).
• IoT: Dispositivos conectados que medem, processam e trocam dados.
• Comunicação sem fio: Transmissão por radiofrequência.
• Segurança embarcada: Proteção de identidade, firmware e dados.
• Escolher protocolo por alcance, taxa e energia.
• Calcular corrente média por duty cycle.
• Projetar atualização segura.
• Proteger chaves e identidade.
• Validar RF no ambiente real.
Checklist de domínio
□ Consigo explicar, sem consultar o texto, o que é comunicação sem fio e internet das coisas (iot) e por que
esse assunto é usado?
□ Consigo diferenciar IoT de Comunicação sem fio e dar uma aplicação de cada um?
□ Consigo identificar as unidades, hipóteses e significado físico das equações principais?
□ Consigo refazer o exemplo numérico e interpretar o sinal, a ordem de grandeza e o limite do resultado?
□ Consigo reconhecer os três principais erros de projeto ou operação discutidos no módulo?
Microprocessadores Tema 6 - Projetos Com Microcontroladores
23
Referências e orientação de uso
Fonte principal: PDF do tema fornecido pela Universidade Estácio de Sá. O texto foi reorganizado e
complementado tecnicamente para estudo; chamadas interativas, alternativas de exercícios e repetições
foram excluídas.
Para projeto e operação reais, consultar as edições vigentes das normas, requisitos da
concessionária/empresa, estudos do sistema e documentação dos fabricantes. A apostila não substitui
procedimento de segurança, estudo executivo ou responsabilidade técnica.
Referências apresentadas no material-fonte
• INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. IEEE recommended practice for software
requirements specifications.In: IEEE Std 830-1998, pp.1-40, 20 Oct. 1998, doi:
10.1109/IEEESTD.1998.88286.
• MONK, S. Programação com Arduino: Começando com sketches. 1. ed. Porto Alegre: Bookman, 2017.
• MOTOR INDUSTRY SOFTWARE RELIABILITY ASSOCIATION. MISRA C: 2012 guidelines for the use of the C
language in critical systems. March. 2013, ISBN 978-1-906400-10-1. Amendment 1, April 2016.
• Addendum 2, April 2016. Technical Corrigendum 1, June 2017.
• OLIVEIRA, A. S. de; ANDRADE, F. S. de. Sistemas embarcados: Hardware e firmware na prática. 1. ed. São
Paulo: Érica, 2010.• PECKOL, J. K. Embedded systems: A contemporary design tool. 1. ed. New Jersey: Wiley, 2019.
• ZANCO, W. da S. Microcontroladores PIC18 com linguagem C: Uma abordagem prática e objetiva. São Paulo:
Érica, 2010.

Mais conteúdos dessa disciplina