0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高速I²C用于MAX1239 ADC,采用MAXQ2000微控制器

星星科技指导员 来源:ADI 作者:ADI 2023-01-12 11:24 次阅读

本应用笔记提供了一个急需的高速I²C工作示例。应用笔记给出了一个应用电路,并提供了将MAXQ2000微控制器(MAXQ20内核)连接至MAX1239所需的全部固件,转换速率为91ksps。示例固件是使用 MAX-IDE 1.0 版开发的。

MAX1239概述

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

硬件概述

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

pYYBAGO_fWKAeHQMAAA1pIHBZFY444.gif

图1.简化的系统框图。

poYBAGO_fWKAXbXrAABUJUyp2XM843.gif

图2.使用MAX1239修改MAX1238评估板原理图。

MAX1239的引脚排列允许模拟电路与数字电路轻松隔离;模拟电路在电路板的左侧组合在一起,数字电路在电路板的右侧组合在一起。将两块板连接在一起时请记住这一点。将MAXQ2000评估板上的J2-52 (SDA)连接到MAX1238评估板上的SDA焊盘。同样,将 J2-54 (SCL) 连接到 SCL 焊盘。两个板的接地必须连接在一起。此外,R5和R7都必须配备2.2kΩ 5%电阻。MAX1238评估板已有47kΩ I²C上拉电阻,MAXQ2000评估板具有10kΩ I²C上拉电阻。增加R5和R7将在I²C总线上提供约1.6kΩ的上拉电阻。

MAXQ2000评估板包含一套完整的硬件、软件、示例代码和文档,用于MAXQ2000设计。MAXQ2000评估板的原理图可在数据资料中提供。

固件概述

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

主源文件是 ,它是用汇编方式编写的,以优化 HS 模式 I²C 接口的时序。源代码执行以下操作:hsi2c.asm

a) 初始化MAX2000的8-N-1UART,速率为115.2kbps

b) 初始化MAX1239 CONF BYTE,用于单端通道AIN0

c) 初始化MAX1239内部基准、外部时钟和单极性操作

的设置字节 d) 初始化MAX1239的I²C HS模式 e) 在I²C HS

模式下

从MAX1239回读12位采样 f) 通过串行端口传输 12 位样本

示例汇编程序通过对MAXQ2000的GPIO端口上的HS模式I²C接口进行位敲击,从MAX1239采集样本。MAXQ2000的16MHz系统时钟允许位冲击HS模式I²C接口工作频率高达1.7MHz。

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

编辑I2C_ADDR定义语句以反映所用器件的I²C地址。这些变量必须是实际地址的补充。例如,地址 0111 111 (r/w) 需要编码为:

I2C_ADDR7等式 1

I2C_ADDR6 等式 0

I2C_ADDR5 等式 0

I2C_ADDR4 等式 0

I2C_ADDR3 等式 0

I2C_ADDR2 等式 0 I2C_ADDR1 等式 0

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

下图显示了本应用笔记中实现的FS模式(图

3

)和HS模式(

图4

)I²C帧。

pYYBAGO_fWOAKY_qAAAlWq9PE6g393.gif

图3.FS 模式双字节写入操作。

poYBAGO_fWOATj-FAABQPqovFLs955.gif

图4.HS 模式接收操作。

图5至图16是本应用笔记中实现的FS模式(图3)和HS模式(图4)I²C帧的示波器。通道 1 是 SCL,通道 2 是所有瞄准镜镜头的 SDA。

poYBAGO_fWOATEZ-AAB8HmXKjL4976.jpg

图5.所有I²C通信的完整帧(FS模式和HS模式操作)。

pYYBAGO_fWSAJemrAAB5PzxI4u0343.jpg

图6.FS 模式操作,字节 1(start + Addr = 0x6A + ACK)。

poYBAGO_fWSAGQhTAAB1yJxUyu8485.jpg

图7.FS 模式下的 SCL 时钟频率约为 400kHz。

pYYBAGO_fWSAP7VvAAByEYb4bGI633.jpg

图8.FS 模式操作,字节 2(conf 字节 = 0x61 + ACK)。

pYYBAGO_fWWAPUhdAAB1oxIFTYo408.jpg

图9.FS 模式操作,字节 3(设置字节 = 0xFA + ACK)。

poYBAGO_fWWAHjf3AABzfkzrA6o247.jpg

图 10.FS模式操作,停止和开始下一个操作(停止和启动)。

pYYBAGO_fWWAG2BAAAB_X3UlttI807.jpg

图 11.FS 模式操作,字节 4(主代码 = 0x0F + NACK)。

poYBAGO_fWaAcuTdAAB7bqBfAwI794.jpg

图 12.HS模式操作,重复启动。

pYYBAGO_fWaAR05VAACBp7LmJ08494.jpg

图 13.HS 模式操作,字节 5(Addr = 0x6B + ACK)。

poYBAGO_fWaAGApWAAB0B7OeWMk193.jpg

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

pYYBAGO_fWeAFGjYAACBbv3gkOQ311.jpg

图 15.HS 模式操作,字节 6(数据 = 0xFB + ACK)。

poYBAGO_fWeARbd1AAB-D76oQ6g404.jpg

图 16.HS 模式操作,字节 7(数据 = 0xBB + NACK + FS 停止)。

高速I²C的规范自2000年1月起就已经存在。尽管如此,目前很少有微控制器具有内部高速I²C外设。这是一个不幸的情况,因为ADC、DAC、编解码器甚至电源等多种器件被设计为支持高速I²C接口。本应用笔记提供了一个急需的工作高速I²C示例。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544466
  • I²C总线
    +关注

    关注

    0

    文章

    14

    浏览量

    2125
收藏 人收藏

    评论

    相关推荐

    MAXQ2000微控制器MAX4397是如何连接的?

    MAX4397是什么?MAXQ2000微控制器MAX4397是如何连接的?
    发表于 06-04 06:15

    利用MAXQ2000微控制器实现快速傅里叶变换

    利用MAXQ2000微控制器实现快速傅里叶变换
    发表于 12-13 17:24 19次下载
    利用<b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>实现快速傅里叶变换

    采用MAXQ2000进行音频滤波

    集成了乘累加单元(MAC)和单周期内核的MAXQ2000非常适合用作通用微控制器MAXQ2000所具有的性能和I/O外设适合多种应用:如闹钟、手持医疗设备、数字读取
    发表于 12-25 23:24 34次下载

    选择MAXQ2000微控制器MAX1132 ADC接口的S

    选择MAXQ2000微控制器MAX1132 ADC接口的SPI时钟模式 要:MAXQ2000采用
    发表于 08-04 09:51 549次阅读
    选择<b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>和<b class='flag-5'>MAX</b>1132 <b class='flag-5'>ADC</b>接口的S

    MAXQ2000微控制器软件I2C驱动

    摘要:I²C (内置于集成电路)是一种2线接口,实现集成电路之间的双向通信。本应用笔记介绍MAXQ2000微控制器的软件I&sup
    发表于 04-23 10:17 719次阅读
    <b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>软件<b class='flag-5'>I2C</b>驱动

    利用MAXQ2000设计电压表

    摘要:本应用笔记演示了如何配置MAXQ2000微控制器实现简单的电压表设计。该应用采用MAXQ2000评估板,其中包括4½位段式LCD显示
    发表于 04-23 16:07 830次阅读
    利用<b class='flag-5'>MAXQ2000</b>设计电压表

    采用MAXQ2000进行音频滤波

    摘要:集成了乘累加单元(MAC)和单周期内核的MAXQ2000非常适合用作通用微控制器C) 。MAXQ2000所具有的性能和I
    发表于 04-23 17:27 1072次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>MAXQ2000</b>进行音频滤波

    采用MAXQ2000实现与MAX1169的高速I²

    摘要:本应用笔记给出了MAXQ2000微控制器(MAXQ20核)与MAX1169 16位ADC接口的应用电路,并且提供了所需的全部固件。固件
    发表于 04-24 13:50 1091次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>MAXQ2000</b>实现与<b class='flag-5'>MAX</b>1169的<b class='flag-5'>高速</b><b class='flag-5'>I</b>²

    采用MAXQ2000微控制器MAX6970 LED驱动

    采用MAXQ2000微控制器MAX6970 LED驱动显示不同的LED排序 Abstract: This note shows an
    发表于 07-25 21:07 864次阅读

    采用MAXQ2000实现与MAX1169的高速I²C接口

    并不带有MAXQ2000微控制器;系统通过SCL、SDA以及GND将MAXQ2000评估板和MAX1169评估板相连。此外,分别将DVDD和AVDD连接到+3.3V和+5V电源。
    发表于 04-06 15:34 5次下载
    <b class='flag-5'>采用</b><b class='flag-5'>MAXQ2000</b>实现与<b class='flag-5'>MAX</b>1169的<b class='flag-5'>高速</b><b class='flag-5'>I</b>²<b class='flag-5'>C</b>接口

    使用MAX6951/MAX6950 LED显示驱动MAXQ2000微控制器通信

    MAXQ2000为高性能6951位RISC微控制器,集成SPI模块,提供LED驱动微控制器之间的简单接口。本应用笔记给出了MAXQ®汇
    的头像 发表于 02-20 10:16 1244次阅读
    使用<b class='flag-5'>MAX</b>6951/<b class='flag-5'>MAX</b>6950 LED显示驱动<b class='flag-5'>器</b>与<b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>通信

    使用MAXQ2000进行音频滤波

    乘法累加单元(MAC)和单周期内核的组合使MAXQ2000成为多功能微控制器(μC)。MAXQ2000具有性能和I/O外设,非常适合许多应用
    的头像 发表于 03-02 14:13 919次阅读
    使用<b class='flag-5'>MAXQ2000</b>进行音频滤波

    使用MAXQ2000微控制器进行基于温度的风扇控制

    MAX1407通信(包含16位模数转换[ADC]和数模转换[DAC])。作为使用热敏电阻的替代方法,MAXQ2000的1-Wire总线
    的头像 发表于 03-02 14:36 1025次阅读
    使用<b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>进行基于温度的风扇<b class='flag-5'>控制</b>

    采用MAXQ2000微控制器MAX6970 LED驱动显示不同的LED排序

    MAX6970为8端口、36V恒流LED驱动采用4线串口。利用本应用笔记提供的信息,MAX6970配合MAXQ2000 16位RISC
    的头像 发表于 06-12 16:10 542次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>和<b class='flag-5'>MAX</b>6970 LED驱动<b class='flag-5'>器</b>显示不同的LED排序

    MAX6951/MAX6950 LED显示驱动MAXQ2000微控制器的通信

    MAX6951/MAX6950 SPI LED驱动简单易用的共阴极显示驱动,通过SPI串行接口连接
    的头像 发表于 06-16 15:34 918次阅读
    <b class='flag-5'>MAX</b>6951/<b class='flag-5'>MAX</b>6950 LED显示驱动<b class='flag-5'>器</b>与<b class='flag-5'>MAXQ2000</b><b class='flag-5'>微控制器</b>的通信