Glossário de Programação de Microcontroladores

Como em muitos outros campos da atividade humana, também no caso dos microcontroladores existem termos frequentemente usados e consensualmente admitidos em  alguma opinião (a partir dos quais outras definições e noções são criadas). Assim, o correto entendimento de ideias base, permitem aprender, mais facilmente, outras ideias.

Glossário de Programação de Microcontroladores

Microcontrolador

É um microprocessador com vários periféricos num único componente eletrônico.

Pino de Entrada/Saída (I/O)

Pino de ligação externa do microcontrolador, que pode ser configurado como entrada ou saída. Na maioria dos casos, o pino de entrada e saída permite ao microcontrolador comunicar, controlar ou ler informação.

Software

E a Informação de que o microcontrolador necessita, para poder funcionar. O software não pode apresentar quaisquer erros se quisermos que o programa e o dispositivo funcionem como deve ser.

O software pode ser escrito em diversas linguagens tais como: Basic, C, Pascal ou assembler. Fisicamente é um arquivo guardado no disco do computador e que transferimos para o PIC.

Hardware

São todos os componentes e informações  ligados ao microcontrolador. Um outro modo de ver isto (especialmente se não  funcionar) é que hardware é aquilo  que se pode desligar!

Simulador

Pacote de software necessário em um PC para simular o funcionamento interno do microcontrolador. É o instrumento ideal para verificar as rotinas de software e todas as variações do código que não implicam ligação com o mundo exterior.

Existem opções para observar o código quando nos rodamos o programa para trás e para a frente ou passo-a-passo e para detecção de erros.

ICE

ICE (In Circuit Emulator) ou emulador interno, é um utensílio bastante útil que se liga entre o PC (não é omicrocontrolador) e o dispositivo que estamos desenvolvendo. Isto permite, ao software, correr no computador PC,  como se fosse um microcontrolador real que estivesse inserido no dispositivo.

O ICE, possibilita que nos desloquemos através do programa, em tempo real, para observar o que se está a passar dentro do microcontrolador e como este comunica-se com o mundo exterior.

Emulador de EPROM

Um Emulador de EPROM, é um dispositivo que não emula o microcontrolador por completo (como no caso do ICE), mas apenas em sua memória.

É mais frequentemente usado nos microcontroladores que possuem memória externa. Usando um emulador de Eprom, nós evitamos ter sempre que escrever e apagar a memória EPROM.

Assembly e Assembler

Assembly é uma linguagem de programação que serve para fazer programas. Os programas são escritos em forma de texto: usando um editor de texto criamos o chamado código fonte.

Este código fonte é transformado pelo compilador e pelo linker em um programa executável.
Muitas vezes ouvimos “linguagem assembler”. Apesar de doer o ouvido este é um erro muito difundido.

A verdade é que, Assembly é o nome da linguagem e Assembler é o programa ou pacote de software que traduz o código fonte em código que o microcontrolador pode compreender. Uma parte deste software, destina-se também, à detecção dos erros cometidos, ao escrever o programa.

Arquivo HEX

Arquivo criado pelo tradutor assembler, quando traduz um arquivo fonte  que está num formato que é entendido pelos microcontroladores.

Este ficheiro aparece normalmente sob a forma Nome_arquivo.HEX, daqui deriva a designação de “arquivo hex”.

Arquivo LIST

Trata-se de um arquivo produzido pelo tradutor assembler, que contém todas as instruções do arquivo fonte, o código destino e os respectivos endereços e, ainda, os comentários que o programador escreveu.

É um arquivo muito útil para detectar os erros no programa. Este ficheiro tem a extensão LST, daqui provém a sua designação.

Arquivo Fonte (Source File)

Arquivo escrito em linguagem perceptível pelos humanos e pelo tradutor assembler. Também chamado de código fonte . A tradução do arquivo fonte produz os arquivos HEX e LIST.

Detecção de erros (Debugging)

Ao escrever um programa, nós cometemos erros  que não nos apercebemos. Estes erros podem ser muito simples como é o caso de erros tipográficos, ou erros complexos como os que advêm do uso incorreto da linguagem de programação.

O assembler é capaz de descobrir a maioria destes erros e mencioná-los no ficheiro ‘.LST’. Outros erros, só podem ser descobertos, experimentando e observando o funcionamento do dispositivo.

Memória: ROM, EPROM, EEPROM, FLASH, RAM

keep calm and buy a micro chip

São dispositivos capazes de armazenar informações digitais. A menor unidade de informação que pode ser armazenada é o bit. Outros tipos de agrupamentos também são muito usuais quando se trata de memória, são eles:

Bit à “0” ou “1”.
Nibble à agrupamento de 4 bits.
Byte à agrupamento de 8 bits ou 2 nibble.
Word à agrupamento de 16 bits ou 2 bytes ou 4 nibble.

TIPOS DE MEMÓRIAS

Memórias Não-Voláteis

Caracterizam- se por não perder os dados gravados ao cessar-se a alimentação elétrica. São usadas portanto  para  registro  de dados por um tempo mais longo e que não necessitemde  atualização constante.

TIPOS DE MEMÓRIA ROM

ROM é uma memória somente de leitura, ou seja, os dados são armazenados no processo de fabricação, não permitindo nova gravação, não pode ser limpa, aquilo que se escreve nela, permanece para sempre e nunca mais pode ser apagado.

PROM é  uma  ROM  que  é fornecida virgem para o comprador. Este então deveutilizar um equipamento especial para gravar na PROM os dados desejados. A gravação éfeita de uma só vez, para toda a capacidade da PROM, e uma vez realizada, não pode mais ser desfeita. A PROM tampouco perde seu conteúdo na ausência de uma fonte de eletricidade. A gravação é feita através da circulação de uma corrente elétrica que rompe o fusível onde deseja-se armazenar o nível lógico “0”.

EPROM é uma PROM que pode ter seus dados apagados e reutilizados. O processode  apagamento consiste na exposição das células de memória a raios ultravioleta. Porisso, que estas memórias são dotadas de uma “janela” de quartzo.

EEPROM ou E2PROM é uma ROM programável pelo usuário e que pode ser apagada e reprogramada repetidamente através da aplicação de uma tensão mais elevada  que  a tensão  normal  de  operação.  Diferentemente  das  EPROM’s,  as EEPROM’s não precisam ser removidas do equipamento ou computador para ser modificadas. Entretanto, o apagamento e reprogramação tem de ser feito para todo o  conteúdo  da  EEPROM,  e  não seletivamente.  O  processo  de  apagamento  e reprogramação tem um número limitado,tipicamente da ordem de dezenas ou centenas de milhares de vezes, ao fim do qual aEEPROM chega ao fim de sua vida útil e deve ser substituída. pode ser apagada eletricamente usando a tensão a que o microcontrolador funciona.

FLASH ROM

A  memória  Flash  é  um  tipo  de  memória  não-volátil  (por  ser constantementealimentada por uma bateria), que pode ser apagada e regravada em unidades de memóriachamadas  blocos. É uma variação da EEPROM que, diferentemente  da  memória  Flash, é  apagada  e  reescrita  byte  por  byte,  um processo mais lento que o feito em blocos. Amemória Flash usa tensões usuais do equipamento para apagamento e reprogramação

Memórias Voláteis

Usualmente chamadas de RAM’s (Random Access Memory),  são caracterizadas  por reter os dados gravados enquanto a eletricidade   é fornecida   a   elas. Assim que o fornecimento cessa, os dados  são perdidos. A escrita ou leitura a qualquer posição de memória leva o mesmo  tempo. As memóriasSRAM dividem-se basicamente em RAM’s estáticas e RAM’s dinâmicas.

TIPOS DE MEMÓRIA RAM

SRAM, a memória SRAM armazena bits em células  de  tipo  flip-flop,  que  retém  a  informação atéque  esta  seja  alterada, diferentemente  das  RAM’s  dinâmicas,  que  utilizam  célulascompostas  de  um capacitor e um transistor. Como o capacitor perde sua carga em umdeterminado tempo, as RAM’s dinâmicas têm de ter seu conteúdo periodicamenterestabelecido, numa operação chamada refresh.

As SRAM são muito mais rápidas que as  RAM’s dinâmicas, e por isto mesmo mais caras. São usadas  na  memória    cache  de  um  computador,  uma  memória especializada que serve  de  intermediária  entre  os  bancos  principais  de  RAM dinâmica e omicroprocessador. A  cache, tipicamente de tamanho na faixa de 64Kbytes  a  2Mbytes,replica  dados  dos  bancos  principais  de  RAM  dinâmica, permitindo que omicroprocessador ou CPU colete diretamente na cache os dados, sem precisar buscá-los naRAM dinâmica, mais lenta. O seu alto custo é o motivo principal  pelo  qual  os  bancosprincipais  de  RAM  de  um  computador  não  são confeccionados todos em SRAM.

DRAM (Dinamic Random Access Memory):

As memórias DRAM são o tipo mais comum de RAM para uso em computadores pessoais oude maior porte. A DRAM é dinâmica porque, ao contrário da SRAM, precisa restabelecer oconteúdo de suas células de armazenamento periodicamente (na faixa de  milissegundos –ex.: 32 ms), no processo chamado refresh. A SRAM é isenta de refresh pois as células de memórias consistem em flip-flop’s, ao invés de uma célula de armazenamento que mantémuma carga, como o capacitor.

Esta célula é composta de um capacitor da ordem de fentofaraday (10-15). O refresh consiste em percorrer todas as linhas da memória. Por exemplo,uma memória de 4Mbit possui 2048 linhas e 2048 colunas. Vamos supor que o tempo deacesso desta memória seja de 100ns, então para acessar todas as linhas são necessário0,2ms (2048 linhas x 100ns = 0,2ms), como o tempo máximo entre um refresh e outro éde 32ms, restam 31,8ms para uso da memória.

FPM-RAM. Este tipo de memória guarda o valor da última linha acessada, portanto, para ospróximos dados acessados na mesma linha, o controlador de memória não precisará enviarà memória o valor da linha, somente o da coluna. Com isso,  o acesso seqüencial é maisrápido. O primeiro dado acessado demorará o tempo normal, mas o acesso aos demaisdados da mesma linha será mais rápido.

A EDO RAM também trabalha com acesso seqüenciais, com a diferença que acontecem deforma mais rápida. Isto só foi possível com a adição de um latch na saída de dados.

BEDO-RAM (Burst Extended Data Out) RAM

A memória BEDO é muito parecida com a memória EDO, porém na BEDO ao invés deinformar a LINHA – COLUNA – COLUNA – COLUNA, é necessário apenas informar a LINHA –COLUNA e as colunas seguintes são geradas automaticamente.

SDRAM (Synchronous Dynamic RAM)

A SDRAM, além de ser sincronizada pelo clock do barramento, também tem um contadorinterno que faz com que o controlador de memória não precise requisitar novos dados,caso eles sejam consecutivos, e principalmente, possui duas  matrizes  de  capacitores, fazendo  com  que  seja  possível  dois acessos  a endereços diferentes serem iniciados emparalelo. O acesso à memória SDRAM  é feito através de comandos, tornando-se umamemória mais “inteligente” do que as demais.

 DDR (Doubled Data Rate RAM)

A memória DDR é uma SDRAM com a taxa de dados dobrada. Ela trabalha com duas memórias  SDRAM  em  paralelo,  permitindo  assim  dobrar  a  taxa  de transferência dedados. Ela é capaz de entregar dois dados por cada ciclo de clock, um sincronizado pelaborda de subida e outro pela borda de descida.

As memórias são compostas por três conjuntos de fios, ou seja, três barramentos, são eles: Barramento  de  Endereço  é o  conjunto  de  fios  por  onde  são  acessados  os endereços dos dados armazenados.

O barramento de endereço é unidirecional, ou seja, a informação trafega apenas em um sentido (entrada).

Barramento  de  Dados  à  conjunto  de  fios  por  onde  os  dados  trafegam.  Obarramento  de  dados  pode  ser  bidirecional  (a  informação  pode  trafegar  num sentido ou no outro – entrada/saída) ou unidirecional.

Sinais de Controle à conjunto de fios que indicam se a memória está selecionada

(CS – Chip Select), se é um processo de escrita (WR – Write), de leitura (RD – Read) ou OE (Output Enable – habilita a saída do dado o mesmo que RD).

Endereçamento

Determina e designa o local da memória onde ficara gravado a informação.

ASCII

Abreviatura para “American Standard Code for Information Interchange” – código standard americano para troca de dados.

É largamente utilizado e, em particular, atribui a cada carácter alfanumérico (letra ou número) um código de oito bits.

Carry

Bit de transferência, associado às operações aritméticas.

Código

Arquivo ou parte do arquivo que contém as instruções do programa.

Byte, Kilobyte, Megabyte

Termos relacionados com quantidades de informação. A unidade básica é o byte que corresponde a 8 bits.

Um kilobyte são 1024 bytes e um megabyte tem 1024 kilobytes.

Flag  

A tradução literal de “flag” é bandeira. Não é à toa que as “flags” do processador receberam este nome pois funcionam como sinalizadores.

Manteremos o nome flag e não usaremos nenhum tipo de tradução porque esta denominação já foi incorporada ao “cotidiano”  e não vale a pena discutir.
As flags são apenas um bit de memória e se localizam dentro do processador.

Como cada flag é apenas um bit, num dado momento elas só podem ser 1 ou 0 (“setada” ou “zerada”).Existem seis flags usadas para indicar o resultado de certas instruções.

Algumas instruções como CMP, TEST e BT não fazem outra coisa a não ser alterar algumas destas flags. Outras instruções realizam outras operações além de alterar algumas das flags.

Algumas instruções simplesmente não alteram as flags.

Na descrição dos mneumônicos das instruções geralmente são citadas as flags que são alteradas.
Um uso comum das flags é o de desviar a execução para um ponto em particular do código usando instruções de salto condicional.

Estas instruções farão o salto ou não dependendo do estado de uma ou mais flags. Apenas cinco das flags podem ser usadas deste modo – zero, sinal, carry, overflow e paridade.

A sexta flag (carry auxiliar) e a sétima flag (flag de direção) são lidas por outro tipo de instrução. A seguir estão informações adicionais a respeito das cinco flags que podem ser usadas por saltos condicionais:

Vetor de interrupção ou interrupções

Local na memória do microcontrolador.

Desta localização o microcontrolador retira informação sobre uma seção do programa que vai ser executada em resposta a um acontecimento de interesse para o programador e dispositivo.

Programador

Dispositivo que torna possível escrever software na memória do microcontrolador, possibilitando, assim, que o microcontrolador funcione autonomamente. Compreende uma seção de hardware, normalmente ligada a um dos portos do microcontrolador e uma parte de software sob a forma de um programa que corre num computador PC.

USART:

Universal Synchronous/Asynchronous Receiver/Transmitter – Chip ou circuito utilizado para interfacial equipamentos digitais, utilizando tanto comunicação serial síncrona quanto assíncrona.

Novaeletronica.net

Nova Eletrônica - Circuitos e projetos Eletrônicos grátis

Deixe um comentário