Você está na página 1de 74

Interfaces Seriais

Caio Ramos
Setembro de 2008

Objetivos
Apresentar as interfaces seriais mais utilizadas atualmente; Aprofundar os conhecimentos nas interfaces I2C e SPI.

Setembro de 2008

Caio Ramos

Tpicos
Introduo Evoluo das interfaces de comunicao USB FireWire SATA PCI Express RS-485 I2C SMBus SPI
Setembro de 2008 Caio Ramos 3

Introduo
As interfaces so necessrias para expandir a capacidade dos processadores e microcontroladores;
Nmeros de portas de E/S Diviso de tarefas Acesso a memrias

Interfaces seriais e paralelas;


Nmero de conexes Nmero de bits transmitidos a cada ciclo de clock

Setembro de 2008

Caio Ramos

Evoluo das Interfaces


Busca constante por maiores taxas de transmisso de dados
Aumento do clock de transmisso Aumento do nmero de conexes?

Problemas:
Signal integrity e roteamento Paralelismo e sincronismo Imunidade a rudos
Setembro de 2008 Caio Ramos 5

Evoluo das Interfaces


Exemplos:
Porta Serial Porta Paralela USB ou FireWire IDE SATA ISA LPC PCI e AGP PCI Express

Setembro de 2008

Caio Ramos

Interfaces Seriais
Existem diversos tipos de interfaces seriais que so utilizadas em vrias aplicaes. RS-232, RS-485, I2C (SMBus), LPC, SPI, SATA, USB, FireWire, One-Wire, PCI Express.

Setembro de 2008

Caio Ramos

Evoluo das Interfaces


Colocar Figura da Placa me Colocar figura da impressora 1-wire

Setembro de 2008

Caio Ramos

USB Universal Serial Bus


Surgiu de uma aliana promovida por vrias empresas (como NEC, Intel e Microsoft) com o intuito de desenvolver uma tecnologia que permitisse o uso de um tipo de conexo comum entre computador e perifricos: a USB Implementers Forum.

Setembro de 2008

Caio Ramos

USB Universal Serial Bus


Caractersticas:
Diferencial Plug and Play Cabo de at 5 metros Fornece alimentao de 5V (Bus Powered Devices)
100 mA 500 mA, requer negociao atravs do protocolo.
Setembro de 2008 Caio Ramos 10

USB Camada Fsica


Pino
1
2 3 4

Nome
Vcc
DD+ GND

Descrio
+5 Vdc
DataData+ Ground

USB Universal Serial Bus


Pode-se conectar at 127 dispositivos. Taxas de transmisso:
Low Speed: 1,5 Mbps Full Speed: 12 Mbps High Speed: 480 Mbps (USB 2.0)

High Speed requer negociao.


Setembro de 2008 Caio Ramos 12

USB Universal Serial Bus

Setembro de 2008

Caio Ramos

13

IEEE1394 Bus: FireWire


Criado em 1995; Baseado no barramento FireWire, utilizado pela Apple; Tambm recebe o nome de iLink e Digital Link, nos produtos da eletrnicos da Sony.

Setembro de 2008

Caio Ramos

14

IEEE1394 Bus: FireWire


Caractersticas:
At 63 dispositivos Plug and Play Cabo de at 4,5 metros Comunicao Peer-to-Peer

Setembro de 2008

Caio Ramos

15

IEEE1394 Bus: FireWire

Setembro de 2008

Caio Ramos

16

IEEE1394 Bus: FireWire


Caractersticas:
3 velocidades de operao:
98,404 Mbps (100 Mbps) 196,608 Mbps (200 Mbps) 393,216 Mbps (400 Mbps)

Fornece alimentao para os dispositivos


1.25A/12V (max), com cabo de 6 pinos.

Setembro de 2008

Caio Ramos

17

FireWire vs USB 2.0

Setembro de 2008

Caio Ramos

18

Evoluo das Interfaces


Colocar Figura da Placa me Colocar figura da impressora 1-wire

Setembro de 2008

Caio Ramos

19

SATA - Serial Advanced Technology Attachment


SATA-IO (SATA International Organization) a entidade que controla o padro, formada em 2004 A reviso 1.0 foi publicada em 2001, com o objetivo de substituir a interface paralela Objetivo:
Melhorar cabeamento, custo dos cabos e conectores, ventilao Ramos interna do gabinete Setembro de 2008 Caio
20

SATA - Caractersticas
LVDS (Low-voltage Differential Signaling) Taxas de transmisso de 150 MB/s e 300 MB/s Cabo de at 1 metro Cada dispositivo conectado diretamente ao host.

Setembro de 2008

Caio Ramos

21

SATA Tecnologias Relacionadas


NCQ (Native Command Queuing):
Permite ao HD organizar as solicitaes de gravao ou leitura de dados numa ordem que faz com que as cabeas se movimentem o mnimo possvel, aumentando (pelo menos teoricamente) o desempenho do dispositivo e sua vida til. Obrigatrio no SATA II e opcional no padro SATA I.
Setembro de 2008 Caio Ramos 22

SATA Tecnologias Relacionadas


Link Power Management
Trs estados: ativo (active), parcialmente ativo (partial) ou inativo (slumber). Permite ao HD economizar energia

Staggered Spin-Up
Permite ativar ou desativar HDs trabalhando em conjunto sem interferir no funcionamento do grupo de discos. Recurso muito til em sistemas RAID Tambm melhora a distribuio de energia entre os discos.
Setembro de 2008 Caio Ramos 23

SATA Tecnologias Relacionadas


Hot Plug
Permite conectar o disco ao computador com o sistema operacional em funcionamento. Esse um recurso muito usado em HDs do tipo removvel.

eSATA / xSATA
Permite ao cabo do HD ter um tamanho maior sem que haja perda de dados significativa eSATA: at 2 metros xSATA: at 8 metros
Setembro de 2008 Caio Ramos 24

SATA - Imagens

Setembro de 2008

Caio Ramos

25

SATA
Caractersticas
Frequncia

SATA 1.5 Gb/s


1500 MHz

SATA 3 Gb/s
3000 MHz

Bits/clock
Codificao 8B/10B bits/Byte Velocidade mxima terica

1
80% 8 150 MB/s

1
80% 8 300 MB/s

Setembro de 2008

Caio Ramos

26

SATA - Desempenho

Setembro de 2008

Caio Ramos

27

PCI-Express
Introduzido pela Intel em 2004, com o objetivo de substituir as interfaces PCI e AGP. A partir de 15 de janeiro de 2007, o PCISIG disponibilizou o PCI Express verso 2.0
Dobra a taxa de transferncia da verso 1.1 Mantm compatibilidade com a 1.1
Setembro de 2008 Caio Ramos 28

PCI-Express
A verso PCIe 3.0 esperada para 2009/2010 Conexo ponto a ponto
Canais seriais usando LVDS Full-duplex

Taxas diferentes de acordo com o nmero de conexes (x1, x2, x4, x16)
x1 = 250 MB/s (500 MB/s na verso 2.0)
Setembro de 2008 Caio Ramos 29

PCI-Express

Setembro de 2008

Caio Ramos

30

RS-485
Padro definido pela EIA (Electronics Industry Association)
Definiu os padres RS-485, RS-232, RS-422 RS (Recommended Standard) Atualmente so chamados de EIA-XXX.

O padro define apenas caractersticas eltricas (camada fsica), mas no define nenhum tipo de protocolo.
Problemas de compatibilidade entre equipamentos de fabricantes diferentes.
Setembro de 2008 Caio Ramos 31

RS-485
Caractersticas:
2 fios Diferencial Half-Duplex Multi-ponto (at 32 pontos) Distncias de at 1200 metros, com taxas de 100 Kbps Em distncias pequenas, pode alcanar at 10 Mbps
Setembro de 2008 Caio Ramos 32

RS-485
Modo diferencial:
Fios A e B Nivl lgico de acordo com a diferena entre A e B. Nvel lgico 1: A positivo e B negativo Nvel lgico 0: B for positivo e A negativo.

Setembro de 2008

Caio Ramos

33

RS-485 Distncia x taxa de transmisso

Setembro de 2008

Caio Ramos

34

RS-485

Setembro de 2008

Caio Ramos

35

RS-485
Um uso tpico do RS-485 uma rede formada por um Mestre (PC, por exemplo) conectado a vrios dispositivos (escravos) O mestre inicia a comunicao, endereando um nico escravo O escravo ento responde a requisio
Setembro de 2008 Caio Ramos 36

RS-485

Setembro de 2008

Caio Ramos

37

I2C Inter-Integrated Circuit


Desenvolvido pela Philips em 1996 Comunicao a 2 fios
SDC: serial clock SDA: serial data Os sinais so coletor aberto

Bidirecional (half-duplex)

Setembro de 2008

Caio Ramos

38

I2C Inter-Integrated Circuit

Setembro de 2008

Caio Ramos

39

I2C Inter-Integrated Circuit


Taxa de transferncia:
100 Kbps: standard mode 400 Kbps: fast mode (F) 1 Mbps: fast mode plus (Fm+) 3.4 Mbps: high speed mode

Endereamento
7 bits: padro 10 bits
Setembro de 2008 Caio Ramos 40

I2C Inter-Integrated Circuit


Nvel lgico
Diversos processos de fabricao: TTL, CMOS, NMOS No possuem valores pr-definidos Dependem da tenso de alimentao

MSB enviado primeiro

Setembro de 2008

Caio Ramos

41

I2C Inter-Integrated Circuit


Dispositivos no barramento
Mestre: envia o clock e o endereo do escravo Escravo: l o clock e o endereo

Multi-mestre
Vrios dispositivos pode controlar o barramento

Arbitrariedade
Visa no corromper a transmisso dos dados e perder a sincronia do clock

Sincronizao
Procedimento p/ sincronizar o clock de um ou mais Setembro de 2008 Caio Ramos dispositivos
42

I2C Inter-Integrated Circuit


Dispositivos no barramento
Mestre: envia o clock e o endereo do escravo Escravo: l o clock e o endereo

Multi-mestre
Vrios dispositivos pode controlar o barramento

Setembro de 2008

Caio Ramos

43

I2C Comunicao
O dispositivo mestre ajusta a condio inicial (start)
O start bit indicado por uma transio de alto para baixo do SDA, mantendo o clock alto

O dispositivo master envia 7 bis de endereamento.


Transies para os bits de dados so feitas enquanto o clock est baixo

O dispositivo master envia o 8 bit, RW/


Setembro de 2008 Caio Ramos 44

I2C Comunicao
O dispositivo slave envia o sinal de ACK (Acknowledge) O dispositivo master (ou slave) envia pacotes de 8 bits de dados, sempre seguidos de um sinal ACK enviado pelo dispositivo slave (ou master) confirmando a recepo. O dispositivo master encerra a comunicao.
O stop bit indicado por uma transio de baixo para alto do SDA, mantendo o clock alto.
Setembro de 2008 Caio Ramos 45

I2C Inter-Integrated Circuit

Setembro de 2008

Caio Ramos

46

I2C Start e Stop bit


So gerados pelo mestre A barra considerada como ocupada aps a condio de partida, e livre aps a condio de parada

Setembro de 2008

Caio Ramos

47

I2C Transmisso de dados


O nmero de bytes que pode ser transferido ilimitado Cada byte acompanhado de um bit de reconhecimento.

Setembro de 2008

Caio Ramos

48

I2C Transmisso de dados


Se o IC receptor (escravo) no for capaz de receber um outro byte de dados at que alguma funo seja executada, como por exemplo uma interrupo interna, ele dever levar a linha de clock a nvel L , forando o Mestre a entrar em um modo de espera. Os dados sero lidos novamente, quando o escravo liberar a linha de clock.

Setembro de 2008

Caio Ramos

49

I2C Reconhecimento (ack)


obrigatrio O MASTER libera a linha SDA (nvel H) durante a ocorrncia dos pulsos de clock. O IC receptor (SLAVE) leva a linha SDA a nvel L durante o perodo H do pulso de reconhecimento. Usualmente, o SLAVE endereado obrigado a gerar um reconhecimento logo aps cada byte ter Caio Ramos recebido. sido Setembro de 2008 50

I2C Reconhecimento (ack)


Quando no ocorre uma confirmao aps o mestre enviar algum byte, ele deve gerar uma condio de parada e abortar a comunicao.

Setembro de 2008

Caio Ramos

51

I2C Conflitos de clock


Cada Mestre gera seu prprio clock na linha SCL Os dados so vlidos apenas durante o perodo H dos pulsos de clock. O perodo L determinado pelo IC com o clock de maior perodo L e o perodo H pelo IC com o clock de menor perodo H.

Setembro de 2008

Caio Ramos

52

I2C Conflitos de dados


Se um MASTER est transmitindo um nvel H, enquanto outro est transmitindo um nvel L, o estgio de sada de dados deste MASTER ser desativado, porque o nvel da barra no corresponde ao seu prprio nvel

Setembro de 2008

Caio Ramos

53

I2C Exemplos de transmisso


Transmisso do MASTER para o SLAVE, sem alterao de direo.

Setembro de 2008

Caio Ramos

54

I2C Exemplos de transmisso


Transmisso do SLAVE para o MASTER logo aps a leitura do primeiro byte.

Setembro de 2008

Caio Ramos

55

I2C Exemplos de transmisso


No momento do primeiro reconhecimento, o MASTER passa a assumir o papel de receptor e o SLAVE o de transmissor. Este reconhecimento ainda gerado pelo SLAVE.

Setembro de 2008

Caio Ramos

56

I2C - Endereamento
O primeiro byte aps o start bit determina o endereo do escravo

A exceo o endereo de "chamada geral " que enderea todos os ICs.


Setembro de 2008 Caio Ramos 57

I2C - Endereamento
1111XXX reservado com propsitos de extenses futuras. 1111111 reservado aos endereos de extenso
Processo de endereamento deve continuar nos bytes seguintes

0000XXX foi definida como um grupo especial. 0000000 o endereo de chamada geral
O significado do endereo de chamada geral sempre especificado no segundo byte.
Setembro de 2008 Caio Ramos 58

I2C - Endereamento
ENDEREO SLAVE 0000 000 0000 000 0000 001 0000 010 0000 011 R/W 0 1 X X X Endereo de chamada geral byte de partida endereo CBUS endereo reservado a ser definido

0000 100
0000 101 0000 110 0000 111

X
X X X

Setembro de 2008

Caio Ramos

59

SMBus
Baseado na especificao I2C A primeira especificao de 1995
Verso 1.1: 1998 Verso 2.0: 2000

Desenvolvido primeiramente para baterias inteligentes e carregadores Muito utilizado entre dispositivos de uma placa-me
Controladores de tenso Carregadores de bateria Sensores de fan, temperatura, tenso Configurao de dispositivos
Setembro de 2008 Caio Ramos 60

SMBus Novas capacidades


Reconfigurao dinmica
Conexo e desconexo de dispositivos no barramento

Atribuio de endereo dinmica Adio de novos sinais (opcionais)


SMBUS#: indica suspend mode SMBALERT#: indica que um escravo tem algo para transmitir
Setembro de 2008 Caio Ramos 61

SPI Serial Peripheral Interface


um link de dados serial, definido pela Motorola Full duplex Mestre escravo
Somente 1 mestre, com 1 ou mais escravos

Os escravos so selecionados atravs de conexes (slave select) individuais MSB


Setembro de 2008 Caio Ramos 62

SPI
O barramento SPI possui 4 sinais:
SCLK Serial Clock (output from master) MOSI/SIMO Master Output, Slave Input (output from master) MISO/SOMI Master Input, Slave Output (output from slave) SS Slave Select (active low; output from master)
Setembro de 2008 Caio Ramos 63

SPI

Setembro de 2008

Caio Ramos

64

SPI
O chip select ativo baixo
Alguns dispositivos requerem a borda de descida. Exemplo: MAX1242, um ADC, inicia a converso aps a descida do slave select.

A maioria dos dispositivos deixam suas sadas em alta impedncia quando no esto selecionados
Sem essa caracterstica, o escravo no pode compartilhar o barramento com outros dispositivos
Setembro de 2008 Caio Ramos 65

SPI Aplicaes
EEPROM e Flash
AT250X0, 25LCXX, NM93CXX, AT45D0XX, NX25FXX

ADC e DAC
ADS1210, ADS1212, ADS1286, ADS7834, ADS8321, CS5531 AD5530, AD7394, AD8303, DAC8143, TLV5636, TLV5627, TLV5618

RTC
NM25CXX, MC68HC86T1

Controlador CAN
82527, MCP2510

Microcontroladores, DSP, Controlador USB, Sensor de Temperatura, etc..


Setembro de 2008 Caio Ramos 66

SPI

Setembro de 2008

Caio Ramos

67

SPI Modos de configurao


Modo 0
Mestre envia dado na subida do clock e recebe na descida do mesmo

Modo 1
Mestre envia dado ciclo frente da subida do clock e recebe dado na subida do mesmo

Modo 2
Mestre envia dado na descida do clock e recebe na subida do mesmo

Modo 3
Mestre envia dado cliclo frente da subida do clock e recebe na descida do mesmo
Setembro de 2008 Caio Ramos 68

SPI Modos de configurao

Setembro de 2008

Caio Ramos

69

SPI
Registros:
Registros de configurao
Clock, modo, nmero de bits,

Registro de buffer de recepo Registro de buffer de transmisso Etc.

Setembro de 2008

Caio Ramos

70

SPI - Vantagens
Full Duplex Taxas maiores do que I2C or SMBus Flexibilidade de protocolo
No limitado a palavras de 8 bits Flexibilidade de escolha de tamanho, contedo e funo das mensagens

Menos circuitos
Lower power requirements than IC or SMBus due to less circuitry (including pullups)
Setembro de 2008 Caio Ramos 71

SPI Desvantagens
Requer mais pinos do que a I2C
No possui endereamento, logo necessita de um SS para cada escravo

No possui controle de fluxo No tem confirmao de recebimento


No hardware slave acknowledgment (the master could be "talking" to nothing and not know it)

Suporta somente um dispositivo mestre Without a formal standard, validating conformance is not possible
Setembro de 2008 Caio Ramos 72

Referncias
Gook, Michael. PC Hardware Interfaces: A Developers Reference. Unated States of America: ALIST, 2004. http://www.infowester.com/usb.php http://ece.ut.ac.ir/classpages/F83/Interface/USB.ppt http://informatica.hsw.uol.com.br/portas-usb.htm http://www.powerlandcomputers.com/PDF%20Brochures/firewireusb.pdf http://www.qimaging.com/support/kb/whitepapers/firewire_usb_tec hnote.pdf http://www.csun.edu/~vcact00f/311/termProjects/700class/USB2.0v sFireWire.pdf http://www.infowester.com/serialata.php
Setembro de 2008 Caio Ramos 73

Referncias
http://pt.wikipedia.org/wiki/Serial_ATA http://www.clubedohardware.com.br/artigos/564 http://www.lisha.ufsc.br/~guto/teaching/ish/devices/eia485/overview .pdf http://www.cic.unb.br/~bordim/TD/Arquivos/G10_Monografia.pdf http://jeronimomachado.vilabol.uol.com.br/I2C.htm http://www.ee.pucrs.br/~terroso/html/protocolos.html http://www2.eletronica.org/artigos/eletronica-digital/protocolo-decomunicacao-i2c http://dee.feg.unesp.br/Disciplinas/SEL3103/PDF/microp_cap9Serial.pdf http://www.ee.pucrs.br/~terroso/html/protocolos.html#spi
Setembro de 2008 Caio Ramos 74