摘要:MAX1441为双通道接近检测与触摸屏传感器,本文介绍了在产品开发过程中如何使用其接口固件,以简化MAX1441的性能评估。本文假设用户已熟悉MAX1441及其评估系统MAX1441EVSYS,了解MAX-IDE集成开发环境或类似工具,能够把应用固件下载到MAX1441EVSYS闪存。关于接近检测与触摸屏传感器的更多信息和详细规范,请参考MAX1441数据资料;关于MAX1441EVSYS的使用,以及如何利用MAX-IDE将程序下载到MAX1441闪存,请参考MAX1441EVSYS数据资料。
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 ataddress | 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板之间的接口
上一篇:UCPS协议与HDMI的验证系统设计与实现
下一篇:RS485防雷保护中的接地问题分析
推荐阅读最新更新时间:2023-10-12 20:40
- 英飞凌推出OptiMOS™ Linear FET 2 MOSFET, 赋能先进的热插拔技术和电池保护功能
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- ROHM开发出适合高分辨率音源播放的MUS-IC™系列第2代音频DAC芯片
- ADALM2000实验:变压器耦合放大器
- 高信噪比MEMS麦克风驱动人工智能交互
- 在发送信号链设计中使用差分转单端射频放大器的优势
- 安森美CEO亮相慕尼黑Electronica展,推出Treo平台
- 安森美推出业界领先的模拟和混合信号平台
- 贸泽开售用于快速开发精密数据采集系统的 Analog Devices ADAQ7767-1 μModule DAQ解决方案