Sistemas Microcontrolados
SMS10 - ENGENHARIA DE CONTROLE E AUTOMAÇÃO
SEMANA 14: CONVERSOR A/D E DESENVOLVIMENTO DE SISTEMAS
EMBARCADOS
PROF.: TOMAZATI
02/12/2024 1
TOMAZATI@[Link]
Agenda
01 02 03
Abordagem para
Conversor
Conversor A/D A/D Modulação porSolução da
o
largura de prova e
desenvolvimento
pulso projeto final
de sistemas
microcontrolados
2
01 Conversor A/D
Conversor Analógico-Digital
3
Fonte: Thomas L. Floyd, DIgital Fundamentals, 9e
01 Conversor A/D
Conversor Analógico-Digital
A resolução de um conversor A/D é expressa por:
resolução = VREF / 2n
onde VREF = tensão de referência e n o número
de bits.
4
Fonte: Thomas L. Floyd, DIgital Fundamentals, 9e
01 Conversor A/D
Conversor Analógico-Digital no RP2040
5
Fonte: RP2040 datasheet
01 Conversor A/D
Conversor Analógico-Digital no RP2040
- Um conversor A/D multiplexado;
- 500 kS/s (clock de 48 MHz);
- 12 bits de resolução;
- Cinco entradas:
- Quatro GPIO [26:29]
- Sensor de temperatura interno
6
Fonte: RP2040 datasheet
01 Conversor A/D
Conversor Analógico-Digital no RP2040
7
Fonte: RP2040 datasheet
01 Conversor A/D
Conversor A/D de aproximações sucessivas
8
Fonte: Thomas L. Floyd, DIgital Fundamentals, 9e
01 Conversor A/D
Conversor Analógico-Digital no RP2040
Arquivo principal .c
Arquivo [Link]
9
01 Conversor A/D
Conversor Analógico-Digital no RP2040
Arquivo .c
10
01 Conversor A/D
Conversor Analógico-Digital no RP2040
11
02 Desenvolvimento de um sistema embarcado
Chega-se a conclusão que há um mercado para o seu produto e que você simplificou
ao máximo o conceito do produto.
O conceito do produto realmente resolve o problema pretendido conforme o esperado.
Necessário um time de especialistas para o desenvolvimento de um sistema
embarcado (projeto eletrônico, programação embarcada, modelagem 3D, moldes de
injeção, manufatura, etc).
Cria-se um protótipo.
12
Fonte: [Link]
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Projeto preliminar do produto
- Componentes de produção do produto;
- Custo;
- Margem de lucro;
- Desempenho;
- Características;
- Viabilidade de desenvolvimento;
- Capacidade de fabricação.
13
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Diagrama de blocos do sistema
14
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Seleção dos componentes
15
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Fornecedores de componentes eletrônicos
[Link] [Link]
[Link]
16
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
17
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
18
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
19
Fonte: [Link]
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
20
Fonte: [Link]
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Aspectos a serem levados em consideração para a escolha do microcontrolador:
- técnicos;
- econômicos;
- políticos;
- estratégicos.
21
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Estimar o custo de produção
22
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Projetar o circuito esquemático e PCB
Fonte: [Link] 23
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Placa soldada
24
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Programação e depuração do código
25
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Criar o modelo 3D
26
02 Desenvolvimento de um sistema embarcado
Passos para o desenvolvimento de sistemas embarcados
Certificação do produto
Empresas que pretendem lançar novos
produtos devem cumprir uma série de
regulamentações que provam que seus produtos
são seguros.
O produto é submetido a uma série de testes
em um ambiente de laboratório para garantir
que esteja em conformidade com as normas de
segurança e de saúde do seu mercado-alvo.
27
03 Solução da prova
Avaliação teórica Avaliação prática 2
28
03 Solução da Avaliação Teórica
1) Famílias de processadores ARM
• Família ARM Cortex-A
• Aplicações de alta complexidade
servers netbook mobile
envolvendo OS
• Família ARM Cortex-R
• Processadores embarcados
automotive
com requisitos de tempo real disk drives cameras systems
• Família ARM Cortex-M
• Processadores embarcados
para aplicações SoC
appliances inverters
medical
29
03 Solução da Avaliação Teórica
2)
Critério RP2040 Nios II
Arquitetura Fixa (ARM Cortex M0+) Soft-core em FPGA
Flexibilidade de Fixa Configurável
hardware
Desempenho Moderado Ajustável (baixa e alta
performance)
Ferramentas SDK, micropython Quartus Prime
(desenvolvimento de
hardware e software)
Custo Baixo Mais elevado (depende do
FPGA)
Aplicações IoT, automação, robótica Automação, sistemas
simples embarcados complexos,
processamento paralelo
30
03 Solução da Avaliação Teórica
Pico’s General Purpose Input/Output (GPIO)
3)
void gpio_set_dir (uint gpio, bool out)
Define uma linha como entrada ou saída.
“out” true para saída.
“out” false para entrada.
Exemplo: gpio_set_dir(LED_PIN, GPIO_OUT);
31
03 Solução da Avaliação Teórica
Pico’s General Purpose Input/Output (GPIO)
4)
bool gpio_get (uint gpio)
Retorna o estado de uma linha GPIO.
Exemplo: gpio_get(BUTTON_GPIO);
32
03 Solução da Avaliação Teórica
Exceções e interrupções no RP2040
5)
- Exceções são eventos que causam mudança no fluxo de execução de um
programa. Em geral, as interrupções são um tipo de exceção nos processadores
ARM Cortex-M.
- Os eventos podem ser externos ou internos ao processador. Quando o evento é
proveniente de uma fonte externa, ele é chamado de interrupção.
33
Fonte: Yiu, J. The Definitive Guide to ARM Cortex-M0 and Cortex-M0+ Processors
03 Solução da Avaliação Teórica
5)
Exceções e interrupções no RP2040
Fontes de interrupção no RP2040
34
Fonte: RP2040 datasheet
03 Solução da Avaliação Teórica
6)
argumento = 0b11100000 = 0xE0
7)
Instruções de configuração de interrupção de GPIO.
8)
0x67 = 0b01100111
35
03 Solução da Avaliação Teórica
Incluindo pausas
9)
Para se conseguir pausa entre estados,
pode-se usar uma das funções abaixo:
void sleep_us (uint64_t us)
void sleep_ms (uint32_t ms)
void busy_wait_us (uint64_t delay_us)
void busy_wait_ms (uint32_t delay_ms)
36
03 Projeto final
Seminário: 16/12/2024
Instr. Final de Avaliação: 06/01/2025
IFA: Avaliação teórica (matéria de todo o semestre)
Relatório no formato de slides.
- Introdução;
- Objetivo;
- Desenvolvimento;
- Conclusão;
- Referências bibliográficas
37
03 Projeto final
Reunião
Aluno 1 Aluno 2 com Título do projeto
professor
38
Obrigado
PROF.: TOMAZATI
39