内部集成电路总线(I2C)是一种同步串行数据通信总线,其中由主器件发起通信,从器件通过寻址机制加以控制。I2C总线上的节点很容易连接,因为只需连接两条开漏形式的信号线(SDA用于数据,SCL用于时钟)。这些线上的电容是限制传输速率和节点间距离的主要因素。要想扩展速率和距离,有必要使用能够识别数据方向的缓冲器。本文所述的设计案例充分展示了PCA9605缓冲器的优势。
PCA9605是一种单片CMOS集成电路,可在包括I2C总线的应用中实现总线缓冲功能。该缓冲器可以通过缓冲驱动SCL和SDA线来扩展总线负载,缓冲器两侧可达到最大允许的总线电容。在其最基本的实现中,该缓冲器允许扩展数量的从器件连接到一个主器件。在本例设计中,主器件是PIC的微控制器[2],从器件是两个数据转换器,其中一个是模数转换器,另一个是数模转换器。PCA9605的方向引脚(DIR)固定接地,因为时钟由主器件提供(单向时钟模式)。图1给出了总的原理图。
U2 ADC捕获来自信号发生器的模拟信号并转换成数字信号,然后发送给缓冲器U3,由U3驱动后上电缆传输,并经U4中继后继续传输。SDA数据线需要双向驱动,从U3到U4以及U4到U3。最终由U5 ADC产生数字化后的信号。如果需要经过更长距离的电缆传输,可以在电路中间插入另一个缓冲器进行扩展。这种方法可以覆盖长达数百米的有线传输距离。