没有合适的资源?快使用搜索试试~ 我知道了~
首页基于msp430f449单片机的IIC通讯的课程设计
资源详情
资源评论
资源推荐

基于 MSP430F449 和 I2C 通讯
的 EEPROM 储存器拓展
姓 名:
班 级: 自动化
学 号:
1.设计目的
通过本次设计,旨在学习 430 单片机的基本原理,LED 数码管显示,串口
通讯和 I2C 通讯。并希望通过本次课设训练正确地应用单片机,培养解决工业
控制、工业检测等领域具体问题的能力。
1

2. 设计描述
本设计旨在设计一单片机拓展系统,即使用基于 I2C 通讯的 EEPROM 存储
芯片 24LC01B 来拓展 MSP430F449 的储存容量。并在 PC 端通过串口发送存储
内容到 24LC01B,再从 24LC01B 读出数据给 LED 显示缓冲区。
关键词:MSP430F449 I2C EEPROM LED 串口
Rs232 I2C
图 2-1 系统框架
3. 实验原理
(1)I2C 协议
I2C(Intel-Integrated Circuit bus )总线是由飞利浦公司开发的串行总线,
产生于上世纪 80 年代,由于其简单有效的特点以及便于对设进行集中管理 ,
I2C 使用十分广泛。
标准 I2C 总线传输速率可达 100Kbit/s,通过使用 7 位地址码,就能支持 128
个设备。加强型 I2C 使用了 10 位地址码(能够支持 1024 个设备),有快速模
式(400Kbit/s)和高速模式(最高为 3.4Mbit/s)两种传输模式。I2C 总线使用
两条线号线来进行数据传输,一根是数据线(SDA),另一根是串行时钟线
(SCL)。它允许若干兼容器件共享总线。总线所有器件要依靠 SDA 发送的
地址线寻址,不需要片选信号。任何时刻总线只能有一个主设备控制,各从设
备在总线空闲时启动数据传输,由 I2C 总线仲裁来决定哪个主器件控制总线。
2
430PC 24LC01B
LED

图 3-1 I2C 总线示意图
I2C 对 SCL 和 SDA 的电平信号进行了定义:
总线空闲:SCL 和 SDA 都保持高电平。
开始信号:SCL 保持高电平的状态下,SDA 出现下降沿。出现开始信号后,
总线被认为“忙”。
停止信号:SCL 保持高电平的状态下,SDA 出现上升沿。停止信号过后,
总线被认为“空闲”。
总线忙: 在数据传送开始后,SCL 为高电平的时候,SDA 的数据必须保
持稳定,只有当 SCL 为低电平的时候才允许 SDA 上的数据改变。
图 3-2 I2C 时序图
3

I2C 总线的传送格式为主从试,对系统的某一器件来说有 4 种可能的工作
状态:主发送方式,从发送方式,主接收方式,从发送方式,从接收方式。
主发送从接收
主器件产生开始信号以后,发送的第一个字节为控制字节。前 7 位为从器
件的地址片选信号。最低位为数据传送方向(高电平表示读从器件,低电平为
写从器件),然后发送一个选择从器件片内地址的地址来决定开始写数据的起
始地址。接着再发送数据字节,可以是单字节数据,也可以是一组数据,由主
器 件 决 定 。 从 器 件 每 接 收 到 一 个 字 节 以 后 , 都 要 返 回 一 个 应 答 信 号
(ASK=0)。主器件在应答(时钟周期高电平)期间释放 SDA 线,转由从器
件控制,从器件在这时钟的高电平器件必须拉低 SDA 线,并使之为稳定的低电
平,作为有效的应答信号。
从发送主接受
在开始信号以后,主器件向从器件发送控制字。如果从器件接受到主器件
发送来的控制字中的从地址片选信号与该器件相对相应,并方向为高电平
( R/W=1 ) , 就 表 示 从 器 件 要 发 送 数 据 。 从 器 件 先 发 送 一 个 应 答 信 号
(ASK=0)回应主器件,接着由从器件发送数据到主器件。如果在这过程中,
主器件发送从器件一个片内地址选择信号,那么从器件发送的数据就从该地址
开始发送;如果在从器件接收到请求发送的控制信号以前,没有接受到这个地
址的选择信号,从器件就从最后一次发送数据的地址开始发送数据。发送数据
过程中,主器件每接收到一个字节都要返回一个应答信号 ACK。若 ACK=0
(有效应答信号),那么从器件继续发送;若 ASK=1(停止应答信号),则停
止发送。主器件可以控制从器件从什么地址开始发送,发送多少字节。
在那些只有一主设备(典型的就是主微控制器)的基本系统中不会有仲裁
的。然而,更多的复杂设备能够有多个主控设备,因此,就有必要用某种形式
的仲裁来避免总线冲突和数据丢失。通过使用线与连接 I2C 总线的两路信号
(数据与时钟)可以实现仲裁。所有的主设备必须监视 I2C 上的数据和时钟线,
如果主设备发现已经有传输正在进行,它就不会开始传输了。有很小的几率会
发生一下情况:有两个设备或更多设备同时发出“开始”信号。在这种情况下,
相会竞争的设备会自动是它们的时钟保持同步,然后像平常一样继续发送信号。
4

图 3-3 I2C 的总线仲裁机制
第一个检测到自己发送的数据和总线上的数据不匹配的设备要失去仲裁能
力。这种情况会在这时发生:当前述设备发送一个高电平时,而另一个主控设
备也正在发送一个低电平。也许直到相会竞争的设备已经传输了多个字节后,
总线仲裁才会结束。
因为没有数据丢失,仲裁处理是不需要一种特殊的仲裁相位的。获得主控
权的设备从本质上讲是不知道它为了总线而和其它设备竞争的。
(2)24LC01B 的操作
24LC01B 芯片是一片 EEPROM 芯片,使用 SDA,SCL 两线控制,数据以
8 位组织。一般 SDA 打开需要一个上拉电阻。其操作如下:
启动与停止:
当 SCL 为高,SDA 由高变低,总线启动;当 SCL 为高,SDA 由低变高时,总
线停止。启动与停止的时序如图所示:
5
剩余30页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1