文档详情

TI TMS320C2000 I2C模块参考指南.pdf

发布:2017-05-30约1.57万字共12页下载文档
文本预览下载声明
本文档依据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) 先配置外设时钟控制
显示全部
相似文档