____________________________________________________________________________ Módulo RF U-BEE Protocolo IEEE 802.15.4 REV 02 Fractum Indústria e Comércio de Equipamentos Eletrônicos LTDA - Av. Antônio Américo Junqueira 335 Pôr do Sol - Santa Rita do Sapucaí-MG - CEP 37540-000 - TEL: 55 35 3471 0019 Site: www.fractumrf.com - Email: [email protected] ____________________________________________________________________________________________________________________ - 1 - Rev01 ____________________________________________________________________________ 1-MÓDULO U-BEE O modulo de RF U-Bee foi desenvolvido para trabalhar sob a especificação IEE 802.15.4 atendendo às necessidades de baixo custo, baixo consumo de energia, e monitoramento de sensores em redes sem fio. O módulo requer mínimo consumo para operação e oferece comunicação e troca de dados entre dispositivos de forma segura. O U-Bee trabalha na banda de freqüência ISM 2,4GHz. 1.1-CARACTERÍSTICAS ESPECIAIS Módulo RF Alcance Indoor/Centros urbanos: até 70m (Antena Wipe) Alcance Outdoor Visada Direta: até 150m (Antena Wipe) Potência de Transmissão: 1mW (0 dBm) Sensibilidade de Recepção: -95 dBm Taxa de Dados: 250 Kbps Rede e Segurança Suporta reenvio de mensagens e recebimento de ACKs (Acknowledgements) DSSS (Direct Sequence Spread Spectrum) Endereçamento de Fonte/Destino Comunicações Broadcast e Unicast Suporta topologias Ponto-a-Ponto, Ponto-a-Multiponto, Peer-to-Peer Baixo Consumo Corrente de Transmissão: 33mA Corrente de Recepção: 28mA Corrente de Power-Down: < 50 μA Conversor Analógico-Digital e linhas de I/O Conversão Analógica para Digital Pinos de Entradas e Saída Digitais Transferência de linhas Entrada para Saída (I/O Line Passing) Facilidade de uso Simplicidade de montagem Pequeno formato do módulo Modo de comandos AT para configuração dos parâmetros do módulo ____________________________________________________________________________________________________________________ - 2 - Rev01 ____________________________________________________________________________ Variedade de Comandos 1.2-ESPECIFICAÇÕES A tabela abaixo mostra as especificações técnicas para o módulo U-Bee: Desempenho Indoor/Centros Urbanos - 70m (antena Wipe) Visada Direta - 150m (antena Wipe) Potencia máxima de saída de transmissão (Configurável por Software) - 1mW (0 dBm) Taxa de Dados RF – 250 Kbps Taxa de Dados Serial (Configurável por Software) - 1200-115200 bps Sensibilidade Receptor - -95 dBm Especificações Técnicas Tensão de Operação – 2.4-3.6V (3.3V típico) Consumo de corrente (típico): Modo Sleep – <50 A Modo TX – 33mA Modo RX – 28mA Especificações Gerais Freqüência de Operação – ISM 2.4GHz Dimensões – 36.06mm x 24,38mm 0 0 Faixa de temperatura: -40 C a +85 C (Industrial) Opções de Antena: Monopolo (Wipe), Planar (Mini), SMA Reverso (PRO) Especificações de Rede (Networking) ____________________________________________________________________________________________________________________ - 3 - Rev01 ____________________________________________________________________________ Topologias de Rede – Ponto a ponto, Ponto - multiponto, Peer-to-peer Canal de Operação Configurável por Software – 16 Canais seqüenciais Opções de endereçamento – PAN ID, Canal e Endereços 1.3-DESENHO MECÂNICO A figura abaixo mostra o desenho mecânico para o módulo de RF U-Bee. Figura 1.01 – Desenho Mecânico U-Bee ____________________________________________________________________________________________________________________ - 4 - Rev01 ____________________________________________________________________________ 1.4-PINAGEM A tabela abaixo mostra a pinagem para o módulo U-Bee: Pino Nome Direção Descrição 1 VCC - Alimentação 3,3V 2 DOUT Saída Saída de dados da UART 3 DIN Entrada Entrada de dados da UART 4 RESET Entrada Inicializa módulo (um pulso nível 0 de pelo menos 200ms) 5 DIO9 Entrada/Saída Entrada/Saída Digital 9 Saída Saída do PWM 0 / Indicador de Nível RSSI Saída Saída do PWM 1 / Indicador de Nível RSSI 6 7 PWM0 / RSSI PWM1 / RSSI 8 CLOCKOUT Saída Saída de Clock de 4MHz 9 DIO8 Entrada/Saída Entrada/Saída Digital 8 10 GND - Terra 11 AD3 / DIO3 Entrada/Saída Entrada Analógica 3 ou Entrada/Saída Digital 3 12 DIO7 Entrada/Saída Entrada/Saída Digital 7 13 ON / SLEEP Saída Indicador de Estado do Módulo 14 VREF Entrada Voltagem de Referência para as Entradas A/D 15 AD4 / DIO4 Entrada/Saída Entrada Analógica 4 ou Entrada/Saída Digital 4 16 AD5 / DIO5 Entrada/Saída Entrada Analógica 5 ou Entrada/Saída Digital 5 17 DIO6 Entrada/Saída Entrada Analógica 6 ou Entrada/Saída Digital 6 18 AD2 / DIO2 Entrada/Saída Entrada Analógica 2 ou Entrada/Saída Digital 2 19 AD1 / DIO1 Entrada/Saída 20 AD0 /DIO0 Entrada/Saída Indicador de Associação, Entrada Analógica 1 ou Entrada/Saída Digital 1 Indicador de Associação, Entrada Analógica 0 ou Entrada/Saída Digital 0 ____________________________________________________________________________________________________________________ - 5 - Rev01 ____________________________________________________________________________ Montagem: Conexão mínima: VCC, GND, DIN O resistor R1 apenas garante que na ausência de conexões seriais o dispositivo tenha um valor fixo em sua entrada de dados serial. Para configurar o dispositivo não é necessário retirar o resistor de pull-up (R1). Caso já possua um circuito de comunicação serial conectado permanentemente ao modulo U-Bee este resistor poderá ser dispensado. Conexão para atualização de firmware: VCC, GND, DOUT, DIN Alguns pinos digitais (DIOx) podem ter resistores internos de Pull-up, estes podem ser habilitados por comando AT (ver comando PR) . O módulo inclui um resistor de Pull-up de 150K no pino de RESET. 1.5-CARACTERÍSTICAS ELÉTRICAS Características DC (2.4-3.6Vdc): Símbolo VIL VIH VOL VOH Característica Condição Mínimo Típico Máximo Unidade Tensão de entrada para nível lógico baixo Tensão de entrada para nível lógico alto Tensão de saída para nível lógico baixo Tensão de saída para nível lógico alto Todas as entradas digitais Todas as entradas digitais VSS - 0.3 * VDD V 0.25*VDD + 0.8V - VDD V IOL=8.5mA VDD=3V - - 0.6 V IOH=-3mA VDD=3V VDD - 0.7 - - V TX Corrente Transmissão VCC=3.3V - 33 - mA RX Corrente Recepção VCC=3.3V - 28 - mA PWRDWN Corrente Power-Down Parâmetro SM=1 - < 50 - A ____________________________________________________________________________________________________________________ - 6 - Rev01 ____________________________________________________________________________ Características Conversor Analógico-Digital (2.4-3.6Vdc): Símbolo Característica Condição Mínimo Típico Máximo Unidade NR Resolução Vref 2V - - 10 bits ET Erro total Vref 2V - 1 ±3 LSb VREFH Faixa de Tensão de Referência - VDD/2 - VDD + 0.3 V VAIN Tensão Analógica de entrada - VSS-0.3 - VDD + 0.3 V TX Impedância da fonte de tensão analógica - - - 10 k 2-FUNCIONAMENTO MÓDULO DE RF U-BEE 2.1-COMUNICAÇÃO SERIAL O módulo U-Bee faz a interface com o dispositivo host através de uma porta serial assíncrona. Através dela, o módulo pode se comunicar com qualquer dispositivo que seja compatível com os níveis lógicos e de tensão da UART; ou através de um conversor de nível para qualquer dispositivo (Exemplo: RS-232 ou interface USB). 2.1.1-FLUXO DE DADOS UART Dispositivos que possuem interface UART podem se conectar diretamente com os pinos do módulo RF assim como mostra a figura abaixo: Figura 2.01 – Diagrama do fluxo de dados da interface UART Os dados entram na UART através do pino DI (pino 03) como um sinal serial assíncrono. Quando não houver dado sendo transmitido (idle), o pino deve permanecer em nível lógico alto. Cada byte de dados consiste em um start bit (baixo), 8 bits de dados (bit menos significativo primeiro) e um stop bit (alto). A figura a seguir ilustra a transmissão do caractere “A”: ____________________________________________________________________________________________________________________ - 7 - Rev01 ____________________________________________________________________________ Figura 2.02 – Transmissão da letra A (0x41 hex) A UART executa algumas tarefas necessárias para a comunicação, como cronometragem e verificação de paridade. Por isso, a comunicação serial exige que as duas UARTs estejam configuradas igualmente (baud rate, paridade, número de start e stop bits, e o tamanho da palavra). 2.1.2-MODO TRANSPARENTE Por padrão, o módulo U-Bee trabalha no Modo Transparente. Quando operando neste modo, o módulo atua como uma substituição à linha serial, ou seja, todos os dados recebidos na UART através do pino DI são enfileirados para a transmissão em RF. Quando os a informação é recebida por RF, o dado é enviado para o pino DO. Empacotamento de dados seriais Os dados vindos do pino DI são armazenados no buffer DI até que uma das seguintes possibilidades cause a transmissão dos dados via RF: 1. Nenhum caractere recebido durante um tempo determinado pelo parâmetro RO*10ms (Timeout para empacotamento dos dados). Se RO=0, a transmissão ocorre assim que um caractere é recebido. 2. Se receber o número máximo de caracteres que cabem no buffer DI. (50 caracteres). 3. Se receber o comando CC, com um tempo de guarda definido pelo parâmetro GT, antes e depois da seqüência de comando (GT + CC + GT). Todos os caracteres armazenados antes desta seqüência são transmitidos. Se o módulo não puder transmitir os dados imediatamente (por exemplo, se estiver recebendo dados via RF) os dados seriais são armazenados no buffer DI. Quando estiver em condição de transmitir, os dados são empacotados e enviados assim que ocorra um estouro de tempo pelo parâmetro RO, ou assim que o buffer DI atinja seu limite. Se o buffer DI completar seu limite, o controle de fluxo por hardware ou software deve ser feito para que não haja overflow. A versão de Hardware 1.0 do módulo U-Bee não suporta controle de fluxo. ____________________________________________________________________________________________________________________ - 8 - Rev01 ____________________________________________________________________________ 2.1.3 - DIAGRAMA INTERNO DO FLUXO DE DADOS Figura 2.03 – Diagrama interno do fluxo de dados Data In Buffer (DI Buffer) – Os dados que chegam ao módulo RF através do pino DI (pino 03) são armazenados no DI Buffer até que possam ser processados. Para que não haja problemas de Overflow, procure enviar mensagens que tenham tamanho menor que o do DI Buffer (50 caracteres). Também, faça a interface com uma taxa de comunicação menor (parâmetro BD, Taxa de Dados da Interface) que a taxa de dados de saída. Um fator que pode causar Overflow é o recebimento de dados via RF continuamente. Os dados seriais vindos do pino DI são armazenados no Buffer DI, porém só poderão ser processados e transmitidos pelo ar quando o módulo não estiver mais recebendo dados da rede. Data Out Buffer (DO Buffer) – Quando os dados são recebidos via RF, os dados são enviados ao DO Buffer e são enviados ao dispositivo host através do pino de saída DO da porta serial. Uma vez que o DO Buffer atinge sua capacidade máxima, qualquer outro dado recebido via RF é perdido. O que pode causar Overflow no DO Buffer é quando a taxa de dados via RF é maior que a taxa de dados da interface de saída do módulo, ou seja, o módulo receberá dados vindos do módulo transmissor mais rápido do que ele pode enviar ao dispositivo host. ____________________________________________________________________________________________________________________ - 9 - Rev01 ____________________________________________________________________________ 2.2-CONFIGURAÇÃO ADC E DIGITAL I/O O módulo U-Bee suporta conversão de sinais analógicos para digitais (Módulo ADC) e Digital I/O Line Passing, que é quando um dispositivo na rede envia informações correspondentes aos seus pinos de entrada e saída, e o dispositivo receptor interpreta estes dados ativando os seus pinos de saída de acordo com a informação recebida (ver 2.2.5-I/O Line Passing). A tabela abaixo mostra cada uma das funcionalidades aplicadas aos pinos do U-Bee. Funcionalidade do Pino AD0 / DIO0 / Indicação AD1 / DIO1 / Indicação AD2 / DIO2 AD3 / DIO3 / VREF AD4 / DIO4 AD5 / DIO5 DIO6 Pino# 20 19 18 11 15 16 17 Comando AT D0 D1 D2 D3 D4 D5 D6 DIO7 12 D7 DIO8 09 D8 DIO9 05 D9 Para habilitar as funções de DIO e ADC para os pinos: Pino Desabilitado – Opção número 0 Entrada Analógica – Opção número 2 Entrada Digital – Opção número 3 Saída Digital em Nível Baixo – Opção número 3 Saída Digital em Nível Alto – Opção número 4 (Ex: ATD0 0) (Ex: ATD0 2) (Ex: ATD0 3). (Ex: ATD0 4). (Ex: ATD0 5). Os pinos DIO0 e DIO1 podem também ser configurados como indicadores, opção número 1 (Ex: ATD0 1). O pino DIO0, quando habilitado para indicação, pisca a cada 500ms indicando conexão estabilizada. O pino DIO1, quando habilitado para indicação, inverte seu estado a cada mensagem recebida. 2.2.1-FORMATO DO PACOTE DE DADOS I/O O pacote de dados IO começa com um cabeçalho. Ele possui 2 bytes que indicam o bitmask das entradas, saídas ou canais analógicos. Para cada pino ativo, o bit correspondente a ele equivale a 1. ____________________________________________________________________________________________________________________ - 10 Rev01 ____________________________________________________________________________ As informações das amostras das entradas vêm em seqüência ao cabeçalho e o bitmask das entradas é utilizado para determinar como ler os dados de amostras. Os primeiros 2 bytes em seqüência correspondem às amostras das Entradas e Saídas Digitais. Os bytes em seqüência correspondem às informações dos canais ADC. Para cada canal analógico habilitado, são enviados dois bytes contendo os 10 bits de informação para o canal. Exemplo prático: caso esteja habilitado 1 canal analógico (AD0) e duas entradas digitais (DIO 2, e DIO 5). A entrada DIO2=‟1‟, a entrada DIO5=‟0‟, a entrada analógica AD0=725(d). A seguinte informação será enviada: (MSB) 0.0.0.0.0.1.0.0 0.0.1.0.0.1.0.0 (LSB) Cabeçalho(Bitmask) 1º Byte Cabeçalho(Bitmask) 2º Byte (MSB) 0.0.0.0.0.0.1.0 Leitura do Canal AD0 5º Byte (MSB) 0.0.0.0.0.0.0.0 Linha de dados DIO 3º Byte 0.0.0.0.0.1.0.0 (LSB) Linha de dados DIO 4º Byte 1.1.0.1.0.1.0.1 (LSB) Leitura do Canal AD0 6º Byte 2.2.2-MODO SLEEP Quando o módulo de RF sai do modo sleep, é feito uma amostra das entradas e saídas habilitadas, tanto para as linhas digitais quanto para os canais analógicos. Isto permite que amostras sejam feitas de acordo com o período cíclico de sleep, sendo ele através do Sleep Periódico (Parâmetro SM = 2 - 3) ou Pino de Sleep (SM = 1). Para executar mais amostras quando acordado, configure o parâmetro IR. ____________________________________________________________________________________________________________________ - 11 Rev01 ____________________________________________________________________________ Para o modo Sleep Periódico: O módulo ficará acordado por tempo definido pelo parâmetro ST (Tempo antes de Dormir). Comandos Utilizados: IR (Taxa de Amostragem), SM (Modo Sleep), IC (Detector de Mudança de Pino). 2.2.3-DETECTOR DE MUDANÇA DE PINO Quando o Detector de Mudança de Pino é habilitado, utilizando o comando IC, as linhas digitais DIO 0-9 são monitoradas. Quando uma mudança é detectada em qualquer um dos pinos, um pacote de RF é enviado com o estado dos pinos digitais atualizados. Qualquer amostra anterior à detecção é enviada antes da amostra atualizada. Nota: A detecção de mudança não afeta o pino de sleep wake-up. O pino ON/SLEEP é o único que acorda o módulo do Pino de Sleep. Comandos Utilizados: IC (Detector de Mudança de Pino). O Detector de Mudança de pino é utilizado apenas para os pinos digitais configurados como entradas ou saídas. 2.2.4-INTERVALO DE TAXA DE AMOSTRAGEM O Intervalo de Taxa de Amostragem permite que os pinos de ADC e DIO sejam lidos periodicamente nos módulos que não estiverem configurados para operar no Modo Sleep. Quando um dos modos de Sleep estiver habilitado e o parâmetro IR for configurado, o módulo ficará acordado até que o tempo definido pelo par. Quando um pino particular estiver habilitado, a apropriada taxa de amostragem deve ser escolhida. A maior taxa de amostragem que pode ser configurada quando usando os canais analógicos é de 1 amostra/ms ou 1KHz. Perceba que não é possível continuar transmitindo dados quando os parâmetros IR e IT são iguais a “1”). Comandos Utilizados: IR (Taxa de Amostragem), SM (Modo Sleep). 2.2.5-I/O LINE PASSING Linhas virtuais podem ser configuradas entre os módulos U-Bee. Quando um pacote de RF contendo informações de I/O é recebido, o módulo receptor pode ser configurado para atualizar as suas saídas habilitadas (PWM e DIO) baseada no dado recebido. Perceba que as linhas de I/O são mapeadas em pares. Por exemplo: AD0 pode somente atualizar o PWM0 e DI5 pode atualizar somente o DO5. A configuração padrão é de não ter as saídas atualizadas, o que resulta no dado de I/O ser enviado através da UART, ver o comando IU (habilitar as saídas de I/O). Para habilitar a atualização das saídas, o parâmetro IA (Endereço de Entrada de I/O) deve ser configurado com o endereço do módulo que contém as entradas correspondentes habilitadas. Isso efetivamente liga as saídas para a entrada de um módulo em particular. Isso não afeta a capacidade do módulo para receber dados de I/O da linha de outros módulos - só a sua capacidade de atualização de saídas habilitadas. O parâmetro IA também pode ser configurado para aceitar dados de I/O para mudanças na saída a partir das informações de qualquer módulo, definindo o parâmetro IA como 0xFFFF. As saídas dos módulos podem voltar ao seu estado original através de um TimeOut. Os timers são configurados usando os comando Tn (Timer de Saída Dn) e PT (Timer de Saída PWM). Os timers são reiniciados todas as vezes que um pacote válido de I/O (endereço compatível com IA) é recebido. Os parâmetros IC (Detecção de mudança) e IR (Taxa de Amostragem) podem ser configurados para manter sua saída no estado ativo se o sistema precisar de mais tempo do que os timers podem agüentar. ____________________________________________________________________________________________________________________ - 12 Rev01 ____________________________________________________________________________ Comandos Utilizados: IA (Endereço de Entrada de I/O), Tn (Timer de Saída Dn), PT (Timer de Saída PWM), P0 (Configuração do PWM0), P1 (Configuração do PWM1), M0 (Nível de saída do PWM0), M1 (Nível de saída do PWM1), RP (Timer de RSSI PWM). 2.2.6-EXEMPLO DE CONFIGURAÇÃO Como exemplo de um simples link A/D, um par de módulos de RF pode ser definido da seguinte forma: Módulo de Controle DL = 0x1234 MY = 0x5678 D0 = 2 D1 = 2 IR = 0x14 Módulo Base DL = 0x5678 MY = 0x1234 P0 = 2 P1 = 2 IU = 1 IA = 0x5678 (ou 0xFFFF) Essas configurações definem o módulo de controle para amostrar os canais AD0 e AD1 uma vez a cada a cada 20ms e envia os dados para o módulo base. A base deverá então receber a transmissão e atualizar as saídas de acordo com as informações que chegaram. 2.4-ENDEREÇAMENTO U-BEE Cada pacote de dados RF enviado contém um campo de Endereço de Origem e Endereço de Destino em seu cabeçalho. O módulo de RF em conformidade com a especificação 802.15.4, suporta tanto endereço de 16 bits (Short 16-bit Address) quanto endereço de 64 bits (Long 64-bit Address). Um endereço único de fonte de 64 bits é configurado de fábrica e pode ser lido através dos comandos SL (Número Serial – Parte menos significativa) e SH (Número Serial – Parte mais significativa). Os Short Addresses, endereços de 16 bits devem ser configurados manualmente. O módulo irá utilizar seu endereço único de 64 bits como seu endereço de fonte se o valor de seu endereço MY (endereço de 16 bits) for igual a “0xFFFF” ou “0xFFFE”. Para enviar pacotes de dados para um módulo utilizando o endereço de 64 bits, devese configurar o Endereço de Destino (DL + DH) compatível com o Endereço de Fonte (SL + SH) do módulo ao qual se quer enviar a mensagem. Para enviar pacotes de dados para um módulo utilizando o endereço de 16 bits, devese configurar a parte menos significativa do Endereço de Destino (DL) compatível ao endereço MY do dispositivo ao qual se quer enviar a mensagem e também configurar a parte mais significativa do Endereço de Destino (DH) como “0”. 2.4.1-MODO UNICAST Por definição, o módulo RF opera no modo Unicast. Este modo é o único capaz de reenviar uma mensagem. Enquanto estiver operando neste modo, os módulos receptores enviam um ACK (reconhecimento) da recepção do pacote de RF ao transmissor. Se o módulo ____________________________________________________________________________________________________________________ - 13 Rev01 ____________________________________________________________________________ transmissor não receber o ACK, ele reenviará o pacote de dados até 3 vezes ou até que receba o ACK. Endereços de 16 bits (Short Address): O módulo pode ser configurado para usar o endereço Short Address (16 bits) como sendo sua fonte de endereço definindo o MY < 0xFFFE. Configurando o parâmetro DH igual a 0, será definido o Endereço de Destino como sendo um endereço de 16 bits se o parâmetro DL<0xFFFE. Para dois módulos se comunicarem usando o Short Address, o endereço de destino do módulo transmissor deve ser igual ao parâmetro MY do módulo receptor. O exemplo a seguir ilustra um simples exemplo de configuração rede que habilitará a comunicação Unicast utilizando endereços de 16 bits: Parâmetro MY (Endereço de Fonte) DH (Endereço Destino – Mais Significativa) DL (Endereço Destino – Menos Significativa) Módulo 1 0x01 Módulo 2 0x02 0 0 0x02 0x01 Endereços de 64 bits (Long Address): O número serial do módulo (parâmetro SL concatenado com o parâmetro SH) pode ser usado como endereço de fonte de 64 bits quando o parâmetro MY (Endereço de origem de 16 bits) está desabilitado. Quando MY for configurado como 0xFFFF ou 0xFFFE, o endereço de origem é definido como sendo o endereço de 64 bits (SH e SL). Para enviar um pacote de dados para um módulo, o endereço de destino (DL + DH) deve bater com o endereço de origem (endereço de fonte SL + SH). 2.4.2-MODO BROADCAST Qualquer módulo de RF dentro do alcance da rede irá aceitar um pacote contendo um endereço Broadcast. Quando configurado para operar neste modo, os módulos receptores não enviam o reconhecimento de mensagem recebida (ACK) e os módulos transmissores não reenviam pacotes de dados como no modo Unicast. Para enviar um pacote Broadcast para todos os módulos independentemente do endereço de 16 bits ou 64 bits, configure o endereço de destino de todos os módulos como é mostrado abaixo. Exemplo de configuração de rede (todos os módulos na rede): DL (Endereço de Destino – Menos Significativa) = 0x0000FFFF DH (Endereço de Destino – Mais Significativa) = 0x00000000 (valor padrão) ____________________________________________________________________________________________________________________ - 14 Rev01 ____________________________________________________________________________ 2.5-MODOS DE OPERAÇÃO O módulo U-Bee opera em cinco modos. Figura 2.04 – Modos de Operação U-Bee 2.5.1-MODO IDLE Quando o módulo U-Bee não estiver recebendo ou transmitindo dados, ele está operando no modo Idle. O módulo muda para outro modo de operação, sob as seguintes condições: Modo de Transmissão (Dado serial recebido no Buffer DI) Modo de Recepção (Dado de RF válido recebido através da antena) Modo Sleep (a condição para o modo Sleep é satisfeita) Modo Comando (a seqüência de Modo de Comando é emitida) 2.5.2-MODO DE TRANSMISSÃO/RECEPÇÃO Pacotes de dados RF Cada pacote de dados transmitido contém um campo para endereço de destino e um endereço de fonte. O endereço de fonte é igual aos endereços especificados pelo parâmetro MY (se MY>=0xFFFE), ou pelos parâmetros SH (Número Serial – Parte mais significativa) e SL (Número Serial – Parte menos significativa). O endereço de destino é formado pelos valores dos parâmetros DH (Endereço de Destino – Parte mais significativa) e DL (Endereço de Destino – Parte menos significativa). Os campos de endereço de destino ou de fonte vão ____________________________________________________________________________________________________________________ - 15 Rev01 ____________________________________________________________________________ conter um endereço de 16 bits ou 64 bits. A estrutura dos pacotes segue a norma 802.15.4 (ver a seção Endereçamento U-Bee). Transmissão Direta e Indireta Existem duas formas de transmitir os dados: Transmissão Direta – as informações são enviadas imediatamente para o Dispositivo de Destino; Transmissão Indireta – o pacote é armazenado por um período de tempo e é transmitido após a requisição dos dados feito pelo Dispositivo de Destino. A Transmissão Indireta pode acontecer somente em um Coordenador. A funcionalidade de Coordenador é habilitada pelo através do parâmetro CE = “1”. Porém, se todos os dispositivos da rede forem End Devices, somente Transmissões Diretas acontecerão. Transmissões Indiretas são utilizadas para ter certeza que o pacote de dados será enviado ao dispositivo que esteja em modo Sleep. O Coordenador é capaz de armazenar até duas mensagens indiretas. Transmissão Direta – A transmissão direta está sempre habilitada para os End Devices, uma vez que a versão de firmware v1.0 trabalha para atender a topologia P2P. Sendo assim, todos os módulos estão no alcance uns dos outros. Um Coordenador pode ser ajustado para trabalhar somente com Transmissão Direta configurando o parâmetro SP (Período de Sleep Cíclico) para “0”. Neste caso, o coordenador funciona como um Roteador, podendo então aumentar o alcance da rede. Também, o valor ST (Tempo antes de Dormir) do Coordenador deve ser igual ao valor ST configurado para o End Device. Uma vez que o End Device transmite dados ao Coordenador ou requisita dados a ele, o Coordenador irá usar transmissões diretas para todas as mensagens subseqüentes a aquele endereço até que o tempo ST se esgote. Transmissão Indireta – Para configurar a rede para trabalhar com mensagens Indiretas, o valor do parâmetro SP (Período Cíclico de Sleep) para o Coordenador deve ser configurado para bater com o maior valor de tempo de Sleep de qualquer End Device. O valor do período de sleep no Coordenador determina por quanto tempo o Coordenador irá guardar a mensagem ____________________________________________________________________________________________________________________ - 16 Rev01 ____________________________________________________________________________ indireta antes de descartá-la, caso o dispositivo em Sleep não requisite dados. O End Device deve requisitar a mensagem ao Coordenador uma vez que acordar do Sleep para verificar se há mensagem para ele. Reconhecimento (ACK) Se a transmissão não for uma mensagem Broadcast, o módulo aguarda a recepção do reconhecimento (ACK) vindo do dispositivo de destino. Se o ACK não for reconhecido, o pacote será reenviado até 3 vezes. Se o ACK não for recebido depois de todas as retransmissões, uma falha de ACK é registrada. 2.5.3-MODO SLEEP O modo Sleep permite que o módulo de RF opere com baixo consumo de energia quando não estiver em uso (idle). Para entrar no Modo de Sleep, uma das seguintes condições deve ser aceita (além do parâmetro SM ser diferente de zero): Pino Sleep_RQ (pino 13) é ativado; O módulo permanece no estado idle (nenhum dado de recepção ou transmissão) pelo período de tempo determinado pelo parâmetro ST (Tempo antes de Sleep). Esta condição é aceita somente quando SM=2 ou SM=3. Configuração Transição para entrar em Sleep Pino de Sleep (SM=1, 3) Ativar pino Sleep_RQ = 1 Modo Sleep Periódico (SM=2, 3) Transição automática para o Modo Sleep assim como configurados os parâmetros SM e ST. Transição para sair do Sleep Desativar pino Sleep_RQ =0 A transição ocorre após o término do intervalo de tempo de sleep periódico. O intervalo de tempo é definido pelo parâmetro SP. Características Comandos Relacionados Consumo de energia Controlado por pino/host SM <10uA SM, ST, SP < 50uA O módulo U-Bee acorda periodicamente para verificar se há dados de RF para ele O parâmetro SM, por padrão, é configurado para ter o modo Sleep desabilitado (SM=0). Operando neste modo, o módulo está constantemente preparado para responder a qualquer atividade de RF e/ou serial. Pino de Sleep (SM=1) Este modo é ativado através do pino Sleep_RQ. Quando o pino é ativado (Sleep_RQ = 1), o módulo termina qualquer atividade que estiver realizando no momento, e então entra no ____________________________________________________________________________________________________________________ - 17 Rev01 ____________________________________________________________________________ modo de Sleep. O módulo U-Bee não responderá a qualquer atividade serial ou de RF enquanto este pino estiver ativado. Para acordar o módulo desta condição, desative o pino Sleep_RQ (nível “0”). Sleep Periódico (SM=2) O modo de Sleep periódico permite que o módulo de U-Bee cheque por dados de RF de tempos em tempos. Quando o parâmetro SM for configurado como “2”, o módulo entra em modo sleep, e então acorda após um tempo pré-determinado pelo parâmetro SP. Quando sai do modo sleep, ele requisita dados de qualquer dispositivo configurado como Coordenador (CE=1, SM=0), e este por sua vez, irá transmitir qualquer informação endereçada para o dispositivo que requisitou a informação. Se nenhum dado estiver na fila esperando para ser transmitido, o coordenador não irá transmitir e o módulo remoto irá retornar para mais um ciclo em Sleep. Se qualquer dado for transmitido para o módulo remoto, ele permanecerá acordado permitindo comunicação serial e de RF até que o tempo ST (Tempo antes de Sleep) termine. Sleep Periódico com Pino de Sleep (SM=3) Este modo trabalha como sendo uma combinação entre o Modo de Sleep periódico e o Modo de Sleep com pino, ambos descritos acima. 2.5.4-MODO COMANDO Para ler ou modificar os parâmetros do módulo U-Bee, o módulo deve primeiro entrar no Modo Comando. Assim, os dados que chegarem serão interpretados como comandos. O único modo de comando que o U-Bee suporta é o Modo Comando AT. Modo Comando AT Para entrar no modo de comando AT, deve-se enviar 3 caracteres seqüenciais definidos pelo parâmetro CC (“+” padrão), respeitando o tempo de guarda (parâmetro GT) antes e depois dos caracteres. Seqüência padrão para entrar no Modo Comando AT: Nenhum caractere enviado por um segundo [Parâmetro GT(Tempo de Guarda)=0x3E8] Entre com 3 caracteres „+‟ dentro do intervalo de um segundo. O caractere para a seqüência é definido pelo parâmetro CC. Nenhum caractere enviado por um segundo [Parâmetro GT(Tempo de Guarda)=0x3E8] Todos os parâmetros utilizados da seqüência podem ser modificados de acordo com as preferências do usuário. Para enviar comandos AT, deve-se enviar a sintaxe como mostra a figura abaixo: ____________________________________________________________________________________________________________________ - 18 Rev01 ____________________________________________________________________________ Figura 2.05 – Sintaxe para comandos Para ler um valor do parâmetro armazenado no módulo de RF, deve-se omitir o campo de parâmetro. O exemplo anterior mudaria o Endereço de Destino do módulo (parte menos significativa) para “0x1F”. Para salvar o novo valor em uma memória não volátil, envie o comando WR (Escrita) em seqüência. Isso fará com que os valores dos parâmetros continuem sendo os parâmetros de configuração do módulo mesmo após um reset. Caso contrário, os parâmetros serão redefinidos para os valores salvos antes do reset. Para sair do Modo de Comando AT, deve-se enviar o comando ATCN + Retorno de carro, ou então, o módulo pode sair do modo de comando automaticamente se não receber um comando válido dentro de um intervalo de tempo especificado pelo parâmetro CT (Timeout para o Modo de Comando). Resposta do Sistema Quando um comando for enviado ao módulo, ele irá analisar e executar o comando. Após executá-lo com sucesso, o módulo retorna uma mensagem “OK”. Se a execução do comando resultar em um erro, o módulo irá retornar uma mensagem de “ERRO”. 3-CONFIGURAÇÃO DO MÓDULO U-BEE 3.1-PROGRAMANDO O MÓDULO DE RF Para informações sobre como entrar no modo de comando, enviar comandos e sair do modo de comando, ver a seção 2.5.4. 3.1.1-EXEMPLO DE PROGRAMAÇÃO Para ler ou modificar os parâmetros do módulo U-Bee, o módulo deve primeiro entrar no Modo Comando. Setup Os exemplos de programação desta seção exigem uma conexão serial com um PC e um software aplicativo de acesso à serial (Ex: HyperTerminal). Conecte o módulo de RF a uma placa de interface, então conecte o módulo montado a um PC. ____________________________________________________________________________________________________________________ - 19 Rev01 ____________________________________________________________________________ As falhas mais comuns para entrar no Modo de Comando AT acontecem devido às taxas de comunicação configuradas de forma errada. Tenha certeza que a taxa de comunicação (Baud Rate) configurada no PC seja compatível com a taxa para o módulo. Por padrão, o parâmetro BD = 4 (o que corresponde a 19200bps). Configuração Exemplo: Modificando o Endereço de Destino do Módulo de RF Conecte um cabo serial no PC, e na placa de interface. Utilize o programa HyperTerminal do Windows para configurar o módulo (Iniciar>Acessórios>Comunicação>HyperTerminal). Configure o programa para trabalhar na porta COM1 e com as seguintes características: Taxa de comunicação de 19200bps, 8bits de dados, sem paridade, 1 bit de parada e sem controle de fluxo. Figura 3.01 – Configuração do Porta Serial Depois de estabelecida a conexão entre o módulo e o computador, a seguinte configuração pode ser feita com exemplo. Primeiro, deve-se digitar os caracteres seqüenciais para entrar no modo de comando. O U-Bee retorna uma resposta “OK” dizendo que entrou no modo de comando. O comando “ATDL<Enter>” faz a leitura do valor atual para o parâmetro DL (Endereço de Destino – menos Significativo). Em seguida, é configurado o novo valor para o Endereço. O espaço entre “ATDL” e “1A0D” é opcional, ou seja, é possível enviar “ATDL1A0D <Enter>” ou “ATDL 1A0D <Enter>”. Esse novo valor é gravado em seqüência na memória não volátil com a execução do comando “ATWR <Enter>”. Por fim, o comando “ATCN<Enter>” sai do modo comando. ____________________________________________________________________________________________________________________ - 20 Rev01 ____________________________________________________________________________ Comando AT Enviado +++ <Enter> ATDL <Enter> ATDL1A0D <Enter> ATWR <Enter> ATCN <Enter> Resposta do U-Bee OK <CR> (Entra no Modo Comando) {valor atual} <CR> (Lê Endereço Destino – menos Sign.) OK <CR> (Modifica Endereço Destino – menos Sign.) OK <CR> (Escreve na memória não volátil) OK <CR> (Sai do Modo de Comando) 3.2-TABELA DE COMANDOS Os módulos U-Bee trabalham com valores numéricos em formato hexdecimal. Os valores hexadecimais são designados por um prefixo “0x”. Valores decimais equivalentes são designados com um sufixo “d”. Os comandos estão contidos dentro das seguintes categorias: Especiais Rede & Segurança Interface RF Modo Sleep (baixo consumo) Interface Serial Configurações de I/O Diagnósticos de rede Opções para Comando AT É aconselhável utilizar a mesma versão de firmware para os módulos operando em uma mesma rede. Tabela 3.01. Comandos Especiais U-Bee Comando AT Categoria Comando Nome e Descrição Faixa de Valores Valor Padrão WR Especiais Write. Escreve o valor do parâmetro em uma memória não volátil fazendo com que as modificações nos parâmetros continuem mesmo após um reset ou Power-up. - - RE Especiais Restore Default. Restaura os valores padrões dos parâmetros. - - FR Especiais Software Reset. Responde imediatamente com um “OK” e então executa um reset aproximadamente 100ms depois. - - Tabela 3.02. Comandos Rede & Segurança Comando AT Categoria Comando CH Rede (Endereçamento) ID Rede (Endereçamento) DH Rede (Endereçamento) Nome e Descrição Canal de Operação. Lê/Configura o número do canal de operação utilizado para transmitir e receber mensagens entre os módulos de RF (utiliza os números de canais do protocolo 802.15.4). PAN ID. Lê/Configura o PAN ID da rede (Personal Area Network Identification). Valor 0xFFFF comunica com todos os PANs. Endereço de Destino (mais significativo). Lê/Configura os 32 bits mais significativos do endereço de destino de 64 bits. Quando combinado com DL, ele define o endereço de destino utilizado na transmissão. Para transmitir utilizando 16 bits, configure DH=0 e DL<0xFFFE. 0x000000000000FFFF é o endereço broadcast para o PAN. Faixa de Valores Valor Padrão 0x0B – 0x1A 0x0F (15d) 0 – 0xFFFF 0x1234 (4660d) 00xFFFFFFFF 0 ____________________________________________________________________________________________________________________ - 21 Rev01 ____________________________________________________________________________ Endereço de Destino (menos significativo). Lê/Configura os 32 bits menos significativos do endereço de destino de 64 bits. Quando combinado com DH, ele define o endereço de destino utilizado na transmissão. Para transmitir utilizando 16 bits, configure DH=0 e DL<0xFFFE. 0x000000000000FFFF é o endereço broadcast para o PAN. Endereço de Fonte de 16 bits. Lê/Configura o endereço de fonte de DL Rede (Endereçamento) MY Rede (Endereçamento) SH Rede (Endereçamento) Número Serial (mais significativo). Lê os 32 bits mais significativos do endereço único de 64 bits do módulo de RF. O endereço de fonte de 64 bits está sempre habilitado. SL Rede (Endereçamento) Número Serial (menos significativo). Lê os 32 bits menos significativos do endereço único de 64 bits do módulo de RF. O endereço de fonte de 64 bits está sempre habilitado. NI Rede (Identificação) ND Rede (Identificação) NT Rede (Identificação) DN Rede (Identificação) CE Rede (Associação) SC Rede (Associação) SD Rede (Associação) ED Rede (Associação) 16 bits do módulo de RF. Configure MY 0xFFFE para desabilitar a recepção de pacotes com endereços de 16 bits. A recepção de pacotes com endereços de 64 bits e endereço de broadcast (0x000000000000FFFF) está sempre habilitada. Identificador do Nó. Guarda uma string de caracteres. Este registro aceita somente dados em ASCII. O comando encerra até que receba <Enter>, ou até que receba o número máximo de bytes para a string. Esta string é retornada como parte do comando ND (Descobridor de Nós). A string também é utilizada juntamente com o comando DN (Nó de Destino). Descobridor de Nós. Descobre e lista todos os módulos de RF encontrados. A seguinte informação é listada para cada nó descoberto. MY <CR> SH <CR> SL <CR> DB <CR> NI <CR><CR> O nó permitirá que outros nós respondam à requisição por um tempo determinado pelo parâmetro NT. ND também aceita Identificador de Nó como parâmetro. Neste caso, somente o nó com o identificador fornecido irá responder. Tempo do Descobridor de Nós. Lê/Configura o valor de tempo pelo qual o nó irá esperar por respostas de outros dispositivos quando ativado o comando ND (Descobridor de Nós). Nó de Destino. Referencia uma string de NI (Identificador de Nó) para um endereço físico. Os seguintes eventos acontecem após a execução bem sucedida do comando: 1. DL e DH são configurados com o endereço do módulo com o Identificador de Nó correspondente. 2. Resposta “OK” recebida. Se não houver resposta de um módulo dentro de 200ms ou um parâmetro não for especificado, o comando é encerrado e uma mensagem de “ERRO” é apresentada. Habilita Coordenador. Lê/Configura as configurações de coordenador de rede. Varredura de Canais (SCAN). Lê/Configura a lista de canais (como bitfield) para executar a varredura na função Energy Scan. bit 0 – 0x0B bit 4 – 0x0F bit 8 – 0x13 bit 12 – 0x17 bit 1 – 0x0C bit 5 – 0x10 bit 9 – 0x14 bit 13 – 0x18 bit 2 – 0x0D bit 6 – 0x11 bit 10 – 0x15 bit 14 – 0x19 bit 3 – 0x0E bit 7 – 0x12 bit 11 – 0x16 bit 15 – 0x1A Tempo de Varredura. Lê/Configura o expoente do tempo de varredura (Scan Duration). O tempo de varredura é definido por: [(# de canais)*(2^SD+1)*960us] O número de canais a se fazer a varredura é definido pelo parâmetro SC. O módulo U-Bee pode fazer varredura em até 16 canais (SC=0xFFFF). Energy Scan. Faz o processo de Energy Scan, que é a detecção de nível de energia em cada canal. O nível máximo de energia em cada 00xFFFFFFFF 0 0 – 0xFFFF 0xFFFF 00xFFFFFFFF (somente leitura) 00xFFFFFFFF (somente leitura) Valor de Fábrica Valor de Fábrica String de 20 caracteres ASCII FRACTUM (ASCII) NI de 20 caracteres em ASCII (opcional) - 0x01 – 0xFC [x100ms] 0x19 String de 20 caracteres ASCII - 0–1 0-End Device 1Coordenador 0 0-0xFFFF (bitfield) 0xFFFF 0-0x0F 4 - - ____________________________________________________________________________________________________________________ - 22 Rev01 ____________________________________________________________________________ EE Rede (Segurança) KY Rede (Segurança) canal é retornado e cada valor é seguido por um retorno de carro. Um retorno de carro adicional é enviado no fim do comando. O valor retornado representa o nível de energia detectado em –dBm. O tempo de varredura é definido por: [(# de canais)*(2^SD+1)*960us] O número de canais é definido pelo parâmetro SC, e o expoente do tempo de varredura definido pelo parâmetro SD. Criptografia AES. Habilita/Desabilita a chave de segurança AES de 128 bits, usada em conjunto com o comando KY. Obs: As mensagens enviadas de um módulo com chave de segurança habilitada só serão interpretadas por módulos com mesma chave de segurança habilitada. Porém, o módulo com chave de segurança habilitada pode receber mensagens de um módulo cuja chave de segurança esteja desligada. Chave de Segurança AES. Configura a chave de segurança AES de 128 bits para criptografar/decodificar. O registro KY não pode ser lido. Obs: Para gerar os 128 bits da chave de segurança AES, os 8 bytes do parâmetro KY são utilizados como parte mais significativa sendo um byte da chave de segurança, e a parte menos significativa como sendo outro byte. Ex: KY = 0x1234567812345678 Chave AES = 0x01020304050607080102030405060708 0-1 0 (desabilitado) 0-(valor de 8 Bytes) - Tabela 3.03. Interface RF Comando AT PL Categoria Comando Interface RF Nome e Descrição Faixa de Valores Valor Padrão Nível de Potência. Seleciona/Lê os níveis de potência de saída do transmissor de RF. 0-0x1F 0= 0dBm 1= -0.5dBm 2= -1.25dBm … 31= -38.75dBm (step de -1.25dB) 0 Tabela 3.04. Modo Sleep (baixo consumo) Comando AT SM Categoria Comando Sleep (baixo consumo) ST Sleep (baixo consumo) SP Sleep (baixo consumo) Nome e Descrição Faixa de Valores Valor Padrão Modo Sleep. Configura/Lê as configurações do Modo Sleep. 0-3 0-Sleep Desabilitado 1-Sleep por pino 2-Sleep Periódico 3-Sleep Periódico com pino de Wake-up 0 1-0xFFFF [x 1ms] 0x1388 (5000d) 0-0x68B0 [x 8,4ms] 0 Tempo antes de Sleep. Configura/Lê o período de inatividade (nenhum dado serial ou de RF é enviado ou recebido) antes de ativar o Modo Sleep. O parâmetro ST é válido somente com as configurações de Sleep Periódico (SM = 2 - 3). Os valores ST para os End Devices e para o Coordenador devem ser iguais. Note também que o valor do parâmetro GT deve ser sempre menor que o valor ST. (Se GT > ST, esta configuração não permitirá que o módulo entre no modo de comando). Se o parâmetro SR for modificado, mude também o parâmetro GT respeitando a condição acima. Tempo de Sleep. Configura/Lê o tempo que os dispositivos remotos ficarão dormindo. Os valores de SP para o Coordenador e o End Device devem ser sempre iguais. Para enviar Mensagens Diretamente, configure SP = 0. Nos End Devices, o parâmetro SP determina o tempo em que ficarão dormindo. O maior período de sleep é de 225 segundos ____________________________________________________________________________________________________________________ - 23 Rev01 ____________________________________________________________________________ (0x68B0). No Coordenador, o parâmetro SP, se diferente de zero, determina o tempo que ele armazena uma mensagem indireta antes de descartá-la. Um Coordenador irá descartar uma mensagem indireta após um período de (2,5 * SP). Tabela 3.05. Interface Serial Comando AT BD Categoria Comando Interface Serial RO Interface Serial PR Interface Serial Nome e Descrição Faixa de Valores Valor Padrão Taxa de Dados da Serial. Lê/Configura o valor da taxa de comunicação entre a porta serial do modulo de RF e o Host. 0-7 0 = 1200 bps 1 = 2400 bps 2 = 4800 bps 3 = 9600 bps 4 = 19200 bps 5 = 38400 bps 6 = 57600 bps 7 = 115200 bps 4 0-0F [x10ms] 4 0-0xDC 0xDC Timeout para empacotamento dos dados. Lê/Configura o tempo de silêncio antes do envio dos dados armazenados no buffer de entrada via RF. Configurando RO = 0 os dados que chegam pela serial são enviados imediatamente. Os dados que estiverem no buffer de entrada serial (para RO>0) são enviados via RF após um time out de RO*10ms quando não receber mais caracteres. Resistores Internos de Pull-Up. Lê/Configura o campo de bit para os resistores internos de Pull-Up dos pinos do módulo. BitMap: Bit 2 – AD4/DIO4 Bit 4 – AD6/DIO6 Bit 7 – AD9/DIO9 Bit 3 – AD5/DIO5 Bit 6 – AD8/DIO8 Configurando o bit como “1” habilita o resistor interno; “0” desabilita. Os outros bits do bitmask são interpretados como „0‟ e não podem ser alterados. Tabela 3.06. Configurações de I/O Comando AT Categoria Comando Nome e Descrição D0-D9 Configurações I/O Configuração DIO0-DIO9. Lê/Configura as funções para os pinos digitais de I/O de DIO0 ao DIO9. As opções incluem Entrada Digital, Saída Digital e Conversor Analógico-Digital (somente leitura e para os pinos D0-D5). IU Configurações I/O Habilita I/O Output. Habilita/Desabilita o envio dos dados recebidos via RF, correspondente ao estado dos pinos de I/O, pela UART. IS Configurações I/O IO Configurações I/O IC Configurações I/O Amostra Entradas. Faz uma leitura de todas as entradas habilitadas (Entradas digitais ou analógicas). Os dados são enviados através da UART. Se nenhuma entrada estiver habilitada, este comando irá retornar ERRO. Nível das Saídas Digitais. Configura o nível digital das saídas digitais através de um bitmap de 10 bits. Cada bit representa o nível de uma linha de I/O configurada como Saída. Ex: ATIO 1, aciona somente o DIO_0, se configurado como saída. ATIO 3FF, aciona todas as saídas. Monitoramento DIO. Habilita/Desabilita o monitoramento da alguma mudança de estado nos pinos digitais de IO. Se alguma mudança for detectada, os dados serão transmitidos com os dados dos pinos de IO somente (sem valores de entradas analógicas). Qualquer dado armazenado no buffer de transmissão será enviado antes. Faixa de Valores 0–5 0 = Desabilitado 1 = Indicador (D0 e D1) 2 = ADC 3 = Entrada 4 = Saída em „0‟ 5 = Saída em „1‟ 0-1 0 – Desabilita 1 – Habilita Valor Padrão 0 - 0-0x3FF 0-0x3FF Bitmap de 10 bits (cada bit representa se há monitoramento ou não de uma linha de I/O) 0 ____________________________________________________________________________________________________________________ - 24 Rev01 ____________________________________________________________________________ 0 – Desabilita 1 – Habilita IR Configurações I/O Taxa de amostragem. Lê/Configura a taxa de amostragem. Quando configurado, este parâmetro faz com que o módulo execute uma amostra de todas as entradas habilitadas em um determinado tempo. 0xFFFF [x 10ms] 1 AV Configurações I/O Tensão de Referência ADC. Configura/Lê o valor da tensão de referência para o conversor Analógico-Digital. 0-1 0 = pino VREF 1 = Referência Interna 1 IA Configurações I/O {I/O Line Passing} 00xFFFFFFFFFF FFFFFF 0-0xFFFFFF FFFFFFFFFF T0-T9 Configurações I/O {I/O Line Passing} 0xFF [x 100ms] 0xFF P0 Configurações I/O {I/O Line Passing} Configuração PWM0. Seleciona/Lê a função do pino PWM0. P1 Configurações I/O {I/O Line Passing} Configuração PWM1. Seleciona/Lê a função do pino PWM1. M0 Configurações I/O {I/O Line Passing} M1 Configurações I/O {I/O Line Passing} PT Configurações I/O {I/O Line Passing} RP Configurações I/O {I/O Line Passing} Endereço de I/O. Lê/Configura o endereço do módulo para o qual as saídas são sujeitas. Configurando o endereço com todos os bytes como 0xFF desabilita a mudança dos pinos de saída. Configurando o endereço para 0xFFFF irá permitir que qualquer pacote com dados de I/O mudem as saídas do módulo. (D0-D9) TimeOut Saídas. Configura/Lê o valor de timeout para as saídas das linhas correspondentes aos parâmetros D0-D9. Quando uma saída for ativada (devido ao I/O Line Passing), um timer é ativado e quando ocorrer o estouro de tempo, a saída volta ao seu estado padrão. O timer é reiniciado quando um pacote de dados I/O válido for recebido. Duty-Cycle PWM0. Seleciona/Lê o valor do Duty Cycle para o canal PWM0. O período de PWM é de 64us e existem 1023 (0x03FF) passos com este período.Quando M0 = 0, o Duty-Cycle é de 0%. Para M0=0x01FF, o Duty-Cycle é de 50%. Para M0=0x03FF, o Duty-Cycle é de 100%, etc. É importante ressaltar que o canal PWM0 está ligado ao canal ADC0 (I/O Line Passing). Assim, quando um pacote de dados válido for recebido e conter informações do canal ADC0, o canal PWM0 será ativado com Duty-Cycle correspondente. Duty-Cycle PWM1. Seleciona/Lê o valor do Duty Cycle para o canal PWM1. O período de PWM é de 64us e existem 1023 (0x03FF) passos com este período.Quando M1 = 0, o Duty-Cycle é de 0%. Para M1=0x01FF, o Duty-Cycle é de 50%. Para M1=0x03FF, o Duty-Cycle é de 100%, etc. É importante ressaltar que o canal PWM1 está ligado ao canal ADC1 (I/O Line Passing). Assim, quando um pacote de dados válido for recebido e conter informações do canal ADC1, o canal PWM1 será ativado com Duty-Cycle correspondente. TimeOut do Canal PWM. Lê/Configura o valor de TimeOut para ambas as saídas PWM. Quando uma saída PWM for ativada para um valor não padrão (devido ao I/O Line Passing), um timer é ativado e quando ocorrer o estouro de tempo, a saída volta ao seu estado padrão. O timer é reiniciado quando um pacote de dados I/O válido for recebido. PWM com RSSI. Lê/Configura a duração do Time Out para o pino de RSSI. O Duty-Cycle é atualizado a cada pacote de dados recebido e é desativado quando o timer expira. 0-2 0 = Desabilitado 1 = RSSI 2= Saída PWM 0-2 0 = Desabilitado 1 = RSSI 2= Saída PWM 1 0 0-0x03FF - 0-0x03FF - 0xFF [x 100ms] 0xFF 0xFF [x 100ms] 0x28 (40d) O timer é resetado a cada pacote recebido. Tabela 3.07. Diagnósticos Comando AT Categoria Comando Nome e Descrição Faixa de Valores VR Diagnósticos Versão Firmware. Lê a versão do Firmware do módulo U-Bee. Somente Leitura HV Diagnósticos Versão Hardware. Lê a versão do Hardware do módulo U-Bee. Somente Leitura Valor Padrão Configurado de Fábrica Configurado de Fábrica ____________________________________________________________________________________________________________________ - 25 Rev01 ____________________________________________________________________________ DB Diagnósticos EA Diagnósticos ED Diagnósticos Nível do Sinal Recebido. Lê o nível de sinal (em dBm) do último pacote recebido (RSSI). Falhas ACK. Lê/Zera o contador de falhas de recebimento de ACK´s (Acknowledgemet). O valor deste parâmetro é incrementado quando o módulo finaliza suas tentativas de retransmissão para receber o ACK da mensagem enviada. Este parâmetro deixa de ser incrementado quando atingir o seu valor máximo, para reiniciá-lo, configure o parâmetro como “0”. Energy Scan. Faz o processo de Energy Scan, que é a detecção de nível de energia em cada canal. O nível máximo de energia em cada canal é retornado e cada valor é seguido por um retorno de carro. Um retorno de carro adicional é enviado no fim do comando. O valor retornado representa o nível de energia detectado em –dBm. O tempo de varredura é definido por: [(# de canais)*(2^SD+1)*960us] O número de canais é definido pelo parâmetro SC, e o expoente do tempo de varredura definido pelo parâmetro SD. Somente Leitura - 0-0xFFFF - - Tabela 3.08. Opções de Comandos Comando AT CT CN Categoria Comando Opções Comandos AT Opções Comandos AT GT Opções Comandos AT CC Opções Comandos AT Nome e Descrição Faixa de Valores Valor Padrão TimeOut Modo de Comando. Configura/Lê o período de inatividade (nenhum comando válido recebido) para que o módulo U-Bee automaticamente saia do Modo de Comando e retorne para o estado Idle. 2-0xFFFF [x 100ms] 0x64 (100d) Termina Modo de Comando. Sai do modo de Comando. - - 2-0x0CE4 [x 1ms] 0x3E8 (1000d) 0x0xFF 0x2B („+‟ ASCII) Tempo de Guarda. Configura o tempo de silêncio necessário antes e depois da Seqüência de Caracteres de Comando para entrar no modo de Comando (GT+CC+GT). Este tempo é necessário para que o módulo não entre no modo de comando erroneamente. Seqüência de Caracteres de Comando. Configura/Lê o valor do caractere (em ASCII) para ser utilizado entre o Tempo de Guarda da Seqüencia de Modo de Comando AT (GT+CC+GT). Esta seqüência coloca o módulo no Modo de Comando. Fractum Indústria e Comércio de Equipamentos Eletrônicos LTDA - Av. Antônio Américo Junqueira 335 Pôr do Sol - Santa Rita do Sapucaí-MG - CEP 37540-000 - TEL: 55 35 3471 0019 Site: www.fractumrf.com - Email: [email protected] ____________________________________________________________________________________________________________________ - 26 Rev01