Engenharia de Domínio para abstrações IrDA no EPOS

 

1. O padrão IrDA (Infrared Data Association)

São padrões definidos pelo IrDA Consortium que especificam meios para transferir dados via radiação infra-vermelha.As especificações IrDA incluem padrões tanto para os dispositivos físicos quanto para os protocolos utilizados na sua intercomunicação.

Estão divididos basicamente em duas grandes famílias de padrões:

IrDA DATA - consiste num sistema de transmissão de dados ponto-a-ponto orientado a arquivos recomendado para curtas distâncias e altas velocidades de transmissão. Opera com alcance máximo de 1 metro e velocidades de 9.600 bps a 16 Mb/s.

IrDA CONTROL - consiste numa arquitetura orientada a comando e controle para a comunicação de um host device com dispositivos de entrada sem fio como mouses, teclados, gamepads, etc. É um sistema especificamente orientado a control data packets e não a arquivos. Seu propósito é passar pequenos pacotes de controle entre um dispositivo host e um dispositivo de entrada remoto. Opera com alcance máximo de 7 metros e velocidade de transmissão de até 75 kb/s.

Neste projeto usaremos o padrão IrDA DATA que consiste de uma pilha de protocolos semelhante a pilha TCP/IP.

 

2. A pilha de protocolos do padrão IrDA DATA

Abaixo apresentamos as camadas que compõem a pilha do padrão IrDA. As protocolos estão dividos em dois grupos: requeridos e opcionais.

Protocolos mínimos requeridos:

Physical Layer: Especifica características óticas, codificação do dados e o suporte a várias velocidades.

IrLAP (Link Access Protocol) : Estabelece uma conexão básica confiável.(Semelhante ao protocolo IP)

IrLMP(Link Management Protocol) : Faz multiplexamento de serviços e aplicações na conexão fornecida pelo LAP.(Semelhante ao conceito de sockets na comunicação TCP/IP)

IAS(Information Access Service) : Provém serviços de informações sobre protocolos e serviços(Semelhante ao DNS)

 

Protocolos opcionais:

Tiny TP - provides flow control on IrLMP connections with an optional Segmentation and Reassembly service.    

IrCOMM - provides COM (serial and parallel) port emulation for legacy COM applications, printing and modem devices.

OBEX - provides object exchange services similar to HTTP.

IrDA Lite - provides methods of reducing the size of IrDA code while maintaining compatibility with full implementations.

 IrTran-P - provides image exchange protocol used in Digital Image capture devices/cameras.

 IrMC - specifications on how mobile telephony and communication devices can exchange information. This includes phonebook, calendar, and message data. Also how call control and real-time voice are handled (RTCON) calendar.

 IrLAN - Describes a protocol used to support IR wireless access to local area networks.

Devido a complexidade do padrão e falta de tempo hábil, neste trabalho iremos implementar apenas a interface com a camada física para o EPOS.

3. A camada física

    Existem basicamente três especificações no padrão para métodos de transmissão a nível físico de acordo com o modo de transmissão e a velocidade requeridas :

 

 

 

 

 

    Nesta implementação utilizaremos o método SIR Assíncrono utlizando o chip UART para transmitir os dados ao dispositivo IrDA.

 

4. Abstrações IrDA no EPOS

 

Diagrama de Dependências de IR_Device

 

 

Diagrama de Dependências de Basic_IR_Device

 

 

 

Diagrama de Classes abstrações IrDA

 

Diagrama do Mediator IR_Comm_Controller

 

 

Implementação das abstrações IrDA no EPOS

1. Alterações na modelagem

Diagrama de Classes abstrações IrDA

 

Diagrama do Mediator SIR_8250

 

2. Fontes

 

assync_sir_device.h

 

assync_sir_device.cc

 

sir_8250.h

 

sir_8250.cc