MAX1441的SPI接口固件为独立的程序单元,包含初始化程序,用于设定MAX1441寄存器的初始值(包括范围、转换速率、激励频率),程序需要通过USB/JTAG口装载到MAX1441,这是唯一需要固化到闪存内的程序,供嵌入式内核运行。
CMAXQUSB+控制器板用于连接MAX1441评估板(
MAX1441EVSYS+)与计算机,可从Maxim的
网站下载驱动程序,请选择与操作系统相匹配的USB驱动程序。
图1给出了系统各部件之间的连接,可以利用另一USB口提供电源,用于主板上MAX1441的供电。用户接口程序位于PC机,用户可通过MAX1441控制台(MAX1441_Console)的命令窗口方便地操作MAX1441的通信。MAX1441与CMAXQUSB+板之间的通信速率固定为31.25kHz。
图1. 硬件系统框图
硬件安装
- 确认MAX1441评估板的JU105位于2–3。
- 将SPI接口程序Interface_Rxx装载到MAX1441闪存(使用MAX-IDE或类似工具)。
- 移除跳线JU120至JU124。
- 用电缆连接CAMXQUSB接口板和MAX1441评估板。
- 通过外部电源或USB为MAX1441评估板供电:
a.如果通过USB口供电,则需要2条USB电缆:一个用于CMAXQUSB板的供电和通信,另一个用于MAX1441供电。
b.如果通过外部电源供电,请将跳线JU4置于2–3位置,电源电压在6V至28V之间。
- 利用USB电缆连接CMAXQUSB+接口板和PC。
- 运行MAX1441_Console.exe程序。
图4给出了MAX1441EVSYS+和CMAXQUSB板之间的引脚连接。
注:进行SPI接口操作之前,必须首先去除MAX1441评估板上的跳线JU120、JU121、JU122、JU123和JU124。
MAX1441_Console控制台程序的使用
一旦SPI接口固件写入MAX1441闪存,并且建立了SPI通信的硬件连接,启动MAX1441_Console.exe程序,即可通过读、写命令修改并查询MAX1441内部寄存器的状态,表1列出了可供使用的MAX1441_Console命令。
表1. MAX1441_Console控制命令 |
Command |
Description |
Example |
Return |
Init |
System will search the USB ports with CMAXQUSB board connected |
Init |
CMD: init Found or Not Found message |
logfile on |
Will create and opens a log file "MAX1441log.txt" (If file already exists, it will be cleared) |
logfile on |
CMD: logfile on |
logfile off |
Will close the MAX1441log.txt file |
logfile off |
CMD: logfile off |
delay value |
Will cause a delay of value between each CS-cycle (value is in seconds) |
Delay 3 |
CMD: delay 3 |
w address value |
Write value to the register specified by address. Value is always in hexadecimal format |
w 3 22 |
CMD: w 3 22 |
r address #ofData #ofCS-cycles |
Read #ofData times for each #ofCS-cycles from register at address |
r 0 2 3 |
CMD: r 0 2 3 Time(s),CS,Data#,Data 0,1,1,0xXXXX 0,1,2,0xXXXX 0,1,3,0xXXXX 0,2,1,0xXXXX 0,2,2,0xXXXX 0,2,3,0xXXXX |
写入一个内部寄存器时,必须先发送写命令“w”;同样,读取一个内部寄存器时,也必须先发出读命令“r”,大小写均可。除了上表列出的指令以外,其它命令都会在MAX1441_Console窗口产生错误消息,而且不会产生任何操作。MAX1441_Console向CMAXQUSB板每发送一次读/写命令,MAX1441EVSYS板的片选(CS)线就会重复一次低电平/高电平循环,片选周期取决于所请求的数据点数。
图2. MAX1441_Console窗口
写命令
写命令格式为w Address Value,此处Address是表2给出的寄存器地址,Value是需要写入Address指定寄存器的内容。例如,命令w 5 2把“2”写入C01寄存器,Value为hex格式。
读命令
读命令格式为r Address #ofData #ofCS-cycles,此处Address是要读取的寄存器地址,#ofData为一个CS周期对Address指定寄存器的读取次数,#ofCS-cycles为CS的循环次数。
在一个CS周期中,最多可以对MAX1441进行62次的16位数据读取,每读取一次16位数据需要大约600µs的时间。每个命令最多规定1000次CS循环。参数#ofData和#ofCS-cycles适用于所有寄存器,不过,CRSLT1H、CRSLT1L、CRSLT2H和CRSLT2L等寄存器使用比较频繁。delay命令用来检测MAX1441的长期工作性能,在delay命令中规定的value值(秒数)在每次CS循环后有效。对读命令的响应格式为Time, data#, cycle#, Data,此处Time为测试开始之后的秒数,data#是对应于#ofData的计数器,cycle#是对应于#ofCS-cycle的计数器。表2列出了可以通过MAX1441_Console读/写的寄存器及对应地址,请参阅MAX1441数据资料获得各寄存器的详细定义和功能。
表2. 读/写命令的寄存器地址 |
Address |
Register Affected By Write Command |
Register(s) Content Reported in Response to Read Command |
Description |
High Byte |
Low Byte |
0 |
— |
CRSLT2H |
CRSLT1H |
Channel 2 and Channel 1 conversion results (4 LSBs and Overflow bits not reported) |
1 |
— |
CRSLT1H |
CRSLT1L |
Channel 1 conversion results |
2 |
— |
CRSLT2H |
CRSLT2L |
Channel 2 conversion results |
3 |
CRNG |
0x00 |
CRNG |
Input capacitance range |
4 |
FEL |
0x00 |
FEL |
Excitation Frequency |
5 |
FEB |
0x00 |
FEB |
Bandwidth of the spread spectrum modulation |
6 |
DSB |
0x00 |
DSB |
Standby conversion rate |
7 |
SSB2 |
0x00 |
SSB2 |
Channel 2 standby conversion rate subdivider |
8 |
CO1 |
0x00 |
CO1 |
Channel 1 capacitance offset |
9 |
CO2 |
0x00 |
CO2 |
Channel 2 capacitance offset |
10 |
AT1H |
0x00 |
AT1H |
Channel 1 absolute threshold |
11 |
AT2H |
0x00 |
AT2H |
Channel 2 absolute threshold |
12 |
RT1H |
0x00 |
RT1H |
Channel 1 rate of change threshold |
13 |
RT2H |
0x00 |
RT2H |
Channel 2 rate of change threshold |
14 |
PD |
0x00 |
PD |
Power-Down Register |
15 |
SCT |
0x00 |
SCT |
Single Conversion Register |
16 |
AFEINRST |
0x00 |
AFEINRST |
AFE Interrupt Status Register |
17 |
WU1 |
0x00 |
WU1 |
Channel 1 Wake-Up Control Register |
18 |
WU2 |
0x00 |
WU2 |
Channel 2 Wake-Up Control Register |
?? (Note 1) (Note 2) |
— |
0x?? |
0x?? |
Unrecognized address; address will be returned by the MAX1441 |
- “??”表示任何非法地址,合法地址可以是十进制(DEC)或十六进制格式(HEX)。
- 对任何非法地址(例如“ab”),命令将返回前次数值。0xab是非法地址,返回值为0xABAB。
将数据存入文件
通过接口传输的所有内容都可以保存到.txt日志文件。发送logfile on命令,将数据存入文件,发送logfile off命令终止数据保存。创建日志文件名为“MAX1441.txt”,每次发送logfile on命令时被清除。例如,图4是命令r 0 3 4的日志文件内容。要避免日志中的有用数据被覆盖,可以在发送新的logfile on命令前更改日志文件的名称。
图3. 日志文件示例
图4. MAX1441EVKIT与CMAXQUSB板之间的接口
© , Maxim Integrated Products, Inc.
|
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content,
contact us.
APP 5128:
应用笔记
5128,
AN5128,
AN 5128,
APP5128,
Appnote5128,
Appnote 5128
|
maxim_web:en/products/power/battery-management,maxim_web:en/products/sensors,maxim_web:en/products/sensors-and-sensor-interface,maxim_web:en/products/industries/automotive,maxim_web:en/products/embedded-security
maxim_web:en/products/power/battery-management,maxim_web:en/products/sensors,maxim_web:en/products/sensors-and-sensor-interface,maxim_web:en/products/industries/automotive,maxim_web:en/products/embedded-security