MAX1169 ADC与PIC微控制器的接口
本应用笔记介绍如何连接MAX1169模数转换器(ADC)至PIC®微控制器。提供了对应PIC18F442的实例电路和软件。该软件包含了利用内部MSSP I2C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。
MAX1169是一款16位、低功耗ADC,具有I2C兼容的2线串行接口。MAX1169的接口可支持快速模式(400kHz)和高速模式(高达1.7MHz)。
本应用笔记包括实例应用电路和用于PIC18F442的软件。该软件提供了利用内部MSSP I2C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。因为其它微控制器具有类似的片上外围设备,所以实例中所提供的I2C通信程序被有意拆分为单独的I2C函数调用,以便快速移植到其它微控制器。表1所示为汇编程序范例中用到的单独的I2C接口函数调用。
这里讨论的应用电路采用了MAX1169EVKIT,包括:MAX1169、输入缓冲器(MAX4430)和经过验证的PCB。PIC和RS-232收发器IC (MAX3232)没有安装在MAX1169EVKIT板上。但已添加到系统中,图1所示是一个完整的应用电路。MAX1169EVKIT上的SCL、SDA焊盘便于I2C兼容的串行接口的连接。400kHz I2C通信时,在R3和R4上接1.5kΩ上拉电阻。
MAX1169的引脚排布便于模拟部分和数字部分的隔离。模拟部分聚集在引脚8-13,分布在IC右侧;数字部分聚集在引脚1-7,分布在IC左侧。引脚14也属于数字部分,但可以很方便地和IC左侧组织在一起。为获得最佳性能,建议采用单独的模拟和数字电源,如图1原理图所示。
图1. MAX1169应用原理图
将模拟地与数字地分离开(如图2所示)可以得到较好的实际效果,利用铁氧体磁珠,如TDK MMZ1608B601C,连接两个地平面。这种布局可以避免微控制器系统时钟及其谐波成份馈入模拟地。已知PIC18F442的系统时钟为40MHz,考虑到MMZ1608B601C特殊的阻抗与频率特性,我们选择了这款铁氧体磁珠。图3给出了MMZ1608B601C阻抗随频率的变化曲线。
图2. 分离的模拟地和数字地
图3. TDK MMZ1608B601C铁氧体磁珠阻抗随频率的变化曲线
实例中的汇编程序通过PIC的2线接口在400kHz频率下读取16位ADC MAX1169的连续转换结果。一旦PIC接收到数据(数字化后的模拟电压),将立即通过软件UART以115kbps的速率发送出去。RS-232收发器将数据发送到带有标准串行接口的个人电脑。
表1. 单I2C接口函数调用
本文来源于Maxim。