DirectoryFirst, LINUXI2C Drive--Overview
1.1 Written in front
1.2 I2C
1.3 Hardware
1.4 Software
1.5 reference two, LINUXI2C drive--I2C bus
2.1 I2C Bus Physical structure
2.2 I2C Bus Features
2.3 Start and stop conditions
2.4 Data transmission Format
2.5 response
2.6 Bus arbitration three, LINUXI2C drive--analysis of EE
Recently, I am working on a capacitive touch screen driver and using I2C bus interfaces to transmit data. So let's take a look at the I2C bus principles.
The I2C bus is a character transmission bus between chips launched by Philips. It adopts two-wire system, which consists of the serial clock line SCL and serial data line SDA. In the circuit design, the
1 I2C communication protocol and S3C2410 chip Introduction
I2C (Inter Integrated Circuit) bus was launched by Philips in 1980. The I2C bus transmits information between the bus and the device using two wires (SDA and SCL), serial communication between the microcontroller and external devices, or bidirectional data transmission between the master device and the sl
Port Environment (Bold font in redIs the modified content,Blue bold ChineseFor special attention)
1. host environment: centos 5.5 and 1 GB memory in vmare.
2. Integrated Development Environment: Elipse ide
3. compiling environment: Arm-Linux-GCC v4.4.3 and arm-None-Linux-gnueabi-GCC v4.5.1.
4. Development Board: mini2440, 2 m nor flash, 128 m nand Flash.
5, U-boot version: u-boot-2009.08
6, Linux: linux-2.6.32.2
7. References:
Complete embedded Linux application development manual, edited by Wei
This part is prepared for analysis and summarization in several partsBecause I2C communication must have at least two chips, the driver consists of two parts:
I2C driver of the main chip
I2C driver from the chip
Note: What if none of the options are supported ??? (Unfortunately, only two chips can be driven, but the process is similar)
(1).
This time I will study the Code with the I2C driver in the kernel. Before going into the code, I will first briefly understand the relationship between the I2C core data structure. From this, we may be able to have a better understanding of the driver code. The design of the software data structure and the relationship between the data structures should at least describe the Organizational Relationship of t
Forward the blog about I2C by Mr. Netease DP, which is easy to find during learning.Recently, it was found that the primary device reset may cause an I2C deadlock when accessing the I2C device. The result is high in the SCL and low in the SDA. After that, it is found that the I2C bus is pulled from the device. After th
I2C bus is widely used in all embedded systems and is an industrial-level bus. However, because stm32 is a 32-bit MCU, it is doomed that its I2C hardware interface will be powerful, but it will also be difficult to control, unlike 8-bit machines, such as avr8-bit Twi (actually fully compliant with I2C standards) so easy to use. the following are some of my experi
============================================Author: yuanluluHttp://blog.csdn.net/yuanluluCopyright No, but reprint please retain this paragraph statement============================================
According to their own understanding, the http://lxr.linux.no/linux+v2.6.34/Documentation/i2c/instantiating-devices is translated into the document about enumerating and establishing i2c_client. Have objections or questions please refer to the original, af
Simulation of I2C bus multi-master communication research and Software Design
Author:■ Zheng Xuyang, Xi'an University of electronic science and technology, Li Bingbing, Huang Xinping
Abstract:This paper introduces the principle of multi-master communication simulating I2C bus, and proposes a new implementation method. This method uses delayed receiving comparison to implement arbitration, so that common Mic
I2C bus Definition
The I2C (Inter-Integrated Circuit) bus is a two-line serial bus developed by Philips to connect the microcontroller and its peripheral devices. The I2C bus was created in 1980s and was initially
Audio and video devices Development is now mainly used in server management, including communication of the status of a single component. For ex
2 I2C Subsystem
2.1 LINUXI2C Subsystem Architecture
The I2C subsystem is already available in the kernel, so you must familiarize yourself with the subsystem before you can do the I2C drive.
2.2 Three major components
1, I2C core (I2c-core)
The
It is important to connect the operating system with the corresponding hardware devices and write drivers that connect the hardware and software. This article mainly discusses how to design and implement the driver with I2C interface on the S3C2410 chip under the wince operating system. It introduces in detail the compiling method of the stream driver program under wince, at the same time, the driver is compiled into the operating system through platf
Reproduced in front of a lot of articles on I2C, to finish a project, but also to write their own points I2C experience, I this is a pure application angle, want to see the principle, to see reprinted articles, people write a lot better.
For a I2C device, the device file is the simplest and most complex, saying it's simple because it's very easy to provide code u
The s5pc100's Proteus microprocessor supports multi-host I2C bus serial interfaces. A dedicated serial data cable (SDA) and a serial clock line (SCL) transmit information between the bus host and peripheral devices connected to the I2C bus. The SDA and SCL lines are bidirectional.
In multi-host I2C bus mode, multiple microprocessors are sent to or received from t
One 1 I2C bus: Two-line serial bus interface, SDA (data line) and SCL (clock signal line). The SCL is generally controlled by the main device, it is used to control the start, end, and direction of data transmission (R/W ).
2 when the SCL is in a high-power period, SDA jumps from high to low, that is, the master device sends a start signal through I2C (all slave devices are in the ready state); when the S
I2C (Inter integrated circuit, internal integrated circuit) bus is a very inexpensive and efficient network for interconnecting peripherals in small, embedded systems. The I2C bus is sometimes called IIC, which has a history of more than more than 20 years. The I2C interface and the SPI interface work the same, but the two methods are different. The
========================================================== ====Author: yuanlulu
Http://blog.csdn.net/yuanlulu
No copyright, but please keep this statement for reprinting========================================================== ====
According to your own understanding, translated. If you have any objection or doubt, refer to the original article. After all, the kernel documentation is the essence. S
Method 1: use the bus number to declare the device.
Define device information during kernel in
My philosophy: Simple and practical can be, do not engage in a pile of source code out, the results show people do not know how to use, Look at me:
1, in arch/arm/mach-xxx/own platform file to add I2C information, beauty its name Yue: i2c_board_info
For example:
static struct I2c_board_info __initdata xxxi2c_board_info[] = {{I2c_board_info ("Abcd1", 0x20),/* string to match the back, 0x20 from the device address * *. Platform_data = 0,},{I2c_board_in
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.