基于PCF8591设计的数字电压表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习情境1-数字电压表的设计
之基于PCF8591设计的数字电压表
☆点名,复习
1、ADC0832的引脚及其功能,以及与单片机的硬件连接?
2、ADC0808的引脚及其功能,以及与单片机的硬件连接?
引言:PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同一个I²C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I²C总线以串
行的方式进行传输。
☆新课讲授
3.3 基于PCF8591设计的数字电压表
3.3.1 PCF8591简介
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I²C总线的最大速率决定。
1、主要技术指标和特性
∙单独供电
∙PCF8591的操作电压范围2.5V-6V
∙低待机电流
∙通过I2C总线串行输入/输出
∙PCF8591通过3个硬件地址引脚寻址
∙PCF8591的采样率由I2C总线速率决定
∙4个模拟输入可编程为单端型或差分输入
∙自动增量频道选择
∙PCF8591的模拟电压范围从V ss到V DD
∙PCF8591内置跟踪保持电路
∙8-bit逐次逼近A/D转换器
∙通过1路模拟输出实现DAC增益
2、PCF8591引脚功能图3-3-1 PCF8591引脚图
AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。
VDD、VSS:电源端。(2.5~6V)
SDA、SCL:I2C 总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。
3、PCF8591内部结构图
图3-3-2 PCF8591内部结构图
4 功能描述
(1)地址
IIC总线系统中的每一片PCF8591通过发送有效地址到该地址器件来激活。该地址包括固定部分和可编程部分。可编程部分必需根据地址引脚A0、A1和A2来设置。在IIC总线协议中地址必需是起始条件后作为第一个字节发送。地址字节的最后一位是用于设置以后数据传输方向的读/写。
固定部分可编程部分
(2)控制字
控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。控制字节存放在控制寄存器中。总线操作时为主控器发送的第二字节。其格式如下所示:
其中:D1、D0两位是A/D通道编号:00通道0,01通道1,10通道2,11通道3
D2自动增益选择(有效位为1)
D5、D4模拟量输入选择:00为四路单端数入、01为三路差分输入、10为单端与差分配合输入、11为模拟输出允许有效
当系统为A/D转换时,模拟输出允许为0。模拟量输入选择位取值由输入方式决定:四路单端输入时取00,三路差分输入时取01,单端与差分输入时取10,二路差分输入时取11。最低两位时通道编号位,当对0通道的模拟信号进行A/D转换时取00,当对1通道的模拟信号进行A/D转换时取01,当对2通道的模拟信号进行A/D转换时取10,当对3通道的模拟信号进行A/D转换时取11。
在进行数据操作时,首先是主控器发出起始信号,然后发出读寻址字节,被控器做出应答后,主控器从被控器读出第一个数据字节,主控器发出应答,主控器从被控器读出第二个数据字节,主控器发出应答…一直到主控器从被控器中读出第n个数据字节,主控器发出非应答信号,最后主控器发出停止信号。
(3)A/D转换
A/D转换器采用逐次逼近转换技术。在A/D转换周期将临时使用片上转换器和高增益比较器。一个A/D转换周期总是开始于发送一个有效读模式地址给PCF8591之后。A/D转换周期子在应答时钟脉冲的后延被触发。并在传输前一次转换结果时执行(见图3-3-3)
图3-3-3 A/D转换
一旦一个转换周期被触发,所选通的输入电压采样将保存到芯片并被转换为对应的8位二进制码,取自差分输入的采样将被转换为8位二进制补码
转换结果被保存在ADC数据寄存器等待传输。如果自动增量标志被置1,将选择下一个通道。在读周期传输的第一个字节包含前一次读周期的转换结果代码,以上电复位之后读取的第一个字节是0x80。最高A/D转换速率取决于实际的IIC总线速度。
(4)D/A 转换
发送给PCF8591的第三个字节被存储到DAC 数据存储器,并使用片内D/A 转换器转换成对应的模拟电压。这个D/A 转换器由连接到外部参考电压的具有256个接头的电阻分压电路和选择开关组成。接头译码器切换一个接头至DAC 输出线。
模拟输出电压由自动清零单位增益放大器缓冲。这个缓冲放大器可通过设置控制寄存器的模拟输出允许标志来打开或关闭。在激活状态,输出电压将保持到新的数据字节被发送。
提供给模拟输出AOUT 的输出电压由下式给出。D/A 转换顺序的波形图如图3-3-5
AOUT
V =AGND V +
256
AGND
REF V V -∑=⨯7
2
i i
i
D
图3-3-4 D/A 转换
(5)振荡器
片上振荡器产生A/D 转换周期和刷新自动清零缓冲放大器需要的时钟信号。在使用这个振荡器时EXT 引脚必须连接到VSS 。在OSC 引脚振荡频率是可用的。
如果EXT 引脚被连接到VDD ,振荡输出OSC 将切换到高阻态以允许用户连接外部时钟信号至OSC 。 6 I2C 总线特性
I2C 总线是不同的IC 或模块之间的双向两线通信,这两条线是串行数据线(SDA )和串行时钟线(SCL ),这两条线必须通过上拉电阻连接至正电源。数据传输只能是在总线不忙时启动。