msp430发送pwm信号_MSP430单片机系列通用串行模块的I2C模式

19b0d58bbe35c2787fa4d86363f73900.png

1、I²C概述

I²C总线是一种用于内部IC控制的具有多端控制能力的双线双向串行数据总线系统。能够用于替代标准的并行总线,连接各种集成电路和功能模块。I²C器件的应用能够减少电路间连线,减少电路板尺寸,降低硬件成本,并提高了系统可靠性。

虽然I²C总线始终与先进技术保持同步,但仍具有向下兼容性,高速模式下速度可达3.4Mbps,例如EEPROM和FLASH存储器。

I²C传输模块存在于MSP430F15/16X中,能够为MSP430和I²C兼容的设备互连提供接口。

I²C中关于设备的基本概念如下:

  • 发送设备:发送数据到总线上的设备。
  • 接收设备:从总线上接收数据的设备。
  • 主设备:启动数据传送并产生时钟信号的设备。
  • 从设备:被主器件寻址的设备。

I²C是一个多主总线,即它可以由多个互连的器件控制。所以任何一个设备都能像主控器一样工作,并控制总线。支持I²C的设备有微控制器,,A/D、D/A转换器,储存器,LCD控制器,LED驱动器,I/O端口扩展器以及实时时钟。在互连的系统中,每个设备都有自己的唯一地址,可以作为发送设备(LCD驱动器)、接收设备,或同时具有发送和接收功能(存储器)。根据设备是否必须启动数据传输还是仅仅被寻址的情况,发送设备或接收设备可以工作于主模式或从模式。

MSP430和有关设备互连如图1所示。

通常的I²C总线包括:

  • SCL:双向串行时钟线。
  • SDA:双向传输的串行数据线。

0a43f6272965a0f00ddc124557e8240c.png
图1:I²C总线连接

由于SDA与SCL为双向 I/O 线,都是开漏极端(输出1时,为高阻状态),因此I²C总线上的所有设备的SDA和SCL引脚都要外接上拉电阻。

MSP430-I²C模块结构如图2所示。

2fca0f03ff7d09a30b8a3889f069fc94.png
图2:I²C模块结构

当SYNC和I²C都置位的情况下,串行通信模块USART0工作于I²C模式。由图2可见,MSP430-I²C模块包括时钟产生、数据发送和数据接收部件,它们通过大量的控制寄存器来实现灵活的I²C操作。

MSP430系列I²C模块的主要特征如下:

1)符合I²C规范。

  • 字/字节格式传输;
  • 7位或者10位设备寻址模式;
  • 群呼;
  • 开始/重新开始/停止;
  • 多主传送/从接收模式;
  • 多主接收/从发送模式;
  • 主发送,从发送,主接收,从接收;
  • 标准模式速度为100Kbps,快速模式速度可以达到400Kbps。

2)读写采用先进先出缓冲结构。

3)可编程时钟发生器。

4)16位数据访问可达到总线的最大吞吐率。

5)自动数据字节计算。

6)支持低功耗模式。

7)从接收根据检测到开始信号自动将MSP430从LPMx模式唤醒。

8)两个DMA触发源。

9)中断功能丰富。

10)只能用USART0实现I²C操作。

2、I²C模式

2.1 I²C的寻址模式

早期的I²C总线数据传输速率最高为I00Kbits/s,采用7位寻址。但是由于数据传输速率和应用功能的迅速增加,I²C总线也增强为快速模式(400Kb1ts/s)和10位寻址以满足更高速度和更大寻址空间的需求。

MSP430-I²C模块支持7位和10位两种寻址模式,7位寻址模式最多寻址128个设备,10位寻址格式最多寻址1024个设备。12C总线理论上可以允许的最大设备数,是以总线上所有器件的电容总和不超过400pF为限(其中包括连线本身的电容和其连接端的引出电容),总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选信号。

(1)7位寻址模式

图3所示为7位地址方式下I²C数据传输格式。第一个字节由7位从地址和R/W区(读/写位)组成,不论总线上传送地址信息还是数据信息,每个字节传输完毕接收设备都会发送响应位(ACK)。地址类信息传输之后是数据信息,直到接收到停止信号。

335b74f7d8228aa1606f7ab8951dad29.png
图3:7位寻址模式数据格式

(2)10位寻址模式

图4所示为10位地址方式下I²C数据传输格式。第一个字节由二进制位11110和从地址的最高两位以及读写控制位R/W组成,第一个字节传输完毕依然还是响应位,第二个字节就是10位从地址的低8位,后面是响应位和数据。

1a143a8db06da5e25718a974651e6bea.png
图4:10位寻址模式数据格式

(3)二次发送从地址模式(重复产生起始信号)

主设备可以在不停止传输的情况下改变SDA上传输的数据流方向,方法就是主设备再次发送开始信号,并重新发送从地址和读写控制位R/W。图5所示为重新产生起始信号数据传输格式。

a43aa500b8521024bd669b05f117cfca.png
图5:二次发送从地址模式数据格式

2.2 I²C模块传输特性

I²C模块能在两个设备之间传输信息,采用的方法是总线的电气特征、总线仲裁和时钟同步。

(1)电气特性

  • 口起始位:SCL=1时,SDA上有下降沿。
  • 口停止位:SCL=1时,SDA上有上升沿。

起始位之后总线被认为忙:有数据在传输。SCL为高电平的时候,SDA的数据必须保持稳定,否则由于起始位和停止位的电气边沿特性,SDA上数据发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值