introdução ao projecto com sistemas digitais e microcontroladores metodologia de desenvolvimento...

43
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi-mento de aplicações • Organização: – O desenvolvimento de aplicações para microprocessadores / microcontroladores – Sistemas de desenvolvimento – O ambiente de projecto da KEIL – O gerador de formas de onda revisitado – Co-projecto: Um exemplo na aquisição e visualização de sinais analógicos

Upload: internet

Post on 17-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 1

Metodologia de desenvolvi-mento de aplicações• Organização:

– O desenvolvimento de aplicações para microprocessadores / microcontroladores

– Sistemas de desenvolvimento– O ambiente de projecto da KEIL– O gerador de formas de onda revisitado– Co-projecto: Um exemplo na aquisição e visualização de

sinais analógicos

Page 2: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 2

O desenvolvimento de aplicações para Ps / Cs• As ferramentas de apoio para o desenvolvimento de

aplicações baseadas Ps ou em Cs são idênticas, mas é importante distinguir que:– As aplicações baseadas em Ps estão normalmente

associadas ao processamento de informação e o trabalho do projectista é sobretudo ao nível algorítmico

– As aplicações baseadas em Cs situam-se a maior parte das vezes ao nível do pormenor (muitas vezes mesmo ao bit), em estreita ligação com o hardware da aplicação

Page 3: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 3

O ciclo de projecto

• As quatro principais etapas no projecto com Ps / Cs (tal como noutras áreas da electrónica) são as seguintes:

Represen-taçãoformal

SínteseVerifica-ção deprojecto

Validaçãodeprojecto

Especifi-caçãoinicial

Especifi-caçãoformal

Circuitomínimo Protótipo

Etapa 1 Etapa 2 Etapa 3 Etapa 4

Produto

Page 4: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 4

O ciclo de projecto (cont.)• Em relação a este modelo de projecto, repare-se que:

– A mesma base (i.e. o mesmo hardware) pode ser reutilizado de aplicação para aplicação, muitas vezes sem qualquer alteração, o que não sucede com as soluções baseadas em hardware dedicado

– A maior flexibilidade (para acomodar modificações) é contra-balançada pela menor rapidez, face à alternativa da solução baseada em hardware dedicado

– Poderão co-existir ambas? (Cs, hardware dedicado)

Represen-taçãoformal

SínteseVerifica-ção deprojecto

Validaçãodeprojecto

Especifi-caçãoinicial

Especifi-caçãoformal

Circuitomínimo Protótipo

Etapa 1 Etapa 2 Etapa 3 Etapa 4

Produto

Page 5: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 5

O ciclo de projecto (cont.)• Assumindo o pressuposto da reutilização do

hardware, o ciclo de projecto costuma também representar-se da seguinte forma:

Represen-taçãoformal

SínteseVerifica-ção deprojecto

Validaçãodeprojecto

Especifi-caçãoinicial

Especifi-caçãoformal

Circuitomínimo Protótipo

Etapa 1 Etapa 2 Etapa 3 Etapa 4

Produto

Desenvolvimento(escrita

de rotinas)Simulação Implementação Experimentação

Detecção de erros por simulação

Detecção de erros por experimentação

Page 6: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 6

Regras básicas de projecto

• Existem dois factores principais que condicionam o sucesso do trabalho de projecto (e o sucesso não se restringe a colocar o sistema a funcionar...):– A definição de uma organização modular que oriente o

desenvolvimento das rotinas e que esteja em sintonia com as características da aplicação-alvo

– A escolha de uma linguagem com o nível de abstracção mais adequado à complexidade e características da aplicação-alvo (assembly? C?)

Page 7: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 7

Regras básicas de projecto (cont.)• Satisfeitos os factores principais, a maior parte das

dificuldades no projecto ficam a dever-se à não observância de questões triviais, como por exemplo:– Garantir a inicialização de uma área de stack– Guardar o conteúdo de registos e posições de memória,

no início de subrotinas ou atendimento a interrupções– Analisar em detalhe a forma como são actuadas as flags– Comentar de forma sucinta e concisa o código assembly

Page 8: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 8

Regras básicas de projecto: Modularidade e hierarquia• Aspectos principais a referir:

– Começar por esboçar um modelo organizativo da solução– Identificar as relações de hierarquia e inter-dependência

entre as várias rotinas que integram o modelo anterior– Identificar e caracterizar os parâmetros de entrada e de

saída associados a cada uma das rotinas– Só então começar com o trabalho de escrita de código

Page 9: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 9

Regras básicas de projecto: Escolha da linguagem• A escolha a efectuar resume-se, na maior parte dos

casos, às duas alternativas seguintes:– Baixo nível de abstracção (assembly), sobretudo para

pequenos segmentos de código, onde queremos ter um conhecimento preciso do que se passa ao nível temporal

– Alto nível de abstracção (C), em todos os restantes casos• Em ambos os casos, no entanto, as ferramentas de

apoio ao projecto têm um papel fundamental

Page 10: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 10

Sistemas de desenvolvimento• Os sistemas de apoio ao desenvolvimento de

aplicações baseadas em Ps / Cs integram normalmente duas componentes principais:– Aplicações (sobretudo para) Windows para controlar /

observar o sistema-alvo: Correr uma rotina passo-a-passo, visualizar o conteúdos dos registos, etc.

– Uma ponta de emulação, para substituir o P / C no sistema-alvo, de forma a permitir realizar as operações anteriores

Page 11: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 11

Sistemas comerciais de baixo custo: Ceibo

Page 12: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 12

Aplicações do domínio público: ApBuilder 2.21

Page 13: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 13

O ApBuilder 2.21 (cont.)

• Configuração do porto série num 80C51

Page 14: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 14

O ApBuilder 2.21 (cont.)

• Porto série: Código ASM produzido pelo ApBuilder

Page 15: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 15

O ApBuilder 2.21 (cont.)

• Descrição da instrução cjne:

Page 16: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 16

O ambiente de projecto da KEIL• Actividades correspondentes às primeiras duas

etapas do ciclo de desenvolvimento:– Criação dos ficheiros que integram a arquitectura modular– Geração do código objecto (via compilador ou assembler)– Ligar (link) os vários ficheiros de código objecto num único

bloco– Simular o funcionamento do código executável (para

detectar e corrigir os erros, antes da implementação)

Desenvolvimento(escrita

de rotinas)Simulação Implementação Experimentação

Detecção de erros por simulação

Detecção de erros por experimentação

Page 17: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 17

O ambiente de projecto da KEIL (cont.)• A KEIL proporciona várias ferramentas para apoio a

estas etapas, com destaque as seguintes:– Compilador de C para código objecto (C51)– Cross-assembler (A51)– Linker (BL51)– Gestor de bibliotecas de ficheiros (LIB51, library manager)– Um ambiente de simulação / depuração (debugging), com

a designação de dScope

Page 18: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 18

O ambiente de projecto da KEIL (cont.)• O ambiente integrado de

desenvolvimento pode representar-se pela interacção entre as quatro primeiras ferramentas (numa aplicação interactiva designada por Vision) e o dScope:

Vision

C51:Compilador

A51: MacroAssembler

BibliotecaC

LIB51:Gestor daBiblioteca

RTX51:Sist. oper.tempo real

BL51: Linker

dScope

Simuladorde CPU eperiféricos

Monitor-51

Emulador /Programador

de PROM

Page 19: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 19

O Vision

• As principais componentes do Vision são o editor, o gestor de projecto e o gerador do código objecto

Page 20: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 20

O dScope

• Esta aplicação permite-nos realizar a depuração do código desenvolvido, mesmo sem hardware exterior

Page 21: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 21

O dScope(cont.)• Repare-se na

percentagem de código que foi já executado (que importância tem esta indicação?) e na visualização mista (ASM+C)

Page 22: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 22

O gerador de formas de onda revisitado• Para comparar a complexidade relativa do

desenvolvimento em C e em ASM, para um caso de complexidade reduzida (embora não trivial), revisitaremos o gerador de formas de onda

• O desenvolvimento da solução em C permite-nos avaliar estas duas abordagens quanto à facilidade do processo de projecto, bem como comparar o código objecto produzido nas duas situações

Page 23: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 23

Atribuição de recursos

(que modificações foram efectuadas, em relação à atribuição inicial?)

87C51

P0ConversorD/A Saída

analógica

AmpOps

P1

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0Forma de onda

Frequência

Valor máximo

Valor mínimo

Função 1

Função 2

Tecla Mais (+)

Tecla Menos (-)

+

+

+

+

8

8

1

1

0

0

Page 24: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 24

Organização das rotinas

• Mantendo uma organização semelhante à que foi anteriormente considerada, quando se efectuou o desenvolvimento em assembly, resultam quatro rotinas principais:– A rotina principal propriamente dita (main)– A geração das formas de onda– O atraso que determina a frequência– A gestão do sistema

Page 25: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 25

O gerador de formas de onda no VisionVision:

Page 26: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 26

O gerador de formas de onda no dScope• dScope:

Page 27: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 27

Co-projecto na aquisição e visualização de sinais• Encerraremos as metodologias de projecto com a

consideração de um caso em que a mesma especificação funcional tanto pode ser implementada com um C como com hardware dedicado:– Em hardware dedicado, proporcionando maior rapidez– Com um C, ganhando em flexibilidade– Ou mesmo com base numa solução mista (co-projecto)

Page 28: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 28

Conceitos básicos de co-projecto• O co-projecto procura identificar quais as partes da

especificação funcional a implementar em:– Hardware dedicado, que através de paralelismo

(possibilidade de realizar várias operações em simultâneo) permite satisfazer requisitos de rapidez elevada

– Código residente em memória, mais lento (só uma instrução é executada de cada vez) mas com vantagens de outros tipos (custo, em última análise)

Page 29: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 29

Conceitos básicos de co-projecto (cont.)• O co-projecto está essencialmente associado a

metodologias e ferramentas que tem por objectivo automatizar a actividade de projecto, sendo por isso vocacionado sobretudo para complexidade elevada

• Contudo, mesmo para exemplos relativamente simples é possível ilustrar as alternativas em confronto e as soluções de compromisso procuradas

Page 30: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 30

Especificação do sistema

• Em termos gerais, o objectivo consiste em desenvolver um sistema para:– Capturar (digitalizando e guardando em memória) sinais

analógicos de muito baixa frequência– Visualizar as formas de onda associadas a estes sinais,

usando para o efeito um osciloscópio de baixo custo• Porque é que a visualização directa não é possível?• Quais são as dificuldades principais a enfrentar?

Page 31: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 31

Especificação do sistema: Captura• Principais especificações da captura:

– Pretende-se um, dois ou quatro sinais de entrada, com selecção por uma só tecla e indicação por três leds

– Memória total para aquisição: 32 Kbytes– Pretende-se 10 alternativas para o tempo total de captura,

entre 1 s e 24 h, com selecção por uma só tecla e com indicação através de 10 leds

– O fim da captura provoca a passagem à visualização

Page 32: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 32

Especificação do sistema: Visualização• Principais especificações da visualização:

– É o modo definido por omissão (o sistema deve passar a este modo após reset ou após completar a aquisição)

– A especificação do número de canais activos (1, 2 ou 4) vale também para a visualização

– A visualização de mais do que um sinal de entrada deve ser feita em faixas horizontais distintas do écran do osciloscópio

Page 33: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 33

Representação visual

NV RAM(32 Kbytes)

Sistema adesenvolver

Canais de entrada analógicos

Circuitoslimitadores

Saídaanalógicapara oosciloscópio

Base detempo

Saída detrigger

Indicaçãode capturacompleta

Indicação dotempo totalde captura

Tecla dotempo totalde captura

Indicaçãodo modo decaptura evisualização

Tecla domodo decaptura evisualização

Reset

Tecla deinício decaptura 3 10

15

8

Page 34: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 34

Representação visual e interface com o utilizador

Modo devisualização

Modo deaquisição

NCA

INI TTC

IC

INI: Inicialização

NCA: Número de canais activos

TTC: Tempo total de captura

IC: Início de captura

30 m 2 h 6 h 12 h 24 h

1 s 5 s 30 s 1 m 15 m

1canal

2canais

4canais

Tecla

LED

Ligar

Aquisiçãocompleta

Simbologia:

Page 35: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 35

A importância do co-projecto• O que é que torna este exemplo particularmente

interessante sob o ponto de vista do co-projecto?– Seria possível a implementação da componente da

especificação funcional correspondente à captura através de um C da família 80C51 a 12 MHz?

– E no que respeita à componente da especificação funcional que diz respeito à parte da visualização?

Page 36: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 36

Implementação apenas com um C

Entradasanalógicas

LED (14)

Teclas (4)Dados

(para o D/A)Porto

Endereços e controlo

Saída de trigger

EPROM NV RAM Conversor D/A

Micro-controlador

com A/D

Saídaanalógica

Page 37: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 37

Implementação apenas com um C(cont.)• Apesar de não nos permitir satisfazer os

requisitos de rapidez na visualização, deveríamos equacionar se seria admissível:– Aceitar uma visualização menos confortável, o que

permitiria aumentar o tempo entre operações consecutivas de escrita no conversor D/A?

– Reduzir o número de amostras por canal, para que diminuísse o número de operações de escrita no D/A por intervalo de tempo?

Entradasanalógicas

LED (14)

Teclas (4)Dados

(para o D/A)Porto

Endereços e controlo

Saída de trigger

EPROM NV RAM Conversor D/A

Micro-controlador

com A/D

Saídaanalógica

Page 38: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 38

Implementação apenas com hardware dedicado

Entradasanalógicas

Teclas

Gerador deendereços para a

NVRAM

Bloco detemporização

Controlador(máquina de

estados)

Bloco devisualização

Bloco deaquisição(inclui o

conversorA/D)

Interface comas teclas e LED

LED

D[0..7] A[0..15] /RD, /WR

Para oconversorD/A

Saída detrigger

4

14

Page 39: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 39

Implementação apenas com hardware dedicado (cont.)• Apesar de permitir verificar todos os requisitos

apresentados, esta implementação apresenta as desvantagens principais seguintes:– Flexibilidade para permitir modificações posteriores,

voluntariamente ou em resultado de erros de projecto– Maior complexidade (exercício: representar o diagrama de

transição de estados do controlador)– Custo superior, a não ser em casos especiais (quais?)

Page 40: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 40

Implementação mistaEntradasanalógicas

LED (14)

Teclas (4)Dados

(para o D/A)Endereços econtrolo

Saída de trigger

EPROM DP RAM Conversor D/A

Micro-controlador

com A/D

Saídaanalógica

Controlador devisualização

Page 41: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 41

Implementação mista (cont.)• Continuamos a poder satisfazer todos

os requisitos da especificação, mas:– A memória para armazenamento dos valores digitalizados

terá agora que dispor de um duplo porto de acesso– Se o controlo da visualização não for suficientemente

simples para poder ser implementado num dispositivo programável de média complexidade,como é que esta alternativa de implementação se compara com a anterior?

Entradasanalógicas

LED (14)

Teclas (4)Dados

(para o D/A)Endereços econtrolo

Saída de trigger

EPROM DP RAM Conversor D/A

Micro-controlador

com A/D

Saídaanalógica

Controlador devisualização

Page 42: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 42

Co-projecto: Conclusão

• O exemplo considerado continha apenas duas componentes funcionais, com características que tornavam simples a identificação das vantagens e desvantagens associadas à implementação por hardware dedicado ou código residente em memória

• Nos casos reais em que a metodologia de co-projecto tem aplicabilidade, a complexidade das situações requer o uso de ferramentas de apoio à decisão

Page 43: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1 Metodologia de desenvolvi- mento de

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 43

Conclusão

• Objectivo principal do capítulo: Introduzir as metodologias de desenvolvimento de aplicações baseadas em microcontroladores e apresentar alguns exemplos concretos

• Pistas para a continuação do estudo:– Projecto de “sistemas embutidos” (embedded systems)– Modelação e síntese automática no co-projecto entre

hardware e software