I2C的一个主要优点是减少了主机至目标的互连线路数量。主机控制器只使用两根线,外加接地,就能应付目标器件和交换数据,而 SPI 需要三根线——数据、时钟、芯片选择——外加接地。多个 SPI 目标器件能共享数据和时钟线路,但是每个器件都需要自己的专用芯片选择线路。
由于人们始终需要更高的采样速率和分辨率,因此I2C的有限速度也许会限制它在某些应用中的使用,这迫使设计师选择SPI。然而,SPI需要主机控制器上有一根额外的I/O引脚。在无法提供额外引脚,但是应用需要快速SPI总线转换器的情况下,你可以利用图1中的技巧。
例如,德州仪器公司的 ADS7816包含200ksps的12比特采样ADC,它需要3Msps的性能,从而以200ksps速率连续采样(参考文献1)。如果选择ADS7816的低电平有效CS(芯片选择)引脚,就会引起一个转换周期。在数据传输期间转换并保持CS为低电平之后,CS在传输数据之后返回高电平,完成整个过程。
当时钟线路变为低电平时,它还使CS保持低电平状态。峰值检测器(由D1、R1、C1组成)的时间常数确保了CS不会变为高电平,直到时钟线路保持高电平的持续时间超过一个时钟周期(图2)。虽然时钟线路转换并从 IC2取回数据,但CS保持为低电平,并且,在数据取回任务完成时,时钟线路变为高电平,CS随后也变为高电平,使电路为另一个转换周期准备就绪。
由于C1必须在转换周期结束时放电,因此控制器应该延迟下一个转换周期的启动,直到C1完全放电。仔细选择R1和C1的话,就会使延迟缩短到最少的3个时钟周期。另外,在下一个时钟脉冲到达并刷新电容器的电压之前,C1两端的电压一定不能降到逆变器IC1B的输入阈值以下。逆变器IC1A的输出电压和电流能力会影响C1的再次充电时间,而R1和IC1B的输入阻抗会影响放电时间。为了确保实现耐用的设计,应该包含元件的公差和温度系数,以及逻辑输入和输出阈值的变化情况。
参考文献:
ADS7816 data sheet, http://focus.ti.com/docs/prod/folders/print/ads7816.html, Texas Instruments.
文章评论(0条评论)
登录后参与讨论