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
============================================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
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
1. InstallationI2C drive load and rate changes check the blog "Raspberry School notes--I2C device load and rate settings".
2.I2C Bus ScanThe I2cdetect-l command allows you to view the I2C bus on the raspberry pie, and from the results of the return, the raspberry pie contains two I2C buses, and by reading the relevant
Linux operating system I2C driver architecture explanation ()
Recently, due to work requirements, the I2C bus has been involved. Although I used I2C in the past, I found that a layer can be perfected only after reading Linux kernel.
1. Linux I2C driver rack
In Linux, I2C b
Seven: I2C Dev node operation now to analyze the above structural diagram of the i2c-dev.c in part. this section provides an adapter operation interface for the user space. this part of the code is actually a module. its initialization function is: module_init (i2c_dev_init); The i2c_dev_init () code is as follows: static int _ init i2c_dev_init (void) {int res; printk (kern_info "
In the previous article, we have explained the basic concepts and related principles of the I2C bus protocol. I don't know if you have any knowledge. Now we will introduce this application. First, let's see which devices have the I2C bus protocol.
I2C bus application
At present, many semiconductor integrated circuits have integrated
This article is not original, mainly because it has recently solved an I2C problem. During this period, I read a lot of rich blog posts and now I will sort out this sub-system.
Eric Xiao described the entire I2C framework in detail and helped me a lot. I would like to express my gratitude here. It seems to be Chengdu too ....
++
Here we will record it in a slightly "vulgar" language to facilitate your memo
i2c--2.6.34 Document: How to enumerate the generated i2c_client
============================================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 do
1. I2C ProtocolTwo two-way serial lines, one data line SDA, and one clock line SCL.The data transmitted by SDA is transmitted at a large end. Each transmission is 8 bits, that is, one byte.Multimastering is supported, and only one master can be created at any time point.Each device on the bus has its own ADDR, a total of 7 bits, and the broadcast address is all 0.The system may have multiple chips of the same type. For this reason, ADDR is divided int
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.