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 paramicroprocessadores / 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 desinais analógicos
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 2
O desenvolvimento deaplicaçõ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 trabalhodo projectista é sobretudo ao nível algorítmico
– As aplicações baseadas em µCs situam-se a maior partedas vezes ao nível do pormenor (muitas vezes mesmo aobit), em estreita ligação com o hardware da aplicação
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 asseguintes:
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
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 serreutilizado de aplicação para aplicação, muitas vezes semqualquer alteração, o que não sucede com as soluçõesbaseadas em hardware dedicado
– A maior flexibilidade (para acomodar modificações) écontra-balançada pela menor rapidez, face à alternativada 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
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émrepresentar-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
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 osucesso do trabalho de projecto (e o sucesso não serestringe 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 comas características da aplicação-alvo
– A escolha de uma linguagem com o nível de abstracçãomais adequado à complexidade e características daaplicação-alvo (assembly? C?)
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ãoobservâ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
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ênciaentre as várias rotinas que integram o modelo anterior
– Identificar e caracterizar os parâmetros de entrada e desaída associados a cada uma das rotinas
– Só então começar com o trabalho de escrita de código
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 umconhecimento 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 deapoio ao projecto têm um papel fundamental
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 10
Sistemas dedesenvolvimento• Os sistemas de apoio ao desenvolvimento de
aplicações baseadas em µPs / µCs integramnormalmente 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 nosistema-alvo, de forma a permitir realizar as operaçõesanteriores
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 11
Sistemas comerciais debaixo custo: Ceibo
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 12
Aplicações do domíniopúblico: ApBuilder 2.21
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
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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 15
O ApBuilder 2.21 (cont.)
• Descrição dainstrução cjne:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 16
O ambiente de projecto daKEIL• 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 (paradetectar 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 17
O ambiente de projecto daKEIL (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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 18
O ambiente de projecto daKEIL (cont.)• O ambiente integrado de
desenvolvimento poderepresentar-se pelainteracção entre as quatroprimeiras ferramentas(numa aplicação interactivadesignada por µµµµVision) e odScope:
µµµµ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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 19
O µµµµVision
• As principaiscomponentes doµVision são oeditor, o gestorde projecto e ogerador docódigo objecto
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 20
O dScope
• Esta aplicaçãopermite-nosrealizar adepuração docódigodesenvolvido,mesmo semhardware exterior
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 21
O dScope(cont.)• Repare-se na
percentagem decódigo que foi jáexecutado (queimportância temesta indicação?)e na visualizaçãomista (ASM+C)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 22
O gerador de formas deonda revisitado• Para comparar a complexidade relativa do
desenvolvimento em C e em ASM, para um caso decomplexidade reduzida (embora não trivial),revisitaremos o gerador de formas de onda
• O desenvolvimento da solução em C permite-nosavaliar estas duas abordagens quanto à facilidade doprocesso de projecto, bem como comparar o códigoobjecto produzido nas duas situações
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 23
Atribuição de recursos
(que modificações foramefectuadas, 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
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 foianteriormente considerada, quando se efectuou odesenvolvimento em assembly, resultam quatrorotinas 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 25
O gerador de formas deonda no µµµµVision• µVision:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 26
O gerador de formas deonda no dScope• dScope:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 27
Co-projecto na aquisição evisualização de sinais• Encerraremos as metodologias de projecto com a
consideração de um caso em que a mesmaespecificação funcional tanto pode ser implementadacom 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)
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ó umainstrução é executada de cada vez) mas com vantagensde outros tipos (custo, em última análise)
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 objectivoautomatizar a actividade de projecto, sendo por issovocacionado sobretudo para complexidade elevada
• Contudo, mesmo para exemplos relativamentesimples é possível ilustrar as alternativas emconfronto e as soluções de compromisso procuradas
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 emdesenvolver 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?
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, comselecçã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 comindicação através de 10 leds
– O fim da captura provoca a passagem à visualização
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 aeste 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 deveser feita em faixas horizontais distintas do écran doosciloscópio
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 33
Representaçãovisual
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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 34
Representação visual einterface 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:
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ésde um µC da família 80C51 a 12 MHz?
– E no que respeita à componente da especificaçãofuncional que diz respeito à parte da visualização?
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 36
Implementação apenas comum µµµµ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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 37
Implementação apenascom 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 consecutivasde escrita no conversor D/A?
– Reduzir o número de amostras por canal, para quediminuísse o número de operações de escrita no D/A porintervalo 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 38
Implementação apenas comhardware 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 39
Implementação apenas comhardware dedicado (cont.)• Apesar de permitir verificar todos os requisitos
apresentados, esta implementação apresenta asdesvantagens principais seguintes:– Flexibilidade para permitir modificações posteriores,
voluntariamente ou em resultado de erros de projecto
– Maior complexidade (exercício: representar o diagrama detransição de estados do controlador)
– Custo superior, a não ser em casos especiais (quais?)
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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 41
Implementaçãomista (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 suficientementesimples para poder ser implementado num dispositivoprogramável de média complexidade,como é que estaalternativa 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 42
Co-projecto: Conclusão
• O exemplo considerado continha apenas duascomponentes funcionais, com características quetornavam simples a identificação das vantagens edesvantagens associadas à implementação porhardware dedicado ou código residente em memória
• Nos casos reais em que a metodologia de co-projectotem aplicabilidade, a complexidade das situaçõesrequer o uso de ferramentas de apoio à decisão
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMetodologia de desenvolvimento de aplicações - 43
Conclusão
• Objectivo principal do capítulo: Introduzir asmetodologias de desenvolvimento de aplicaçõesbaseadas em microcontroladores e apresentar algunsexemplos concretos
• Pistas para a continuação do estudo:– Projecto de “sistemas embutidos” (embedded systems)
– Modelação e síntese automática no co-projecto entrehardware e software
Top Related