domingo, 16 de março de 2008

O que é importante observar num sistema microcontrolado embarcado?


Toda vez que há a possibilidade de um projeto de "embedded systems", eu me pergunto o que deve-se levar em conta num projeto desses? Eis algumas respostas que eu venho tentando deixar claro:



Conectividade:

Sistemas mecatrônicos precisam ter conectividade com o mundo exterior, por meio de comunicação de dados. A forma mais usual de comunicar dados hoje em dia é usando a porta USB, mas devido a dificuldade de operar ou de fazer sistemas eletronicos operarem BEM com essa porta, é muito comum ainda o uso da RS-232 para a comunicação com PCs. Para a comunicação com outros sistemas embarcados mecatrônicos ou periféricos (como memórias), usa-se comunicação de dados síncronos (com um mesmo clock) por meio dos circuitos que permitem comunicação usando protocolos I2C e SPI. É necessário também deixar a disponibilidadede colocar um display e um teclado para permitir a interface homem-máquina.


Acionamento:

Todo sistema mecatrônico aciona ou desaciona alguma coisa. Nesse sentido é necessário disponibilizar entradas e saídas digitais para acionar sistemas on-off, e deve-se ter o cuidade do isolá-las eletricamente (o que pode ser feito por meio de optoacopladores de alta velocidade, como o 4N25). Também deve ter saidas analógicas variáveis e saidas moduladas por largura de pulso (PWM) para acionamento de motores de passo ou motores DC.


Medição:

Muitos sistemas embarcados precisam medir. A medição correta é uma parte fundamental do controle. Portanto, é necessário poder medir sinais analógicos, convertendo-os para digitais, com precisão de 10-12 bits. Esses sinais de entrada podem ser na forma de tensão (0 a 5 V) ou na forma decorrente (4 a 20 mA), conectando-os a muitos sensores utilizados na automação. Além disso é necessário ter um relógio de tempo real (RTC) para saber o momento da aquisição de dados. algumas entradas devem já vir especificamente preparadas para encoders e para m edir temperatura de termopares.


Velocidade de processamento:

Um dos itens importantes na hora de realizar uma malha de controle fechada é a velocidade de processamento. Pela minha experiencia, um processador que opere entre 15 e 20 MIPS (milhões de instrução de ponto flutuante por segundo) se mostra suficiente para automações de pequeno e médio porte. Para isso é necessário ter memória RAM minima de 2Kb e memória de programa mínimo de 62 kB, além de memória permanente para armazenar dados medidos, em torno de 4 kB. Não raro se coloca uma memória I2C externa para armazenar grande quantidade de informações.


Segurança:

Sistemas mecatrônicos necessitam ter sistemas de segurança embutidos. Para isso é fundamental que a placa de controle contenha alguns dispositivos de segurança internos, tais como monitoramento de energia do processador (power down) e sistemas de proteção por tempo inativo (watchdog).


Acredito que listei os principais, mas se eu me lembrar, postarei os que ainda faltam...