SPI-FSMC Expander with DMA Mode Support
DOI:
https://doi.org/10.31861/sisiot2024.2.02011Keywords:
host controller, SPI bus, embedded system, IIoT, human-machine interfaceAbstract
The article provides further development of software and hardware solutions for building fully functional Industrial Internet of Things (IIoT) systems based on high-speed SPI. The possibility of overcoming the obstacles caused by the limitation of the set of input/output lines to a more complete use of the redundant computing resource of Wi-Fi modules outside the provision of "access point – station" information exchange for solving problems related to other aspects of the functioning of the embedded system has been investigated. It has been established that the current issue is to expand the basic capabilities of embedded system components, taking into account the provision of comprehensive access to the SPI bus for all the functionality of typical IIoT systems. The implementation of the proposed hardware and software solutions was carried out in the form of an expander module for the basic capabilities of the SPI bus, designed to intensify information exchange over the Wi-Fi channel between the SoC controller and peripherals: IO and LCD extensions, SD cards, DRAM and SPI-Flash file storage. The SPIExpander hardware driver and the MultySwitcher software driver for its control were developed. In software driver developing was implement the HAL paradigm and was used RTOS methods to prevent abnormal situations of multiple access on the bus. The advantages of introducing the high-speed SPI bus as opposed to the STM-FSMC interface are demonstrated in the example with the implementation of their HMI components into the structure of the embedded device. SPIExpander was used as a system proxy driver that implements the function of a network switch, with controlled by DrvLoadBlock software driver DrvSPI2LCD hardware adapter driver connecting on the one of its serial ports for converts DMA packets into a stream of 16-bit words. Hardware stability has been increased and the set of input lines for generating LCD control system signals and conducting DMA block operations has been minimized. The software model of the driver for the implementation of polycore and multithreaded information exchange is presented. Recommendations for using the SPI-FSMC expander are provided.
Downloads
References
A. Yarmilko, "High-Speed SPI Bus Host Controller for Embedded Systems," in Proc. 2022 IEEE 41st Int. Conf. Electron. Nanotechnol. (ELNANO), Kyiv, Ukraine, 2022, pp. 662–666, doi: 10.1109/ELNANO54667.2022.9927055.
A. Karmakar, N. Dey, T. Baral, M. Chowdhury and M. Rehan, "Industrial Internet of Things: A Review," in Proc. 2019 Int. Conf. Opto-Electron. Appl. Opt. (Optronix), Kolkata, India, 2019, pp. 1–6, doi: 10.1109/OPTRONIX.2019.8862436.
R. Budihal, “Emerging trends in embedded systems and applications,” 2010. [Online]. Available: https://www.embedded.com/emerging-trends-in-embedded-systems-and-applications/. Accessed on: Nov. 4, 2024.
A. J. Gapinski and Z. J. Czajkiewicz, “Automated Manufacturing: Processes and Technologies,” Int. Conf. Eng. Comput. Educ., Buenos Aires, Argentina, 2009. [Online]. Available: https://www.researchgate.net/publication/319990699_Automated_Manufacturing_Processes_and_Technologies. Accessed on: Nov. 4, 2024.
A. Kalnoskas, “Embedded GUI library for professional HMI development,” 2018. [Online]. Available: https://www.microcontrollertips.com/emwin-embedded-gui-library-for-professional-hmi-development/. Accessed on: Nov. 4, 2024.
AN2784 Application note. Using the high-density STM32F10xxx FSMC peripheral to drive external memories. [Online]. Available: https://www.st.com/resource/en/application_note/cd00200423-using-the-highdensity-stm32f10xxx-fsmc-peripheral-to-drive-external-memories-stmicroelectronics.pdf. Accessed on: Nov. 10, 2024.
ARMDeveloping. Chapter 3. Programmers Model. Bit-banding. [Online]. Available: https://developer.arm.com/documentation/ddi0439/b/Programmers-Model/Bit-banding. Accessed on: Nov. 10, 2024.
Published
Issue
Section
License
Copyright (c) 2024 Security of Infocommunication Systems and Internet of Things

This work is licensed under a Creative Commons Attribution 4.0 International License.