1.PCF8591 简介
IIC总线包括两条双向串行线、一条数据线SDA、一条时钟线SCL。SDA 传输数据是大端传输,每次传输8bit,即1字节。支持多主控(multimastering),任何时间点只能有一个主控。总线上每个设备都有自己的一个地址,共7个bit,广播地址全为0。系统中可能有多个同种芯片,为此地址分为固定部分和可编程部分,视芯片而定。
PCF8591是单片、单电源、低功耗、8位CMOS数据采集器件,具有4个模拟输入、1个输出和1个串行IIC总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至IIC总线而不需要额外硬件。器件的地址、控制和数据通过两线双向IIC总线传输。
2.PCF8591 的设备地址及控制字
IIC总线系统中的每一片PCF8591通过控制器发送有效地址到该器件来激活。在IIC总线协议中地址必须是起始条件后作为第一个字节发送。PCF8591的地址字节如图7.5所示,D7~D4是固定部分,D3、D2、D1是可编程部分,D0是读/写控制位R/W。当R/W=0时,执行写操作;当R/W=1时,执行读操作。
图7.5 PCF8591的地址字节(www.daowen.com)
发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能,如图7.6所示。当D6 等于1 时,允许模拟输出。D5D4 为模拟输入方式控制位,当D5D4等于00时,为单端输入;当D5D4不等于00时,为差分输入。D2为自动增量标志,置1,每次A/D 转换后通道号将自动增加。D1D0为模拟量输入通道选择位。
图7.6 PCF8591控制字格式
3.PCF8591 的读写操作协议
PCF8591的读操作遵循如下协议:启动、写设备地址和写命令、写控制字、停止、启动、写设备地址和读命令、读数据、停止。
PCF8591的写操作遵循如下协议:启动、写设备地址和写命令、写控制字、停止。
启动与停止的条件:数据和时钟线在不忙时保持高电平。当时钟为高电平时,数据线上的一个由高到低的变化被定义为开始条件;当时钟为高电平时,数据线上的一个由低到高的变化被定义为停止条件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。