MINI2440 IIC协议

IIC协议在工程中应用广泛,在我看来,此协议的优势就在于其硬件及其简单,结构清晰。

首先来解读一下S3C2440A这款芯片的IIC协议。

一、一个协议的解读从如上结构图中分析。无非就是四部分。首先从主机发送入手。

手册484页,对主机发送模式框图显示如上。解析:

1、配置主机为发送模式   2、发送从机地址与读数据信号  3、ACK  4、发送数据


二、再者是主机读数据模式。

手册485页,对主机接收模式框图显示如上。解析:

1、配置主机为接收模式   2、发送地址与读信号  3、ACK  4、读取数据清除中断


 三、中断的设定与处理是解析协议的另一关键。现在对IIC协议的中断进行分析。

如上图,手册488页IIC控制寄存器。第5位为发送和接收中断使能位。第4位为中断标志位。如果为1则有中断等待。写0清除标志。

在488页低端的注释中对中断的产生和处理有详细说明:

如上,由第2点可知,中断源有3个:1字节(8bit)数据的发送或接收完毕;主机(此时2440位从机)呼叫或从机(2440为主机)地址与主机发送的地址相匹配;仲裁失败(具体后续说明)。

结合中断与主机发送、接收框图,对协议有整体的把握,现在的问题是ACK的分析。


四、ACK分析

手册478页,说明了ACK定义如上。在发送完一个字节后,必须有一个ACK位。所以无论是主机还是从机,在发送数据后都会有ACK位,现在的问题是:


ACK的内容是什么?


由上两图中可知,发送者发送1byte后释放SDA,接收者将SDA拉低。

因此ACK是约定好的。是不可更改的约定。


五、程序编写。

参考韦东山LINUX教程的第二部分裸机程序,对IIC进一步认识。

在接下来的程序中对IIC程序进行分析。

-----------------------------------------------------------------2015.8.4------------------------------------------------------------

最新文章

  1. C# 在excel中查找及替换数据
  2. 关于app的具体实施
  3. notepad++编译并运行java (自定义包)
  4. android ble connect slowly
  5. iOS之Xcode8 Auto Layout新特性
  6. 用NodeJs实现优先级队列PQueue
  7. 如何捕获winform程序全局异常?
  8. Eclipse中启动tomcat时内存溢出
  9. Asp.Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty
  10. mac 配置 ssh 到git (Could not resolve hostname github.com, Failed to connect to github.com port 443 Operation timed out)
  11. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
  12. The type org.apache.commons.cli.Options cannot be resolved. It is indirectly referenced from required .class files
  13. 懒人习惯之ButterKnife Zelezny
  14. Python 判断文件是否存在的三种方法
  15. oracle(六) physical read and logical read
  16. Ubuntu16.04安装jupiter
  17. python的面对对象
  18. WinForm 使用 NPOI 2.2.1从datatable导出Excel
  19. 记重回IT行业的面试
  20. java随机数Reandom(简单介绍)

热门文章

  1. Android开发之火星坐标转换工具
  2. git stash 暂存当前修改
  3. 【Todo】JS跨域访问问题的解决
  4. 类Item_field
  5. java中的clone
  6. HDU 3467 (求五个圆相交面积) Song of the Siren
  7. Dapper使用在WCF上总是说Service找不到
  8. poj 3260 The Fewest Coins
  9. 去除 waring Method 'CreateNew' hides virtual method of base type 'TCustomForm'
  10. POJ 1083 Moving Tables