IIC相关问题和知识

一. 微控制器的IIC

1. iic是为了和低速设备通信发明的,所以iic传输速率比不上iic,标准模式下可达到 100Kbps,快速模式下可达到 400Kbps(我们开发板一般在 130Kbps),高速模式下达到 4Mbps

2. iic总线上所有从设备都有唯一的地址,来确保不同设备间访问的准确性。

3. 谁控制时钟线谁就是主设备,iic允许多主控,任何一个能发送和接收的设备都可以作为主设备,在任何时间,都只能存在一个主控(在通信)。

4. scl和sda都需要上拉电阻,一般是3.3k到10k,保证数据的稳定性。

5. iic在传送数据的过程中有三种数据类型,开始,应答,结束。应答和结束不是必要的。

6. 开始信号:scl为高电平,sda从高到低。结束信号:scl为高电平,sda从低到高

7. 常用的串行通信协议:iic,spi,串口,can,usb。常用并行通信协议:8080,6800。

8. iic的六个通信协议:开始信号,结束信号,应答信号,非应答信号,读数据,写数据。

9. 应答信号:iic总线协议规定,每传送一个字节数据,都要有一个应答信号以确定数据传送是否被对方接收,应答信号由接收设备产生。在第九个时钟的时候,发送端释放SDA线控制权,将SDA电平拉高,由接收方控制。接收设备将sda拉低,产生应答

10. 只有在时钟线为低电平的时候,数据线上的电平才允许变化

11. 介绍一下你了解的iic? IIC是飞利浦公司推行的一种同步串行总线,用于连接微控制器和外围设备。有两个信号线,一根时钟线scl,一根数据线sda,它仅通过这两个信号线就可以对所有挂载在iic总线上的从器件进行操作,这样大大的减少了微控制器的IO口资源

12. iic到底可以挂载多个器件?iic协议规定,在启动总线后第一个字节的高七位是从节点的寻址地址,其中高四位是器件类型识别符,接着三位是片选,最后一位是读写位,当为1是读操作,为0时是写操作,所以挂载多少个器件由iic地址决定 。在 8位字节,7位决定地址,0x00是广播地址,所以是127个

13. MPU6050传感器的地址是0x68,拉高A0后地址为0x69,但是使用hal库时会左移一个,也就是0xd0或者0xd2,OLED地址是0x78,改了电阻之后是0x7a,这里的地址是已经左移之后的

14. iic如何挂载多个同一种设备?理论上是不可以的,但可以通过硬件决定,使用开关电路控制器件是否挂载总线来实现

15. iic总线上主机和从机是如何通信的?iic总线的从机和主机之间的通信主要是与iic的时序有关,在通信开始,scl和sda都是高电平,此时为空闲时间。当scl为高电平,sda从高到低为开始信号,sda从低到高为结束信号。在进行数据传送时,scl为低电平,sda电平变化为数据通信,scl为高电平不允许sda电平变化。我们根据芯片手册写好iic时序,按时序发送器件地址,以及数据,实现主机和从机之间的通信。

16. iic空闲两根线为高电平,spi空闲时时钟线由spi模式决定(CPOL和CPHA),usart时高电平

17. iic的仲裁?总线上可以挂载多个主器件,有时会发生两个或多个主器件想同时占用总线的情况,这叫总线竞争,iic可以对发生在sda线上的总线竞争进行仲裁,其仲裁原则:当多个主器件同时想占用总线时,如果一主器件发高电平,一个发低电平,则发送电平与此时sda总线电平不符的自动关闭其输出级。总线仲裁是两个层次进行,首先是地址位的比较,如果是同一从设备,就是数据位的比较。

18. iic时钟信号的同步问题?在iic总线上传送信号时的时钟同步信号问题是由挂载在scl线上的所有器件的逻辑与完成的。所以由低电平时间长,高电平时间短的器件决定。

19. 每个字节传送时都是高位在前

20. 如果从机想延迟下一个数据字节开始传送的时间,可以通过把scl拉低并保持来强制主机进入等待状态

21.主机完成一次通信后还想继续占用总线在进行一次通信,而又不释放总线,重启信号sr

22. 在特殊情况下,若需禁止所有发生在iic总线上的通信,可采用封锁或关闭总线,将scl锁定在低电平。

23. sda仲裁和scl时钟同步处理没有先后顺序

24.iic总线的特点?iic总线最主要的优点就是简答和有效,iic总线占用的控制非常小

二. Linux的IIC

三. 后续会随着遇到的问题慢慢更新。

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值