DAC设计 下载本文

内容发布更新时间 : 2024/11/13 10:10:30星期一 下面是文章的全部内容请认真阅读。

1-VDD,+5V电源输入端;2、4-DGND,数字地;5-SCLK,串行时钟输入端;6-/CS,片选输入端,低电平有效;7-DIN,串行数据输入,即AD转换控制字输入端;8-SSTRB,串行数据输出选通输出端;10-DOUT,串行数据输出端;11-/SHDN,掉电模式控制输入端,

低电平有效;12-AGND,模拟地;13~20-CH0~CH7,模拟信号输入端;21-REFADJ,参考电压输出/外部调节输入;23-REF,参考电压缓冲输出/ADC的参考输入。 2.1 MAX1270的控制字

MAX1270的8位控制字及其功能如表1所示。最高位START为起始位(高电平),标志控制字的开始。/CS为低电平期间,控制字在时钟脉冲SCLK作用下先高位后低位通过DIN端输入。

表1 控制字格式

BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) START SEL2 SEL1 SEL0 RNG BIP PD1 PD0 2.2时钟模式与转换速率

PD1PD0为掉电/时钟模式选择位。PD1PD0=10、11时为省电模式。正常工作时MAX1270有外部时钟与内部时钟两种工作模式。PD1PD0=01时为外部时钟模式,串行数据的移入、移出以及数据采集、转换都由SLCK端的输入脉冲控制。PD1PD0=00时为内部时钟模式,数据转换时钟由芯片自己产生,减轻了微处理器的负担,使得转换后的数据可在微处理器方便的任何时刻读取,利于提高微处理器的工作效率。

外部时钟模式分为25SCLK/s(每个数据转换需要25个时钟周期)和18 SCLK/s两种方式,后者转换速率稍快的原因是在全部数据转换期间/CS始终维持有效电平。内部时钟模式也有20、16、13 SCLK/s等不同转换方式。不同的时钟模式和转换方式,其转换速率不同。在外部时钟模式、SCLK速率为2MHz、18 SCLK/s时MAX1270转换速率可达110ksps。 2.3通道选择与输入范围

SEL2~SEL0为通道选择位,000~111分别选择输入通道CH0~CH7。RNG~BIP为输入范围选择位,MAX1270有4种输入范围。RNG~BIP置00时 0~5V单极性输入, 置01时0~+10V单极性输入; 置10时 -5~+5V双极性输入;置11时-10~+10V双极性输入。 2.4传输函数与输出数据格式

对单极性输入,1LSB=FS/4096,输出数据为12位二进制码。对双极性输入,1LSB=FS/2048,输出数据为12位二进制补码。 2.5参考电压

MAX1270可使用芯片内的4.096V参考电压,也可使用外部参考。图2是使用片外参考和片内参考时相关管脚的接法。

图2 管脚连接图 (a) 使用片内参考电压 (b)、 (c)使用片外参考电压

3. 电路硬件连接与软件编程

MAX1270与AT89S52的连接方法如图3所示。下面是用汇编语言编写的一个通道AD转换子程序adconversion,外部时钟模式,转换方式25SCLK/s。控制字在R1中。转换所得12位数据高4位放入R3,低8位放入R4。

[2]

adconversion: CLR P1.0 MOV A,R1 ;将控制字送A LCALL INPUT ;控制字输入子程序

CLR P1.1 ;SCLK第8个时钟的下降沿 CLR P1.2 SETB P1.1

CLR P1.1 ;SCLK第9个时钟的下降沿 ….

SETB P1.1 ;SCLK第13个时钟的上升沿 ACALL OUTPUT ;输出AD转换后的数据 CLR P1.1 SETB P1.0 RET

INPUT: NOP ;MAX1270的控制字输入子程序 MOV R2,#08H ;控制字有8位 LOOP3: CLR P1.1

RLC A ;控制字在A中 MOV P1.2, C SETB P1.1

DJNZ R2, LOOP3

RET ;SCLK处于第8个脉冲的高电平 OUTPUT: NOP ;12位数据输出子程序 MOV R2,#04H ;输出数据高4位 LCALL OUTPUT1

MOV R3, A ;高4位送R3 MOV R2,#08H ;输出数据低8位 ACALL OUTPUT1 MOV R4, A ;低8位送R4 RET

OUTPUT1: CLR A

LOOP8: SETB P1.3 ;置P1.3为输入 CLR P1.1

NOP ;等待SSTRB由高变低,至少200ns MOV C, P1.3 RLC A

SETB P1.1 DJNZ R2, LOOP8 RET 4. 应用实例

将MAX1270数据采集电路应用于毛细管电泳电导检测系统中。该检测系统需要4路双极性数据采集,其中3路为电泳通道电流、1路为电导检测电流,其中通道电流用于监视系统工作状态,而检测电流是标志被测物质含量的关键信息。将所采集电流信号调理、转换成-10~+10V的电压信号,再经MAX1270模数转换后通过单片机串口发送给PC机存储、显示。单片机振荡频率12MHz、串口波特率62.5KHz,程序框

图如图4所示。PC机数据接收和显示由其它高级语言编写。检测系统运行结果表明该数据采集电路的采集速率和转换精度完全满足要求。

5. 结论

本文介绍了MAX1270的特点并在分析工作时序的基础上首次给出外部时钟、25SCLK/S转换方式下的AD转换程序,愿与同行交流。实际使用表明,MAX1270完全满足转换速率和转换精度要求,是双极性、多路数据采集的合理选择。 本文作者创新点如下:

① 实现了MAX1270与单片机的最简接口。只需4根连接线(SCLK、DIN、DOUT、/CS)而不用SSTRB启动数据的输出。

② AD转换后的数据即时发送给PC机,单片机不需外接数据存储器。 这两点都在一定程度上简化了硬件电路。 参考文献