MAX5581简介
MAX5581是一款12位、快速建立 DAC ,采用3线SPI串行接口。MAX5581的接口支持高达20MHz的SPI,最快建立时间为3&mICro;s。本应用笔记给出了连接高速 PIC 微控制器 (PIC18F核)和MAX5581 DAC的应用电路以及所需要的全部固件。汇编程序利用MPLAB IDE、6.10.0.0版本中免费提供的编译器编写,用于PIC18F442。
硬件说明
这里讨论的应用电路采用了MAX5581评估板,包括:MAX5581、超高精度电压基准(MAX6126)、两个按键开关、增益设置电阻和PC板。PIC18F442没有安装在MAX5581EVKIT板上,但已添加到系统中,图1所示是一个完整的应用电路。MAX5581EVKIT上的/CS、SCLK、DIN和DOUT焊盘便于SPI串行接口的连接。
点击看原图
图1. MAX5581应用电路第一部分
图1. MAX5581应用电路第二部分
模拟与数字地平面
将模拟地与数字地分离开(如图2所示)可以得到较好的实际效果,利用铁氧体磁珠,如TDK MMZ1608B601C,连接两个地平面。这种布局可以避免微控制器系统时钟及其谐波成份馈入模拟地。已知PIC18F442的系统时钟为40MHz,考虑到MMZ1608B601C特殊的阻抗与频率特性,我们选择了这款铁氧体磁珠。图3给出了MMZ1608B601C阻抗随频率的变化曲线。
图2. 分离的模拟地和数字地
图3. TDK MMZ1608B601C铁氧体磁珠阻抗随频率的变化曲线
www.55dianzi.com
固件说明
列表1给出的汇编程序通过 PIC 18F442的内部MSSP SPI接口对MAX5581进行初始化,PIC18F442的40MHz系统时钟允许MSSP提供高达10MHz的SPI时钟(SCLK)。表1所示为上电后的配置字。一旦完成了对MAX5581的初始化,程序便将 DAC 输出寄存器装载为零,然后装载满量程输出,如表2所示。该固定循环程序可产生方波输出,如图4所示,可以用来演示MAX5581的快速建立时间。
&nb
sp;
图4. 一个输出为80kHz方波的实际示波器测试图
列表1. 用于连接MAX5581和PIC18F442内部MSSP SPI接口的汇编程序
列表1.asm
;******************************************************************************
;
; Filename: Listing 1 (Absolute Code Version)
; Date: 2/25/05
; File Version: 1.0
;
; Author: Ted Salazar
; Company: Maxim
;
www.55dianzi.com
;******************************************************************************
;
; Program Description:
;
; This program interfaces the internal SPI MSSP
; (Peripheral) of the PIC 18F442 to the MAX5581 SPI
; Quad DAC . The program initializes the MAX5581
; and dynamically generates a 50% duty cycle square
; wave with a Frequency of 80KHz.
;
;
;*******************************************************
***********************
;
; History:
; 2/25/05: Tested SPI DAC format
; 2/25/05: Initialized MAX5591
; 12/14/04: Cleared tcount timer in HWSPI_W_spidata_W
;******************************************************************************
;******************************************************************************
;
;******************************************************************************
;
; Files required: P18F442.INC