The increasing demand for real-time data processing in Internet of Things (IoT) applications necessitates the development of efficient and flexible data acquisition systems capable of receiving and processing data from various sensor types. In conjunction with OpenCL, field-programmable gate arrays (FPGAs) have recently emerged as powerful platforms for accelerating data-intensive tasks. This study explored the implementation of an FPGA for data acquisition using OpenCL, aiming to design and implement an efficient data acquisition system tailored for IoT applications. Utilizing OpenCL for FPGA-based data acquisition offers several advantages that contribute to system efficiency, particularly in hardware interfaces between FPGA and external devices used in IoT applications. OpenCL abstracts the complexity of the FPGA hardware interface to external DDR memory for storing temporary data and a communication interface to the host CPU for transferring the collected data and enabling remote access, enabling developers to focus on algorithm design and functionality. To enable data reading from an external analog-to-digital converter (ADC) chip for IoT applications, we developed a component module that utilizes the Avalon-streaming interface and can stream the data to the OpenCL kernel. An experiment was conducted to demonstrate the performance of our proposed design. According to the findings of the experiments, a data acquisition implementation based on an FPGA and OpenCL can simultaneously read analog signals via a multichannel ADC. The proposed design provides a foundation for designing efficient data acquisition solutions, addressing the increasing needs of FPGA-based data acquisition in various IoT environments.
Read full abstract