- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TI TMS320C2000 I2C模块参考指南
本文档依据TMS320F28027 官方文档和I2C 总线规范,其它C2000 系列MCUDSP 可以参考本文档。
TI TMS320C2000 I2C 模块参考指南
1 I2C 总线总体特征
I2C 总线只包含两条数据线:SDA 数据线和SCL 时钟线。在I2C 总线传输过程中,只有主机
设备牢牢控制着SCL 时钟信号。SDA 信号线则可以由主机或从机控制。
图 1 I2C 总线连接图
SDA 和SCL 都是双向线路,通过一个上拉电阻连接到正的电源电压(如上图),总线特征包
括:
a) 当场效应管接通时总线相当于接地,处于低电平状态;
b) 当场效应管断开时上拉电阻Rp 将总线上拉至高电平;
c) 只要有设备将总线拉至低电平时,不管其它设备状态怎样,总线都将一直保持低电平;
d) 当总线空闲时时钟线和数据线路都处于高电平状态。
2 I2C 模块的时钟
I2C 模块作为一个外设模块受到外设时钟控制寄存器PCLKCR0 管理,在配置I2C 模块前应该
确认I2C 模块的时钟被打开(SysCtrlRegs.PCLKCR0.bit.I2CAENCLK = 1; // I2C )。
MCUDSP STUDY \ tisheng@ 希望能和你交流
本文档依据TMS320F28027 官方文档和I2C 总线规范,其它C2000 系列MCUDSP 可以参考本文档。
图 2 I2C 模块的时钟控制模块
如上图所示,系统时钟输出(SYSCLKOUT )直接输入到I2C模块,通过I2C分频寄存器(I2CPSC )
控制的分频器进行分频,生成的I2C模块时钟,模块时钟必须在7M~12M之间,这个时钟才是模块
直接使用的时钟信号。模块时钟可由下公式计算最终频率:
模块时钟频率
I2C 模块的分频器配置必须在I2C 模块处于复位状态下进行,即I2caRegs.I2CMDR.bit.IRS==0
时;分频器在I2C 模块退出复位状态时开始工作;当I2C 处于工作状态时操作I2CPSC 寄存器是
无效的。
当I2C 模块在I2C 总线上被配置为主设备时,主设备一直控制SCL 时钟总线,I2CCLKH 和
I2CCLKL 寄存器分别用于控制SCL 时钟总线的高电平和低电平持续时间,如下图所示。
图 3 SCL 时钟高低电平时间控制逻辑
SCL 时钟总线的高电平和低电平持续时间可以下式表示:
( )
( ) ( )
( )
( ) ( )
其中 表示I2C 模块时钟的周期值, 表示系统时钟的周期,d 表示分频延时值,可由下表
决定。
MCUDSP STUDY \ tisheng@ 希望能和你交流
本文档依据TMS320F28027 官方文档和I2C 总线规范,其它C2000 系列MCUDSP 可以参考本文档。
表 1 I2C 分频延时值判定表
综上所述,对I2C 模块的时钟配置流程:
a) 先配置外设时钟控制
文档评论(0)