Optimizing SPI communication on STM32 MCUs: a comprehensive guide to high-frequency communication

Published at July 28, 2023 · Artur Kowalski ·  22 min read

In this blog post, we delve into the fascinating world of Serial Peripheral Interface (SPI) on STM32 microcontrollers (MCUs). Specifically, we explore how SPI is utilized in TPM chips for communication with PC motherboards. We encounter the challenges of achieving high-frequency SPI communication, especially when operating as a slave, and the specific limitations of STM32L476 MCUs. The article further uncovers the limitations of existing approaches in platforms like Zephyr and STM32 HAL. We then embark on a journey to fix SPI issues, improve DMA performance, and optimize the firmware for high-speed SPI communication. Throughout the blog post, we provide in-depth technical insights and share valuable test results. Join us as we push the boundaries of SPI communication and unlock new possibilities in the world of microcontrollers....

Categories: firmware miscellaneous security

How to handle a DHT22 sensor using ARM mbed OS?

Published at August 1, 2017 · Michał Żygowski ·  8 min read

Recently I have encountered with temperature and humidity measurements using DHT22 sensor. I was developing a driver source code in ARM mbed OS SDK on particular STM32 NUCLEO L432KC platform. Thorough analysis of DHT22 documentation led me to the following questions: Is it possible to accurately measure voltage-level durations during read process? What duration time values should be considered as timeout or/and error? Should I weaken the time restrictions in order to avoid random delays in voltage level transitions be considered as failure?...

Categories: firmware iot

Zephyr initial triage on Nucleo-64 STM32F411RE

Published at January 14, 2017 · Piotr Król ·  7 min read

As I mention in previous post Zephyr RTOS is an interesting initiative started by Intel, NXP and couple other strong organizations. With so well founded background future for this RTOS should look bright and I think it will quickly became important player on IoT arena. Because of that it is worth to dig little bit deeper in this RTOS and see what problems we faced when trying to develop for some well known development board....

Categories: firmware iot