Prefacio
En el proceso de brindar soporte técnico y personalización de RF a los clientes, descubrimos que debido a las actualizaciones de requisitos funcionales y de productos, a menudo encontramos problemas en que los módulos que deben integrarse con diferentes chips inalámbricos pueden comunicarse entre sí. Las diversas diferencias en parámetros y formatos de datos hacen que sea difícil saber por dónde empezar.
Esta prueba selecciona los módulos de RF frontales RF4432PRO (chip Si4432 incorporado) y RF1212 (chip SX1212 incorporado) desarrollados independientemente por NiceRF, y describe el proceso experimental detallado, la interfaz de hardware y los programas de muestra relacionados, con la esperanza de resolver el problema. entre diferentes chips inalámbricos. El problema de comunicación proporciona un método de referencia.
NiceRF es una empresa de tecnología, servicios y ventas que se centra en el desarrollo de aplicaciones de módulos de sensores y RF. Ha desarrollado una variedad de módulos de aplicación y soluciones para diferentes chips de RF. Los productos actuales cubren diferentes niveles de potencia, como 20 mW, 100 mW, 500 mW, 1 W, 2 W, 3 W, 5 W; SPI, UART (incluidos TTL/RS232/RS485 y USB) y otras interfaces de comunicación; 315/ 433/470/868/915 Hay cientos de módulos en diferentes frecuencias de funcionamiento, como MHz y 2,4 GHz. Años de precipitación y acumulación hacen que NiceRF tenga una gran capacidad de I+D y una rica experiencia en aplicaciones de software y hardware de aplicaciones de RF.
1.1 Rendimiento y características del chip
Figura 1: Diagrama de bloques de los módulos integrados de los chips Si4432 y SX1212
El Si4432 del módulo RF RF4432PRO es un chip transceptor de RF de alto rendimiento desarrollado por Silabs en Estados Unidos con una banda de frecuencia de trabajo inferior a 1 GHz, perteneciente a su serie EzRadioPro. Ha sido ampliamente utilizado en la industria, la investigación científica, la medicina (ISM) y los equipos de comunicación inalámbrica de corto alcance (SRD) en China, y su potencia de salida puede llegar a +20 dBm, y la sensibilidad de recepción también puede alcanzar -121 dBm.
El SX1212 del módulo inalámbrico RF1212 es un chip inalámbrico de potencia ultrabaja desarrollado y producido por Semtech en los Estados Unidos. La frecuencia de funcionamiento oscila entre 300MHz y 510MHz. Se ha optimizado para tener un consumo de energía de recepción muy bajo. La corriente de recepción típica es de 2,6 mA y el voltaje de funcionamiento es de 2,1 ~ 3,6 V, potencia máxima de transmisión +12,5 dBm.
Los parámetros específicos se pueden encontrar en los manuales del chip de Si4432 y SX1212. Los módulos RF4432PRO y RF1212 brindan soporte de hardware para las funciones integradas de los chips Si4432 y SX1212. Los usuarios pueden programar, desarrollar y controlar directamente los módulos según el manual del chip.
módulo de radiofrecuencia | RF4432PRO | RF1212 |
Rango de frecuencia (MHz) | 403, 433, 463 | 429, 433, 440 |
Corriente de emisión | 85mA@20dBm | 25mA@10dBm |
Recibir corriente (mA) | 18.5 | 3 |
Potencia estática (uA) | <1 | <1 |
Rango de potencia de transmisión | 1~20dBm | -8,5 ~ 12,5 dBm |
Recibir sensibilidad | -121 dBm@datos=1,2 Kbps | -110 dBm@datos=1,2 Kbps, fdev=30 KHz |
Tabla 1: Comparación de parámetros de RF probados NiceRF RF4432 y RF1212
El hardware del sistema experimental utiliza los módulos inalámbricos NiceRF RF4432PRO y RF1212 y sus correspondientes placas de demostración DEMO. Los módulos RF4432PRO y RF1212 contienen circuitos de aplicación de chips de alto rendimiento de grado industrial que han sido rigurosamente probados. La plataforma de hardware se completa conectando los módulos entre sí mediante pines. A través del control del puerto SPI del microcontrolador en la placa de demostración DEMO, los dos módulos transceptores se comunican entre sí, realizando así la transmisión inalámbrica de datos.
La placa de demostración DEMO del módulo inalámbrico (como se muestra en la Figura 2 a continuación) es una placa de desarrollo desarrollada por NiceRF junto con el módulo transceptor inalámbrico frontal para facilitar a los clientes la depuración de programas y las distancias de prueba. La placa de demostración DEMO tiene pines de módulo inalámbrico externo y los parámetros de configuración se pueden guardar después del apagado. El usuario puede modificar la frecuencia de funcionamiento del módulo, la potencia de transmisión y la velocidad de comunicación y otros parámetros relacionados a través de la configuración clave. La placa de demostración DEMO tiene 5 modos de trabajo, como se muestra en la Tabla 2.
La Tabla 3 y la Tabla 4 son las definiciones de pines del módulo RF1212 y del módulo RF4432PRO respectivamente. Para obtener más información, consulte la especificación RF4432PRO y la especificación RF1212 en el sitio web oficial de NiceRF.
Figura 2: Placa de demostración NiceRF DEMO y conexión de hardware del módulo inalámbrico
Figura 3: Interfaz LCD de la placa de demostración DEMO de NiceRF
Modo de funcionamiento | Descripción |
Lanzamiento normal (modo principal) | El paquete de datos se transmite periódicamente. Después de transmitir exitosamente un paquete de datos, la luz roja se enciende y los datos cambian al modo de recepción. Después de recibir la señal de respuesta, la luz azul se enciende y la pantalla LCD muestra la cantidad de paquetes de datos transmitidos y recibidos. |
Recepción normal (modo esclavo) | Reciba el paquete de datos, reciba la luz azul correcta y luego transmita el paquete de datos recibido correctamente. Después de la transmisión exitosa, la luz roja se enciende y la pantalla LCD muestra la cantidad de paquetes de datos recibidos y transmitidos. |
Lanzamiento frecuente (prueba de emisiones) | El módulo está en estado de transmisión normal, la luz roja está encendida y no se muestra la cantidad de paquetes. |
Recepción frecuente (prueba de recepción) | El módulo está en el estado de recepción normal y el pin correspondiente emite la forma de onda recibida en tiempo real y no se cuenta la cantidad de paquetes recibidos. |
Dormir | El módulo de RF está en estado de suspensión y puede probar el consumo de energía estática en este estado. |
Tabla 2: Modo de funcionamiento de la placa de demostración DEMO de NiceRF
Pin No. | Nombre del PIN | Descripción |
1 | Tierra | Suelo |
2 | NSS_CONFIG | Habilitación de configuración SPI |
3 | NSS_DATOS | Habilitación de DATOS SPI |
4 | miso | Salida de datos SPI |
5 | MOSI | Entrada de datos SPI |
6 | SCK | Entrada de reloj SPI |
7 | CLKOUT | Salida de reloj |
8 | DATOS | Entrada y salida de datos NRZ (modo continuo) |
9 | IRQ_0 | salida de interrupción |
10 | IRQ_1 | salida de interrupción |
11 | PLL_LOCK | Salida de detección de bloqueo PLL |
12 | VCC | Fuente de alimentación positiva |
13 | Tierra | Tierra de la antena |
14 | HORMIGA | Antena |
Tabla 3: Definición de pines del módulo RF1212 de NiceRF
Pin NO. | Nombre del PIN | Descripción |
1 | Tierra | Tierra eléctrica |
2 | GPIO0 | El pin de control del interruptor del transmisor está conectado dentro del módulo. |
3 | GPIO1 | El pin de control del interruptor del transmisor está conectado dentro del módulo. |
4 | GPIO2 | Conéctese directamente al pin GPIO2 del chip |
5 | VCC | Fuente de alimentación positiva 3,3 V. |
6 | SDO | Salida digital 0~VDD V, proporciona función de lectura en serie al registro de control interno. |
7 | IDE | Entrada de datos en serie. Entrada digital 0~VDD V. Este pin es un bus de flujo de datos en serie de datos en serie de 4 cables. |
8 | SCLK | Entrada de reloj serie. Entrada digital 0~VDD V. Este pin proporciona una función de reloj de datos en serie de 4 cables. |
9 | nSEL | Interfaz serie seleccione pin de entrada. Entrada digital 0~VDD V. Este pin proporciona la función de selección/activación para el bus de datos serie de 4 hilos. Esta señal también se utiliza para indicar el modo de lectura/escritura en ráfaga. |
10 | IRQ | salida de interrupción |
11 | SDN | Pin de habilitación de chip. Entrada digital 0~VDD V. SDN=0 en todos los modos excepto el modo de apagado. Cuando SDN=1, el chip se apagará por completo y se perderá el contenido del registro. |
12 | Tierra | Tierra eléctrica |
13 | Tierra | Tierra eléctrica |
14 | HORMIGA | Conectar con antena coaxial de 50 ohmios. |
Tabla 4: Definición de pines del módulo RF4432PRO de NiceRF
La transmisión y recepción de señales inalámbricas es el proceso de modular y demodular las señales. Independientemente de si se comunican los mismos módulos inalámbricos o diferentes, la diferencia en los parámetros de modulación tales como el formato de modulación, la velocidad y frecuencia de modulación, el desplazamiento de frecuencia y el ancho de banda de recepción de las partes transmisora y receptora conducirán a la incapacidad de comunicarse entre los módulos inalámbricos.
3.1 Temporización del control del bus SPI
La comunicación entre los módulos RF4432PRO y RF1212 y el microcontrolador es que el módulo RF transmite señales inalámbricas de acuerdo con los comandos de control y los datos escritos por el microcontrolador a través del bus SPI, y transmite los datos recibidos y su propia información relacionada al microcontrolador a través del Autobús SPI. La sincronización SPI de Si4432 y SX1212 es ligeramente diferente.
Figura 4: Temporización de escritura SPI del chip Si4432
Figura 5: Temporización de escritura SPI del chip SX1212
3.2 Modo de prueba
Las placas de demostración DEMO de los módulos inalámbricos RF4432PRO y RF1212 de NiceRF tienen dos modos de prueba: siempre encendido y siempre apagado, que son convenientes para depurar programas. En el modo de prueba, el chip SX1212 funciona en modo continuo y el Si4432 funciona en los modos de escritura en ráfaga y lectura en ráfaga. El punto común del módulo RF4432PRO y RF1212 en el modo de prueba de la placa de demostración DEMO es que los datos se transmiten continuamente y la forma de onda recibida en tiempo real se puede ver en el pin correspondiente.
Figura 6: Modo de escritura en ráfaga Si4432
Figura 7: Modo continuo SX1212
3.3 Modo normal
Los modos transceptores normales de las placas de demostración DEMO de los módulos inalámbricos NiceRF RF4432PRO y RF1212 se ejecutan en modo PH+FIFO de Si4432 y modo Paquete de SX1212 respectivamente.
Tanto Si4432 como SX1212 están configurados con FIFO de 64 bytes y las funciones de procesamiento de paquetes de datos correspondientes. En este modo, el chip agrega y detecta automáticamente el preámbulo, la palabra de sincronización, la suma de verificación, etc., e indica el estado de la comunicación mediante interrupción, lo que facilita enormemente el proceso de comunicación. Para la comunicación en modo normal, se debe garantizar que la configuración del formato del paquete de datos de los dos módulos de comunicación sea exactamente la misma; de lo contrario, el chip no podrá generar una interrupción.
Figura 8: formato de paquete Si4432
Figura 9: formato de paquete SX1212
3.4 Resumen
La Tabla 5 compara el formato de paquete de los chips Si4432 y SX1212 . Se puede encontrar que el paquete de datos de Si4432 tiene dos partes más, el encabezado y la longitud de los datos, y el resto son básicamente iguales. Para garantizar que los dos chips puedan comunicarse, configure el formato del paquete de datos de prueba como se muestra en la Tabla 6.
Tabla 5: Comparación de formatos de paquetes Si4432 y SX1212
Tabla 6: Formato del paquete de prueba
Los parámetros de radiofrecuencia utilizados en la comunicación del sistema se configuran como: frecuencia del transceptor 423,0 MHz, compensación de frecuencia 50 KHz y velocidad de RF: 1,2 Kbps. El formato de datos enviados se muestra en la Tabla 6 anterior.
Para garantizar que los módulos inalámbricos si4432 y sx1212 puedan funcionar correctamente y proporcionar formas de onda de referencia, primero habilite los mismos módulos para comunicarse en el modo normal de la placa de demostración DEMO en esta configuración.
4.1 Comparación de las formas de onda de recepción y transmisión
El modo de paquete de datos no favorece la depuración del programa porque el chip procesa automáticamente los datos y solo muestra el resultado. Por lo tanto, utilizamos el modo de prueba de la placa de demostración DEMO de Shenzhen Siwei Wireless Technology Co., Ltd. y pines externos para juzgar la calidad de la comunicación observando sincrónicamente la forma más intuitiva de enviar y recibir formas de onda.
Primero pruebe la comunicación transmitida por el módulo RF1212 y recibida por el módulo RF4432PRO.
Configure el GPIO2 del RF4432PRO como salida de la función de salida de datos Rx y configure el modo transceptor RF1212 en modo continuo, de modo que los datos recibidos y transmitidos puedan salir desde los pines GPIO2 y DATA en tiempo real. Utilice un analizador lógico para observar simultáneamente las formas de onda transmitidas y recibidas por los módulos RF1212 y RF4432PRO y realizar las comparaciones correspondientes. Como se muestra en la Figura 10, se puede encontrar que hay una forma de onda de recepción correspondiente para cada forma de onda de transmisión, lo que demuestra que el RF4432PRO recibe los datos transmitidos por el RF1212.
Figura 10: RF1212 transmite y RF4432 recibe formas de onda de prueba a 423 MHz, 1,2 Kbps, desplazamiento de frecuencia de 50 KHz
Amplíe la forma de onda y observe cada forma de onda de recepción, como se muestra en la Figura 11, y descubra que cada forma de onda de recepción RF4432PRO tiene una deformación diferente en comparación con la forma de onda de envío RF1212. Se puede considerar que la diferencia del chip puede causar que la señal de demodulación sea incorrecta bajo algunos parámetros de radiofrecuencia.
Figura 11: Dos conjuntos de formas de onda enviadas por RF1212 y recibidas por RF4432 a 423 MHz, 1,2 Kbps y 50 KHz de desplazamiento de frecuencia
Primero, ajuste la velocidad en baudios de los módulos RF4432PRO y RF1212 a 2,4 kbps. Se encuentra que las formas de onda de envío RF1212 y recepción RF4432 son relativamente consistentes y parcialmente distorsionadas, como se muestra en la Figura 12.
Figura 12: Formas de onda de transmisión RF1212 y recepción RF4432 a 423 MHz, 2,4 Kbps y 50 KHz de compensación de frecuencia
Para mejorar la precisión de la forma de onda, la velocidad en baudios de los módulos RF4432PRO y RF1212 se incrementa a 9,6 kbps y se descubre que las formas de onda de envío RF1212 y recepción RF4432 han sido consistentes.
Figura 13: Formas de onda de transmisión RF1212 y recepción RF4432 a 423 MHz, 9,6 Kbps y 50 KHz de compensación de frecuencia
Si las velocidades en baudios de los módulos RF4432PRO y RF1212 no se pueden ajustar para obtener formas de onda consistentes, puede intentar ajustar los parámetros de RF como la frecuencia de modulación, el desplazamiento de frecuencia y el ancho de banda de los módulos RF4432PRO y RF1212. Por ejemplo, si el desplazamiento de frecuencia de los módulos RF4432PRO y RF1212 se ajusta a 20 kHz, se pueden obtener formas de onda de transmisión y recepción consistentes incluso a una velocidad de 1,2 k baudios.
Figura 14 Formas de onda de transmisión RF1212 y recepción RF4432 a 423 MHz, 1,2 Kbps y 20 KHz de compensación de frecuencia
4.2 Recepción en modo paquete
El módulo RF4432PRO recibe la misma forma de onda que envía el módulo RF1212, así que mantenga los parámetros de RF y configure el modo de trabajo de la placa de demostración NiceRF DEMO en modo normal para ver si el chip se puede interrumpir. Como se muestra en la Figura 15, el Si4432 genera una interrupción de recepción. Continúe enviando durante un período de tiempo y descubra que no hay pérdida de paquetes.
Figura 15: Recepción en modo continuo RF1212 con desplazamiento de frecuencia de 423 MHz, 9,6 Kbps y 50 KHz y en modo paquete RF4432
If there is no receiving interruption, you can find out the problem by comparing the difference between the receiving waveforms of the receiving module and the same module that can communicate normally. As shown in Figure 16, comparing the received waveform transmitted by RF1212 and the waveform transmitted by RF4432PRO, it is found that the RF1212 transmission waveform is interrupted and missed a section, and it is judged that the synchronization word of the data packet is wrong.
Figure 16: 423MHz 9.6Kbps 50KHz frequency offset RF1212 transmit and RF4432 transmit waveforms
4.3 Overall flow chart
Figure 17: RF4432PRO and RF1212 communication debugging flow chart
5.1 Hardware Results
The RF1212 works in the normal transmit mode of the NiceRF DEMO demo board, and the RF4432PRO works in the normal receive mode of the DEMO demo board. The number of packets sent and received is displayed on the screen. As shown in Figure 18, there is no packet loss after sending for a period of time.
Figure 18: Physical diagram of RF4432PRO (left) and RF1212 communication
5.2 Software Results
In Figure 19, 4432_IRQ is the interrupt pin of RF4432PRO, and RF1212_IRQ0 and RF1212IRQ1 are the receive and transmit interrupt pins of RF1212, respectively. It can be seen that each transmit interrupt has a corresponding receive interrupt.
Figure 19: RF4432PRO and RF1212 Communication Interruption
The key to the experiment lies in the initial setting part of the RF4432PRO and RF1212 modules, and the rest are consistent with the communication procedures between the same modules. The communication between the RF4432PRO and RF1212 modules can be realized by directly substituting the following testable RF4432PRO and RF1212 module initialization codes into the communication program. The complete test program used in this experiment can be found in the RF4432 DEMO CODE and RF1212 DEMO CODE on the NiceRF official website.
6.1 RF4432PRO initialization example
void SI4432_init(void)
{
ItStatus1 = spi_rw(0x03,0x00); // clr RF interrupt factor
ItStatus2 = spi_rw(0x04,0x00);
SpiWriteCfg(0x06|0x80, 0x00); // Set RF interrupt
SpiWriteCfg(0x07|0x80, SI4432_PWRSTATE_READY); // enter ready mode
SpiWriteCfg(0x09|0x80, 0x7f); // load cap = 12P
SpiWriteCfg(0x0a|0x80, 0x05); // output clk set
SpiWriteCfg(0x0b|0x80,0x1f);
SpiWriteCfg(0x0c|0x80,0x1f);
SpiWriteCfg(0x0d|0x80, 0xf4); // GPIO 2 = rx data
SpiWriteCfg(0x70|0x80, 0x2c);
SpiWriteCfg(0x1d|0x80, 0x40); // enable afc
// 9.6K bps setting
SpiWriteCfg(0x1c|0x80,0xab); // according to Silabs's excel
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);
//9.6K bps setting end
SpiWriteCfg(0x30|0x80, 0x88); // enable PH+ FIFO, disable crc, msb
SpiWriteCfg(0x32|0x80,0x00);
SpiWriteCfg(0x33|0x80,0x02); // la longitud del paquete no está incluida
SpiWriteCfg(0x34|0x80, 16); // preámbulo = 16 mordiscos
SpiWriteCfg(0x35|0x80, 0x2a); // detección de preámbulo = 2a bit
SpiWriteCfg(0x36|0x80,'s'); // palabra de sincronización = 0x7377
SpiWriteCfg(0x37|0x80,'w');
SpiWriteCfg(0x3e|0x80, 10); // longitud de la carga útil = 10
SpiWriteCfg(0x43|0x80,0x00);
SpiWriteCfg(0x44|0x80,0x00);
SpiWriteCfg(0x45|0x80,0x00);
SpiWriteCfg(0x46|0x80,0x00); // deshabilitar encabezado 3 2 1 0
SpiWriteCfg(0x6d|0x80, 0x07); // potencia máxima de salida
SpiWriteCfg(0x79|0x80, 0x0); // sin salto
SpiWriteCfg(0x7a|0x80, 0x0); // sin salto
SpiWriteCfg(0x71|0x80, 0x22); // FiFo, FSK, no necesita clk
SpiWriteCfg(0x72|0x80, 0x50); // desviación: 50KHz
SpiWriteCfg(0x73|0x80, 0x0); // sin desplazamiento de frecuencia
SpiWriteCfg(0x74|0x80, 0x0); // sin desplazamiento de frecuencia
SpiWriteCfg(0x75|0x80,0x52);
SpiWriteCfg(0x76|0x80,0x4b);
SpiWriteCfg(0x77|0x80,0x00); // frecuencia: 423MHz
}
6.2 Ejemplo de inicialización de RF1212
vacío sx1212_init (vacío)
{
SPI_nss_cfg=1; // inicio spi
SPI_nss_dat=1;
SPI_mosi=1;
SPI_sck=0;
EstablecerRFMode(RF_SLEEP);
SpiWriteCfg(((0x00<<1)&0x3E),0x0c); // Banda de frecuencia entre 400MHz y 440MHz
SpiWriteCfg(((0x01<<1)&0x3E),0xa0); // FSK, modo paquete
SpiWriteCfg(((0x02<<1)&0x3E),0x07); // Fdev=50kHz
SpiWriteCfg(((0x03<<1)&0x3E),0x16);
SpiWriteCfg(((0x04<<1)&0x3E),0x1c); // velocidad de bits = 9,6 kbps
SpiWriteCfg(((0x06<<1)&0x3E),0x77); // Frecuencia=423.0MHz
SpiWriteCfg(((0x07<<1)&0x3E),0x2e);
SpiWriteCfg(((0x08<<1)&0x3E),0x00);
SpiWriteCfg(((0x0c<<1)&0x3E),0xc5); // tamaño FIFO = 64 bytes
SpiWriteCfg(((0x10<<1)&0x3E),0xa3); // filtro pasivo RX=378kHZ
SpiWriteCfg(((0x11<<1)&0x3E),0x38); // Frecuencia central del filtro polifásico=100kHz
SpiWriteCfg(((0x12<<1)&0x3E),0x28); // Bytes de sincronización = 2 bytes
SpiWriteCfg(((0x16<<1)&0x3E),0x73); // SincronizaciónByte1= 0x73
SpiWriteCfg(((0x17<<1)&0x3E),0x77); // SincronizaciónByte2= 0x77
SpiWriteCfg(((0x1a<<1)&0x3E),0x72); // Frecuencia de corte del filtro de interpolación Tx = 200 kHz, potencia TX = 9,5 dBm
SpiWriteCfg(((0x1b<<1)&0x3E),0x00); // desactivar CLK
SpiWriteCfg(((0x1c<<1)&0x3E),0x0b); // tamaño del paquete = 11 bytes
SpiWriteCfg(((0x1e<<1)&0x3E),0x60); // sin CRC
}
Este artículo describe el proceso de implementación detallado, la interfaz de hardware y el programa de muestra de la comunicación entre los módulos inalámbricos RF4432PRO y RF1212 de NiceRF, que se verifican mediante experimentos. El método básico para realizar la comunicación es configurar los mismos parámetros de RF y formato de datos para RF4432PRO y RF1212. Este método también se puede ampliar a la comunicación de otros módulos inalámbricos y chips inalámbricos diferentes. Si encuentra diferentes fenómenos experimentales en el texto, tiene preguntas sobre el proceso experimental u otras ideas, no dude en comunicarse con nosotros.
+86-755-23080616
ventas@nicerf.com
Sitio web: https://www.nicerf.com/
Dirección: 309-314, 3/F, Bldg A, edificio comercial Hongdu, Zona 43, Baoan Dist, Shenzhen, China
política de privacidad
· Política de privacidad
Actualmente no hay contenido disponible
Correo electrónico:sales@nicerf.com
Teléfono:+86-755-23080616