摘要:MAX1464是一款高性能、低成本、低功耗、多通道、基于微处理器的数字式传感器信号调理器,该器件还集成了闪存和温度传感器。本文给出了用户可能提出的各种各样的问题和疑问,并针对每个问题给出了简短的回答。若想得到更深入的解答,用户可参考MAX1464数据资料以及该产品的其他相关公开资料。另外,Maxim的技术支持小组也是一个很有益的资源,从他们那里可以获得这里或其他相关资料中无法得到的答案。
1) 问:什么是MAX1464?
答: MAX1464是一款高性能、低成本、低功耗、多通道、基于微处理器的数字式传感器信号调理器,该器件还集成了闪存和温度传感器
2) 问: MAX1464信号调理器的典型应用是什么?
答: MAX1464的典型应用是为传感器的小信号输出进行补偿、放大及线性化处理。传感器类型包括PRT、RTD、热电偶、应变计等等。
3) 问: 针对MAX1464,都提供哪些技术支持?
答: 我们提供各种各样的技术支持,包括评估套件、软件工具、程序例程、应用笔记、在线/电话技术支持,等等。
4) 问: MAX1464评估套件里都有什么东西?
答: 评估套件包括一个评估板(内置MAX1464信号调理器,其典型应用威廉希尔官方网站
和用于模拟MAX1464传感器输入的电位器),一个用于与PC接口的MAX1464KEY,一些MAX1464样品,和互连电缆。
5) 问: MAX1464提供哪些软件工具呢?
答: 软件工具包括:
1) 编译器,用于编程片上微控制器。
2) 硬件调试器,可以对内部功能和模块进行交互式控制。
3) 以及一个采用LabVIEW®编写的控制程序,该程序内置二阶补偿功能,可以在更高层次上与MAX1464进行通信。
6) 问: 是否提供一些MAX1464的程序例程?
答: 提供。评估套件中的软件提供了一些例程编码,可在Maxim网站上找到。例程采用汇编语言,包括二阶补偿算法、LED闪烁程序和一个典型的环路功能。
7) 问: 有没有一些针对MAX1464的应用笔记?
答: 有,下面给出了已发布的应用笔记的列表。同时正在编写其他应用笔记,未来会发布更多相关信息。
1) 二阶补偿(应用笔记3649):MAX1464 Signal Conditioner, Sensor Compensation Algorithm
2) 比例电流源(应用笔记3364):Creating a Ratiometric Current Excitation in Sensors Using the MAX1464 Signal Conditioner
3) 温度传感器(应用笔记3650):MAX1464的片上温度传感器
关于大多数应用,MAX1463的应用笔记同样也适用于MAX1464。
8) 问: 每启动一次ADC周期,需要等待多长时间才开始采样?
答: 运行ADC指令的同时ADC便启动采样,这一过程将持续整个ADC周期。
9) 问: 一次ADC转换都要经历哪些过程?
答: 在转换周期内,ADC根据ADC时钟设置(MAX1464数据资料第32页给出了ADC时钟表格)连续执行采样。Σ-Δ型转换器在整个转换周期内,产生信号的比特流输出。这个比特流经过数字化处理后产生一个16位输出结果。随后,停止该输入信道的采样。因此,如果输入信号在ADC转换过程中改变了,其结果将是转换周期内输入的平均值。
10) 问: 在ADC采样的时候,是不是从最低位或者从最高位开始呢?
答: 与传统的SAR型或集成转换器不同,Σ-Δ型转换器不是先转换出低位或高位。在转换周期内,比特流输出经过滤波。应用笔记1870,Demystifying Sigma-Delta ADCs,简要描述了Σ-Δ型转换器,作为补充材料可供参考。
11) 问: 在不损坏器件的前提下,MAX1464的最高电源电压是多少?
答: 在MAX1464上接入6.0V电源似乎不会损坏器件。虽然没有任何官方资料记载,但在实际应用中,我们将这一电压加在ASIC上,几分钟之后将电压恢复到正常电源电压,并未明显损坏器件。当然,当电源电压高于5.5V时,器件工作特性将不能满足数据资料的参数指标。
12) 问: 能使用MAX1464测量RTD或K型热电偶吗?
答: 可以。用户必须保证INM和INP上的电压值高于VSS而低于VDD。如果需要附加增益的话,可以使用DOP中的运放构成模拟增益级,用于将差分信号转换为单端信号。可以将此增益级的输出输入到ADC用于转换,或者可以采用ADC环回转换模式直接转换运放输出。
13) 问: MAX1463和MAX1464之间有什么区别?
答: 主要区别在于:
1) MAX1464没有ISRC引脚。
2) MAX1464没有VB引脚。
3) MAX1464的外部基准电压只能等于2.5V (VDD的1/2)。
4) MAX1464的PGA增益设置可以用于温度转换。
5) MAX1464的温度传感器为正斜率(MAX1463为负斜率),而且可以调整增益。
6) 其他细小的差别,参见MAX1464数据资料。
14) 问: MAX1463和MAX1464有哪些寄存器定义不同?
答: 寄存器定义存在三个变化:
1) 重新定义寄存器08h - “ADC_Config_TA”,增加了用于温度转换的PGA增益(PGAT[4:0]=ADC_Config_TA[15:11])设置。其他位保持不变。
2) 寄存器31h - “上电控制”,PWRWFL位(第12个位)不用了,在MAX1464中,它变为“don't-care”。
3) 寄存器33h - “电流源控制”,被取消了。
15) 问: MAX1463与MAX1464的内部温度传感器是否相同呢?
答: 不相同。MAX1464的温度传感器输出相对温度为正斜率,而MAX1463刚好相反。另外,MAX1464温度传感器的输出可增加PGA增益功能,而MAX1463则不行。
16) 问: 我的设置是正确的,却无法与MAX1464通信。出了什么问题呢?
答: 可能的原因是:
1) 没有正确设置评估板的跳线。
2) 3线或4线通信时,MAX1464KEY、跳线设置和配置设置之间的设置不匹配。
3) 电脑的串口有问题。
4) 评估板故障。
5) 评估板上的MAX1464芯片出现故障。
6) MAX1464KEY出现故障。
17) 问: 3线和4线接口之间有什么区别?
答: MAX1464串口可以采用4线SPI™兼容模式或3线模式(上电缺省状态)。在3线模式下,应该将DI和DO线连在一起,用作双向数据线。
18) 问: 3线和4线通信时,我都能使用硬件调试器吗?
答: 可以。
19) 问: 3线和4线通信时,我都能使用控制程序吗?
答: 可以。
20) 问: 怎样实现评估板的3线通信和4线通信两个模式之间的切换?
答: 可以通过将DI和DO引脚连接在一起或分开,从而实现3线或4线通信。通过连接或者移除JU4上的短路器,可实现3线和4线模式的切换。3线模式将DI和DO引脚短接,允许用户通过单根线实现与MAX1464的通信。
21) 问: 温度传感器输出与VDD成比例吗?
答: 是的。温度传感器的输出与VDD成比例,因此如果VDD满足MAX1464数据资料的规范,则所最终正确的温度读数与VDD电压无关。
22) 问: INPx和INMx输入电压所允许的共模电压范围是什么?
答: 只要GND和VDD满足MAX1464数据资料规范,共模输入电压范围为GND到VDD。
23) 问: 对于所有PGA增益设置,共模电压范围的规范都一样吗?
答: 是的。
24) 问: MAX1464输入阻抗随PGA增益设置变化吗?如何改变?
答: 是的。下列表达式给出了输入阻抗相对PGA设置的函数,其中“f”是ADC时钟频率,而“gain”是PGA增益。MAX1464数据资料第2页至第7页的Electrical Characteristics (EC)表给出了对应差分和单端输入的情况下,输入阻抗与PGA设置关系的部分列表。
增益 = 1 ... 64时,RIN = (4 x 1012) / (f x 增益)
增益 = 80 ... 128时,RIN = (8 x 1012) / (f x 增益)
增益 = 160 ... 256时,RIN = (16 x 1012) / (f x 增益)
25) 问: 传感器输出阻抗和MAX1464输入阻抗之间有什么关系?它们之间如何互相影响的?
答: MAX1464的输入级采用开关电容。因此,在ADC采样期间,电流周期性的流入ADC输入端。等效来讲,在每个采样间隔的初期,输入阻抗很小(大的电流流入电容器),而在每个采样间隔的末期,输入阻抗变得非常大(电容几乎被充满了,电流几乎等于零)。因此可以通过合理选择INM-INP上的滤波元件(RC过滤器),或者降低ADC时钟频率来实现合理的输入阻抗。
26) 问: 改变转换速率如何影响转换分辨率?
答: 转换分辨率与转换速率无关。任意介于0.256ms与262.14ms之间的转换速率均可实现9位至16位分辨率。参考MAX1464数据资料第33页上的ADC分辨率和ADC转换时间表格。
27) 问: ADC时钟的设置与微控制器时钟无关吗?
答: 是的。对于任意给定的系统时钟(内部或外部),可以根据MAX1464数据资料中的ADC时钟表格设置ADC时钟。
28) 问: ADC时钟频率和功耗之间有什么关系?
答: 功耗与ADC时钟频率呈近似线性关系。ADC时钟频率越低,功耗越低。MAX1464数据资料的EC表格中给出了1MHz和7kHz的时钟频率下,ADC的电流损耗。其他频率上的功耗可通过这两点之间的连线来近似逼近。
29) 问: 如何平衡功耗和转换速率?
答: 降低ADC时钟频率FADC,可降低系统工作的功耗。时钟频率越低,所需的工作电流就越小。如果系统仍然具有足够的功耗开销,可以采用最高的时钟频率FADC,通过牺牲功耗来换取转换速率性能的提高。MAX1464数据资料中的ADC转换时间表概括了不同的分辨率和时钟频率设置下,ADC的转换时间。转换时间可由下面公式得出:
TCONVERT = (每次转换的FADC时钟数) / FADC
“每次转换的时钟数”是所期望得到的转换分辨率的函数。
30) 问: MAX1464的额定数据保存年限与温度之间存在什么关系?
答: 在室温下,器件的额定数据保存年限为100年。在额定工作温度范围内,可以保证10年的数据保存年限。
31) 问: MAX1464中的闪存容量是多少?
答: MAX1464闪存分为两个区。第0区有4kB,用于存储CPU校正、放大和线性化输入信号的程序。第1区有128B,用于保存用户信息。CPU不能访问第1区。
32) 问: 4kB闪存可以存储多大的程序?
答: 4kB闪存空间相对于传感器应用已经足够大了。例如,可以在不多于4kB的闪存空间里,保存具备以下功能的程序:
1) 测量一路差分输入
2) 测量两路单端输入
3) 读取一路片外温度传感器
4) 读VDD
5) 设置两路模拟输出
6) 采用GPIO引脚配置报警触发点
7) 实现二阶补偿
当然,编程技巧通常也是影响内存空间使用效率的重要因素。
33) 问: MAX1464微处理器有哪些指令?
答: MAX1464具有16个指令,用于运行传感器补偿、放大,以及传感器输出信号线性化等所有计算。MAX1464数据资料给出了所有指令的详细说明。
MAX1464指令集
OP-CODE (HEX) |
MNEMONIC |
OPERATION |
0X |
LDX |
Load register X from program memory. |
1X |
CLX |
Clear X-reg |
2X |
ANX |
A-reg = A-reg AND X-reg |
3X |
ORX |
A-reg = A-reg OR X-reg |
4X |
ADX |
A-reg = A-reg ADD X-reg |
5X |
STX |
X-reg = A-reg |
6X |
SLX |
Shift left X-reg |
7X |
SRX |
Shift right X-reg propagating sign bit |
8X |
INX |
X-reg = X-reg + 1 |
9X |
DEX |
X-reg = X-reg - 1 |
AX |
NGX |
X-reg = NOT X-reg |
BX |
BPX |
Branch positive I-reg by amount in X-reg |
CX |
BNX |
Branch not zero I-reg by amount in X-reg |
DX |
RDX |
A-reg = CPU port-X |
EX |
WRX |
CPU port-X = A-reg |
F3 |
MLT |
A-reg | M-reg = M-reg multiplied by N-reg; register op code must be 3h |
34) 问: 如何编程MAX1464?
答: 编译器作为MAX1464评估板软件工具的一部分同时附赠给客户,用于开发汇编程序并对其进行编译。随后由编译器对汇编程序进行编译,进而得到一个.hex文件,该文件可通过所提供的工具(硬件调试器或控制程序),下载到MAX1464内部闪存内。
35) 问: 硬件调试器与哪些Windows平台兼容?
答: 硬件调试器可以在Windows® 95/98/2000/NT/XP下运行。
36) 问: MAX1464的DLL与哪些Windows平台兼容?
答: MAX1464的DLL可以在Windows 95/98/2000/NT/XP下运行。
37) 问: MAX1464的DLL在什么平台下开发?
答: MAX1464的DLL在C++平台下通过标准调用开发。
38) 问: 能通过Visual Basic调用MAX1464的DLL函数么?
答: 可以。所有基于Windows的OS都可以调用DLL。由Maxim开发的控制程序采用C语言来调用DLL。要使用Visual Basic或其他平台调用DLL,必须使用stdCall DLL。评估板提供的MAX1464 DLL是采用C语言调用。关于stdCall方面的信息,请联系Maxim技术支持小组。
39) 问: MAX1464适用于什么样的输入电压?
答: 理论上,MAX1464可接受1mV到5V的输入电压。实际上,输入范围取决于所需的满量程输出和分辨率。MAX1464能够分17级,实现高达244倍的模拟信号放大倍数。更高的放大倍数可以通过数字方式实现。采用数字方式实现信号放大将以降低分辨率为代价。
40) 问: 如何使用硬件调试器?
答: 硬件调试器包括多个标签,用于访问相关寄存器和端口,以及将闪存里的内容加载到文件中,等等。可以使用硬件调试器来了解MAX1464的功能、寄存器,和端口。
41) 问: 如何使用控制程序?
答: 控制程序主要是为用户补偿传感器提供一个方便的工具。控制程序包括一些功能按钮,通过它们实现一系列底层的、预先设定的操作,例如“读ADC”,加载文件到MAX1464的内部闪存,等等。控制程序可用于执行二阶温度补偿。
42) 问: MAX1464中不用的运放可以另作他用吗?
答: 可以。MAX1464的每个通道对应有两个运放。任何时候,如果只有一个运放与输出端相连,则那个不用的运放可以作为缓冲器使用,或可以提供附加增益。
43) 问: MAX1464闪存的第1区有什么功能?
答: 闪存的第1区用于保存用户信息,例如序列号、器件历史、生产信息、日期,等等。CPU不能访问第1区。只能通过SPI接口对该区进行写操作和读操作。
44) 问: CPU程序能访问MAX1464闪存的第1区(用户部分)吗?
答: 不能。第1区只能通过SPI接口访问。第1区可以用来控制MAX1464的工作状态。
45) 问: MAX1464有多少个输入通道?
答: 两个差分输入或四个单端输入,以及九个环回输入。
46) 问: 补偿过程中,如何最大化ADC范围?
答: 只有正确设置ADC输入的粗调偏置和PGA增益,才能得到最大的ADC范围。正确设置粗调偏置和PGA增益的步骤,请参考MAX1460数据资料的第七页。
47) 问: 补偿时,如何使温度传感器的分辨率最大化?
答: 只有正确设置温度传感器转换的粗调偏置和PGA增益,才能得到最大的温度传感器的分辨率。正确设置粗调偏置和PGA增益的步骤,请参见MAX1460数据资料的第七页。
48) 问: 量产时,能使用控制程序中的二阶补偿算法进行实际补偿吗?
答: 可以。可以将模板文件中的系数采用传感器量产模型中所定义的系数替代。
49) 问: 启动控制程序的时候,控制程序窗口上的‘DUT?’按钮并没有变成绿色?怎么回事?
答: PC无法识别MAX1464。有很多可能性,包括:
1) 安装不正确。确认安装和接线与MAX1464评估板数据资料的说明一致。同时确认电源电压是否正确,并且加在了评估板上面适当的终端模块。
2) 评估板上的跳线设置不正确。确认跳线与MAX1464评估板数据资料的说明一致。
3) 3线或4线通信时,MAX1464KEY、跳线设置和配置设置不匹配。
4) 电脑并口有问题。
5) 评估板故障。观察评估板并确认有没有器件损坏或丢失。所有的评估板在出厂时都经过检测。
6) 评估板上的MAX1464芯片损。更换MAX1464 ASIC。
7) MAX1464KEY出现故障。
50) 问: 启动控制程序的时候,出现‘file operation’错误提示。什么原因?
答: 启动时,控制器找不到要加载的某个或多个文件。两个可能的原因为:
1) “MAX1464 Main.exe”启动所在的文件夹中的“MAX1464.ini”丢失。
2) “MAX1464.ini”文件中的所列的文件在文件夹中无法找到。
51) 问: 调节评估板上的电位器,MAX1464的输入没有发生任何变化。怎么回事?
答: 两个可能的原因如下:
1) 没有安装跳线JU11和JU12。
2) 电位器有问题。这一可能性很小。可以通过测量电位器各个端子的电阻来校验电位器的好坏。