IIC总线驱动基础知识

由于JZ2440开发板没有接iic总线,所以本节实验是根据fl2440开发板来做的!

首先来看一下原理图:
IIC总线驱动基础知识 - 小白 - 小白的博客

我们看到它有两根线:数据线和时钟线,他们用于数据传输。
A0、A1、A2是设备地址,它是已经固化在硬件层的。

再来看看AT24c02与2440连接图:
IIC总线驱动基础知识 - 小白 - 小白的博客 
 我们要知道2440与at24c02之间属于主从连接,也就是说所有的会话必须由主设备发起,这里的主设备自然是2440。那么当2440的iic总线上挂载了多个存储设备时,2440如何去找到自己想要访问的存储设备呢?这就需要设备地址,那么当访问到具体的设备后,想要读写特定的存储空间,还需要知道存储地址!那么这些地址是如何组织的呢?我们可以看看下面这幅图:
IIC总线驱动基础知识 - 小白 - 小白的博客
 
由于我们用到的是at24c02,也就是2k的存储设备,所以只需要看第一行:
这里就是设备地址了,高4位是固化的,不用管,A2、A1、A0可以根据硬件连接来设置。fl2440开发板原理图可知 A2、A1、A0都是0,所以从设备地址是:1010000
我们再来看看4k,8k,16k的情况:我们知道设备地址发出之后在发出的是存储地址,而存储地址都是8位的,那么对 4k,8k,16k的情况怎么办呢?他们可不是8位地址就可以寻址的。8位地址只能寻址一页数据,4k是2页,8k是4页,16k是8页,我们看到上面图片p0可以代表2页,p1、p0可以代表4页,p2、p1、p0可以代表8页,这下明白了!
至于存储地址,当然可以根据自己的需要来设置了。

那么通过iic总线与2440连接的存储设备如何读写呢?我们来看一看时序图,不过因为读写都分为好几种,我们分别只选其中一种来分析:
首先我们来分析一下随机读时序:
IIC总线驱动基础知识 - 小白 - 小白的博客
一开始SDA、SCL信号都是高电平,然后SDA出现一个下降沿,表示开始发送数据。然后会发出设备地址,就是我们上面提到过的,它是7位的,第8位是读写标识位。由于只有一根数据线,显然数据是一位一位发送的。当SCL是低电平的时候,SDA上的数据可以变化,当SCL为高电平的时候,SDA上的数据被读走。那么要发送完这8位的数据,需要8个时钟周期。在第九个时钟周期,2440会交出总线的控制权,由从机来驱动,从机会向2440发送ack应答信号。
好下面我们略去比较细节的东西来分析这个随机读时序:
首先发送设备地址并附带写信号,这样就找到了设备并告诉设备下一次是2440向设备发送
2440向设备发送要读的地址
发送设备地址并附带读信号,表示下一次是设备向2440发送数据
然后是设备向2440发送数据
 
再来看字节写时序:
IIC总线驱动基础知识 - 小白 - 小白的博客
首先发出地址信号并附加些标识,这样就找到了要写的设备并告诉设备下一次是2440向设备发送
然后发出要写的存储地址
之后开始写入数据

关于裸板程序暑假里面会花一部分时间好好研究的,在这里就先放一放了!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1 章 MagicARM2410 实验箱硬件结构 1.1 功能特点...............................6 1.1.1 硬件资源.......................6 1.1.2 软件资源.......................7 1.1.3 可选硬件.......................8 1.2 S3C2410A 芯片简介 ............8 1.3 硬件原理............................. 11 1.3.1 DeviceARM2410核心板........ 11 1.3.2 实验箱主板....................................24 1.3.3 构建ARM7 教学实验开发平台...45 1.4 硬件结构................................................46 1.4.1 跳线器说明....................................47 1.4.2 连接器说明....................................50 1.5 硬件资源分配情况................................51 1.6 温馨提示................................................53 第2 章 基础实验................................54 2.1 ADS 1.2 集成开发环境练习 .................54 2.2 汇编指令实验1.....................................59 2.3 汇编指令实验2.....................................62 2.4 汇编指令实验3.....................................65 2.5 ARM 处理器工作模式实验 ..................68 2.6 C 语言程序实验 ....................................72 2.7 C 语言调用汇编程序实验 ....................74 2.8 GPIO 输出控制实验.............................76 2.9 GPIO 输入实验.....................................82 2.10 外部中断实验........................................85 2.11 UART 通讯实验....................................90 2.12 I 2 C 接口实验..................................................95 2.13 定时器实验...................................................104 2.14 PWM DAC 实验...........................................107 2.15 ADC实验..................................................... 111 2.16 RTC 实验...................................................... 114 2.17 步进电机控制实验.......................................120 2.18 直流电机控制实验.......................................123 第3 章 基于µC/OS-II 基础实验 ..............127 3.1 µ C/OS-II移植实验.......................................127 3.2 蜂鸣器实验...................................................136 3.3 串行通信实验...............................................140 3.4 图形液晶控制实验.......................................144 3.5 Modbus RTU

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值