标准实验三MSP430F5529_传感器实验

电 子 科 技 大 学

实 验 报 告

学生姓名: 学 号: 指导教师: 邮 箱:

一、实验室名称:MSP430单片机实验室

二、实验项目名称:基于I2C接口的数据采集

三、实验原理:

(1)I2C接口简介

IIC(Inter-Integrated Circuit,常被称为I2C)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速I2C总线一般可达400kbps以上。

I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。

? 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 ? 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

? 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉

冲,表示已收到数据。

CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。I2C总线时序图如图3.1所示:

图3.1 IC总线时序图

2

在MSP430系列单片机中,硬件I2C接口是通过通用串行通信接口(universalserialcommunicationinterface,USCI)来实现的,通用串行通信接口在一套硬件模块上支持多种串行通信模式,例如SPI接口、I2C接口、UART接口等。配置通用串行通信接口的工作模式是通过为一系列寄存器赋值来实现的,接下来将介绍将通用串行通信接口配置为I2C模式涉及的一系列寄存器。 (2)MSP430F5529中的I2C接口

MSP430F5529中USCI(Universal Serial Communication Interface)模块可提供多种串行通信模式。每个不同的USCI模块都用一种简短的方式进行命名。比如, USCI_A和USCI_B,它们代表不同的模块。若要在一个设备中实现多于1个相同的USCI模块,那么这些模块就要通过在后面加数字来进行区别命名。比如,若一个设备中有两个USCI_A模块,则它们被命名为 USCI_A0 和USCI_A1。参阅相关的数据手册来确定在每个设备中实现的是哪个USCI模块(如果有的话)。

USCI_Ax模块支持: ? UART模式

? 用于IrDA通信的脉冲成型 ? 用于LIN通信的自动波特率检测 ? SPI模式

USCI_Bx模式支持: ? I2C模式 ? SPI模式

可以看到,具有I2C模式的USCI模块是USCI_Bx模式。在I2C模式下,USCI模块提供了本芯片与带I2C接口的外设之间通过两线的I2C串行总线进行连接。连接到I2C总线的外设通过两线的I2C接口串行地传输和/或接收到/来自USCI模块的串行数据。

I2C模块特点:

? 与Philips半导体公司的I2C协议v2.1兼容 ? 7-bit和10-bit寻址模式 ? 通用调用 ? 启动/重启/停止 ? 多主设备传输/接收模式 ? 从设备接收器/发送器模式

? 支持标准模式下高达100 kbps和快速模式下高达400 kbps的传输率 ? 主设备模式下可编程的UCxCLK频率 ? 低功耗设计

? 为从LPMx模式下自动唤醒(不支持从LPMx.5下的唤醒)功能提供的对从设备接收器的启动检测

? 在LPM4模式下的从设备操作

请大家参阅MSP430F5529的用户手册,了解其相关具体操作。I2C模式相关寄存器列表如表3-1所示。关键寄存器(读/写,默认值)及其描述如图3.1-图3.5以及表3-2到表3-6所示。

表3-1 I2C模式相关寄存器列表

(a) UCBxCTL0

图3.1 UCBxCTL0寄存器

位 7 名称 UCA10 描述 自身地址模式选择 0b=自身地址为7bit 1b=自身地址为10bit 从机地址模式选择 0b=从机地址为7bit 1b=从机地址为10bit 多主机环境选择 0b=单从机模式。系统中不存在其他主机。地址比较单元被禁用。 1b=多从机环境。 预留。读取值总为0。 主机模式选择。当本机在多主机环境中失去仲裁权,UCMST位被自动清除并变为从机模式。 0b=从机模式 1b=主机模式 6 UCSLA10 5 UCMM 4 Reserved 3 UCMST

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4