Projeto de Sistemas Embarcados Pós-Graduação em Engenharia Elétrica Prof. Dr. Joselito A. Heerdt Joselito.heerdt@.udesc.br
PLANEJAMENTO 1. Introdução 2. O projeto de sistemas 3. Projeto de hardware 4. Projeto de software
1. INTRODUÇÃO 1.1. Considerações iniciais sistema embarcado/dedicado utilização de algum tipo de CPU exclusiva/embutida para o controle ou gerenciamento de um sistema, de forma que essa CPU fique transparente para quem utiliza o sistema por ela controlado. microprocessador CI processador sem periféricos base para construção de computadores; microcontrolador CPU + memória + I/O + Periféricos em um único CI usado para controle.
1.2. Aplicações em grande expansão residenciais, industriais, automotivas e de telecomunicações. uma estimativa uma residência típica americana possui 35 produtos baseados em sistemas dedicados. Esse número deverá crescer para 250, nos próximos anos. fatores motivadores criar produtos com diferenciação, permitindo a inclusão de melhorias de segurança e de funcionalidade.
Continuação: grande diversidade calculadoras, sistema de comando por voz, etc. comunicação na robótica, p.ex., emprega-se vários subsistemas dedicados, trabalhando em conjunto. uma aplicação especial coletores de dados - dimensões físicas reduzidas, baixo consumo e flexibilidade. - chão de fábrica, balões atmosféricos, p. ex.
Impacto das aplicações: redução de consumo de recursos naturais: - sistemas de aquecimento modernos - redução de consumo de energia em motores elétricos (dado: 50% de toda eletricidade produzida no planeta é consumida por motores) impacto na indústria de software: a proliferação dos sistemas embarcados é um dos responsáveis pela retomada de crescimento da indústria de software nos EUAs.
1.3. Evolução dos sistemas embarcados 1a geração: - hardware primitivo (memória e processamento limitados) - interface precária com o usuário (leds e displays 7seg) - sem comunicação com outros sistemas 2a geração: - hardware mais eficiente (memória e velocidade) - interface mais amigável (displays de cristal líquido, outros) - comunicação via interface serial - software é o diferencial (mais funcionalidades, melhor IHM) 3a geração (ainda emergindo): - 32 bits ou mais, alta capacidade de memória - interface com redes heterogêneas, recursos para DSP
1.4. Tipos de sistemas embarcados - sistemas auto-contidos - microcontroladores com memória externa - processadores digitais de sinais (DSP, DSC) - dispositivos de lógica programável (PLD, CPLD, FPGA)
Sistemas auto-contidos Composição (usual): - uma CPU, memória RAM, algum tipo de ROM - porta serial, portas paralelas, contadores e temporizadores - e um controlador de interrupções Características (gerais): - amplo conjunto de instruções para manipular bits - acesso diretos aos pinos de e/s - rápido e eficiente sistema de atendimento de interrupções Alcance: - implementar sistemas de controle a baixo custo
Microcontroladores com memória externa Composição (usual): - barramento de 16 ou 32 bits - memórias de programa e dados externas - controladores de DMA e de interrupção Características (gerais): - possuem pouco pinos de e/s - muita memória (mega bytes) - aproveitamento de tecnologias anteriores (8088, Z80, etc) Alcance: - sistemas de controle de memória de massa, máquinas de diversão, outros
Processadores digitais de sinais Composição (usual): - multiplicador por hardware - múltiplas unidades de execução - pipeline sofisticado - arquitetura Harvard Características (gerais): - arquitetura dedicada ao processamento de sinais - altas taxas de processamento (execução em um ciclo) Alcance: - em expansão (automação, telecomunicações, etc)
Dispositivos de Lógica Programável Composição (usual): - blocos lógicos interconectados via um barramento - ultrapassam 360.000 blocos lógicos - ultrapassam 28 Gbps na aplicação como transeivers Características (gerais): - programados por software - projetados para atender aplicações específicas - possui alta performance - Alta confiabilidade Alcance: - processamento de imagem, telecom, conversores multiniveis, aeroespacial, etc.
1.5. Arquiteturas de sistemas embarcados von Neumann: - execução seqüencial de instruções - barramento único para instrução e dados Harvard: - maior paralelismo - barramentos separados para instrução e dados CISC x RISC: - o resultado final depende da aplicação - muitos processadores combinam as duas tecnologias
1.6. Tipos de memórias Operações com a memória: - Habilitar (ou desabilitar) a memória; - Selecionar o endereço; - Selecionar a operação a ser realizada (RD/WR); - Fornecer/receber os dados; - Seguir as temporizações específicas do chip.
Memórias de programa ROM PROM EPROM OTP EEPROM flash ROM: Read Only Memory PROM: Programmable ROM EPROM: Electric PROM EEPROM: Electric Erasable PROM OTP: One Time Programmed
Memórias de programa (uso freqüente) - Firmware: programas que não estão sujeitos a mudança; - Memória de partida fria (bootstrap): iniciar um sistema; - Tabelas de dados: funções trigonométricas, p.ex. seno ; - Conversores de dados: p.ex. BCD para 7 segmentos; - Geradores de caracteres: ASCII, p. ex.
Memórias de dados 1. SRAM: memória estática. - Matriz de flip-flops; - Sem recarga (refresh); - Limitações no tempo de acesso; 2. DRAM: memória dinâmica. - Alta velocidade de acesso (~10ns) - Células de micro-capacitores; - Trabalha com recarga (2-10ms); - Baixo consumo; - Alta densidade
1.7. Principais fabricantes Microcontroladores: - Intel, Motorola, MicroChip, National, Texas, Sharp, ST; DSP e DSC: - Texas, Motorola, Analog Devices, Renesas; FPGA e CPLD: - Altera, Xilinx;
1.8. Características Tecnologia de fabricação CMOS - baixo consumo - alta densidade de integração Capacidade de memória a menor possível - memória interna de programa até 64K (usual) - memória interna de dados até 1K (usual) - memória externa de dados até alguns MBytes
Continuação: Velocidade de processamento: - de 8 a 20 MHz (usual) Pinos de E/S programáveis - até algumas dezenas de bits - interfaces paralela e serial (RS232, I2C, SPI, CAN, Wireless) Contadores e temporizadores programáveis - de 1 a 3 conjuntos de registradores (usual) Conversores A/D e D/A: - de 1 a 12 A/D (usual) - D/A não usual => 1 a 12 PWM (usual)
Continuação: Modo de baixo consumo: - 1 A (usual) Sistemas de segurança: - sistema de reset automático (watchdog) - monitor de clock - proteção a baixa tensão (brownout protection) - criptografia e detonadores - Função sleep