该设计指南说明如何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 |
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !