FPGA Based IOT Application

In addition to the general hardware architecture of an FPGA, this Blog presents some IoT-based applications that take advantage of the FPGA’s fabric

A. FPGA as a Supporting Processing Edge Device- An interesting research in the field proposed a robust technique where FPGA hardware is used solely for image processing operations and is interfaced with an IoT-based device such as Raspberry Pi . With a web server application exposed to the user through any browser, a number of specific image filters can be selected by the user. Relevant codes to implement the image filters on the FPGA are already flashed into the chip. A selection triggers associated general-purpose input output (GPIO) pins on a Raspberry Pi microcontroller which consequently communicates to the decoder of an FPGA. After image processing is done, the FPGA sends the output image to a computer monitor via a video graphic array (VGA) connector. Fig. shows the system block diagram.

System block diagram of R-Pi interface with FPGA in IoT application

The idea of decoupling FPGA’s processing capabilities from the physical layer of IoT edge devices and from the application layer of web services serves as a robust way to carry out complex computations while improving execution time and resource utilization. Furthermore, such a model allows any IoT device that has communication standards, such as the widely used USB, short for Universal Serial Bus, to conveniently interface itself with an FPGA board. By the same token, another advantage lies in the efficiency of coding; since all sorts of complex processing are done on the FPGA fabric using HDL coding, the interfaced IoT device can simply use a high-level programming language such as C, Python or Java that are commonly used by programmers. However, there may be drawbacks with such a model; for instance, interfacing an IoT edge device would require the FPGA to be physically in a close proximity, provided the interface uses a wired communication standard such as a USB cable. With this possibility of limitation, the next section explores recent applications that make use of the FPGA fabric integrated with a softcore processing into a single device, a system on chip (SoC).

B. IoT-Enabled SoC FPGA- The integration of a standalone processor with the FPGA architecture has allowed numerous researchers to advance their work much further in the application domains of FPGAs. Fig. shows a quick glance of the system before and after the integration of a standalone processor with the FPGA architecture. As of now, there are only three reputable providers of SoC FPGAs in the market, namely Altera, Xilinx and Microsome. According to a short literature by Altera, all three manufacturers have used an ARM-based processor system on the chip. Among other specifications, some or all of them have cache memories, on-chip RAM, floating point unit and a number of processor peripherals. Having the processor and the FPGA fabric on the same silicon chip tremendously reduces production cost and saves space on the circuit board.

Integration of standalone processor with FPGA

Devices that are IoT-based communicate using a generic layered protocol stack as shown in Fig. However, depending on the volumes of data that these IoT devices send and/or receive, the processing time varies, and it is incumbent upon such a device to have an adequate speed to process all data in a real-time manner. Typically, such edge devices are not equipped with large processing power. This is where the architecture of an FPGA comes in. Microsemi’s SmartFusion2, an SoC FPGA device, provides the processing capability that is required to essentially transmit data to other devices over an IoT-based platform. Using the FPGA fabrics can reduce the execution time of the communication operations involved greatly within the IoT communication protocol stack. This application, unlike, makes the edge devices responsible for combining data processing as well as data transmission while connected to other devices on an IoT platform

--

--