May . 2022
Prefácio
No processo de fornecer suporte técnico e personalização de RF para os clientes, descobrimos que, devido a atualizações de requisitos funcionais e atualizações de produtos, muitas vezes encontramos problemas de comunicação entre módulos que precisam ser incorporados com diferentes chips sem fio. As diversas diferenças nos parâmetros e formatos de dados tornam difícil saber por onde começar.
Este teste seleciona os módulos RF front-end RF4432PRO (chip Si4432 integrado) e RF1212 (chip SX1212 integrado) desenvolvidos independentemente pela NiceRF e descreve o processo experimental detalhado, interface de hardware e programas de amostra relacionados, na esperança de resolver o problema entre diferentes chips sem fio. O problema de comunicação fornece um método de referência.
NiceRF é uma empresa de tecnologia, serviços e vendas com foco no desenvolvimento de aplicações de módulos de sensores e RF. Desenvolveu uma variedade de módulos de aplicação e soluções para diferentes chips de RF. Os produtos atuais cobrem diferentes níveis de potência, como 20mW, 100mW, 500mW, 1W, 2W, 3W, 5W; SPI, UART (incluindo TTL/RS232/RS485 e USB) e outras interfaces de comunicação; 315/ 433/470/868/915 Existem centenas de módulos em diferentes frequências de operação, como MHz e 2,4 GHz. Anos de precipitação e acumulação fazem com que a NiceRF tenha forte força de P&D e rica experiência em aplicações de software e hardware de aplicações de RF.
1.1 Desempenho e recursos do chip


Figura 1: Diagrama de blocos dos módulos integrados dos chips Si4432 e SX1212
O Si4432 no módulo RF4432PRO RF é um chip transceptor de RF de alto desempenho desenvolvido pela Silabs nos Estados Unidos com uma banda de frequência de trabalho abaixo de 1 GHz, pertencente à sua série EzRadioPro. Tem sido amplamente utilizado na indústria, pesquisa científica, medicina (ISM) e equipamentos de comunicação sem fio de curto alcance (SRD) na China, e sua potência de saída pode chegar a +20 dBm, e a sensibilidade de recepção também pode atingir -121 dBm.
O SX1212 no módulo sem fio RF1212 é um chip sem fio de consumo ultrabaixo desenvolvido e produzido pela Semtech nos Estados Unidos. A frequência operacional varia de 300 MHz a 510 MHz. Ele foi otimizado para ter um consumo de energia de recepção muito baixo. A corrente de recepção típica é de 2,6 mA e a tensão de operação é de 2,1 ~ 3,6 V, potência máxima de transmissão de +12,5 dBm.
Os parâmetros específicos podem ser encontrados nos manuais dos chips Si4432 e SX1212. Os módulos RF4432PRO e RF1212 fornecem suporte de hardware para as funções integradas dos chips Si4432 e SX1212. Os usuários podem programar, desenvolver e controlar diretamente os módulos de acordo com o manual do chip.
| Módulo RF | RF4432PRO | RF1212 |
| Faixa de frequência (MHz) | 403, 433, 463 | 429, 433, 440 |
| Corrente de emissão | 85mA@20dBm | 25mA@10dBm |
| Receber corrente (mA) | 18,5 | 3 |
| Potência estática (uA) | <1 | <1 |
| Faixa de potência de transmissão | 1~20dBm | -8,5~12,5dBm |
| Receba sensibilidade | -121dBm@dados=1,2Kbps | -110dBm@dados=1,2Kbps,fdev=30KHz |
Tabela 1: Comparação de parâmetros de RF NiceRF RF4432 e RF1212 testados
O hardware do sistema experimental usa módulos sem fio NiceRF RF4432PRO e RF1212 e suas placas de demonstração DEMO correspondentes. Os módulos RF4432PRO e RF1212 contêm circuitos de aplicação de chip de alto desempenho de nível industrial que foram rigorosamente testados. A plataforma de hardware é completada conectando os módulos por meio de pinos. Através do controle da porta SPI do microcontrolador na placa de demonstração DEMO, os dois módulos transceptores se comunicam entre si, realizando assim a transmissão de dados sem fio.
A placa de demonstração do módulo sem fio DEMO (conforme mostrado na Figura 2 abaixo) é uma placa de desenvolvimento desenvolvida pela NiceRF em conjunto com o módulo transceptor sem fio front-end para facilitar aos clientes a depuração de programas e testar distâncias. A placa de demonstração DEMO possui pinos de módulo sem fio externos e os parâmetros de configuração podem ser salvos após o desligamento. O usuário pode modificar a frequência operacional do módulo, potência de transmissão e taxa de comunicação e outros parâmetros relacionados por meio das configurações principais. A placa de demonstração DEMO possui 5 modos de funcionamento, conforme mostrado na Tabela 2.
Tabela 3 e Tabela 4 são as definições de pinos do módulo RF1212 e do módulo RF4432PRO respectivamente. Para obter detalhes, consulte as especificações RF4432PRO e RF1212 no site oficial da NiceRF.

Figura 2: Placa de demonstração NiceRF DEMO e conexão de hardware do módulo sem fio

Figura 3: Interface LCD da placa de demonstração DEMO da NiceRF
| Modo de operação | Descrição |
| Lançamento normal (modo principal) | O pacote de dados é transmitido periodicamente. Após a transmissão bem-sucedida de um pacote de dados, a luz vermelha acende e os dados passam para o modo de recepção. Depois de receber o sinal de resposta, a luz azul acende e o LCD exibe o número de pacotes de dados transmitidos e recebidos. |
| Recepção normal (modo escravo) | Receba o pacote de dados, receba a luz azul correta e, em seguida, transmita o pacote de dados recebido corretamente. Após a transmissão bem-sucedida, a luz vermelha acende e o LCD exibe o número de pacotes de dados recebidos e transmitidos. |
| Lançamento frequente (teste de emissão) | O módulo está no estado normal de transmissão, a luz vermelha está acesa e o número de pacotes não é exibido. |
| Recepção frequente (recebendo teste) | O módulo está no estado de recepção normal e o pino correspondente emite a forma de onda recebida em tempo real e o número de pacotes recebidos não é contado. |
| Dormir | O módulo RF está em estado de suspensão e pode testar o consumo de energia estática nesse estado. |
Tabela 2: Modo de funcionamento da placa de demonstração DEMO da NiceRF
| Pino nº. | Nome do pino | Descrição |
| 1 | GND | Chão |
| 2 | NSS_CONFIG | Configuração SPI habilitada |
| 3 | NSS_DATA | Habilitação de dados SPI |
| 4 | Miso | Saída de dados SPI |
| 5 | MOSI | Entrada de dados SPI |
| 6 | SCK | Entrada de relógio SPI |
| 7 | CLKOUT | Saída do relógio |
| 8 | DADOS | Entrada e saída de dados NRZ (modo contínuo) |
| 9 | IRQ_0 | Saída de interrupção |
| 10 | IRQ_1 | Saída de interrupção |
| 11 | PLL_LOCK | Saída de detecção de bloqueio PLL |
| 12 | CCV | Fonte de alimentação positiva |
| 13 | GND | Terra da antena |
| 14 | FORMIGA | Antena |
Tabela 3: Definição de pinos do módulo RF1212 da NiceRF
| Pino NÃO. | Nome do pino | Descrição |
| 1 | GND | Aterramento de energia |
| 2 | GPIO0 | O pino de controle da chave do transmissor está conectado dentro do módulo |
| 3 | GPIO1 | O pino de controle da chave do transmissor está conectado dentro do módulo |
| 4 | GPIO2 | Conecte-se diretamente ao pino GPIO2 do chip |
| 5 | CCV | Fonte de alimentação positiva 3,3V |
| 6 | SDO | Saída digital 0 ~ VDD V, fornece função de leitura serial para registro de controle interno. |
| 7 | IDE | Entrada de dados seriais. 0~VDD Entrada digital. Este pino é um barramento de fluxo de dados serial de dados seriais de 4 fios. |
| 8 | SCLK | Entrada de relógio serial. 0~VDD Entrada digital. Este pino fornece uma função de relógio de dados seriais de 4 fios. |
| 9 | nSEL | Interface serial seleciona pino de entrada. 0~VDD Entrada digital. Este pino fornece função de seleção/habilitação para barramento de dados serial de 4 fios. Este sinal também é usado para indicar o modo de leitura/gravação em rajada. |
| 10 | nIRQ | Saída de interrupção |
| 11 | SDN | Pino de habilitação do chip. 0~VDD Entrada digital. SDN=0 em todos os modos, exceto no modo de desligamento. Quando SDN=1, o chip será completamente desligado e o conteúdo do registrador será perdido. |
| 12 | GND | Aterramento de energia |
| 13 | GND | Aterramento de energia |
| 14 | FORMIGA | Conecte com antena coaxial de 50 ohms |
Tabela 4: Definição de pinos do módulo RF4432PRO da NiceRF
A transmissão e recepção de sinais sem fio é o processo de modulação e desmodulação dos sinais. Independentemente de módulos sem fio iguais ou diferentes se comunicarem, a diferença nos parâmetros de modulação, como formato de modulação, taxa e frequência de modulação, deslocamento de frequência e largura de banda de recepção das partes de transmissão e recepção, levará à incapacidade de comunicação entre os módulos sem fio.
3.1 Tempo de controle do barramento SPI
A comunicação entre os módulos RF4432PRO e RF1212 e o microcontrolador é que o módulo RF transmite sinais sem fio de acordo com os comandos de controle e dados escritos pelo microcontrolador através do barramento SPI, e transmite os dados recebidos e suas próprias informações relacionadas ao microcontrolador através do Barramento SPI. O tempo SPI do Si4432 e SX1212 é ligeiramente diferente.

Figura 4: Tempo de gravação SPI do chip Si4432

Figura 5: Tempo de gravação SPI do chip SX1212
3.2 Modo de Teste
As placas de demonstração DEMO dos módulos sem fio RF4432PRO e RF1212 da NiceRF têm dois modos de teste: sempre ligado e sempre desligado, que são convenientes para programas de depuração. No modo de teste, o chip SX1212 funciona no modo Contínuo e o Si4432 funciona nos modos Burst write e Burst read. O ponto comum dos módulos RF4432PRO e RF1212 no modo de teste da placa de demonstração DEMO é que os dados são transmitidos continuamente e a forma de onda recebida em tempo real pode ser vista no pino correspondente.

Figura 6: modo de gravação burst Si4432

Figura 7: Modo contínuo SX1212
3.3 Modo Normal
Os modos transceptores normais das placas de demonstração DEMO dos módulos sem fio NiceRF RF4432PRO e RF1212 são executados no modo PH + FIFO do Si4432 e no modo Pacote do SX1212, respectivamente.
Tanto o Si4432 quanto o SX1212 são configurados com FIFO de 64 bytes e funções de processamento de pacotes de dados correspondentes. Neste modo, o chip adiciona e detecta automaticamente o preâmbulo, palavra de sincronização, soma de verificação, etc., e indica o status da comunicação por meio de interrupção, o que facilita muito o processo de comunicação. Para comunicação em modo normal, deve-se garantir que as configurações do formato do pacote de dados dos dois módulos de comunicação sejam exatamente as mesmas, caso contrário o chip não será capaz de gerar uma interrupção.

Figura 8: Formato de pacote Si4432

Figura 9: Formato do pacote SX1212
3.4 Resumo
A Tabela 5 compara o formato do pacote dos chips Si4432 e SX1212 . Verifica-se que o pacote de dados do Si4432 possui mais duas partes, o cabeçalho e o comprimento dos dados, e o restante é basicamente o mesmo. Para garantir que os dois chips possam se comunicar, defina o formato do pacote de dados de teste conforme mostrado na Tabela 6.

Tabela 5: Comparação de formato de pacote Si4432 e SX1212

Tabela 6: Formato do Pacote de Teste
Os parâmetros de radiofrequência usados na comunicação do sistema são definidos como: frequência do transceptor 423,0 MHz, deslocamento de frequência 50 KHz e taxa de RF: 1,2 Kbps. O formato dos dados enviados é mostrado na Tabela 6 acima.
Para garantir que os módulos sem fio si4432 e sx1212 possam funcionar corretamente e fornecer formas de onda de referência, primeiro habilite os mesmos módulos para se comunicarem no modo normal da placa de demonstração DEMO nesta configuração.
4.1 Comparando as formas de onda de recepção e transmissão
O modo de pacote de dados não favorece a depuração do programa porque o chip processa automaticamente os dados e exibe apenas o resultado. Portanto, usamos o modo de teste da placa de demonstração Shenzhen Siwei Wireless Technology Co., Ltd. DEMO e pinos externos para avaliar a qualidade da comunicação, observando de forma síncrona a maneira mais intuitiva de enviar e receber formas de onda.
Primeiro teste a comunicação transmitida pelo módulo RF1212 e recebida pelo módulo RF4432PRO.
Defina o GPIO2 do RF4432PRO como a saída da função de saída de dados Rx e defina o modo do transceptor RF1212 para o modo contínuo, para que os dados recebidos e transmitidos possam ser emitidos dos pinos GPIO2 e DATA em tempo real. Utilize um analisador lógico para observar simultaneamente as formas de onda transmitidas e recebidas pelos módulos RF1212 e RF4432PRO e fazer as comparações correspondentes. Conforme mostrado na Figura 10, verifica-se que existe uma forma de onda de recepção correspondente para cada forma de onda de transmissão, o que comprova que o RF4432PRO recebe os dados transmitidos pelo RF1212.

Figura 10: RF1212 transmite e RF4432 recebe formas de onda de teste em 423 MHz, 1,2 Kbps, deslocamento de frequência de 50 KHz
Amplie a forma de onda e observe cada forma de onda recebida, conforme mostrado na Figura 11, e descubra que cada forma de onda receptora RF4432PRO tem deformação diferente em comparação com a forma de onda de envio RF1212. O julgamento pode ser que a diferença do chip pode fazer com que o sinal de desmodulação esteja errado em alguns parâmetros de radiofrequência.

Figura 11: Dois conjuntos de formas de onda enviados por RF1212 e recebidos por RF4432 em deslocamento de frequência de 423 MHz, 1,2 Kbps e 50 KHz
Primeiro, ajuste a taxa de transmissão dos módulos RF4432PRO e RF1212 para 2,4kbps. Verifica-se que as formas de onda de envio de RF1212 e recepção de RF4432 são relativamente consistentes, parcialmente distorcidas, conforme mostrado na Figura 12.

Figura 12: RF1212 transmite e RF4432 recebe formas de onda em deslocamento de frequência de 423 MHz, 2,4 Kbps e 50 KHz
Para melhorar a precisão da forma de onda, a taxa de transmissão dos módulos RF4432PRO e RF1212 foi aumentada para 9,6 kbps, e descobriu-se que as formas de onda de envio e recepção de RF1212 e RF4432 foram consistentes.

Figura 13: RF1212 transmite e RF4432 recebe formas de onda em deslocamento de frequência de 423 MHz, 9,6 Kbps e 50 KHz
Se as taxas de transmissão dos módulos RF4432PRO e RF1212 não puderem ser ajustadas para obter formas de onda consistentes, você pode tentar ajustar os parâmetros de RF, como frequência de modulação, deslocamento de frequência e largura de banda dos módulos RF4432PRO e RF1212. Por exemplo, se o deslocamento de frequência dos módulos RF4432PRO e RF1212 for ajustado para 20kHz, formas de onda de transmissão e recepção consistentes podem ser obtidas mesmo a uma taxa de transmissão de 1,2k.

Figura 14 RF1212 transmite e RF4432 recebe formas de onda em deslocamento de frequência de 423 MHz, 1,2 Kbps e 20 KHz
4.2 Recepção em Modo Pacote
O módulo RF4432PRO recebe a mesma forma de onda que o módulo RF1212 envia, portanto, mantenha os parâmetros de RF e defina o modo de trabalho da placa de demonstração NiceRF DEMO para o modo normal para ver se o chip pode ser interrompido. Conforme mostrado na Figura 15, o Si4432 gera uma interrupção de recepção. Continue enviando por um período de tempo e descubra que não há perda de pacotes.

Figura 15: deslocamento de frequência de 423 MHz, 9,6 Kbps e 50 KHz, modo contínuo RF1212 e recepção em modo de pacote RF4432
Se não houver interrupção de recepção, você poderá descobrir o problema comparando a diferença entre as formas de onda de recepção do módulo receptor e o mesmo módulo que pode se comunicar normalmente. Conforme mostrado na Figura 16, comparando a forma de onda recebida transmitida pelo RF1212 e a forma de onda transmitida pelo RF4432PRO, verifica-se que a forma de onda de transmissão do RF1212 é interrompida e perde uma seção, e considera-se que a palavra de sincronização do pacote de dados está errada.

Figura 16: Formas de onda de transmissão RF1212 de deslocamento de frequência de 423 MHz, 9,6 Kbps e 50 KHz e formas de onda de transmissão RF4432
4.3 Fluxograma geral

Figura 17: Fluxograma de depuração de comunicação RF4432PRO e RF1212
5.1 Resultados de Hardware
O RF1212 funciona no modo de transmissão normal da placa de demonstração NiceRF DEMO e o RF4432PRO funciona no modo de recepção normal da placa de demonstração DEMO. O número de pacotes enviados e recebidos é exibido na tela. Conforme mostrado na Figura 18, não há perda de pacotes após o envio por um período de tempo.

Figura 18: Diagrama físico da comunicação RF4432PRO (esquerda) e RF1212
5.2 Resultados de software
Na Figura 19, 4432_IRQ é o pino de interrupção do RF4432PRO e RF1212_IRQ0 e RF1212IRQ1 são os pinos de interrupção de recepção e transmissão do RF1212, respectivamente. Pode-se observar que cada interrupção de transmissão possui uma interrupção de recepção correspondente.

Figura 19: Interrupção de comunicação RF4432PRO e RF1212
A chave do experimento está na parte de configuração inicial dos módulos RF4432PRO e RF1212, e o restante é consistente com os procedimentos de comunicação entre os mesmos módulos. A comunicação entre os módulos RF4432PRO e RF1212 pode ser realizada substituindo diretamente os seguintes códigos de inicialização dos módulos RF4432PRO e RF1212 testáveis no programa de comunicação. O programa de teste completo usado neste experimento pode ser encontrado no RF4432 DEMO CODE e RF1212 DEMO CODE no site oficial da NiceRF.
6.1 Exemplo de inicialização do RF4432PRO
vazio SI4432_init(vazio)
{
ItStatus1 = spi_rw(0x03,0x00); // clr fator de interrupção RF
ItStatus2 = spi_rw(0x04,0x00);
SpiWriteCfg(0x06|0x80, 0x00); // Define a interrupção RF
SpiWriteCfg(0x07|0x80, SI4432_PWRSTATE_READY); //entra no modo pronto
SpiWriteCfg(0x09|0x80, 0x7f); // limite de carga = 12P
SpiWriteCfg(0x0a|0x80, 0x05); //saída do conjunto clk
SpiWriteCfg(0x0b|0x80,0x1f);
SpiWriteCfg(0x0c|0x80,0x1f);
SpiWriteCfg(0x0d|0x80, 0xf4); // GPIO 2 = dados rx
SpiWriteCfg(0x70|0x80, 0x2c);
SpiWriteCfg(0x1d|0x80, 0x40); //habilita afc
// Configuração de 9,6K bps
SpiWriteCfg(0x1c|0x80,0xab); //de acordo com o Excel do Silabs
SpiWriteCfg(0x20|0x80,0x39);
SpiWriteCfg(0x21|0x80,0x20);
SpiWriteCfg(0x22|0x80,0x68);
SpiWriteCfg(0x23|0x80,0xdc);
SpiWriteCfg(0x24|0x80,0x00);
SpiWriteCfg(0x25|0x80,0x2a);
SpiWriteCfg(0x2a|0x80,0x24);
SpiWriteCfg(0x72|0x80,0x50);
SpiWriteCfg(0x6e|0x80,0x4e);
SpiWriteCfg(0x6f|0x80,0xa5);
//Fim da configuração de 9,6K bps
SpiWriteCfg(0x30|0x80, 0x88); // habilita PH+ FIFO, desabilita crc, msb
SpiWriteCfg(0x32|0x80,0x00);
SpiWriteCfg(0x33|0x80,0x02); // comprimento do pacote não está incluído
SpiWriteCfg(0x34|0x80, 16); // preâmbulo = 16 petiscos
SpiWriteCfg(0x35|0x80, 0x2a); // detecção de preâmbulo = 2a bit
SpiWriteCfg(0x36|0x80,'s'); //sincronizar palavra = 0x7377
SpiWriteCfg(0x37|0x80,'w');
SpiWriteCfg(0x3e|0x80, 10); // comprimento da carga = 10
SpiWriteCfg(0x43|0x80,0x00);
SpiWriteCfg(0x44|0x80,0x00);
SpiWriteCfg(0x45|0x80,0x00);
SpiWriteCfg(0x46|0x80,0x00); // desabilita o cabeçalho 3 2 1 0
SpiWriteCfg(0x6d|0x80, 0x07); // potência máxima de saída
SpiWriteCfg(0x79|0x80, 0x0); // sem salto
SpiWriteCfg(0x7a|0x80, 0x0); // sem salto
SpiWriteCfg(0x71|0x80, 0x22); // FiFo, FSK, não precisa de clk
SpiWriteCfg(0x72|0x80, 0x50); // desvio: 50KHz
SpiWriteCfg(0x73|0x80, 0x0); // sem deslocamento de frequência
SpiWriteCfg(0x74|0x80, 0x0); // sem deslocamento de frequência
SpiWriteCfg(0x75|0x80,0x52);
SpiWriteCfg(0x76|0x80,0x4b);
SpiWriteCfg(0x77|0x80,0x00); //frequência:423 MHz
}
6.2 Exemplo de inicialização do RF1212
vazio sx1212_init (vazio)
{
SPI_nss_cfg=1; //spi inicialização
SPI_nss_dat=1;
SPI_mosi=1;
SPI_sck=0;
SetRFMode(RF_SLEEP);
SpiWriteCfg(((0x00<<1)&0x3E),0x0c); // Faixa de frequência entre 400MHz e 440MHz
SpiWriteCfg(((0x01<<1)&0x3E),0xa0); // FSK, modo pacote
SpiWriteCfg(((0x02<<1)&0x3E),0x07); //Fdev=50kHz
SpiWriteCfg(((0x03<<1)&0x3E),0x16);
SpiWriteCfg(((0x04<<1)&0x3E),0x1c); //taxa de bits=9,6kbps
SpiWriteCfg(((0x06<<1)&0x3E),0x77); // Frequência = 423,0 MHz
SpiWriteCfg(((0x07<<1)&0x3E),0x2e);
SpiWriteCfg(((0x08<<1)&0x3E),0x00);
SpiWriteCfg(((0x0c<<1)&0x3E),0xc5); //Tamanho FIFO = 64 bytes
SpiWriteCfg(((0x10<<1)&0x3E),0xa3); // Filtro passivo RX=378kHZ
SpiWriteCfg(((0x11<<1)&0x3E),0x38); // Frequência central do filtro polifásico=100kHz
SpiWriteCfg(((0x12<<1)&0x3E),0x28); // SyncByte = 2 Bytes
SpiWriteCfg(((0x16<<1)&0x3E),0x73); //SincronizarByte1= 0x73
SpiWriteCfg(((0x17<<1)&0x3E),0x77); //SincronizarByte2= 0x77
SpiWriteCfg(((0x1a<<1)&0x3E),0x72); // Frequência de corte do filtro de interpolação Tx = 200kHz, potência TX = 9,5 dBm
SpiWriteCfg(((0x1b<<1)&0x3E),0x00); // desabilita a saída CLK
SpiWriteCfg(((0x1c<<1)&0x3E),0x0b); // tamanho do pacote = 11 bytes
SpiWriteCfg(((0x1e<<1)&0x3E),0x60); //sem CRC
}
Este artigo descreve o processo detalhado de implementação, interface de hardware e programa de amostra da comunicação entre os módulos sem fio RF4432PRO e RF1212 da NiceRF, que são verificados por experimentos. O método básico para realizar a comunicação é definir os mesmos parâmetros de RF e formato de dados para RF4432PRO e RF1212. Este método também pode ser estendido à comunicação de outros módulos sem fio e chips sem fio diferentes. Se você encontrar fenômenos experimentais diferentes do texto, tiver dúvidas sobre o processo experimental ou outras ideias, sinta-se à vontade para se comunicar conosco.
+86-755-23080616
vendas@nicerf.com
Site: https://www.nicerf.com/
Endereço: 309-314, 3/F, Bldg A, edifício comercial Hongdu, Zona 43, Baoan Dist, Shenzhen, China
política de Privacidade
· Política de Privacidade
No momento não há conteúdo disponível
E-mail: sales@nicerf.com
Tel:+86-755-23080616