本应用笔记提供了一个急需的高速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所示。
图1.简化的系统框图。
图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帧。
图3.FS 模式双字节写入操作。
图4.HS 模式接收操作。
图5至图16是本应用笔记中实现的FS模式(图3)和HS模式(图4)I²C帧的示波器。通道 1 是 SCL,通道 2 是所有瞄准镜镜头的 SDA。
图5.所有I²C通信的完整帧(FS模式和HS模式操作)。
图6.FS 模式操作,字节 1(start + Addr = 0x6A + ACK)。
图7.FS 模式下的 SCL 时钟频率约为 400kHz。
图8.FS 模式操作,字节 2(conf 字节 = 0x61 + ACK)。
图9.FS 模式操作,字节 3(设置字节 = 0xFA + ACK)。
图 10.FS模式操作,停止和开始下一个操作(停止和启动)。
图 11.FS 模式操作,字节 4(主代码 = 0x0F + NACK)。
图 12.HS模式操作,重复启动。
图 13.HS 模式操作,字节 5(Addr = 0x6B + ACK)。
图 14.HS 模式下的 SCL 时钟频率约为 1.7MHz。
图 15.HS 模式操作,字节 6(数据 = 0xFB + ACK)。
图 16.HS 模式操作,字节 7(数据 = 0xBB + NACK + FS 停止)。
高速I²C的规范自2000年1月起就已经存在。尽管如此,目前很少有微控制器具有内部高速I²C外设。这是一个不幸的情况,因为ADC、DAC、编解码器甚至电源等多种器件被设计为支持高速I²C接口。本应用笔记提供了一个急需的工作高速I²C示例。
审核编辑:郭婷
-
微控制器
+关注
关注
48文章
7542浏览量
151316 -
adc
+关注
关注
98文章
6495浏览量
544466 -
I²C总线
+关注
关注
0文章
14浏览量
2125
发布评论请先 登录
相关推荐
评论