PCF8591的特性、原理、硬件结构图
- 格式:doc
- 大小:85.00 KB
- 文档页数:5
PCF8591的功能、特性、硬件结构图、原理
PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
功能
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。
PCF8591的最大转化速率由I2C总线的最大速率决定。
特性
【1】单独供电
【2】PCF8591的操作电压范围
【3】低待机电流
【4】通过I2C总线串行输入/输出
【5】PCF8591通过3个硬件地址引脚寻址
【6】PCF8591的采样率由I2C总线速率决定
【7】4个模拟输入可编程为单端型或差分输入
【8】自动增量频道选择
【9】PCF8591的模拟电压范围从VSS到VDD
【10】PCF8591内置跟踪保持电路
【11】8-bit逐次逼近A/D转换器
【12】通过1路模拟输出实现DAC增益
器件总地址
PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。
Pcf8591 的器件地址为1001,引脚地址由A2、A1和A0设定。
对于8*C552这样具有I2C总线的接口的单片机,可利用PCF8591进行A/D和D/A的串行扩展,构成一个数据转换与数据采集系统。
由于PCF8591有三位引脚地址,所以一个系统最多可扩展8片pcf8591.
PCF8591片内有控制寄存器,单片机通过向该寄存器写入控制字来控制A/D 和D/A转换,为此在转换之前要进行写控制字传送。
其A/D转换部分读数据的操作格式为:
S SLA+W A 控制字 A 读数据0 A
读数据1 A ...... 读数据n NA
即寻址后要首先写控制字,以进行模拟通道选择、通道增量位和模拟信号输入形式(单端输入和差分输入)等设置。
操作过程中,在PCF8591接收到的每个应答信号的后沿触发A/D转换,随后就是读出转换结果,但读出的是前一次的转换结果。
所以“读数据0”是一次无效的操作。
出第n个数据字节,接收器发出非应答信号,最后主控器发出停止信号(启动和停止信号只能由主控器件发出)。
I2C总线基本数据传输格式
I2C总线上的数据传输按位进行,高位在前,低位在后,每传输一个数据字节通过应答信号进行一次联络,传送的字节数不受限制。
启动信号由主控器件发出,在发出启动信号前,主控器件要通过检测SCL 和SDA来了解总线情况。
若总线处于空闲状态,即可发出启动信号,启动数据传输。
在启动信号之后发出的必定是寻址字节,寻址字节由7位从地址和1个方向位组成。
其中从地址用于寻址从器件,而方向位用于规定数据传输方向。
寻址字节通常写为SLA+R/W,其中R代表读,W代表写。
R/W=1时,表示主控器件读(接收)数据;R/W=0时,表示主控器件写(发送)数据。
所以通过寻址字节即可知道要寻哪个器件以及进行哪个方向的数据传输。
当主控器件发出寻址字节后,其他各器件都接收到了总线上的寻址字节,并与自己的从地址进行比较,当某器件比较相等确认自己被寻址后,该器件就返回应答信号,以作为被寻址的响应。
此时,进行数据传输的主从双方以及传输方向就确定了下来,然后进行数据传输。
数据传输同样以字节为单位,数据字节传输需要通过应答信号进行确认。
所以每传输一个字节就有一个应答信号,直到数据传输完毕,主控器件发出停止信号。
结束数据传输,释放总线。
I2C总线的状态和信号
启动信号和停止信号
串行数据传输的开始和结束由总线的启动信号和停止信号控制,启动信号和停止信号只能由主控器件发出,它们对应的是SCL的高电平与SDA的跳变。
当SCL线为高电平时,主控器件在SDA线上产生一个电平负跳变时,这便是启动信号,总线启动后,即可进行数据传输。
当SCL线为高电平时,主控器件在SDA上产生一个电平正跳变,这便是总线的停止信号。
引脚信息
AIN~AIN3:模拟信号输入0端。
PCF8591引脚
A0~A2:引脚地址端。
VDD、VSS:电源端。
(~6V)
SDA、SCL:I2C 总线的数据线、
时钟线。
OSC:外部时钟输入端,内部时钟
输出端。
EXT:内部、外部时钟选择线,使
用内部时钟时 EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。