Radio Interface Layer

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Este artigo não cita fontes confiáveis e independentes. (desde novembro de 2009). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)
Ambox rewrite.svg
Esta página precisa ser reciclada de acordo com o livro de estilo (desde novembro de 2009).
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.

O RIL – Radio Interface Layer (RIL) faz a comunicação entre o sistema de software e a pilha de rádio. O sistema de software inclui todos os elementos do sistema de operação (Windows Mobile), como TAPI (Telephone Application Programming Interface: padrão para funcionalidades de telefonia em sistemas convergentes no sistema operacional Windows.), EXTAPI, SIM manager, SMS manager, dialler (“discador”). O sistema RIL é usado por funções de rádio como voz, SMS, etc. e fornece notificações a respeito de mudanças no sistema, como “potência” do sinal, cobertura, ligações de voz e mensagens SMS que ainda estão chegando, etc. Cada função ou serviço de telefonia no Windows Mobile (WM) é independente do modem.

Arquitetura do telefone[editar | editar código-fonte]

Arquitetura telefone.png

O RIL é estruturado de maneira a oferecer ao WM uma interface padrão, conjunto API (Application Programming Interface ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. É composta por uma série de funções acessíveis que permitem utilizar características do software. Por exemplo, um sistema operacional possui uma grande quantidade de funções na API, que permitem ao programador criar janelas, acessar arquivos, criptografar dados, etc. Mas a API dos sistemas operacionais costumam ser dissociada de tarefas mais essenciais, como manipulação de blocos de memória e acesso a dispositivos. Estas tarefas são atributos do núcleo do sistema, e raramente são programáveis e mecanismos de retorno que podem ser usados através de diferentes plataformas, sem que o sistema entre em detalhes específicos.

RIL Proxy interface.png


Toda interação entre o WM e a pilha de rádio é feita pelo RIL, exceto a conexão PPP (Point-to-Point Protocol: É um dos protocolos usados para fazer a conexão IP por via de uma linha telefônica. O PPP é muito útil para navegadores gráficos.), que organiza a conexão e então passa para a RIL para permitir conexão direta com a porta serial virtual do modem. O RIL permite a abstração de hardware, aceitando pedidos de serviço das camadas superiores, principalmente TAPI e ExTAPI e converte esses pedidos em comandos suportados pelo modem, intercâmbio de informação através de um modem / interface do processador. O projeto do sistema original do modem tem um único canal de comunicação sobre os comandos AT e os dados, exigindo um demorado mecanismo de comutação entre o modo de comando e modo de dados, permitindo apenas processos simples de ser ativado em qualquer momento. Avanços nas redes, ou seja: 2,5 G e 3G, agora oferecem vários serviços simultâneos, como por exemplo: conexão de dados para navegar na web, enviar / receber e-mails; enviar / receber mensagens SMS; fazer / receber chamadas de voz; pesquisa da força do sinal, etc. Avanços da rede têm superado os avanços de interface de modem, a tal ponto que é necessário despender um esforço em maximizar a saída, por exemplo: suporte para um driver de dispositivo multiplexador e o apoio multiplexador no RIL. Isso implicara na evolução da arquitetura do modem. Alguns modems fornecem outras interfaces, por exemplo: alta velocidade do UART, USB, memória compartilhada. Os mesmos princípios se aplicam a alta velocidade do UART e portas USB, o acesso ao modem ainda é através de um padrão driver de dispositivo serial ou USB, sem RIL MUX específicos ou funções relacionadas. A implementação de memória compartilhada exige mudanças consideráveis para o RIL e está fora do objetivo deste documento. Os métodos da interface mais simples são aqueles que empregam um UART ou COM como descrito na Figura 3.

Virtual serial port.png
  • Um UART, Uma COM

Esta é a configuração mais simples, utilizando um único UART, resultando em menor custo/beneficio, ligado a uma UART única no modem. Esta configuração não é mais suportado hoje, pois impõe restrições de transferência de 2.5G e 3G, sistemas como o modem deve ser mudado periodicamente entre os dados e modo de comando.

  • Um UART, Dois COM

Esta configuração utiliza uma única UART endereçável através de duas portas seriais lógica e virtual. Isto requer suporte para um multiplexador, tanto no sistema host e do modem em si. Os padrões GSM definem uma especificação de multiplexador o qual é visto no multiplexador portátil de driver de dispositivo. No entanto, nem sempre é necessário combinar as capacidades do multiplexador e de operação com o apoio pelo modem selecionado. Alguns modems podem cumprir integralmente o padrão GSM implementando um subconjunto do padrão GSM e algumas soluções proprietárias. Deve-se fornecer um sistema totalmente funcional com um desempenho aceitável e um conjunto de recursos como a implementação de modem citada.

  • Dois UART, Dois COM

Esta configuração fornece o máximo de desempenho do potencial e o esforço do multiplexador é minimizado. Na prática, o esforço do multiplexador não é um problema quando usado em redes GPRS onde a taxa de transferência máxima raramente excede os 50kbps. No entanto, as redes de alta velocidade como a CDMA, EDGE, W-CDMA são limitadas pelo multiplexador. Cuidados devem ser tomados para garantir as metas de desempenho do produto, e pode ser obtido através da aplicação selecionada. Figura 4 RIL / Modem Interface mostra os detalhes do nível mais baixo de como o RIL se comunica com o modem.

Single dual port.png

Nesta figura pode ver que o RIL não se comunica diretamente com o Modem. O RIL deve adquirir portas COM virtuais (VCP) para uma entrada de um registro permitindo a portabilidade entre plataformas.


Implementação da Plataforma[editar | editar código-fonte]

O código fonte de RIL é fornecido pela Microsoft e encontra-se abaixo de <plataform root folder>\public\cellcore\ril\driver, o qual fornece todos os mecanismos de suporte para o padrão de comando AT. Algumas áreas necessitam de modificações para sua plataforma. Tais como:

  • Gerenciamento de potência
  • Gerenciamento de áudio
  • Tratamento de SMS
  • SIM toolkit
  • Numero próprio

Gerenciamento de potência[editar | editar código-fonte]

O gerenciamento de potência é uma combinação de métodos para cada modem e cada plataforma. Ou seja, por comando AT o dispositivo pode entrar em modo de energia e/ou a plataforma pode fornecer ao hardware o controle de potência para o modem. Cada um desses dois métodos tem os seus próprios tópicos e precisam ser endereçados pelo RIL driver. Opções de comandos AT associados com o gerenciamento de potência são manipuladas pelo RIL. Exemplo: comando AT+CFUN. Chama função SetEquipmentState. A função SetEquipmentState trata alguns parâmetros, como: RIL_EQSTATE_MINIMUM e RIL_EQSTATE_FULL entre outros. Exemplo:
Power manager.png

Gerenciamento de Áudio[editar | editar código-fonte]

O RIL é responsável por ajustar o volume do sinal de voz para o modem e selecionar qual dispositivo de áudio esta sendo usado. Por comando AT pode-se ajustar as configurações de modem, mas para algumas plataformas, pode haver um hardware externo de áudio para esses ajustes e neste caso o RIL precisa ter acesso direto ao hardware ou acessar outro driver de dispositivo. Algumas funções de suporte ao áudio:
Audio manager.png

Tratamento de SMS[editar | editar código-fonte]

O RIL suporta SMS fase 2+ do GSM, entretanto se o modem não suportar, o tratamento de SMS requer modificações.


SIM toolkit (STK)[editar | editar código-fonte]

Pelo STK é possível fazer chamadas e mandar/receber SMS, pois o STK troca mensagens com o celular. O RIL tem funções implementada para alguns tratamentos, como:
STK Code.png

Número Próprio[editar | editar código-fonte]

O RIL pode ser modificado para obter o próprio número pelo SIM. Algumas mudanças em tempo de compilação possibilitam o celular ter uma exibição de seu próprio número e informações adicionais do SIM.
Own number.png

Testando[editar | editar código-fonte]

O teste de RIL é dividido nos seguintes tópicos:

  • Padrão de teste de desenvolvimento
  • Teste de operador
  • Teste LTK (Logo Test KIT)
  • Teste de métrica de qualidade de rádio

Padrão de teste de desenvolvimento[editar | editar código-fonte]

Alguns testes comuns: ligação recebida, sms, notificações de correio de voz durante uma transmissão de dados de conexão GPRS; Perda de cobertura (perda de sinal) durante uma chamada de dados; funcionamento sem SIM Card; Baixa potência durante uma chamada de voz ou dados. Testes repetitivos: 50 ligações de voz sucessivas, envio e recebimento de 50 sms/mms sucessivos verificando e correto recebimento de todos, pagina de internet com atualização automática por 10 horas. É usado emuladores para fazer os testes, como Platform Builder, quais simulam o funcionamento do dispositivo embarcado variando a plataforma usada e as requisições necessárias para o teste.

Novas características no magneto[editar | editar código-fonte]

O mercado de dispositivos móveis está evoluindo rapidamente em todo o mundo com a implantação de uma nova rede tecnologias, e novas aplicações. Para acompanhar o ritmo destas forças de mercado, o software Windows Mobile tem de se adaptar e inovar. A próxima versão do Windows Mobile codinome Magneto irá incluir novas funcionalidades importantes, algumas das quais directamente impacto CellCore e controladores de RIL.

WWAN NDIS Packet Data Interface

O software Windows Mobile está avançando para um modelo sempre ligado para GPRS e conexões de dados 1x. O software do sistema irá manter, dentro de certos parâmetros, que essas conexões de dados constantemente conectadas e disponíveis para utilização por aplicativos. Esta é mais próximo do modelo de uma interface Ethernet ou WiFi tradicionais. Além disso, com o aumento da taxa de pacotes de dados, o overhead associados com o PPP se torna um fator. Por estas razões, a Microsoft está adicionando suporte para conexões sem fio de dados por pacotes para a transição para o Network Driver Interface Specification (NDIS). A Microsoft fornecerá um driver Wireless Wide Area Network (WWAN) para implementação adequada para miniporta para uso com o pacote de interfaces de rádio para celular.

WWAN NDIS Buffer Management

A fim de garantir a alta transferência de pacotes, é importante minimizar o número de cópias do buffer, atribuições, e apagamentos. Por esta razão, a Microsoft tem desenhado a interface, cuidadosamente, entre o WWAN Miniport driver e o driver RIL para permitir a reutilização de buffer, e eliminar a necessidade de copiar buffers de pacotes na memória. RIL drivers devem ser executadas com o mesmo objetivo em mente.

WWAN NDIS Flow Control

O controle de fluxo será usado para impedir a miniporta WWAN de inundar o driver RIL com saída de pacotes.

WWAN NDIS Multiple APN Support

A Microsoft está adicionando suporte no Windows Mobile para vários cenários de conexão de dados. Este inclui suporte para mais de uma conexão GPRS em simultâneo, via pacote NDIS WWAN interface. Drivers RIL irão relatar o número máximo de conexões simultâneas ativas através de um recurso.

Multiple Connection Support

Historicamente o Connection Manager tentou evitar que múltiplas interfaces IP estivessem disponíveis ao mesmo tempo. Isso foi feito por razões de segurança e também para garantir que não haja ambigüidade na forma como os pacotes deverão ser encaminhados. O Connection Manager está sendo redesenhado para oferecer suporte a várias conexões simultâneas de dados. Isto permite vários cenários como conexões GPRS e Wi-Fi.

Secure Connections

Em um ambiente onde há múltiplas interfaces IP disponíveis simultaneamente, há a possibilidade de que os aplicativos ou o sistema operacional possa encaminhar pacotes entre interfaces. Se uma das interfaces está por trás de um firewall ou totalmente desconectado da internet pública, unir os pacotes pode introduzir um ameaça à segurança. Para atenuar essa ameaça o Connection Manager está adicionando o conceito de conexões "seguras". Quando o gerenciador de conexões precisa ligar uma conexão segura, primeiro ele desliga todas as outras interfaces IP. Se outras interfaces IP aparecem durante uma chamada segura, então o Connection Manager desconecta a nova interface.

Call Progress Notifications

A capacidade de comunicar ao software da camada superior de mudanças na chamada estado tem sido adicionado ao Magneto através de um mecanismo de notificação. Quando notificações de convite estão disponíveis, a Cellcore TAPI Service Provider irá reduzir grandemente a quantidade do “polling” que o driver RIL faz no estado das chamadas.

| 1 Microsoft Paper
| Radio Interface Layer