MAX5591快速建立DAC与PIC微控制器的接口

描述

该设计指南说明如何MAX5591快速建立DAC与PIC18F442微控制器的连接,并给出了代码实例。

MAX5591简介

MAX5591是一款12位、快速建立DAC,采用3线SPI™串行接口。MAX5591支持高达20MHz的SPI接口,最快建立时间为3µs。本应用笔记给出了连接高速PIC微控制器(PIC18F核)和MAX5591的应用电路以及所需要的全部固件。汇编程序利用MPLAB® IDE、6.10.0.0版本免费提供的编译器编写,用于PIC18F442。

硬件说明

本文中的应用电路采用MAX5591EVKIT,包括:MAX5591、超高精度电压基准(MAX6126)、两个按键开关、增益设置电阻和经过验证的PCB。PIC18F442没有安装在MAX5591EVKIT板上,但已添加到系统中,图1所示是一个完整的应用电路。MAX5591EVKIT上的/CS、SCLK、DIN和DOUT焊盘可方便地用于SPI串口连接。

编译器


查看大图

编译器


图1. MAX5591应用电路

模拟地和数字地

图2所示,将模拟地与数字地分离开可以得到较好的实际效果,利用铁氧体磁珠,如TDK MMZ1608B601C,连接两个地平面。这种布局可以避免微控制器系统时钟及其谐波馈入模拟地。已知PIC18F442的系统时钟为40MHz,考虑到MMZ1608B601C特殊的阻抗与频率特性,我们选择了这款铁氧体磁珠。图3给出了MMZ1608B601C阻抗随频率的变化曲线。

编译器


图2. 分离的模拟地和数字地

编译器


图3. TDK MMZ1608B601C铁氧体磁珠阻抗随频率的变化曲线

固件说明

清单1给出的汇编程序通过PIC18F442的内部MSSP SPI接口对MAX5591进行初始化,PIC18F442的40MHz系统时钟允许MSSP提供高达10MHz的SPI时钟(SCLK)。表1所示为上电后的配置字。一旦完成对MAX5591的初始化,程序便将DAC输出寄存器装载为零,然后装载满量程输出,如表2所示。该固定循环程序可产生方波输出,用来演示MAX5591的快速建立时间。

编译器


下载
清单1. 用于连接MAX5591和PIC18F442内部MSSP SPI接口的汇编程序

表1. 配置写命令,将所有八路DAC的建立时间设置为3µs

 

SPI Line C7 C6 C5 C4 C3 C2 C1 C0 D7 D6 D5 D4 D3 D2 D1 D0
DIN 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1

 

表2. 装载全部DAC输出命令:第一个命令将所有DAC输出设置为零,第二个命令将所有DAC设置为满量程输出

 

SPI Line C3 C2 C1 C0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
DIN (1st) 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
DIN (2nd) 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1

 

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分