重力传感器代码分析重力传感器驱动的功能,主要是向HAL层提供IOCTRL接口,并通过input设备上报数据。芯片实际数据的读取是采用i2c协议读取原始数据,并且作为i2c设备挂载在系统上工作的。1、调用关系 采用模块化的编程方式,一下介绍函数的调用关系。module_init(aac_MMAxxxx...
分类:
其他好文 时间:
2014-12-29 00:52:06
阅读次数:
187
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此ad...
分类:
其他好文 时间:
2014-12-03 14:09:29
阅读次数:
329
I2C时序
I2C的详细介绍
说明:
开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始
停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止
2.有效数据的位置:
说明:在SCL的高电平读取数据,这就告诉我们,在SCL为高电平的时候SDA线必须是稳定的,在进一步说,在SCL的低电平SDA线变数据,或者说在SCL...
分类:
其他好文 时间:
2014-11-26 11:25:01
阅读次数:
467
题外话:这几天天气突然转冷了。今天已是11月23日了,查查黄历,昨天(11月22日)刚好是小雪,一夜温度骤降,果然老祖先的经验有灵验!冬天来了,还是多加加衣服,注意保暖! 1.Abstract 前些天借用他人的一块MCS-51开发板来做实验,不想这块板子与我刚开始接触MCS-51的板子一样,实在是太...
分类:
其他好文 时间:
2014-11-24 06:23:09
阅读次数:
305
项目之前研究了I2C通信协议的实现,完成FPGA对视频解码芯片SAA7111A的初始化配置,设计实现了I2C主机对从机(SAA7111A)32个寄存器的写操作,因此只简单实现了I2C的写时序。这次重新梳理学习了I2C协议,借助黑金开发板设计I2C主机控制器完成对EEPROM(24LC02)的读写操作...
分类:
其他好文 时间:
2014-08-11 20:32:02
阅读次数:
466
转:Linux I2C 驱动分析最近在看Linux 2.6.21内核的I2C驱动,也在网上查了一下资料,有错也有对,有些心得,记录下来吧。里面认识或许多有不当之处,还恳请指正。1. I2C 协议1.1 I2C总线工作原理 I2C总线是由数据线SDA和时钟SCL构成的串行总线,各种被控制器件均并联在这...
分类:
其他好文 时间:
2014-07-22 09:06:04
阅读次数:
290
上次用gpio模拟i2c理解i2c协议,同样的,我用gpio模拟spi来理解spi协议。
我用的是4线spi,四线分别是片选、时钟、命令/数据、数据。
数据在时钟上升沿传递,数据表示的是数据还是命令由命令/数据线决定。
开始条件:
void spi_start(void)
{
gpio_config(GPIO_CS, GPIO_OUTPUT);
udelay(SPI_SPEED...
分类:
其他好文 时间:
2014-05-25 07:07:17
阅读次数:
158
之前在学习I2C驱动,想了想应该先深刻理解下I2C协议。个人觉得理解I2C协议最好的方法就是实践,而最好的实践方式就是用GPIO来模拟I2C协议进行试验,直观深刻。
先看下I2C时序图:
根据时序图,用两个gpio分别模拟sda和scl即可。在这之前自然需要先对gpio进行输入输出的配置。这里只从写数据角度来描述这一过程。读数据同理即知。
先配置gpio,包括sda、scl、供电gp...
分类:
其他好文 时间:
2014-05-07 05:31:46
阅读次数:
303