Introduo ao Projecto com Sistemas Digitais e Microcontroladores
Memrias e perifricos de entrada / sada - 1
Memrias e perifricos de entrada / sada Organizao: Tipos de memrias Perifricos de E/S digital Perifricos de E/S analgica Outros tipos de E/S Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 2 Tipos de memrias Consideraremos neste mbito dois tipos principais de memrias semicondutoras: Memrias de leitura / escrita, a que frequentemente dada a designao de RAM (Random Access Memories), para realar o facto de que se pode aceder directamente a qualquer posio Memrias s de leitura, a que frequentemente dada a designao de ROM (Read Only Memories), dispondo tambm estas de acesso aleatrio Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 3 Tipos de memrias: RAM As RAM dividem-se em dois grandes grupos : As RAM dinmicas, com maior densidade (nmero de bits por mm 2 de silcio), que requerem operaes peridicas de refrescamento para no perderem o contedo As RAM estticas, podendo estas ser ainda do tipo voltil ou no voltil (estas dispem de uma pequena bateria incorporada, que conserva o contedo durante a ausncia da tenso de alimentao) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 4 Tipos de memrias: ROM De acordo com o tipo de programao, este tipo de memrias divide-se nos seguintes grupos principais: ROM: No programveis (vm j gravadas de fbrica) PROM: Programveis (programmable) uma vez EPROM: Tambm programveis, sendo desgravveis (erasable) por exposio a luz ultra-violeta As EPROM, devido forma como so desgravadas, possuem uma janela no encapsulamento Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 5 Tipos de memrias: ROM (cont.) As EPROM esto entre as memrias s de leitura mais comuns, tendo sido a tecnologia principal deste tipo durante muitos anos O contedo desgravado por exposio a luz ultra- violeta durante cerca de 15 a 20 minutos, tantas vezes quantas as necessrias (embora em nmero limitado) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 6 Tipos de memrias: ROM (cont.) A programao das EPROM faz-se atravs de programadores com diversos tipos de complexidade e custo (o modelo aqui ilustrado est entre os mais caros): Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 7 Tipos de memrias: ROM (cont.) Em relao ao modelo anterior, o interface da aplicao de programao (Windows) o seguinte: Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 8 Memrias: Encapsulamentos Os encapsulamentos mais comuns so os dos tipos DIP (Dual In-line Package), SOIC (Small Outline Integrated Circuit) e LCC (Leaded Chip Carrier): DIP plsti co SOIC DIP cermi co com jane la
RAM est t ica de 512 Kbytes RAM est t ica de 128 Kbytes EPROM 64 Kbytes
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 9 Memrias: Configurao de pinos As configuraes de pinos mais comuns so as seguintes: # Pino DS 1230 27 128 27 256 27 512 27 512 27 256 27 128 DS 1230 # Pino 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A14 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd 1 14 15 28 Vcc A14 A13 A8 A9 A11 /OE/Vpp A10 /CE D7 D6 D5 D4 D3 Vcc A14 A13 A8 A9 A11 /OE A10 /CE D7 D6 D5 D4 D3 Vcc /PGM A13 A8 A9 A11 /OE A10 /CE D7 D6 D5 D4 D3 Vcc /WE A13 A8 A9 A11 /OE A10 /CE D7 D6 D5 D4 D3 28 27 26 25 24 23 22 21 20 19 18 17 16 15 Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 10 Memrias: Diagramas temporais necessrio compreender bem quais so os principais parmetros envolvidos nos dois tipos de acesso memria (leitura, escrita): Na leitura, o importante garantir que a memria suficientemente rpida a colocar os dados no barramento, aps a activao do sinal de leitura Na escrita, o importante garantir que os dados presentes no barramento esto activos durante um tempo mnimo em torno da desactivao do sinal de escrita Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 11 Memrias: Diagramas temporais (leitura) A0:A.. /CS /RD D0:D7 Dados vlidos mx. 100 ns Exemplo da especificao dos parmetros principais para a operao de leitura com a DS1230 (RAM no voltil) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 12 Memrias: Diagramas temporais (escrita) Exemplo da especificao dos parmetros principais para a operao de escrita com a DS1230 (RAM no voltil) A0:A.. /CS /WR D0:D7 Dados est veis mn. 100 ns mn. 80 ns mn. 15 ns Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 13 Outros tipos de memrias Para alm dos tipos anteriormente referidos, e pela sua crescente vulgarizao, merecem ainda referncia especial os seguintes: As EEPROM, apagveis electricamente (electrically erasable), que por isso dispensam a luz ultra-violeta As memrias do tipo Flash, que so tambm no volteis e reprogramveis electricamente, apresentando em relao s EEPROM vantagens em relao densidade de integrao e ao custo Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 14 Perifricos de E/S digital Consideraremos neste mbito os seguintes tipos principais de E/S: Comunicao srie via RS-232C Comunicao srie via I 2 C Comunicao srie via CAN E/S paralela Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 15 E/S digital: RS 232C Publicada pela EIA desde 1969, esta norma de comunicao tornou-se na mais comum e est generalizadamente disponvel Existem dois tipos de conectores para comunicao srie: 9 pinos e 25 pinos (repare-se que o facto de a comunicao ser srie no significa necessariamente que envolva um reduzido nmero de ligaes) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 16 E/S digital: RS 232C (cont.) O protocolo de comunicao RS 232C pode apresentar-se atravs do seguinte exemplo, correspondente transmisso do byte 7BH (so usados os valores de +12 V e -12 V para a transmisso dos valores lgicos) St ar t bit Bit de par idade (par idade mpar ) St op bit 0 0 1 1 1 1 0 1 1 Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 17 E/S digital: RS 232C (cont.) O LT1181 frequentemente usado para a adaptao de nveis de tenso na comunicao RS 232C: 16 2 6 14 13 8 15 9 12 10 11 5 3 1 4 LT1181A 7 Sadas RS232 Entradas RS232 Entradas lgicas Sadas lgicas +5 V +V OUT -V OUT
+
+
+
+ Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 18 E/S digital: I 2 C Lanado pela Philips no incio dos anos 80, o I 2 C atingiu uma grande popularidade em equipamentos de electrnica de consumo (HI-FI, TV, VCR, etc.) A principal vantagem do I 2 C consiste em permitir uma ligao srie rpida (100 Kbps ou 400 Kbps) e fivel, com base apenas em duas ligaes (dados e relgio) Cada componente tem um endereo prprio, codificado em 7 ou 10 bits Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 19 E/S digital: I 2 C (cont.) Existem actualmente muitos componentes que suportam a especificao I 2 C, como relgios de tempo real, conversores, amplificadores, etc. O protocolo I 2 C pode ilustrar-se como se segue: Dados est veis Dados Podem mudar SDA SCL SDA SCL Incio de comunicao Fim de comunicao Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 20 Exemplo I 2 C: O PCF8574 8 bit Interrupt logic Low-pass filter Power-on reset I2C-bus control Input filter Shift register I/O port 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
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 21 E/S digital: CAN Originalmente concebido pela Bosch para a indstria automvel, isso conferiu-lhe logo duas vantagens: Elevado volume de fabrico (i.e. baixo preo) Elevada imunidade ao rudo (uma vez que se destinava a aplicao num ambiente tradicionalmente hostil) O CAN tem caractersticas prprias, que o vocacionam para aplicaes em reas onde nem o RS 232C nem o I 2 C so boas solues Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 22 E/S digital: CAN (cont.) Podendo atingir velocidades e distncias at Mbps e Km (uma ou outra), o CAN usa apenas dois condutores como meio fsico de comunicao Cdigos CRC, implementados em hardware pelos perifricos dedicados, garantem excelentes caractersticas de fiabilidade na comunicao Existe um grande nmero de fabricantes de componentes e sistemas de apoio ao projecto Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 23 Exemplo CAN: O SJA1000 Receive FIFO Transmit buffer Interface management logic Error management logic Acceptance filter Bit timing logic Reset Bit stream processor Message buffer Receive buffer 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 / data 2, 1, 28-23 3-7, 11, 16 XTAL1 XTAL2 Oscillator Internal bus ALE-AS, /CS, /RD-E, /WR, CLKOUT, MODE, /INT 8 7
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 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 prprio microcontrolador Disponveis como perifricos dedicados (vrios tipos) Implementados atravs de latches ou buffers (SSI) Implementados em dispositivos lgicos programveis Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 25 E/S analgica (conversores A/D e D/A) A discretizao (A/D) e a sua operao inversa (D/A) do origem a erros intrnsecos 000 001 010 011 100 101 110 111 Fim de Escala 1/8 2/8 3/8 4/8 5/8 6/8 7/8 8/8 Er r o A D 000 001 010 011 100 101 110 111 Fim de Escala 1/8 2/4 3/8 4/8 5/8 6/8 7/8 8/8 D A Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 26 Conversores D/A Converso D/A por comutao de fontes de corrente: + V - Vref Conversor de corrente para tenso Entrada menos significativa Entrada mais significativa Entrada Entrada 2R 4R R ... N bits de entrada R Sada (em corrente
+ - + - Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 27 Conversores D/A (cont.) Converso D/A por malha R-2R 2R 2R 2R 2R R R R 2R N bits de entrada Vref + - Mais sign. Menos sign. Sada (em corrente) Conversor de corrente para tenso
n n n n + - Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 28 Conversores D/A (cont.) Especificaes mais importantes : Resoluo (importncia do bit menos significativo) Erro de no linearidade (desvio mximo na sada em relao caracterstica em linha recta) Monotonicidade (quando a um aumento na entrada no corresponder um aumento na sada) Tempo de estabelecimento (para a sada estabilizar em torno de um valor pretendido, dentro de um dado limite, em consequncia de uma variao na entrada) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 29 Conversores A/D Convm comear por esclarecer que: O preo dos A/D depende essencialmente da resoluo (nmero de bits) e da rapidez (converses por segundo) Os conversores do tipo paralelo, por aproximaes sucessivas e integradores, decorrem de solues de compromisso entre os dois factores referidos acima Os conversores do tipo sigma-delta no sero considerados nesta breve introduo Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 30 Conversores A/D (cont.) Conversores A/D do tipo paralelo: Quantos comparadores so necessrios para uma sada com N bits? Que tipo de lgica estar contida no bloco codificador? + Vref R R Entrada analgica Cdigo digital na sada Codificador + - + - + - + - Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 31 Conversores A/D (cont.) Conversores A/D por aproximaes sucessivas: Ent r ada analgica 1 2 3 4 5 6 7 8 Ciclo de r elgio infer ior , fica em 1 infer ior , fica em 1 super ior , fica em 0 super ior , fica em 0 Meio de escala (valor inicial) Valor analgico ext er ior + Vref Conversor D/A Registo de aproximaes sucessivas Cdigo digital na sada Relgio
Entrada analgica + - Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 32 Conversores A/D (cont.) Conversores A/D do tipo integrador: + Vref Entrada analgica Bloco de controlo Contador Cdigo digital na sada Relgio Integrador Comparador + - + - Tempo const ant e t V Tempo medido Tenso sada do int egr ador Declive impost o por Vr ef (sempr e o mesmo) Declive impost o pela t enso de ent r ada Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 33 Conversores A/D (cont.) Especificaes mais importantes: Taxa de converso (converses por segundo) No linearidade diferencial (em relao gama de valores na entrada, para cdigos de sada adjacentes) Cdigos ausentes (missing codes) (quando nem todos os cdigos existem na sada do conversor) No linearidade (desvio mximo em relao recta ideal) Resoluo (valor do LSB) Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 34 Outros tipos de E/S Englobmos neste ltimo grupo os seguintes tipos: Contadores / temporizadores (counters / timers), que contabilizam um dado nmero de impulsos de relgio Relgios de tempo real (real time clocks), que efectuam medidas relativas (intervalos) e absolutas de tempo T = 1/f
2 DC = 25% DC = 50% DC (duty cycle) =
/ T (var ia ent r e 0 e 100%)
Moduladores de largura de impulso, para a variao do duty cycle de um sinal Introduo ao Projecto com Sistemas Digitais e Microcontroladores Memrias e perifricos de entrada / sada - 35 Concluso Objectivo principal do captulo: Apresentar os principais componentes que complementam a funcionalidade de microprocessadores / microcontroladores Pistas para a continuao do estudo: Dispositivos de memria (aprofundar o estudo) Perifricos: Protocolos de comunicao e converso A/D e D/A (outras alternativas no abordadas)