MAX1169 ADC与PIC微控制器的接口

MAX1169 ADC与PIC微控制器的接口

作者联系方式

摘要

本应用笔记介绍如何连接MAX1169模数转换器(ADC)至PIC®微控制器。提供了对应PIC18F442的实例电路和软件。该软件包含了利用内部MSSP I²C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。

MAX1169是一款16位、低功耗ADC,具有I²C兼容的2线串行接口。MAX1169的接口可支持快速模式(400kHz)和高速模式(高达1.7MHz)。

本应用笔记包括实例应用电路和用于PIC18F442的软件。该软件提供了利用内部MSSP I²C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。因为其它微控制器具有类似的片上外围设备,所以实例中所提供的I²C通信程序被有意拆分为单独的I²C函数调用,以便快速移植到其它微控制器。表1所示为汇编程序范例中用到的单独的I²C接口函数调用。

这里讨论的应用电路采用了MAX1169EVKIT,包括:MAX1169、输入缓冲器(MAX4430)和经过验证的PCB。PIC和RS-232收发器IC (MAX3232)没有安装在MAX1169EVKIT板上。但已添加到系统中,图1所示是一个完整的应用电路。MAX1169EVKIT上的SCL、SDA焊盘便于I²C兼容的串行接口的连接。400kHz I²C通信时,在R3和R4上接1.5kΩ上拉电阻。

MAX1169的引脚排布便于模拟部分和数字部分的隔离。模拟部分聚集在引脚8-13,分布在IC右侧;数字部分聚集在引脚1-7,分布在IC左侧。引脚14也属于数字部分,但可以很方便地和IC左侧组织在一起。为获得最佳性能,建议采用单独的模拟和数字电源,如图1原理图所示。

图1. MAX1169应用原理图
图1. MAX1169应用原理图

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

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

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

实例中的汇编程序通过PIC的2线接口在400kHz频率下读取16位ADC MAX1169的连续转换结果。一旦PIC接收到数据(数字化后的模拟电压),将立即通过软件UART以115kbps的速率发送出去。RS-232收发器将数据发送到带有标准串行接口的个人电脑。

表1. 单I²C接口函数调用

Single I²C compatible function calls Description
HWI²C_start Performs an I²C compatible start condition.
HWI²C_repeatedStart Performs an I²C compatible repeated start condition.
HWI²C_W_slaveAddr Performs all I²C compatible write operations including the initial slave address write frame.
HWI²C_readMore_W Performs an I²C compatible read operation with Master ACK.
HWI²C_readLast_W Performs an I²C compatible read operation with Master NACK.
HWI²C_stop Performs an I²C compatible stop condition.

下载用于连接MAX1169和PIC18F442内部MSSP I²C接口的汇编程序。