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 Microcontroladores Memórias e periféricos de entrada / saída - 1 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 Microcontroladores Memórias e periféricos de entrada / saída - 2 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 Microcontroladores Memórias e periféricos de entrada / saída - 3 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 Microcontroladores Memórias e periféricos de entrada / saída - 4 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 ultravioleta 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 Microcontroladores Memórias e periféricos de entrada / saída - 5 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 Microcontroladores Memórias e periféricos de entrada / saída - 6 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 Microcontroladores Memórias e periféricos de entrada / saída - 7 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 Microcontroladores Memórias e periféricos de entrada / saída - 8 Memórias: Configuração de pinos • As configurações de pinos mais comuns são as seguintes: # Pino 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DS 1230 A14 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd 27 128 Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd 27 256 Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 9 27 512 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd 1 28 14 15 27 512 Vcc A14 A13 A8 A9 A11 /OE/Vpp A10 /CE D7 D6 D5 D4 D3 27 256 Vcc A14 A13 A8 A9 A11 /OE A10 /CE D7 D6 D5 D4 D3 27 DS 128 1230 Vcc Vcc /PGM /WE A13 A13 A8 A8 A9 A9 A11 A11 /OE /OE A10 A10 /CE /CE D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 # Pino 28 27 26 25 24 23 22 21 20 19 18 17 16 15 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 Microcontroladores Memórias e periféricos de entrada / saída - 10 Memórias: Diagramas temporais (leitura) • Exemplo da especificação dos parâmetros principais para a operação de leitura com a DS1230 (RAM não volátil) A0:A.. /CS /RD D0:D7 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 11 máx. 100 ns Dados válidos 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 mín. 100 ns /WR D0:D7 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 12 Dados estáveis mín. 80 ns mín. 15 ns 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 Microcontroladores Memórias e periféricos de entrada / saída - 13 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 Microcontroladores Memórias e periféricos de entrada / saída - 14 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 Microcontroladores Memórias e periféricos de entrada / saída - 15 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) 0 0 1 Start bit Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 16 1 1 1 0 1 1 Bit de paridade (paridade ímpar) Stop bit 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: 1 16 +5 V LT1181A + 2 3 +V OUT + + 4 6 5 11 14 10 7 12 13 Entradas lógicas Saídas lógicas Saídas RS232 Entradas RS232 9 8 15 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 17 -V OUT + E/S digital: 2 IC • 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 Microcontroladores Memórias e periféricos de entrada / saída - 18 E/S digital: 2 IC (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: SDA SDA SCL SCL Dados estáveis Dados Podem mudar Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 19 Início de comunicação Fim de comunicação Exemplo 2 I C: O PCF8574 PCF8574 /INT A0 A1 A2 SCL SDA 13 Interrupt logic Low-pass filter 1 2 3 4 5 14 15 Input filter I2C-bus control Shift register 8 bit I/O port 6 7 9 10 11 12 VDD VSS 16 8 WRITE pulse Power-on reset Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 20 READ pulse P0 P1 P2 P3 P4 P5 P6 P7 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 Microcontroladores Memórias e periféricos de entrada / saída - 21 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 Microcontroladores Memórias e periféricos de entrada / saída - 22 Exemplo CAN: O SJA1000 ALE-AS, /CS, /RD-E, /WR, CLKOUT, MODE, /INT AD7 to AD0 3-7, 11, 16 Control 22 7 2, 1, 28-23 Address / data 8 8 Interface management logic VDD1 VSS1 Internal bus 12 15 Message buffer Transmit buffer Bit stream processor Bit timing logic 13 14 19 20 21 18 Receive FIFO Receive buffer XTAL1 Acceptance filter Oscillator XTAL2 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 23 SJA1000 VSS3 TX0 TX1 RX0 RX1 VSS2 VDD2 Error management logic 9 10 VDD3 Reset 17 /RST 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 Microcontroladores Memórias e periféricos de entrada / saída - 24 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 A D 111 8/8 110 7/8 101 6/8 100 5/8 011 010 Fim de Escala 001 Fim de Escala 4/8 3/8 2/4 000 1/8 2/8 3/8 4/8 5/8 6/8 7/8 8/8 A Erro Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 25 1/8 000 001 010 011 100 101 110 111 D Conversores D/A • Conversão D/A por comutação de fontes de corrente: Entrada mais significativa Entrada N bits de entrada + V R R 2R Entrada 4R Entrada menos significativa ... Saída (em corrente Conversor de corrente para tensão - - - Vref + Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 26 + Conversores D/A (cont.) • Conversão D/A por malha R-2R - + Vref N bits de entrada nó R 2R nó R 2R nó R 2R Mais sign. nó 2R 2R Menos sign. + Saída (em corrente) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 27 Conversor de corrente para tensão 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 Microcontroladores Memórias e periféricos de entrada / saída - 28 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 Microcontroladores Memórias e periféricos de entrada / saída - 29 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”? Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 30 + Vref Entrada analógica Codificador + - R + - R + - Código digital na saída + - Conversores A/D (cont.) • Conversores A/D por aproximações sucessivas: É superior, fica em 0 + Vref Entrada analógica Entrada analógica É superior, fica em 0 Conversor D/A Valor analógico exterior É inferior, fica em 1 + - Código digital na saída Registo de aproximações sucessivas Meio de escala (valor inicial) É inferior, fica em 1 Relógio 1 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 31 2 3 4 5 6 7 8 Ciclo de relógio Conversores A/D (cont.) • Conversores A/D do tipo integrador: Declive imposto pela tensão de entrada Entrada analógica Comparador + + + Vref V Tensão à saída do integrador Declive imposto por Vref (sempre o mesmo) Integrador Relógio Bloco de controlo Contador Código digital na saída Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 32 Tempo constante Tempo medido t 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 Microcontroladores Memórias e periféricos de entrada / saída - 33 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 tempo – Moduladores de largura de impulso, para a variação do duty cycle de um sinal T = 1/f 1 DC = 25% 2 DC = 50% DC (duty cycle) = / T (varia entre 0 e 100%) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 34 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) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Memórias e periféricos de entrada / saída - 35