Basics of Imaging Display Drivers – MIPI and I2C

Basics of Imaging Display Drivers - MIPI and I2C

MIPI is a serial interface, and MIPI-DSI is the technology used for displays. LCD displays with MIPI interfaces serve as display outputs, enabling graphical user interfaces that allow ordinary users to skillfully operate computers and other devices. Therefore, MIPI is an important interface for human-computer interaction. In addition to the previously mentioned camera recording driver … Read more

Using Sensirion I2C SDP: A Python Library Guide

Using Sensirion I2C SDP: A Python Library Guide

With the development of Internet of Things (IoT) technology, more and more sensors are being applied to various devices. Sensors produced by Sensirion are known for their high precision and reliability, among which I2C communication sensors are particularly common. To facilitate developers in using these sensors, the sensirion-i2c-sdp library has emerged. This article will detail … Read more

Explaining Why Pull-Up Resistors Are Added to I2C Signal Lines

Explaining Why Pull-Up Resistors Are Added to I2C Signal Lines

I2C is a two-wire serial communication bus, consisting of an SCL signal and an SDA signal. SCL is the clock signal sent from the master device, while SDA is the data signal, which is bidirectional, allowing devices to send and receive data through the SDA signal. When designing the I2C signal circuit, we add a … Read more

How to Write I2C Driver Functions from Scratch

How to Write I2C Driver Functions from Scratch

Many people do not know how to write programs by looking at timing diagrams. Below, we will analyze a non-standard I2C device and teach everyone how to write an efficient IO simulation of I2C timing. Observing the timing diagram, it includes the I2C start signal, I2C stop signal, I2C acknowledgment, non-acknowledgment, response acknowledgment, as well … Read more

I2C Protocol Application: Sensor Interface and Data Reading

I2C Protocol Application: Sensor Interface and Data Reading

I2C Protocol Application: Sensor Interface and Data Reading I2C Protocol Application: Sensor Interface and Data Reading Hello everyone, I am Daodao. Today, let’s talk about the I2C protocol, which many sensors use to communicate with microcontrollers. Although it only uses two wires, it can connect multiple devices, making it a master of saving wires. However, … Read more

How to Select the Pull-Up Resistor Value for I2C?

How to Select the Pull-Up Resistor Value for I2C?

I2C is a common serial communication interface, which is available on most processors. The I2C interface is an open-drain structure, so pull-up resistors are needed in the design to drive the high level. As shown below: Rp is the pull-up resistor, and the dashed box contains the internal I2C controller structure of the chip (for … Read more

Learning I2C Protocol – Hardware I2C Implementation

Learning I2C Protocol - Hardware I2C Implementation

Initial Implementation of Hardware I2C Based on Standard Library 1. Introduction to Basic Library Functions of Hardware I2C void I2C_DeInit(I2C_TypeDef* I2Cx); void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct); void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct); void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data); uint8_t … Read more

Comprehensive Guide to Arduino Wire Library for I2C Communication

Comprehensive Guide to Arduino Wire Library for I2C Communication

In the creative world of Arduino, when we desire to enable our small development board to collaborate seamlessly with various external devices, achieving more complex and powerful functions, the Wire library emerges like a hidden master, quietly facilitating our connection with I2C devices. Today, let us unveil the mystery of the Wire library and explore … Read more