wuyouwuyou

嵌入式I2C及其DLL设计

0
阅读(3076)

I2C是一个双向总线,它使用两条线:串行时钟线(SCL) 和串行数据线(SDA) 实现互连芯片的控制。每个器件都通过一个唯一的地址来识别,这些器件可以是只接收器件(例如LCD驱动器),或是可以发送和接收信息的发送器(例如存储器)。发送器和/或接收器可以操作为主或从模式,这取决于芯片是启动数据的发送或是只被寻址。I2C是一个多主总线,它可以由超过一个总线主控器进行控制。

LPC2292/2294所包含的I2C功能支持400kbit/s(快速I2C)。

特性:

  标准的I2C总线接口

  可配置为主机、从机或主/从机

  可编程时钟可实现通用速率控制

  主机从机之间双向数据传输

  多主机总线(无中央主机)

  同时发送的主机之间进行仲裁,避免了总线数据的冲突

  串行时钟同步使器件在一条串行总线上实现不同位速率的通信

  串行时钟同步可作为握手机制使串行传输挂起和恢复

  I2C总线可用于测试和诊断

PLL可以接受范围为10MHz~25MHz的输入时钟频率。输入频率通过一个电流控制振荡器(CCO)可以倍增为10MHz~60MHz。倍增器可以是从1到32的整数(实际上在该系列微控制器当中,由于CPU频率的限制,倍增器的值不可能高于6)。CCO操作的范围为156MHz~320MHz,因此在环当中增加了一个分频器,这样PLL在提供所需要的输出频率时,使CCO保持在其频率范围内。输出分频器可设置为2、4、8或者16以产生输出时钟。由于最小输出分频值为2,这样就确保了PLL输出具有50%的占空比。PLL在芯片复位后关闭并且被旁路,可通过软件使能。程序必须配置并且激活PLL,等待PLL锁定之后再将PLL作为时钟源。