Vous êtes sur la page 1sur 29

Sistemas

Embarcados
Introduo aos sistemas embarcados

Introduo aos Sistemas embarcados

Definio de um sistema embarcado

Exemplos de sistemas embarcados

Processadores utilizados em sistemas


embarcados

A linguagem C

Os compiladores C

O compilador CCS PICC

Exemplo de cdigo fonte em CCS PICC

Introduo aos Sistemas Embarcados

Definio de um sistema embarcado

Um sistema embarcado um sistema


informtico dedicado ao controle de um
determinado dispositivo.
Este sistema informtico muitas vezes se
confunde com o prprio dispositivo.
Dependendo do sistema, pode possuir
funcionalidades de aquisio de sinais
analgicos e digitais vindos de sensores ou
outras interfaces.

Introduo aos Sistemas Embarcados

Definio de um sistema embarcado

Estes dispositivos possuem capacidade de


processamento para prover a funcionalidade
que se deseja.
Estes dispositivos tambm possuem dispositivos
de sada para o acionamento de atuadores
destinados ao controle do processo ao que
esto associados.

Introduo aos Sistemas Embarcados

Exemplos de Sistemas Embarcados

Monitores de computador;

Telefones celulares;

Osciloscpios digitais;

Televisores com ajustes digitais;

Injeo eletrnica de automveis;

Sistemas de freios ABS;

etc.

Introduo aos Sistemas Embarcados

Processadores utilizados em Sistemas


Embarcados

Microcontroladores de 8, 16 e 32 bits
Microchip, Atmel, Motorola, Intel, TI, ARM,
Philips, etc.
Processadores digitais de sinais (DSPs) de 16 e
32 bits (ponto fixo e/ou flutuante)
Microchip, Motorola, TI, Analog Devices, etc.
Processadores dedicados e SoC (System on a
Chip) de diferentes fabricantes

Introduo aos Sistemas Embarcados

Processadores utilizados em Sistemas


Embarcados

Cada um dos tipos de processadores utilizado


em sistemas embarcados so indicados de
acordo com as suas particularidades e
dispositivos perifricos embarcados no mesmo.

Introduo aos Sistemas Embarcados

Processadores utilizados em Sistemas


Embarcados

Microcontroladores de 8 bits so utilizados


quando no se necessita uma grande
capacidade de processamento ou velocidade.

Controle de monitores de computador


Controle de modems
MP3 players

Introduo aos Sistemas Embarcados

Processadores utilizados em Sistemas


Embarcados

Microcontroladores de 16 bits so utilizados


quando o processo a ser controlado requer o
processamento de informaes mais
complexas.
O processamento de dados de 16 bits em um
microcontrolador de 8 bits pode ser realizado,
mas a uma velocidade muito inferior.
Em geral, os microcontroladores de 16 bits
podem operar a velocidades mais altas.

Introduo aos Sistemas Embarcados

Processadores utilizados em Sistemas


Embarcados

Os microcontroladores de 32 bits so os
dispositivos mais avanados neste campo.
Alguns incorporam funes de DSPs.
Alguns no apresentam perifricos e so meros
microprocessadores.

Introduo aos Sistemas Embarcados

10

Processadores utilizados em Sistemas


Embarcados

Microchip PIC32:

Baseada na arquitetura MIPS;


Opera a at 80MHz (124,8 MIPS);
Incorpora funes de DSP;
Inclui um grande nmero de dispositivos perifricos
como portas de comunicao e conversores A/D.

Introduo aos Sistemas Embarcados

11

Processadores utilizados em Sistemas


Embarcados

NXP Philips

Baseados

na arquitetura ARM;
Opera at 266 Mhz (292,6 MIPS) (ARM9);
No incorpora funes de DSP;
Inclui um grande nmero de dispositivos perifricos como
portas de comunicao e conversores A/D.

Introduo aos Sistemas Embarcados

12

Processadores utilizados em Sistemas


Embarcados

TI OMAP

Baseados na arquitetura ARM;


Opera at 600 Mhz (1200MIPS);
Inclui um grande nmero de dispositivos perifricos
como portas de comunicao e conversores A/D ou
interfaces para SD e telas grficas de LCD, cmeras,
etc.;
Alguns modelos incorporam um DSP que opera em
paralelo com o ncleo ARM (3440 MMACS).

Introduo aos Sistemas Embarcados

13

Processadores utilizados em Sistemas


Embarcados

Os processadores digitais de sinais (DSPs) so


processadores especializados.
Ferramentas de hardware especializadas:

Endereamento em bit reverso;


Funes MAC (Multiply and Accumulate)
Registro de trabalho para MAC com mltiplos bits de
overflow
Barrel Shifter para deslocamentos mltiplos em 1
ciclo

Introduo aos Sistemas Embarcados

14

Processadores utilizados em Sistemas


Embarcados

Os DSPs normalmente no incorporam muitos


perifricos como os microcontroladores.
Os DSCs (Digital Signal Controllers) incorporam
as ferramentas dos DSPs com a flexibilidade
dos microcontroladores.
Microchip e Texas Instruments produzem DSCs

Introduo aos Sistemas Embarcados

15

A linguagem C

A linguagem C pode ser utilizada para a


programao de microcontroladores, DSPs e
DSCs.
A estrutura de um programa em C para um
microcontrolador ou DSP muito similar
estrutura de um programa em C para um
computador.

Introduo aos Sistemas Embarcados

16

A linguagem C

Linguagem de alto nvel


Descrio do programa em uma maneira mais
legvel
Traduo mais fcil de um algoritmo a um
programa

Introduo aos Sistemas Embarcados

17

A linguagem C

Existem diferentes compiladores C para


microcontroladores.
Cada compilador apresenta diferentes estruturas
preparadas para facilitar a implementao de
sistemas embarcados.

Introduo aos Sistemas Embarcados

18

Os compiladores C

Para a famlia PIC existem vrios compiladores


para as diferentes famlias.
Para a famlia PIC16, Microchip no produz um
compilador C.
Para as famlias PIC18, PIC24, PIC32 e dsPIC,
Microchip produz um compilador C baseado em
gcc, mas com otimizaes de cdigo fechado.

Introduo aos Sistemas Embarcados

19

Os compiladores C

Os compiladores produzidos por Microchip


possuem verses de estudante com algumas
limitaes, comparadas s verses comerciais.
Outras empresas produzem compiladores para
a toda a famlia PIC.

Introduo aos Sistemas Embarcados

20

O compilador CCS PICC

Possui muitas funes predefinidas para o


manejo de tarefas como o atendimento das
interrupes e configurao de perifricos.
Pode ser integrado ao ambiente MPLAB.
Possui verses para os PIC16, PIC18, PIC24 e
dsPIC.

Introduo aos Sistemas Embarcados

21

O compilador CCS PICC

Possui um ambiente de desenvolvimento prprio


com um assistente de desenvolvimento que
auxilia na escrita do programa ao inserir as
chamadas das funes j definidas na biblioteca
do compilador.

Introduo aos Sistemas Embarcados

22

Exemplo de cdigo fonte em CCS PICC

Inicializao e definies iniciais

#include <16f877A.h>
// Define processador
#device ADC=10
// Define ADC de 10 bits
#fuses HS,NOWDT,NOPROTECT,PUT,NOLVP,NOCPD
// Define condicoes de compilacao
#use delay(clock=10000000)
// Informa o clock para rotinas de tempo
#priority rb,psp,ext,rtcc
//Define prioridade entre as interrupcoes
//**********************************************************
// Diretiva para comunicacao serial RS232
*
//**********************************************************
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7, bits=8)

Introduo aos Sistemas Embarcados

23

Exemplo de cdigo fonte em CCS PICC

Declarao de Variveis

//***********************************************************
// Inicio do Programa Principal - Declaracao das variaveis *
//***********************************************************
unsigned int
ta,
cont,
vbr[20],

//Periodo de amostragem
//Quantidade de contagens do TMR0
//Vetor de bytes recebidos

Introduo aos Sistemas Embarcados

24

Exemplo de cdigo fonte em CCS PICC

Rotina de atendimento de interrupo associada


ao Timer0 (RTCC)

//************************************************
// Rotina de interrupcao - Periodo de Amostragem *
//************************************************
#INT_RTCC
void amost()
{
tmr0 = 217;
cont = cont - 1;
if(cont==0) fl_T = 0;
}

//Define quantas contagens do TMR0 para 1 ms


//Libera o processamento para proximo Tamost

Introduo aos Sistemas Embarcados

25

Exemplo de cdigo fonte em CCS PICC

Programa principal Inicializao 1

void main()
{
delay_ms(1000);
disable_interrupts(GLOBAL);
disable_interrupts(INT_RTCC);
disable_interrupts(INT_RB);
disable_interrupts(INT_PSP);
disable_interrupts(INT_EXT);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_64);
setup_timer_1(T1_DISABLED);

Introduo aos Sistemas Embarcados

26

Exemplo de cdigo fonte em CCS PICC

Programa principal Inicializao 2

//********************************
// Configuracao da conversao A/D *
//********************************
setup_adc_ports(ra0_ra1_ra3_ANALOG);
setup_adc(ADC_CLOCK_DIV_32);
/********************************/
/* Habilitacao das interrupcoes */
/********************************/
enable_interrupts(GLOBAL);
enable_interrupts(INT_RTCC);

Introduo aos Sistemas Embarcados

27

Exemplo de cdigo fonte em CCS PICC

Programa principal Loop principal

//*****************************************
// Loop principal de execucao do Programa *
//*****************************************
while(1) {
bit_clear(portc,4);

//Limpa o bit que define interrupcao

Introduo aos Sistemas Embarcados

28

Preparao para tarefa de laboratrio

Elabore um sistema com o PIC16F877 para a


leitura do valor de uma entrada analgica e a
visualizao dos valores em um conjunto de
displays de 7 segmentos.

Elaborar o circuito a ser utilizado utilizando o Proteus.


Escrever o programa para a leitura e visualizao do
valor utilizando CCS PICC

Introduo aos Sistemas Embarcados

29

Vous aimerez peut-être aussi