F28027第十一课---I2C操作解读
一点了,我还是要写,每天进步一点,才能更快的成长,要对自己狠点。
今晚学习的内容是I2C(inter-integrated circuit),习惯就叫I2C总线,一条数据线(SDA),一条时钟线(SCL)。
文章图片
每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;我们要学习的I2C有哪些特征呢?
1、支持8位数据格式传输;
2、有7位、10位寻址模式;
3、启动字节模式;
4、串行的8 位双向数据传输位速率可在10kbit/s和400kbit/s之间变化;
5、4位深度的FIFO;
再来看下I2C的结构图:
文章图片
CPU直接操作的是I2CDXR和I2CDRR寄存器,然后再通过相应的移位寄存器,把数据读入写出。
看完了图解,再来看下时钟
文章图片
I2C的输入时钟与系统时钟同步,它的操作时钟为
文章图片
然后SCL传输时钟又是以I2C的操作时钟为基础,在上面进行ICCL/ICCH分频,然后输出。
然后再看下操作详解
首先必须要了解下数据的有效性
文章图片
当时钟处SCL于高电平器件,数据SDA必须稳定不变;在时钟SCL处于低电平器件,SDA才能发生变化。
接着了解操作模式,总共有四种模式,大家直接看解释就行了
文章图片
下面我们看下非常重要的开始和停止
文章图片
当时钟SCL处于高电平时,数据SDA从高变低,是开始;当时钟SCL处于高电平时,数据SDA从低变高,是停止。
最后来一起看下串行数据格式
文章图片
上图是一个7位地址位、8位数据位的例子,分为四部分:开始、传输地址、传输数据、停止。
开始、停止和数据传输都好理解,我们现在看下传输地址。
我们一开始也说了,有7位、10位地址模式,其实还有一个不要地址模式:
文章图片
看见上面的图,是不是很容易理解这三种方式了,其中10位地址模式,它的地址数据分为两个数据块了,第一个数据块,11110XX(最高两位)。
上面截图里面,一直有一个R/W位:
文章图片
其实这一位只是显示主机是传输数据还是读入数据。
最后再提一点,就是开始位问题,如果主机要给多个从机发数据,不用每个从机都单独发一次,只用一次就行了
文章图片
就是在消息块里面,多写几个起始位加地址信息。
【F28027第十一课---I2C操作解读】好了,I2C的基础理论知识就到这里了,明晚我们实践练习下。
F28027菜鸟交流qq群107691092
推荐阅读
- 亲子日记第十二天
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- 第十九周
- 欢乐小分队内蒙东北行第六站(第十二天)五大连池印象之(奇特壮观的火山地貌景观)
- 未来丛林历险记
- 第十一节课打卡|第十一节课打卡 杨小风
- 第十六天(请介绍一件让你非常自豪的事情,(不能是职业类的),什么原因感到自豪。)
- 《将来的你,一定会感谢现在战胜烦恼的自己-------第四章/第十一节/用逆向思维解除烦恼》
- 濮阳市第十中学召开第三届第二次教职工代表大会