• Nenhum resultado encontrado

4 O Perif´erico

4.1.2 Comunicac¸˜ao com o Computador

Os dados adquiridos pelos receptores infravermelho ser˜ao, posteriormente, transmi- tidos em seq¨uˆencia ao computador atrav´es de uma comunicac¸˜ao serial. Esse tipo de comunicac¸˜ao, al´em do seu baix´ıssimo custo de implementac¸˜ao, ´e encontrado em pratica- mente todos os computadores do tipo PC para transmiss˜ao de dados a baixas velocidades (na ordem de Kbps), n˜ao requerendo a compra de hardware adicional para o seu uso. Al´em disso, um cabo de comunicac¸˜ao serial entre 1,5 m e 3 m ´e suficiente para conectar os componentes no n´ıvel f´ısico, permitindo o seu uso ao lado de outros perif´ericos de entrada de dados como teclado e mouse.

Assim como qualquer outro tipo de comunicac¸˜ao, ´e necess´ario estipular alguns parˆa- metros para controle da transmiss˜ao l´ogica dos dados. Em primeiro lugar, a sincronizac¸˜ao da comunicac¸˜ao: devido ao fato dos dados serem enviados sempre em mesma quantidade (o valor de todos os receptores) e em um intervalo regular de tempo, assume-se uma transmiss˜ao regular dos dados. Isso permitir´a uma transmiss˜ao compassada de dados sem a necessidade constante de sincronizac¸˜ao da comunicac¸˜ao - o que poderia nesse caso at´e mesmo atras´a-la (por causa das mensagens de controle de transmiss˜ao e recepc¸˜ao).

O Protocolo de Comunicac¸˜ao

Al´em dos dados propriamente ditos, ser˜ao necess´arios alguns bits adicionais para ga- rantir o “compasso” da comunicac¸˜ao. Esse conjunto de bits, denominado preˆambulo, marca o in´ıcio dos dados a serem processados. Para o device driver reconhecˆe-lo, ´e atribu´ıdo um valor padr˜ao de bits de dif´ıcil ocorrˆencia em outro trecho de cada pacote de dados: 10101010. Essa seq¨uˆencia, quando recebida pelo device driver, ser´a facil- mente identificada e preparar´a o programa a receber o conjunto de dados referentes aos fotorreceptores.4

H´a tamb´em bits reservados, que poder˜ao futuramente servir para outros prop´ositos (vislumbram-se outras formas de utilizar o dispositivo, como por exemplo utilizar diversas unidades de COLM ´EIA conectadas a um ´unico computador - devidamente identificadas

atrav´es de um c´odigo ou ID), tˆem seu espac¸o reservado ap´os os dados. Atualmente, por n˜ao possuir utilidade pr´atica, ser´a preenchido de 0s (zeros). O protocolo completo de comunicac¸˜ao pode ser visualizado na Figura 8.

Preˆambulo Dados Bits reservados

(8 bits) (50 bits) (6 bits)

Figura 8: Protocolo de comunicac¸˜ao serial

Assim, o preˆambulo contendo 8 bits, o campo de dados 50 e os bits reservados 6, chega-se ao valor de 64 bits para o pacote completo de dados que ´e transmitido em um intervalo regular de tempo. A partir desse n´umero, ´e poss´ıvel calcular a velocidade de transmiss˜ao entre o dispositivo e computador atrav´es da comunicac¸˜ao serial.

Esse protocolo, assim definido, traz uma grande facilidade t´ecnica: dispensam-se os comandos ou processos de iniciac¸˜ao (ou inicializac¸˜ao) do dispositivo f´ısico - como ocorre com o teclado, por exemplo - quando esse ´e conectado ao computador. Isso significa que, uma vez em operac¸˜ao o device driver da COLM ´EIA, o perif´erico pode ser conectado e

desconectado do computador sem implicar em problemas decorrentes dessa pr´atica (efeito plug’n’play).

Velocidade de Transmiss˜ao

Quanto `a velocidade de transmiss˜ao dos dados ao computador, deve ser estabelecido um valor que atenda `as necessidades do dispositivo sem comprometer o rendimento glo- bal do computador - por excesso de carga. Nas telas sens´ıveis ao toque, a taxa de envio dos pacotes ao computador ´e de 50 pacotes por segundo, ou um a cada 20 ms (3M, 2001). Utilizando esse valor como parˆametro para pacotes de 64 bits, ´e necess´aria uma veloci- dade m´ınima de 3200 bps. Como a comunicac¸˜ao serial em PCs baseia-se, geralmente, em m´ultiplos de 1200 (1200, 2400, 4800, 9600 e 19200), utilizar-se-´a, a priori, o pr´oximo valor da escala: 4800 bps. Assim, garante-se at´e mesmo uma margem contra falhas even- tuais de comunicac¸˜ao, basta sincronizar uma primeira vez os bits para, em seguida, utilizar o meio de entrada de dados conforme a configurac¸˜ao preestabelecida.

4.2

Correc¸˜ao de Erros de Acesso

Assim como em qualquer outro sistema constitu´ıdo de uma matriz de emissores/re- ceptores e ativado por obstruc¸˜ao (o presente estudo contempla apenas um tipo por con- siderar os demais n˜ao enquadrados no escopo do projeto), este tamb´em apresenta s´erias restric¸˜oes de signo composto por causa da estrutura das c´elulas em matriz. A perda mo- mentˆanea de acessos pode inviabilizar o uso corriqueiro desse tipo de perif´erico, conforme demonstra a equac¸˜ao 4.1.

perda <= (acessos − 1) ∗ 2 (4.1) Na pr´atica, significa que a cada acesso adicional, podem ser “sombreados” outros dois pontos de acesso, identificando de forma equivocada dois acesso n˜ao realizados, totalizando quatro pontos.

Na Figura 9, os pontos 2.14 (i) e 6.11 (ii), quando acessados simultaneamente, podem gerar outros dois pontos de acesso: 2.11 e 6.14, formando exatamente os v´ertices de um retˆangulo.

Embora parec¸a bastante raro o caso de trˆes ou mais acessos simultˆaneos, isso pode acontecer. Tomemos como exemplo uma caneta como objeto apontador: se essa for colo- cada em posic¸˜ao horizontal ao plano e diagonalmente sobre a matriz, ao inv´es de marcar

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 1 ← 2 iii i ← 3 ← 4 ← 5 ← 6 ii iv ← 7 ← 8 ← 9 10 11 12 13 14 15 16

Figura 9: Dois acessos simultˆaneos no sistema por infravermelho.

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

1 ←

2 ←

3 ix viii vii vi i

4 xiii xii xi ii x ←

5 xvii xvi iii xv xiv ←

6 xxi iv xx xix xviii ←

7 v xxv xxiv xxiii xxii ←

8 ←

9 10 11 12 13 14 15 16

Figura 10: M´ultiplo acesso provocado por objeto: o retˆangulo 3.10-7.14.

uma semi-reta em diagonal estar´a delimitando o acesso de todo um retˆangulo onde dois de seus v´ertices s˜ao as extremidades do objeto. A Figura 10 ilustra esse exemplo, onde se forma o quadrado de 25 acessos 3.10 a 7.14.

Uma das poss´ıveis soluc¸˜oes para resolver esse problema, em n´ıvel de hardware, ´e aumentar a taxa de varredura para evitar o acesso simultˆaneo, coletando assim os acessos nas c´elulas em um tempo curto o bastante para evitar o acesso combinado simultˆaneo sem comprometer o acesso combinado seq¨uencial. Assim como no teclado convencional, estabelece-se uma ordem de varredura e, em seguida, essa varredura ´e feita ordenada- mente, prevenindo que duas c´elulas, ou teclas, sejam acionadas num mesmo intervalo de tempo, preservando o acesso por tempo indeterminado. Para ilustrar essa situac¸˜ao em um teclado, tem-se a tecla Shift que, uma vez acionada, pode ficar indefinidamente pressionada. Em seguida, com a tecla a tamb´em pressionada, ´e enviado o s´ımbolo A ao SO. Durante todo esse processo, Shift manteve seu estado original sem sofrer alterac¸˜oes oriundas das outras teclas, inclusive de a. Ao transportar essa mesma situac¸˜ao para o

sistema por infravermelho, n˜ao ser´a poss´ıvel, sem uma devida filtragem de erros, manter o estado de Shift inalterado.

Como o valor estimado inicialmente para a velocidade de transmiss˜ao foi de 50 pa- cotes por segundo a 4800 bps, para garantir o acesso combinado apenas seq¨uencial ser´a estipulado o tempo de 100 pacotes por segundo a 9600 bps, duplicando a transmiss˜ao de dados e minimizando as possibilidades de acessos simultˆaneos. No cap´ıtulo seguinte, referente ao device driver da COLM ´EIA, ser´a abordada a segunda parte dessa soluc¸˜ao.

Documentos relacionados