一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

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

来源:analog 发布时间:2023-09-06

摘要: 本应用笔记提供了一个急需的高速I(2)C工作示例。应用说明显示了一个应用电路,并提供了将MAXQ2000微控制器(MAXQ20核心)连接到MAX1239所需的所有固件,转换率为91ksps。示例固件是使用MAX-IDE 1.0版本开发的。

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所示。

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

图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)需要编码为:


  2. 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

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


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

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

图4、hs模式接收操作

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

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

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

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

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

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

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

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

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

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

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

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

图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示例。



声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: