Interfaces e Periféricos CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I2C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento, tais como: HDs, drives de CD, drives de DVD etc. utilizam os seguintes tipos de interfaces (em ordem cronológica da evolução): IDE/ATA: transmissão paralela, half-duplex, taxa de transmissão máxima de 133MB/s, frequência máxima de 66 MHz, comprimento decabo de no máximo 46 centímetro, não suporta hot-plug (não insere ou remove dispositivos com o computador ligado), permite 2 dispositivos por cabo, cabo de 40/80pinos e o consumo de 5V. SCSI: transmissão serial, full-duplex, taxa de transmissão máxima de 640 MB/s, freqüência máxima de 160 MHz, comprimento de cabo de no máximo 12metros, suporta hot-plug, permite 16 dispositivos porcabo, cabo de 60/80 pinos e o consumo de 5V. SATA: transmissão serial, full-duplex, taxa de transmissão máxima de600 MB/s, freqüência máxima de 6.0 GHz,comprimento de cabo de no máximo 8 metros, suporta hot-plug, permite 1 dispositivo por cabo, cabo de 7pinos e o consumo de 250mV. Interfaces Diversas: Firewire, SPI e I2C FireWire: O FireWire (também conhecido como i.Link, IEEE 1394 ou High Performance Serial Bus/HPSB) é uma interface serial para computadores pessoais e aparelhos digitais de áudio e vídeo que oferececomunicações de alta velocidade e serviços de dados em tempo real(400Mbps). O FireWire é uma tecnologia de entrada/saída de dados em alta velocidade para conexão de dispositivos digitais, desde filmadoras, câmeras digitais, computadores portáteis e desktops. Prof. André Sarmento Barbosahttp://www.andresarmento.com 28 Interfaces e Periféricos Conectores Firewire 2 I C: O protocolo I2C (Inter-IntegratedCircuit) é do tipo serial síncrono e foi desenvolvido originalmente pela Philips® em meados da década de 1990. Atualmente ele está presente em uma série de dispositivos eletrônicos e componentes dos mais variados tipos como: microcontroladores, controladores de LCD, memórias, dispositivos de I/O, relógios de tempo real (RTC), entre outros. O barramento é conhecido por utilizar apenas dois condutores para comunicação entre vários dispositivos eletrônicos (128 escravos) e mais dois para alimentação: 1. VCC (normalmente +5V) 2. GND (massa comum entre os equipamentos, muito importante para que quando os dispositivos informem bit zero de forma perceptível para todas as outras máquinas) 3. SDA (Serial DAtaLine) 4. SCL (Serial CLock) As linhas de serial data (SDA) e serial clock (SCL) são ambas bidirecionais, conectadas ao positivo da fonte de alimentação através de um resistor de pull-up. Enquanto o barramento está livre, ambas as linhasficam em nível lógico alto. A taxa de transferência máxima é de 100kbit/s no modo padrão (standard), ou 400kbit/s no modo rápido (fastmode). Qualquer dispositivo conectado pode operar com transmissor ou receptor. Claro que isso depende danatureza do dispositivo - um LCD não vai operar como transmissor, assim como um teclado não operará como receptor. Independente disto, qualquer dispositivo endereçado é chamado de escravo (slave).Todo dispositivo possui um endereço único no barramento, independente de sua natureza. Muitas vantagens podem ser atribuídas ao protocolo I2C. Destacam-se entre elas: • Organização funcional em blocos, providenciando um simples diagrama esquemático final. • Não há necessidade dos projetistas desenvolverem interfaces. Todos os dispositivos integram as interfaces "on-chip", o que aumenta a agilidade no desenvolvimento. • Endereçamento e protocolo de transferência de dados totalmente definido via software. • Possibilidade de inclusão ou exclusão de dispositivos no barramento sem afetar o mesmo ou outros dispositivos conectados a este. • Diagnóstico de falhas extremamente simples. O mau funcionamento é imediatamente detectado. Prof. André Sarmento Barbosahttp://www.andresarmento.com 29 Interfaces e Periféricos • Facilidade no desenvolvimento de placas de circuito impresso, devido àmenor quantidade de interconexões. SPI: A tecnologia de comunicação SPI (Serial Peripheral Interface) foi desenvolvida pela Motorola para a linha de processadores da família MC68K. O SPI é um protocolo síncrono e opera no modo full-duplex, permitindo a comunicação de um microcontrolador com diversos outros componentes, formando uma rede. Em modo "escravo", o microcontrolador comporta-se como um componente da rede, recebendo o sinal de relógio. Em modo "mestre", o microcontrolador gera um sinal de relógio e deve ter um pino de entrada/saída para habilitação de cada periférico. O protocolo SPI não permite o endereçamento, a comunicação só pode ser feita entre dois pontos, sendo um deles o Master e outro o Slave. O barramento é conhecido por utilizar três condutores para comunicação: 1. CLOCK: trata-se da via de clock, que pode ser entrada (Slave) ou saída (Master). 2. DATA IN: trata-se da entrada de dados, ou seja, a via de recepção. 3. DATA OUT: trata-se da saída de dados, ou seja, a via de transmissão. Exemplo de microcontrolador com interfaces SPI e I2C Interfaces com o mundo analógico Conversores D/A: Utilizado para transformar dados em formato digital para analógico. Empregado normalmente quando se deseja que um microcontrolador ou microprocessador gere sinais analógicos (áudio, vídeo, etc.) Exemplos: • Conversor com resistores ponderados • Conversor em malha R-2R • Conversor por modulação de largura de pulso (PWM) Prof. André Sarmento Barbosahttp://www.andresarmento.com 30 Interfaces e Periféricos Exemplo - Conversor D/A com resistores ponderados: De acordo com os valores dos bits na entrada teremos o somatório das tensões. Os bits que estiverem em nível lógico 1 irão contribuir para o somatório. Como os valores dos resistores estão ponderados “em binário” teremos uma tensão de saída que corresponderá ao valor em binário da entrada. Exemplo - Conversor D/A em malha R-2R: Funciona de forma similar ao anterior, sendo que não é necessário vários resistores de valores diferentes, pois cada bit menos significativo (LSB) aproveita os resistores do próximo para o divisor de tensão. Conversores A/D: Utilizado para transformar dados em formato analógico para digital. Empregado normalmente quando se deseja que um microcontrolador ou microprocessador leia sinais analógicos (sensores dos mais diversos) Exemplos: • Conversor Comparador paralelo • Conversor Contador-Rampa • Conversor por aproximações sucessivas Prof. André Sarmento Barbosahttp://www.andresarmento.com 31 Interfaces e Periféricos Exemplo –ConversorA/D comparador paralelo: Comparadores são configurados para detectar as tensões de entrada, a saída dos comparadores deve ser convertida para lógica binária uma vez que, para uma dada tensão de entrada teremos vários comparadores ativados (aqueles que detectam tensão menor ou igual ao valor da entrada). É o mais rápido dos conversores A/D, mas é expressivamente caro, visto que necessita de 2n-1 comparadores para um conversor de N bits. Exemplo–Conversor A/D Contador-Rampa: A linha "clear" é utilizada para inicializar o contador com 0 (zero). O contador grava na forma binária o número de pulsos provenientes do "clock". A cada pulso um conversor D/A converte a saída digital para um valor analógico, quando o valor analógico do D/A é igual ao valor analógico de entrada a saída do comparador vai a 0, interrompendo a passagem do clock para o contador (por meio da porta AND). Assim, tem-se na saída uma representação em binário da tensão analógica de entrada. Prof. André Sarmento Barbosahttp://www.andresarmento.com 32