- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 DSP片上串行通信外设 7.4 I2C模块 7.4 I2C模块 7.4.1 I2C模块概述 I2C总线是一种两线制串行总线,与其相连的外部器件可以发送1至8位数据到DSP,或者从DSP接收1至8位数据。通过I2C模块传输或接收到的一个单位的数据可以少于8位,但为了方便起见,本节中一个单位的数据均被视为一个数据字节。 I2C模块支持任何主或从I2C兼容设备。图7-38是多个I2C模块连接在总线上实现多个器件间的数据双向传输。 1.I2C主要特征: ① 与飞利浦半导体I2C总线规范兼容(2.1版): 支持8位格式数据传送 7位和10位寻址模式 通用拨叫功能 启动字节模式 支持多个主发送器和从接收器 支持多个从发送器和主接收器 具有主发送/接收和接收/发送模式 数据传输速率可从10 kbps到400 kbps(飞利浦快速模式) ② 一个16位接收FIFO和一个16位发送FIFO。 ③ 一个可以随时被CPU使用的中断。 ④ 在FIFO模式下可被CPU使用的附加中断。 ⑤ 有自由数据格式模式。 2.I2C模块不支持的功能 ① 高速模式。 ② CBUS -兼容模式。 7.4.1 I2C模块概述 3. 功能概述 每个连接到I2C总线的设备,包括任何连接到I2C总线的280x DSP,均由一个唯一的地址进行访问。根据器件的功能,每个器件可以作为发送器或接收器。连接到I2C模块的器件作为数据传送器时既可作为主机也可作为从机。主机是指能够通过总线启动一个数据传送,并产生时钟信号的器件。在传送期间,任何被该主机访问的器件均为从机。I2C模块可以允许一个或多个支持I2C总线功能的器件连接到同一条总线上。 对于数据通信,I2C模块有一个串行数据引脚(SDA)和一个串行时钟引脚(SCL)。这两个引脚在280x器件和连接到I2C总线上的其它器件之间传送信息。SDA和SCL两个引脚均是双向的。它们必须通过上拉电阻连接到正电压。当总线空闲时,两个引脚均为高电平。这两个引脚的驱动具有漏极开路配置以实现所要求的“线与”功能。 7.4.1 I2C模块概述 4.I2C模块的主要组成 I2C模块结构框图如图7-39所示 7.4.1 I2C模块概述 图7-39 I2C模块结构框图 4.I2C模块的主要组成 I2C模块主要包含: 一个串行接口:一个数据引脚(SDA)和一个时钟引脚(SCL) 数据寄存器和FIFO:暂时保存SDA引脚与CPU之间传递的接收数据和发送数据。 控制和状态寄存器。 外围总线接口:用于CPU访问I2C模块寄存器和FIFOs。 时钟同步器:用来使I2C输入时钟(由DSP时钟源产生)和SCL引脚的时钟同步,并且使数据发送器与不同的主机时钟速度同步 对输入到I2C模块的时钟进行分频的预定标器。 SDA和SCL引脚上的噪声滤波。 用来处理I2C模块和其它主器件的仲裁问题的仲裁器。 中断产生逻辑,用以向CPU发送中断信号。 FIFO中断产生逻辑:以便在I2C模块中接收数据或发送数据时能够同步访问FIFO。 7.4.1 I2C模块概述 5.时钟产生源 如图7-40所示,DSP时钟产生器从外部时钟源接收信号,产生一个频率可编程的I2C输入时钟。I2C输入时钟为CPU时钟,在I2C内部被二倍以上分频后产生I2C模块时钟和主机时钟。 7.4.1 I2C模块概述 5.时钟产生源 模块时钟决定I2C模块以何种频率工作。I2C模块的可编程分频器通过对输入时钟分频来产生模块的时钟。配置分频器寄存器I2CPSC的IPSC位,可确定分频器的值。模块时钟频率的计算公式如(7-3)式所列: 7.4.1 I2C模块概述 为了与所有I2C协议时钟频率匹配,模块时钟必须配置在7~12MHz之间。分频器必须在I2C模块被复位时(即I2CMDR的IRS=0)进行配置。当IRS由0变成1时所分频的频率才能有效。IRS=1时改变IPSC的值不起作用。 当I2C总线上的I2C模块被配置成主器件时,则在SCL引脚上出现主时钟。该时钟控制I2C模块同其它从器件之间通信的时序。如图7-40所示,I2C模块中的第二个分频器用来对时钟模块进行分频产生主时钟。I2CCLKL寄存器的ICCL位和I2CCLKH的ICCH位的值分别代表分频值的低字节部分和高字节部分。 1. 数据状态 图7-41描述了I2C总线传送数据时数据线SDA和时钟线SCL的电平状态。在时钟为高电平时SDA引脚上的数据必须稳定。只有在SCL上时钟信号变低时,数据线SDA上高或低状态才能改变。 7.4.2 I2C模块操作 图7-41 I2C总线的数据传输状态 2. 输入和输出电平 主设备
原创力文档


文档评论(0)