采用MAXQ2000单片机的高速I²C型MAX1239 ADC

元器件信息   2023-09-08 14:44   268   0  

MAXQ2000 点击型号查看芯片规格书

Analog Devices(亚德诺)芯片规格书大全

芯片规格书搜索工具-icspec


MAX1239概述

MAX1239是一款12通道,12位,低功耗ADC,具有1.7MHz高速I(2) c兼容串行接口。MAX1239支持快速/标准模式(FS模式,400kHz)和高速模式(HS模式,1.7MHz),转换率高达94.4ksps。HS模式需要实现从26ksps到94.4ksps的转换速率。转换速率从40ksps到94.4ksps需要外部时钟模式。

硬件概述

一个简化的系统框图如图1所示。应用电路采用两个评估(EV)套件:安装了MAX1239(而不是MAX1238)的MAX1238EVKIT和MAXQ2000-KIT。选择MAX1239是因为数字逻辑电压范围。MAXQ2000微控制器的通用输入/输出(GPIO)端口只接受+3.3V;使用高速I(2)C的电平转换器会使电路过于复杂。MAXQ2000不存在于MAX1238 EV套件板上,因此通过连接两个板上的SCL, SDA和GND将其添加到系统中。此外,在MAX1238 EV套件板上应用+3.3V(而不是+5V)到V(DD)非常重要。订购MAX1239EEE或MAX1239EEE+的免费样品并将其焊接到MAX1238 EV套件上。改进后的MAX1238 EV套件原理图如图2所示。

24282_sid6_5026.gif

图1所示、一个简化的系统框图

24282_mp0f_3787.gif

图2、使用MAX1239修改MAX1238 EV套件原理图

MAX1239的引脚可以很容易地将电路与数字电路隔离;电路组合在电路板的左侧,数字电路组合在电路板的右侧。将两块板连接在一起时请记住这一点。将MAXQ2000 EV套件板上的J2-52 (SDA)连接到MAX1238 EV套件上的SDA焊盘。同样,将J2-54 (SCL)连接到SCL pad。两块板的接地必须连接在一起。此外,R5和R7都必须填充2.2k欧姆 5%电阻。MAX1238 EV套件已经具有47k欧姆 I(2)C上拉电阻,MAXQ2000 EV套件具有10k欧姆 I(2)C上拉电阻。添加R5和R7将在I(2)C总线上提供大约1.6k欧姆的上拉电阻。

MAXQ2000 EV套件包含一套完整的硬件、软件、示例代码和开始使用MAXQ2000进行设计所需的文档。MAXQ2000 EV套件的原理图可在数据表中找到。

固件概述

示例固件是使用免费的MAX-IDE Version 1.0开发的。下载最新版本的MAX-IDE。

主要的源文件是hsi2c.asm为优化HS-mode I(2)C接口的时序,采用汇编语言编写。源代码做了以下事情:

  1. 以115.2kbps初始化MAXQ2000的8-N-1 UART

  2. 初始化单端通道AIN0的MAX1239 CONF BYTE

  3. 初始化MAX1239 SETUP BYTE用于内部引用、外部时钟和单极操作

  4. 初始化MAX1239为I(2)C HS模式

  5. 在I(2)C HS模式下从MAX1239读取12位采样

  6. 通过串口传输12位采样


示例汇编程序通过敲打MAXQ2000的GPIO端口上的HS-mode I(2)C接口从MAX1239收集样本。MAXQ2000的16MHz系统时钟允许bit- beat HS-mode I(2)C接口运行高达1.7MHz。

hsi2c.asm默认为MAX1239EEE或MAX1239EEE+的从地址。固件必须针对该系列中的每个不同部件进行定制。例如,当使用MAX1239KEEE、MAX1239KEEE+、MAX1239LEEE、MAX1239LEEE+、MAX1239MEEE或MAX1239MEEE+时,请遵循以下两个步骤:

  1. 编辑I2C_ADDR定义语句,以反映所使用部件的I(2)C地址。这些变量需要作为实际地址的补充。例如,地址0111 111 (r/w)需要编码为:


I2C_ADDR7 equ 1
I2C_ADDR6 equ 0
I2C_ADDR5 equ 0
I2C_ADDR4 equ 0
I2C_ADDR3 equ 0
I2C_ADDR2 equ 0
I2C_ADDR1 equ 0

源代码期望使用16MHz系统时钟(MAXQ2000晶体)。


下图说明了本应用笔记中实现的fs模式(图3)和hs模式(图4)I(2)C帧。

24282_xkjv_5525.gif

图3、fs模式双字节写操作

24282_fqip_9293.gif

图4、hs模式接收操作

图5到图16是本应用笔记中实现的fs模式(图3)和hs模式(图4)I(2)C帧的瞄准镜镜头。1号通道是SCL, 2号通道是SDA。

24282_6hbm_7779.jpg

图5、所有I(2)C通信(fs模式和hs模式操作)的完整帧

24282_h8zw_5472.jpg

图6、fs模式操作,Byte1 (start + Addr = 0x6A + ACK)

24282_m5rf_3039.jpg

图7、在FS模式下,SCL时钟频率约为400kHz

24282_ywij_8959.jpg

图8、fs模式操作,Byte2 (conf byte = 0x61 + ACK)

24282_p7xw_7670.jpg

图9、fs模式操作,Byte3(设置字节= 0xFA + ACK)

24282_wavx_3095.jpg

图10、fs模式操作,停止和启动下一个操作(停止和启动)

24283_w5b5_6096.jpg

图11、fs模式操作,Byte4(主码= 0x0F + NACK)

24283_hzzt_4219.jpg

图12、hs模式操作,重复启动

24283_wvy0_5787.jpg

图13、hs模式操作,Byte5 (Addr = 0x6B + ACK)

24283_9nmu_3025.jpg

图14、HS模式下的SCL时钟频率约为1.7MHz

24283_mywd_9129.jpg

图15、hs模式运行,Byte6 (data = 0xFB + ACK)

24283_o6za_3055.jpg

图16、hs模式运行,Byte7 (data = 0xBB + NACK + FS-Stop)

自2000年1月以来,高速I(2)C规范已经存在。尽管如此,很少,如果有任何微控制器可与内部高速I(2)C外设。这是一种不幸的情况,因为一些设备,如adc、dac、codec,甚至电源,都被设计为支持高速I(2)C接口。本应用笔记提供了一个急需的高速I(2)C示例。


登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。