Arquitectura de Computadores
(ACom)
MEAer
Acetatos das Aulas Te´
oricas
Vers˜ao 5.0 - Portuguˆes
Aula N
o25:
T´ıtulo: Comunica¸c˜ao entre Processadores
Sum´ario: Comunica¸c˜ao S´erie vs. Paralela; Sincroniza¸c˜ao; Comunica¸c˜ao
S´erie S´ıncrona (Barramentos SPI e I2C); Comunica¸c˜ao S´erie Ass´ıncrona (Norma RS-232).
Comunica¸c˜
ao entre Processadores
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 1 / 55
Arquitectura de Computadores
(ACom)
Aula Anterior Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Na aula anterior...Sistema de Entradas e Sa´ıdas:
◮ Perif´ericos & Interfaces
◮ Organiza¸c˜ao dos Perif´ericos
Road Map Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 3 / 55
Planeamento Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Planeamento
Sum´ario Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 5 / 55
Hoje:
Comunica¸c˜ao S´erie vs. Paralela
Sincroniza¸c˜ao
Comunica¸c˜ao S´erie S´ıncrona
◮ Barramento SPI
◮ Barramento I2C
Comunica¸c˜ao S´erie Ass´ıncrona
◮ Norma RS-232
Bibliografia:
• Sec¸c˜oes 14.4
Comunica¸c˜
ao S´
erie vs. Paralela
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima AulaComunica¸c˜ao S´erie e Paralela Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 7 / 55
Comunica¸c˜ao Paralela: v´arios bit s˜ao enviados simultaneamente.
Comunica¸c˜ao S´erie e Paralela
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao Paralela: v´arios bit s˜ao enviados simultaneamente.
Comunica¸c˜ao S´erie e Paralela Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 7 / 55
Comunica¸c˜ao Paralela: v´arios bit s˜ao enviados simultaneamente.
Comunica¸c˜ao S´erie: apenas um bit ´e enviado de cada vez.
Vantagens da comunica¸c˜ao s´erie face `a comunica¸c˜ao paralela:
Mais barato!
Permite liga¸c˜ao atrav´es de redes de comunica¸c˜ao existentes (ex. rede telef´onica)
Evita problemas de sincroniza¸c˜ao entre as diferentes linhas de dados Comunica¸c˜ao Paralela Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula EXEMPLO:
Perif´erico de entrada con-stitu´ıdo por um conjunto de interruptores
↓
A entrada de dados faz-se atrav´es de uma instru¸c˜ao de entrada de dados (IN) di-rigida ao porto ligado aos interruptores
Comunica¸c˜ao Paralela Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 9 / 55
EXEMPLO:
Perif´erico de sa´ıda con-stitu´ıdo por um conjunto de LEDs
↓
A sa´ıda de dados faz-se atrav´es de uma instru¸c˜ao de sa´ıda de dados (OUT) di-rigida ao porto ligado aos LEDs ↓ Necessidade de um reg-isto de sa´ıda Porquˆe? Comunica¸c˜ao Paralela Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Exemplo: liga¸c˜ao a um conversor digital/anal´ogico (D/A) e a um conversor anal´ogico/digital (A/D)
Comunica¸c˜ao S´erie Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 11 / 55
Comunica¸c˜ao S´erie: apenas um bit ´e enviado de cada vez;
Comunica¸c˜ao S´erie Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao S´erie: apenas um bit ´e enviado de cada vez;
Interface estruturada em torno de um registo de deslocamento:
◮ Registo de carregamento paralelo, sa´ıda s´erie
Sentido da Comunica¸c˜ao Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 12 / 55
Trˆes tipos de liga¸c˜ao:
◮ Simplex - Quando a comunica¸c˜ao se faz apenas numa direc¸c˜ao;
◮ Half-Duplex - Quando a comunica¸c˜ao se realiza nos dois sentidos, mas n˜ao simultaneamente;
◮ Full-Duplex - Quando a comunica¸c˜ao se realiza nos dois sentidos e em simultˆaneo.
Sincroniza¸c˜
ao
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima AulaSincroniza¸c˜ao Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 14 / 55
Sincroniza¸c˜ao: permite coordenar a transferˆencia de informa¸c˜ao, garantindo que:
◮ A entidade que recebe informa¸c˜ao ´e sinalizada de que a entidade que a envia tem informa¸c˜ao dispon´ıvel no barramento de interliga¸c˜ao;
◮ A entidade que envia recebe uma confirma¸c˜ao expl´ıcita de que essa informa¸c˜ao foi recebida.
Sincroniza¸c˜ao Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Tipo de interface:
◮ Ass´ıncrona - n˜ao existe transferˆencia de um sinal de rel´ogio entre a interface e o perif´erico;
◮ S´ıncrona - duas alternativas:
• existe um “rel´ogio comum” `a interface e ao perif´erico;
• ´e poss´ıvel inferir o sinal de rel´ogio a partir dos bits de dados recebidos pelo receptor.
Sincroniza¸c˜ao por Impulso Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 16 / 55
Comunica¸c˜ao ass´ıncrona comandada pelo emissor:
Dados
DOUTVAL
1 2 3 4
1. dados s˜ao escritos no registo; 2. a escrita ´e assinalada ao perif´erico;
3. o perif´erico guarda a palavra e fica a aguardar nova escrita;
4. o ciclo recome¸ca.
Sincroniza¸c˜ao por Impulso Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao ass´ıncrona comandada pelo receptor:
Dados
SendData
1 2 3 4
1. o destinat´ario dos dados pede que eles sejam enviados; 2. a fonte dos dados coloca-os no barramento;
3. o destinat´ario assumiu que os dados estavam presentes e armazenou-os;
Sincroniza¸c˜ao por Impulso Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 18 / 55
Comandado pelo emissor:
Dados
DOUTVAL
1 2 3 4
Comandado pelo receptor:
Dados
SendData
1 2 3 4
Problema: tem de haver um conhecimento impl´ıcito das temporiza¸c˜oes dos interlocutores
◮ N˜ao h´a nenhuma confirma¸c˜ao expl´ıcita de que a comunica¸c˜ao se realizou com ˆexito.
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Na sincroniza¸c˜ao por impulso tem de haver, impl´ıcito nas interfaces, um conhecimento das temporiza¸c˜oes dos interlocutores
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 19 / 55
Na sincroniza¸c˜ao por impulso tem de haver, impl´ıcito nas interfaces, um conhecimento das temporiza¸c˜oes dos interlocutores
Problema: Em algumas aplica¸c˜oes ´e imposs´ıvel ter esse
conhecimento porque n˜ao se conhece as caracter´ısticas temporais do perif´erico a que uma interface pode ser ligada
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Na sincroniza¸c˜ao por impulso tem de haver, impl´ıcito nas interfaces, um conhecimento das temporiza¸c˜oes dos interlocutores
Problema: Em algumas aplica¸c˜oes ´e imposs´ıvel ter esse
conhecimento porque n˜ao se conhece as caracter´ısticas temporais do perif´erico a que uma interface pode ser ligada
↓
Solu¸c˜ao: tem de existir, na comunica¸c˜ao entre a interface e o perif´erico, n˜ao s´o a indica¸c˜ao da entidade geradora de dados que estes se encontram dispon´ıveis, mas tamb´em, por parte da entidade destinat´aria, a indica¸c˜ao de que os dados foram recebidos
↓
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 20 / 55
Protocolos de Handshake:
◮ A entidade geradora de dados sinaliza que os dados est˜ao dispon´ıveis (DADVAL);
◮ A entidade receptora sinaliza que os dados foram aceites (ACK).
A sinaliza¸c˜ao pode ser feita quer por impulsos quer por mudan¸cas de n´ıvel de uma linha
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Handshake Simples: Dados DADVAL 1 2 3 4 ACK
Dados a enviar Dados a enviar
56 7
1. os dados a enviar s˜ao colocados no barramento; 2. o emissor muda o n´ıvel da linha DADVAL;
3. a entidade receptora reconhece a recep¸c˜ao, alterando o n´ıvel da linha ACK
5-7. o ciclo repete-se.
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 22 / 55
Handshake Duplo
◮ Para al´em da capacidade de dar `a entidade geradora de dados a confirma¸c˜ao de que a entidade receptora recebeu os dados, garante-se ainda que a entidade receptora ´e sinalizada de que a entidade emissora recebeu aquela confirma¸c˜ao
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Handshake Duplo, comandado pelo emissor:
Dados DADVAL 1 2 3 4 ACK Dados a enviar 5 6
1. os dados s˜ao disponibilizados;
2. o emissor muda o n´ıvel da linha DADVAL;
3. a entidade receptora reconhece a recep¸c˜ao, alterando o n´ıvel
da linha ACK;
4. a entidade emissora pode, a partir de agora, desactivar a linha
DADVAL, indicando ao receptor que tomou conhecimento da sua confirma¸c˜ao;
Sincroniza¸c˜ao por Handshake Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 24 / 55
Handshake Duplo, comandado pelo receptor:
Dados DADVAL 1 2 3 4 PEDDAD Dados a r eceber 5 6
1. a entidade receptora inicia o ciclo, pedindo dados `a entidade
emissora activando a linha PEDDAD
2. a entidade emissora coloca dados v´alidos no barramento;
3. a entidade emissora activa a linha DADVAL, avisando o
receptor;
4. a entidade receptora terminou a leitura dos dados e informa o
emissor que j´a n˜ao precisa deles;
5. a entidade emissora confirma, desactivando a linha que
indicava que os dados estavam v´alidos;
6. o emissor pode retirar os dados do barramento.
Interfaces S´ıncronas Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Os protocolos de handshake descritos permitem a utiliza¸c˜ao fi´avel de uma interface ass´ıncrona (sem rel´ogio):
Protocolos ass´ıncronos adaptam-se naturalmente `a velocidade dos perif´ericos
Interfaces S´ıncronas Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 25 / 55
Os protocolos de handshake descritos permitem a utiliza¸c˜ao fi´avel de uma interface ass´ıncrona (sem rel´ogio):
Protocolos ass´ıncronos adaptam-se naturalmente `a velocidade dos perif´ericos
Numa comunica¸c˜ao s´ıncrona, o sinal de rel´ogio tem que ser enviado juntamente com os dados:
Protocolos s´ıncronos s˜ao mais simples de usar do ponto de vista externo, mas do lado da interface h´a o problema de conciliar velocidades de rel´ogio diferentes entre o processador e o perif´erico
Protocolos s´ıncronos tˆem a velocidade limitada pelo clock skew: poss´ıvel adiantamento ou atraso do sinal de rel´ogio
Comunica¸c˜
ao S´
erie S´ıncrona
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 27 / 55
Comunica¸c˜ao S´ıncrona: o emissor e o receptor est˜ao s´ıncronos atrav´es do mesmo sinal de rel´ogio
↓
N˜ao h´a escorregamento da amostragem
Como?
◮ Rel´ogio transmitido por uma linha pr´opria
◮ E transmitida informa¸c˜ao adicional (junto com os dados)´ que permite a reconstru¸c˜ao precisa do rel´ogio no receptor
Vantagens: pode transmitir-se informa¸c˜ao de forma cont´ınua (sem a necessidade de per´ıodos de guarda)
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Protocolos de Comunica¸c˜ao: regem a forma como a transmiss˜ao de dados ´e feita (endere¸camento, detec¸c˜ao do estado de repouso, etc.)
◮ Protocolos orientados ao bit - n˜ao h´a a no¸c˜ao de caracter;
◮ Protocolos orientados ao caracter - assume-se que a informa¸c˜ao ´util ´e constitu´ıda por um texto (ex: ASCII) e por alguns caracteres de controlo.
SYN SOH Cabeçalho STX Texto ETX BCC 1 carácter
t caracteres h caracteres
C´odigo ASCII Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 29 / 55
b6b5b4 000 001 010 011 100 101 110 111 b3b2b1b0 0000 NUL DLE SP 0 @ P ‘ p 0001 STH DC1 ! 1 A Q a q 0010 STX DC2 ” 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB ’ 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB ∗ : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS , < L \ l | 1101 CR GS − = M ] m } 1110 SO RS . > N ˆ n ˜ 1111 SI US / ? O o DEL
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Protocolo orientado ao caracter:
SYN SOH Cabeçalho STX Texto ETX BCC 1 carácter
t caracteres h caracteres
... SYN ...
◮ SYN (synchronization) - enviado na ausˆencia de dados
◮ SOH (start of header)
◮ STX (start of text)
◮ ETX (end of text)
◮ BCC (block check character) - detec¸c˜ao de erros de
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 30 / 55
Protocolo orientado ao caracter:
SYN SOH Cabeçalho STX Texto ETX BCC 1 carácter
t caracteres h caracteres
... SYN ...
◮ SYN (synchronization) - enviado na ausˆencia de dados
◮ SOH (start of header)
◮ STX (start of text)
◮ ETX (end of text)
◮ BCC (block check character) - detec¸c˜ao de erros de
transmiss˜ao
Problema: como se envia informa¸c˜ao n˜ao textual (ex: fotografia, programas, etc.)?
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Protocolo orientado ao bit: n˜ao h´a a no¸c˜ao de caracter:
◮ Quando n˜ao h´a informa¸c˜ao ´util a transmitir, a entidade emissora transmite continuamente uma sequˆencia de bits chamada flag (ex: 01111110)
◮ Quando surgem dados para transmitir, transmite-se um cabe¸calho (comprimento fixo), o corpo de dados, um bloco de verifica¸c˜ao de erros (CRC) e a sequˆencia de flag
Flag Cabeçalho Informação 1 octeto
n bits
... CRC Flag ...
h bits 2 octetos
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 32 / 55
Protocolo orientado ao bit:
Flag Cabeçalho Informação 1 octeto
n bits
... CRC Flag ...
h bits 2 octetos
Flag: 01111110
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Protocolo orientado ao bit:
Flag Cabeçalho Informação 1 octeto
n bits
... CRC Flag ...
h bits 2 octetos
Flag: 01111110
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 32 / 55
Protocolo orientado ao bit:
Flag Cabeçalho Informação 1 octeto
n bits
... CRC Flag ...
h bits 2 octetos
Flag: 01111110
E se os dados incluirem um padr˜ao igual `a flag ?
Bit Stuffing:
◮ No emissor: inserir um 0 a seguir a todas as sequˆencias de 5 uns.
◮ No receptor: ap´os 5 uns, se o bit que chega for 0, ignorar, caso contr´ario detec¸c˜ao da flag.
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Protocolo orientado ao bit - Exemplos:
◮ Sequˆencia a transmitir:
01010011010111111111110110101
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 33 / 55
Protocolo orientado ao bit - Exemplos:
◮ Sequˆencia a transmitir:
01010011010111111111110110101
◮ Sequˆencia transmitida:
01111110010100110101111101111101011010101111110
Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Exemplos de barramentos s´erie s´ıncronos adoptados em sistemas embebidos:
◮ SPI - Serial Peripheral Interface Bus
Barramento SPI Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 35 / 55
Apenas 4 linhas de comunica¸c˜ao:
SCLK - Serial Clock: sinal de rel´ogio enviado do master para
todos os slaves - todos os sinais do barramento s˜ao s´ıncronos com este rel´ogio;
SSn - Slave Select: utilizado para seleccionar qual dos slaves ser´a
o receptor;
MOSI - Master Out - Slave In: linha de dados (1-bit) do master
para o slave;
MISO - Master In - Slave Out: linha de dados (1-bit) do slave
para o master. Barramento SPI Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Um ´unico master, que inicia a comunica¸c˜ao com os slaves:
Selecciona o slave, atrav´es da linha SSn (a LOW);
“Gera” o sinal de rel´ogio, de acordo com as especifica¸c˜oes de ambos;
A comunica¸c˜ao ´e full-duplex, utilizando as linhas MOSI e MISO.
Barramento SPI Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 37 / 55
Linhas de dados mudam no flanco descendente do rel´ogio e s˜ao amostradas no flanco ascendente;
N˜ao h´a: ritmo m´aximo definido ou mecanismos de
acknowledgment - parˆametros ajustados a cada aplica¸c˜ao;
Protocolo: pode ser orientado ao bit ou ao caracter.
Barramento I2C Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Barramento I2C:
Barramento I2C Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 39 / 55
Barramento multi-master , com funcionamento half-duplex, implementado com apenas 2 linhas:
◮ SDA - Serial Data;
◮ SCL - Serial Clock.
N˜ao h´a qualquer linha para selec¸c˜ao do receptor: podem ligar-se um n´umero arbitr´ario de masters/slaves, atrav´es de um esquema de endere¸camento;
Todo o protocolo ´e implementado na linha de dados SDA:
Exemplos: Barramento I2C Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Acesso ao barramento:
Condi¸c˜ao START: o master coloca a linha SDA a LOW, colocando depois a linha de rel´ogio a LOW. Esta condi¸c˜ao faz com que todos os dispositivos ligados ao barramento passem a ler os valores que a´ı ser˜ao colocados.
Condi¸c˜ao STOP: enviada para o barramento apenas ap´os o final da mensagem. O master come¸ca por libertar a linha SCL (colocando-a a HIGH) e liberta depois a linha SDA. A
Barramento I2C Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 41 / 55
O que acontece se 2 dispositivos tentarem colocar informa¸c˜ao
(em simultˆaneo) nas linhas SDA/SCL?
Devido `a forma como o barramento ´e implementado, caso mais do
que um n´ıvel l´ogico (HIGH ou LOW) seja colocado na linha, o valor que prevalece ser´a o LOW;
Quando escrevem na linha SDA, todos os candidatos a master
verificam se o valor que fica na linha ´e o mesmo que eles pretendem escrever;
Em caso de divergˆencia de valores (i.e.: escreveu HIGH mas ficou
LOW na linha), significa que houve uma colis˜ao e que outro dispositivo ganhou a posse do barramento (tornou-se o master activo);
Todos os outros deixam de tentar escrever no barramento,
passando a ser slaves.
Comunica¸c˜
ao S´
erie Ass´ıncrona
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 43 / 55
Comunica¸c˜ao S´erie Ass´ıncrona:
◮ Baixa complexidade
◮ N˜ao ´e transmitido qualquer sinal de rel´ogio
◮ Poss´ıvel gra¸cas `a existˆencia de um rel´ogio (interno) do lado do emissor e do lado do receptor com frequˆencias t˜ao pr´oximas quanto poss´ıvel
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Comunica¸c˜ao S´erie Ass´ıncrona:
◮ Baixa complexidade
◮ N˜ao ´e transmitido qualquer sinal de rel´ogio
◮ Poss´ıvel gra¸cas `a existˆencia de um rel´ogio (interno) do lado do emissor e do lado do receptor com frequˆencias t˜ao pr´oximas quanto poss´ıvel
↓
O receptor, usando o rel´ogio local, vai amostrar o n´ıvel da linha em intervalos sucessivos, separados pela dura¸c˜ao do bit
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 44 / 55
Problema: quando os 2 rel´ogios n˜ao s˜ao exactamente iguais, ao fim de alguns bits corre-se o risco de que um dos bits recebidos n˜ao seja lido ou seja lido duas vezes:
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Problema: quando os 2 rel´ogios n˜ao s˜ao exactamente iguais, ao fim de alguns bits corre-se o risco de que um dos bits recebidos n˜ao seja lido ou seja lido duas vezes:
→ o no de bits a enviar de cada vez deve ser reduzido (ex:
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 44 / 55
Problema: quando os 2 rel´ogios n˜ao s˜ao exactamente iguais, ao fim de alguns bits corre-se o risco de que um dos bits recebidos n˜ao seja lido ou seja lido duas vezes:
→ o no de bits a enviar de cada vez deve ser reduzido (ex: um caracter de cada vez)
Problema: como se distinguem os bits de uma nova sequˆencia?
→ Sincroniza¸c˜ao ao n´ıvel do caracter
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Exemplos de normas de comunica¸c˜ao s´erie ass´ıncrona adoptadas em sistemas embebidos:
◮ RS-232
Comunica¸c˜ao S´erie Ass´ıncrona Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 46 / 55
Exemplos de normas de comunica¸c˜ao s´erie ass´ıncrona adoptadas em sistemas embebidos:
◮ RS-232 ◮ RS-485, etc Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula Especifica¸c˜oes: ◮ N´ıveis de tens˜ao: • LOW: +3 V ... +15 V • HIGH: -3 V ... -15 V
(pode necessitar de conversores para ligar `as sa´ıdas dos processadores)
◮ Distˆancia m´ax.: 15m
Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 48 / 55
Bit de arranque Bits de informação Duração de um bit Pontos de amostragem
Bit de paridade
Bits de guarda Aqui pode iniciar-se outra transmissão
1. A linha de transmiss˜ao permanece no n´ıvel H quando n˜ao est˜ao a
ser transmitidos dados;
2. Quando surgem dados para transmiss˜ao, a linha passa
obrigatoriamente para o n´ıvel oposto (L)→ Bit de Arranque ou
Start Bit
3. O receptor calcula os instantes correspondentes ao meio do tempo
de dura¸c˜ao dos bits transmitidos → Leitura dos bits de dados
(ex: assume-se que o bit mais significativo ´e transmitido em 1o
lugar) Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Bit de arranque Bits de informação Duração de um bit Pontos de amostragem
Bit de paridade
Bits de guarda Aqui pode iniciar-se outra transmissão
4. Pode ser enviado um bit suplementar que indica a paridade dos
bits de dados transmitidos → Bit de Paridade ou Parity Bit.
Este bit toma o valor necess´ario para fazer com que a paridade do
conjunto {bits de dados + bit paridade} seja a desejada
↓
Se o receptor verificar que a paridade da sequˆencia pedida est´a
errada → Detec¸c˜ao de erro de transmiss˜ao
Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 49 / 55
Bit de arranque Bits de informação Duração de um bit Pontos de amostragem
Bit de paridade
Bits de guarda Aqui pode iniciar-se outra transmissão
Problema: Nem todos os bits transmitidos s˜ao ´uteis:
◮ Bit(s) de arranque
◮ Bit de paridade
◮ Bit(s) de guarda
Velocidade de transmiss˜ao: quantidade de bits (´uteis e n˜ao ´uteis) transmitidos por segundo (bit/s)
Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Bit de arranque Bits de informação Duração de um bit Pontos de amostragem
Bit de paridade
Bits de guarda Aqui pode iniciar-se outra transmissão
Configura¸c˜oes t´ıpicas:
◮ 1 ou 2 bit(s) de arranque
◮ 7 ou 8 bits de dados
◮ 1 bit de paridade par ou paridade ´ımpar
◮ 1 ou 2 bit(s) de guarda
Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 51 / 55
Universal Synchronous Asynchronous Receiver Transmitter (USART) - implementa a convers˜ao dos dados entre os formatos paralelo (do lado do processador) e s´erie (do lado da linha de
transmiss˜ao), bem como todo um conjunto de mecanismos de controlo do fluxo de comunica¸c˜ao. Norma RS-232 Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Universal Synchronous Asynchronous Receiver Transmitter (USART) - implementa a convers˜ao dos dados entre os formatos paralelo (do lado do processador) e s´erie (do lado da linha de
transmiss˜ao), bem como todo um conjunto de mecanismos de controlo do fluxo de comunica¸c˜ao.
Pr´
oxima Aula
Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima AulaProf. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 53 / 55
Pr´oxima Aula Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Sistema de Interrup¸c˜oes
Modos de Transferˆencia de Dados:
◮ Transferˆencia sob controlo do programa
◮ Transferˆencia por interrup¸c˜ao
◮ Transferˆencia por DMA
• Estrutura interna
• Modo de funcionamento
Nota de Agradecimento Comunica¸c˜ao S´erie vs. Paralela Sincroniza¸c˜ao Comunica¸c˜ao S´erie S´ıncrona Comunica¸c˜ao S´erie Ass´ıncrona Pr´oxima Aula
Prof. Nuno Roma ACom 2015/16 (MEAer) - DEEC-IST 55 / 55
Agradecimento
Algumas p´aginas desta apresenta¸c˜ao foram extraidas de:
[1] Jos´e Carlos Monteiro, “Arquitectura de Computadores”, Instituto Superior T´ecnico (IST), Universidade T´ecnica de Lisboa, Portugal, 2010.