Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de...
Transcript of Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de...
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 1
Memórias e periféricos de entrada / saída• Organização:
– Tipos de memórias– Periféricos de E/S digital– Periféricos de E/S analógica– Outros tipos de E/S
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 2
Tipos de memórias
• Consideraremos neste âmbito dois tipos principais de memórias semicondutoras:– Memórias de leitura / escrita, a que é frequentemente
dada a designação de RAM (Random Access Memories), para realçar o facto de que se pode aceder directamente a qualquer posição
– Memórias só de leitura, a que é frequentemente dada a designação de ROM (Read Only Memories), dispondo também estas de acesso aleatório
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 3
Tipos de memórias: RAM
• As RAM dividem-se em dois grandes grupos :– As RAM dinâmicas, com maior densidade (número de bits
por mm2 de silício), que requerem operações periódicas de refrescamento para não perderem o conteúdo
– As RAM estáticas, podendo estas ser ainda do tipo volátil ou não volátil (estas dispõem de uma pequena bateria incorporada, que conserva o conteúdo durante a ausência da tensão de alimentação)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 4
Tipos de memórias: ROM
• De acordo com o tipo de programação, este tipo de memórias divide-se nos seguintes grupos principais:– ROM: Não programáveis (vêm já gravadas de fábrica)– PROM: Programáveis (programmable) uma vez– EPROM: Também programáveis, sendo desgraváveis
(erasable) por exposição a luz ultra-violeta• As EPROM, devido à forma como são desgravadas,
possuem uma janela no encapsulamento
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 5
Tipos de memórias: ROM (cont.)• As EPROM estão entre as memórias só de leitura
mais comuns, tendo sido a tecnologia principal deste tipo durante muitos anos
• O conteúdo é desgravado por exposição a luz ultra-violeta durante cerca de 15 a 20 minutos, tantas vezes quantas as necessárias (embora em número limitado)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 6
Tipos de memórias: ROM (cont.)• A programação das EPROM faz-se através de
programadores com diversos tipos de complexidade e custo (o modelo aqui ilustrado está entre os mais caros):
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 7
Tipos de memórias: ROM (cont.)• Em relação ao modelo anterior, o interface da
aplicação de programação (Windows) é o seguinte:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 8
Memórias: Encapsulamentos• Os encapsulamentos mais comuns são os dos tipos
DIP (Dual In-line Package), SOIC (Small Outline Integrated Circuit) e LCC (Leaded Chip Carrier):
DIP plástico SOIC DIP cerâmico com janela
RAM estática de 512 Kbytes RAM estática de 128 Kbytes EPROM 64 Kbytes
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 9
Memórias: Configuração de pinos• As configurações de pinos mais comuns são as
seguintes:#Pino
DS1230
27128
27256
27512
27512
27256
27128
DS1230
#Pino
1234567891011121314
A14A12A7A6A5A4A3A2A1A0D0D1D2Gnd
VppA12A7A6A5A4A3A2A1A0D0D1D2Gnd
VppA12A7A6A5A4A3A2A1A0D0D1D2Gnd
A15A12A7A6A5A4A3A2A1A0D0D1D2Gnd
1
1415
28
VccA14A13A8A9A11/OE/VppA10/CED7D6D5D4D3
VccA14A13A8A9A11/OEA10/CED7D6D5D4D3
Vcc/PGMA13A8A9A11/OEA10/CED7D6D5D4D3
Vcc/WEA13A8A9A11/OEA10/CED7D6D5D4D3
2827262524232221201918171615
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 10
Memórias: Diagramas temporais• É necessário compreender bem quais são os
principais parâmetros envolvidos nos dois tipos de acesso à memória (leitura, escrita):– Na leitura, o importante é garantir que a memória é
suficientemente rápida a colocar os dados no barramento, após a activação do sinal de leitura
– Na escrita, o importante é garantir que os dados presentes no barramento estão activos durante um tempo mínimo em torno da desactivação do sinal de escrita
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 11
Memórias: Diagramas temporais (leitura)
A0:A..
/CS
/RD
D0:D7Dadosválidos
máx. 100 ns
• Exemplo da especificação dos parâmetros principais para a operação de leitura com a DS1230 (RAM não volátil)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 12
Memórias: Diagramas temporais (escrita)• Exemplo da especificação dos parâmetros principais
para a operação de escrita com a DS1230 (RAM não volátil)
A0:A..
/CS
/WR
D0:D7Dados
estáveis
mín. 100 ns
mín. 80 ns mín. 15 ns
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 13
Outros tipos de memórias
• Para além dos tipos anteriormente referidos, e pela sua crescente vulgarização, merecem ainda referência especial os seguintes:– As EEPROM, apagáveis electricamente (electrically
erasable), que por isso dispensam a luz ultra-violeta– As memórias do tipo Flash, que são também não voláteis
e reprogramáveis electricamente, apresentando em relação às EEPROM vantagens em relação à densidade de integração e ao custo
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 14
Periféricos de E/S digital
• Consideraremos neste âmbito os seguintes tipos principais de E/S:– Comunicação série via RS-232C– Comunicação série via I2C– Comunicação série via CAN– E/S paralela
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 15
E/S digital: RS 232C
• Publicada pela EIA desde 1969, esta norma de comunicação tornou-se na mais comum e está generalizadamente disponível
• Existem dois tipos de conectores para comunicação série: 9 pinos e 25 pinos (repare-se que o facto de a comunicação ser série não significa necessariamente que envolva um reduzido número de ligações)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 16
E/S digital: RS 232C (cont.)
• O protocolo de comunicação RS 232C pode apresentar-se através do seguinte exemplo, correspondente à transmissão do byte 7BH (são usados os valores de +12 V e -12 V para a transmissão dos valores lógicos)
Start bit Bit de paridade(paridade ímpar)
Stop bit
00 1 1 1 1 0 1 1
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 17
E/S digital: RS 232C (cont.)
• O LT1181 é frequentemente usado para a adaptação de níveis de tensão na comunicação RS 232C:
16
2
6
14
13
8
15
9
12
10
11
5
3
1
4
LT1181A
7
SaídasRS232
EntradasRS232
Entradaslógicas
Saídaslógicas
+5 V
+V OUT
-V OUT +
+
+
+
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 18
E/S digital: I2C
• Lançado pela Philips no início dos anos 80, o I2C atingiu uma grande popularidade em equipamentos de electrónica de consumo (HI-FI, TV, VCR, etc.)
• A principal vantagem do I2C consiste em permitir uma ligação série rápida (100 Kbps ou 400 Kbps) e fiável, com base apenas em duas ligações (dados e relógio)
• Cada componente tem um endereço próprio, codificado em 7 ou 10 bits
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 19
E/S digital: I2C (cont.)
• Existem actualmente muitos componentes que suportam a especificação I2C, como relógios de tempo real, conversores, amplificadores, etc.
• O protocolo I2C pode ilustrar-se como se segue:
Dadosestáveis
DadosPodemmudar
SDA
SCL
SDA
SCL
Início decomunicação
Fim decomunicação
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 20
Exemplo I2C: O PCF8574
8 bit
Interruptlogic
Low-passfilter
Power-onreset
I2C-buscontrol
Inputfilter
Shiftregister
I/Oport
WRITE pulse
READ pulse
13
1
2
3
14
15
16
8
4
5
6
7
9
10
11
12
PCF8574
P0
P1
P2
P3
P4
P5
P6
P7
/INT
A0
A1
A2
SCL
SDA
VDD
VSS
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 21
E/S digital: CAN
• Originalmente concebido pela Bosch para a indústria automóvel, isso conferiu-lhe logo duas vantagens:– Elevado volume de fabrico (i.e. baixo preço)– Elevada imunidade ao ruído (uma vez que se destinava a
aplicação num ambiente tradicionalmente hostil)• O CAN tem características próprias, que o
vocacionam para aplicações em áreas onde nem o RS 232C nem o I2C são boas soluções
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 22
E/S digital: CAN (cont.)
• Podendo atingir velocidades e distâncias até Mbps e Km (uma ou outra), o CAN usa apenas dois condutores como meio físico de comunicação
• Códigos CRC, implementados em hardware pelos periféricos dedicados, garantem excelentes características de fiabilidade na comunicação
• Existe um grande número de fabricantes de componentes e sistemas de apoio ao projecto
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 23
Exemplo CAN: O SJA1000
ReceiveFIFO
Transmitbuffer
Interface management logic
Errormanagementlogic
Acceptancefilter
Bittiminglogic
Reset
Bit streamprocessor
Message buffer
Receivebuffer
SJA1000
VDD1
VSS1
VDD3
VSS3
TX0
TX1
RX0
RX1
VSS2
VDD2
/RST
8
12
17
19
14
18
20
22
15
21
13
10
9
AD7 to AD0
Control
Address / data2, 1, 28-23
3-7, 11, 16
XTAL1
XTAL2Oscillator
Internal bus
ALE-AS, /CS,/RD-E, /WR,CLKOUT,MODE, /INT
8
7
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 24
E/S paralela
• No contexto que mais nos interessa, a E/S paralela diz respeito aos “portos” de E/S de um microprocessador ou microcontrolador, com o objectivo de efectuar a leitura ou o controlo ao bit:– Integrados no próprio microcontrolador– Disponíveis como periféricos dedicados (vários tipos)– Implementados através de latches ou buffers (SSI)– Implementados em dispositivos lógicos programáveis
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 25
E/S analógica (conversores A/D e D/A)• A discretização (A/D) e a sua operação inversa (D/A)
dão origem a erros intrínsecos
000
001
010
011
100
101
110
111
Fim deEscala
1/8 2/8 3/8 4/8 5/8 6/8 7/8 8/8
Erro
A
D
000 001 010 011 100 101 110 111
Fim deEscala
1/8
2/4
3/8
4/8
5/8
6/8
7/8
8/8
D
A
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 26
Conversores D/A
• Conversão D/A por comutação de fontes de corrente:
+ V
- Vref
Conversor decorrente para tensão
Entradamenossignificativa
Entrada maissignificativa Entrada Entrada
2R 4RR ...
N bits de entrada
R
Saída (em corrente
+
-
+
-
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 27
Conversores D/A (cont.)
• Conversão D/A por malha R-2R
2R 2R 2R 2R
R R R
2R
N bits de entrada
Vref
+-
Maissign.
Menossign.
Saída (emcorrente)
Conversor decorrentepara tensão
nó nó nó nó
+
-
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 28
Conversores D/A (cont.)
• Especificações mais importantes :– Resolução (importância do bit menos significativo)– Erro de não linearidade (desvio máximo na saída em
relação à característica em linha recta)– Monotonicidade (quando a um aumento na entrada não
corresponder um aumento na saída)– Tempo de estabelecimento (para a saída estabilizar em
torno de um valor pretendido, dentro de um dado limite, em consequência de uma variação na entrada)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 29
Conversores A/D
• Convém começar por esclarecer que:– O preço dos A/D depende essencialmente da resolução
(número de bits) e da rapidez (conversões por segundo)– Os conversores do tipo paralelo, por aproximações
sucessivas e integradores, decorrem de soluções de compromisso entre os dois factores referidos acima
• Os conversores do tipo sigma-delta não serão considerados nesta breve introdução
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 30
Conversores A/D (cont.)
• Conversores A/D do tipo paralelo:
• Quantos comparadores são necessários para uma saída com N bits?
• Que tipo de lógica estará contida no bloco “codificador”?
+ Vref
R
R
Entradaanalógica
Códigodigitalna saída
Codificador
+
-
+
-
+
-
+
-
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 31
Conversores A/D (cont.)
• Conversores A/D por aproximações sucessivas:
Entradaanalógica
1 2 3 4 5 6 7 8
Ciclo derelógio
É inferior, fica em 1
É inferior, fica em 1
É superior, fica em 0
É superior, fica em 0
Meio de escala(valor inicial)
Valor analógicoexterior
+ Vref
Conversor D/A
Registo deaproximaçõessucessivas
Códigodigitalna saída
Relógio
Entradaanalógica
+-
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 32
Conversores A/D (cont.)
• Conversores A/D do tipo integrador:
+ Vref
Entradaanalógica
Bloco de controlo
Contador
Código digitalna saída
Relógio
Integrador
Comparador+
-
+
-
Tempo constantet
V
Tempo medido
Tensão à saídado integrador
Declive impostopor Vref (sempreo mesmo)
Declive imposto pelatensão de entrada
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 33
Conversores A/D (cont.)
• Especificações mais importantes:– Taxa de conversão (conversões por segundo)– Não linearidade diferencial (em relação à gama de
valores na entrada, para códigos de saída adjacentes)– Códigos ausentes (missing codes) (quando nem todos os
códigos existem na saída do conversor)– Não linearidade (desvio máximo em relação à recta ideal)– Resolução (valor do LSB)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 34
Outros tipos de E/S
• Englobámos neste último grupo os seguintes tipos:– Contadores / temporizadores (counters / timers), que
contabilizam um dado número de impulsos de relógio– Relógios de tempo real (real time clocks), que efectuam
medidas relativas (intervalos) e absolutas de tempoT = 1/f
1
2
DC = 25%
DC = 50%
DC (duty cycle) = / T (varia entre 0 e 100%)
– Moduladores de largura de impulso, para a variação do duty cycle de um sinal
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresMemórias e periféricos de entrada / saída - 35
Conclusão
• Objectivo principal do capítulo: Apresentar os principais componentes que complementam a funcionalidade de microprocessadores / microcontroladores
• Pistas para a continuação do estudo:– Dispositivos de memória (aprofundar o estudo)– Periféricos: Protocolos de comunicação e conversão A/D e
D/A (outras alternativas não abordadas)