Online Spotlight: An Embedded Communication System Solution for Operation in the Presence of RF Noise and Interference
A secure communication system with a spectrum scanning feature is realized with a programmable system-on-chip (PSoC) embedded system platform. The development of this complex electronic system is possible due to the fast data processing and internal signal processing capabilities provided by PSoC controllers. This PSoC-based communication system can operate in an environment with intense channel noise and external disrupting RF signals through the transmission of data packets from different channels whose frequencies change dynamically with time. It enables emergency communication with specialized hardware and a unique algorithm.
When exposed to electromagnetic disturbance, the communication between a transmitter and receiver is interrupted. When a jamming signal is present, a certain region of the electromagnetic spectrum becomes unusable. An emergency communication system is needed when systems such as radio, mobile phone, GPRS, M2M, Bluetooth, Wi-Fi, ISM RF modules and satellite connections, which are today's primary communication tools operating in the UHF band, become unusable due to noise.1
The system should incorporate automatic channel scanning, frequency hopping and channel listening with received signal strength indicator (RSSI) information distinguishing between noise and data to provide multi-channel broadcasting and reception. This article describes a secure wireless communication system that can perform automatic channel scanning and channel synchronization to create new communication channels under the influence of electromagnetic noise and interference. It is accomplished with a programmable system platform on a chip.
Several commercial RF receiver, RF transmitter and RF receiver/transmitter modules are examined. The HopeRF RFM22B transceiver module was selected due to its channel selection, frequency hopping, RSSI feedback and multi-channel RF communication capabilities.
The features that enable the design, however, are the algorithm and the capabilities of the embedded system platform. There are several platforms available, including Raspberry Pi,2 Zynq,3 Jetson,4 Altera Cyclone II,5 Beagle Bone,6 Odroid,7 STM328 and Cypress PSoC.9 In this study, the Cypress PSoC is used because it has a CPU core and configurable analog and digital blocks that differentiate it from traditional microcontrollers. The Cypress PSoC provides ease of use to the designer in the algorithm's implementation, development and debugging phase.
In this design, there is a primary circuit that provides the data to be sent, a secondary circuit that receives the sent data and a noise generator to test the performance of the communication system in the presence of interference. The noise generator acts as a jammer that broadcasts on the desired channel. The primary device ensures that the data entered from the keyboard is transmitted on an empty channel that does not contain noise. The secondary device captures the data synchronously to the channel where the primary device is tuned. Notification that the data has been received is also sent to the primary device. The associated algorithm ensures that the data is transmitted in a safe and secure manner.10-13
The RFM22B is a low-cost wireless ISM transceiver module operating in the 240 to 960 MHz range. It consumes 55.5 mW of power in receive mode and 265 mW at maximum output power in the transmit mode. RFM22B communication modules have –121 dBm receive sensitivity and +20 dBm maximum output power. They can provide communication up to very long distances in open space, considering the free space path loss at the operating frequency.
Antenna diversity and frequency hopping support can be used to extend the range and improve performance. Additional system features such as an automatic wake-up timer, low battery detector, 64-byte Tx/Rx FIFO, automatic packet processing and preamble detection reduce overall power consumption and enable the use of low-cost system MCUs.14
The Cypress PSoC comprises a CPU core and configurable analog and digital blocks that differentiate it from traditional microcontrollers. The PSoC and RFM22B modules communicate using the serial peripheral interface (SPI) protocol. SPI connections are shown in Figure 1. The RFM22B receives data from the PSoC through the SCLK, SDI and nSEL pins. The PSoC reads data from the RFM22B transceiver’s SDO output pin. PSoC Creator software from Cypress enables the generation of programs for the PSoC 5LP system-on-chip.
The communication protocol is used to write to or read from the registers on the integrated PSoC. The SPI data exchange is as follows:
The 1-bit read-write select bit (R/W) takes place as a 16-bit string, with the following 7 bits of address space and the last eight bits of data. Here, if the read-write select bit is zero, reading from the 7-bit address is performed, and if it is one, writing to the 7-bit address is performed.
After writing to the desired address, the SS pin drops to zero, the R/ W bit is set to one, and the desired address is sent in the following 7 bits. The 8-bit data following the address is written to the desired address in this way. Writing is accomplished by transferring a bit on the rising edge of the clock signal.
In the SPI protocol, the SS pin must first drop to zero for data exchange to start, and the secondary must be selected in this way. No data exchange is possible without selecting a secondary. In the read operation, the R/W bit is set to zero, and the address is sent in the following 7 bits. The 8-bit data that follows the address is set to zero and filled with the data read from that address. This operation is performed on the rising edge of the clock signal, as in the write operation.
The RFM22B is programmed using the SPI protocol, allowing the use of frequency shift keying (FSK),15 Gaussian frequency shift keying (GFSK),16 and on/off keying (OOK)17 modulation types.
Primary and Secondary Circuit Designs
The embedded system design uses the PSoC 5LP system-on-chip (see Figure 2). In the primary circuit, there is a keyboard for data input, a 2x16 LCD user interface screen, an RFM22B transceiver module and an antenna unit to generate multi-channel RF signals. In the secondary circuit, the use of a keyboard is optional; for one-way communication, there is no need for a keyboard.
In the primary circuit, a mini keyboard (cardKB), employing the I2C serial communication protocol, is used to enter data into the system. With dimensions of just 84 x 54 mm, it has 50 keys, 1 neopixel LED, an Atmega328P processor and a communication port. Different characters can be sent using the shift, ctrl, alt, sym and fn keys.
Figure 3 is the corresponding schematic of the primary and secondary circuits with a CY8C5868AXI-LP035 model PSoC. The PSoC is packaged in a 100-pin thin quad flat pack clocked by a 24 MHz crystal. Serial wire debug programming outputs are used to facilitate programming operations.
A noise generator circuit enables external parameter adjustment and functions as a jammer for testing as well (see Figure 4). The miniature switch (DIP switch) in the noise generator circuit is used to select the frequency band for noise injection.
The communication system PCBs are shown in Figure 5. The primary and secondary circuit PCBs are in red and the black PCB is the multi-channel RF noise injection circuit.
The setup of Figure 6 is used for system evaluation.
Scenario-1: Transmission of Data Packets from Different Channels in the Presence of Noise
In the first scenario, the dynamic behavior of the system is examined with noise injected in different channels during transmission of the sample message "DATATEST" consisting of eight letters. Each letter of the word "DATATEST" is transmitted at 1-second intervals and there is no noise signal in the environment when the system is energized.
The word "DATA" is sent to the receiver from Channel 1 with a frequency of 300 MHz during a period when there is no noise in the channel. Immediately after, the noise generator is enabled and noise is injected into the 300 to 340 MHz band. The empty channel scanning algorithm starts querying other channels to transmit the remaining part of the data string. Since there is noise in the channels between the frequencies and 300 and 340 MHz, the primary and secondary units on Channel 6 with a frequency of 350 MHz establish a connection and the portion of the data stream "TE" data is sent.
At this time, noise is injected into the 350 to 380 MHz band. Similarly, the channel scanning algorithm establishes a connection on Channel 10 at 390 MHz to send the last two letters of the message, "ST." Thus, the transmission of the data packet, albeit in parts, is accomplished. A screenshot of the spectrum analyzer for Scenario 1 is shown in Figure 7. The channel hopping process successfully transmits the test data in the presence of noise generated in random channels at different times. This is further illustrated in Figure 8.
Scenario-2: Image Transmission with Dynamic Noise Injection
A 5x5 pixel grayscale image of the symbol "1" is transmitted (see Figure 9a). Each pixel has a range of 255 hues between black and white. When there is no noise in the environment, it is expected that all data is transmitted on the same channel. However, in the presence of time-varying noise, the data packet may not be transmitted on the same channel entirely, but in parts from different channels.
This information is transmitted on the first channel with a frequency of 300 MHz. When noise is injected into the 300 MHz channel in the t1 to t3 time interval, the gray tone values (25 and 66) of the second and third pixels are transmitted from the second channel at 310 MHz. Due to the randomly varying noise in the t3 to t25 time interval, data is partially transmitted in the most suitable empty channels (see Figure 9b).
A new communication system incorporates a scanning feature realized with a PSoC chip. It changes channels in the presence of noise or interference while maintaining data flow through detected clear channels. Message confirmation algorithms for channel scanning, transmitter-receiver synchronization and successful reception in the developed system are novel.
The HopeRF RFM22B RF transceiver module can work with FSK, GFSK and OOK modulation techniques. It communicates using the serial peripheral interface (SPI) serial communication protocol. The PSoC SPI block simplifies the programming of the RF module.
The primary device ensures that the data entered from the keyboard is transmitted through the first noiseless free channel. The secondary device captures the data from the primary device by scanning for free channels.
In a noisy environment, secure RF communication is ensured by circulating between the channels created with the developed algorithms. The primary, secondary and noise generator circuits, for which prototypes are demonstrated, support the frequency range of 240 to 960 MHz (the frequency range of 300 to 400 MHz is used for testing), and a general solution is given for a multi-channel system.
- F. Şahin, “Telsiz Haberleşme Standartları,” İstanbul Aydın Üniversitesi Dergisi, Vol. 7, No. 27, August 2015, pp. 15-30.
- E. Upton and G. Halfacree, Raspberry Pi User Guide, John Wiley & Sons, 2014.
- L. H. Crockett, R. Elliot, M. Enderwitz and R. Stewart, The Zynq book: embedded processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 all programmable SoC, Strathclyde Academic Media, Glasgow, 2014.
- S. A. Mittal, “Survey on Optimized Implementation of Deep Learning Models on the NVIDIA Jetson Platform,” Journal of Systems Architecture, Vol. 97, August 2019, pp. 428-442.
- R. Mustafa, M. A. Mohd Ali, C. Umat and D. Al-Asady, “Design and Implementation of Least Mean Square Adaptive Filter on Altera Cyclone II Field Programmable Gate Array for Active Noise Control,” Proceedings of the IEEE Symposium on Industrial Electronics & Applications, October 2009, pp. 479-484.
- D. Molloy, Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux, John Wiley & Sons, 2019.
- M. Hähnel and H. Härtig, “Heterogeneity by the Numbers: A Study of the ODROID XU+E big.LITTLE Platform,” 6th Workshop on Power-Aware Computing and Systems, October 2014.
- “STM32 32-bit Arm Cortex MCUs.” Web: https://www.st.com/en/microcontrollers-microprocessors/stm32-arm-cortex-mpus.html.
- R. Ashby, Designer's guide to the Cypress PSoC, Newnes, 2005.
- B. TaŞci and Y. Erol, “Wireless Elevator Call System Design with PSoC,” Proceedings of the International Conference on Applied Automation and Industrial Diagnostics, September 2019.
- B. TaŞci and Y. Erol, “PSoC Based Embedded Rf Link Design,” Proceedings of the 13th International Conference on Communications, June 2020, pp. 381-385.
- B. TaŞci and Y. Erol, “PSoC Based Illuminance Level Control for Panoramic Elevators,” Asansör Sempozyumu, October 2018.
- B. TaŞci and Y. Erol, “PSoC Based Touch LED Dimmer Design,” URSI-TÜRKİYE’2014 VII. Bilimsel Kongresi, September 2014.
- RFM22BW RF Transceıver, HopeRF, Web: https://www.hoperf.com/modules/rf_transceiver/RFM22BW.html.
- D. J. Goodman, P. Henry and V. Prabhu, “Frequency-Hopped Multilevel FSK for Mobile Radio,” The Bell System Technical Journal, Vol. 59, No. 7, September 1980, pp. 1257-1275.
- B. Xia, C. Xin, W. Sheng, A. Y. Valero-Lopez and E. Sánchez-Sinencio, “A GFSK Demodulator for Low-IF Bluetooth Receiver,” IEEE Journal of Solid-State Circuits, Vol. 38, No. 8, August 2003, pp. 1397-1400.
- Z. Wang, P. -Y. Chiang, P. Nazari, C. -C. Wang, Z. Chen and P. Heydari, P. “A CMOS 210-GHz fundamental transceiver with OOK modulation,” IEEE Journal of Solid-State Circuits, Vol. 49, No. 3, March 2014, pp. 564-580.