一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

MAX1441双通道接近检测与触摸屏传感器的SPI接口设计指南

来源:analog 发布时间:2023-08-23

摘要: 本用户手册解释了MAX1441接近和触摸传感器在运行时如何方便地与之通信。

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. 硬件系统框图

硬件安装

  1. 确认MAX1441评估板的JU105位于2-3。

  2. 将SPI接口程序Interface_Rxx装载到MAX1441闪存(使用MAX-IDE或类似工具)。

  3. 移除跳线JU120至JU124。

  4. 用电缆连接CAMXQUSB接口板和MAX1441评估板。

  5. 通过外部电源或USB为MAX1441评估板供电:

    1. a.如果通过USB口供电,则需要2条USB电缆:一个用于CMAXQUSB板的供电和通信,另一个用于MAX1441供电。
      b.如果通过外部电源供电,请将跳线JU4置于2-3位置,电源电压在6V至28V之间。
    2. 利用USB电缆连接CMAXQUSB+接口板和PC。

    3. 运行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控制命令
CommandDescriptionExampleReturn
InitSystem will search the USB ports with CMAXQUSB board connectedInitCMD: init
Found or Not Found message
logfile onWill create and opens a log file "MAX1441log.txt"
(If file already exists, it will be cleared)
logfile onCMD: logfile on
logfile offWill close the MAX1441log.txt filelogfile offCMD: logfile off
delay valueWill cause a delay ofvaluebetween each CS-cycle (valueis in seconds)Delay 3CMD: delay 3
w address valueWritevalueto the register specified byaddress.Valueis always in hexadecimal formatw 3 22CMD: w 3 22
r address #ofData #ofCS-cyclesRead#ofDatatimes for each#ofCS-cyclesfrom register ataddressr 0 2 3CMD: 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. 读/写命令的寄存器地址
AddressRegister Affected By Write CommandRegister(s) Content Reported in Response to Read CommandDescription
High ByteLow Byte
0CRSLT2HCRSLT1HChannel 2 and Channel 1 conversion results (4 LSBs and Overflow bits not reported)
1CRSLT1HCRSLT1LChannel 1 conversion results
2CRSLT2HCRSLT2LChannel 2 conversion results
3CRNG0x00CRNGInput capacitance range
4FEL0x00FELExcitation Frequency
5FEB0x00FEBBandwidth of the   spread spectrum   modulation
6DSB0x00DSBStandby conversion rate
7SSB20x00SSB2Channel 2 standby conversion rate subdivider
8CO10x00CO1Channel 1 capacitance offset
9CO20x00CO2Channel 2 capacitance offset
10AT1H0x00AT1HChannel 1 absolute threshold
11AT2H0x00AT2HChannel 2 absolute threshold
12RT1H0x00RT1HChannel 1 rate of change threshold
13RT2H0x00RT2HChannel 2 rate of change threshold
14PD0x00PDPower-Down Register
15SCT0x00SCTSingle Conversion Register
16AFEINRST0x00AFEINRSTAFE Interrupt Status Register
17WU10x00WU1Channel 1 Wake-Up Control Register
18WU20x00WU2Channel 2 Wake-Up Control Register
??
(Note 1)
(Note 2)
0x??0x??Unrecognized address; address will be returned by the MAX1441
  1. “??”表示任何非法地址,合法地址可以是十进制(DEC)或十六进制格式(HEX)。

  2. 对任何非法地址(例如“ab”),命令将返回前次数值。0xab是非法地址,返回值为0xABAB。

将数据存入文件

通过接口传输的所有内容都可以保存到.txt日志文件。发送logfile on命令,将数据存入文件,发送logfile off命令终止数据保存。创建日志文件名为“MAX1441.txt”,每次发送logfile on命令时被清除。例如,图4是命令r 0 3 4的日志文件内容。要避免日志中的有用数据被覆盖,可以在发送新的logfile on命令前更改日志文件的名称。

图3. 日志文件示例

图4. MAX1441EVKIT与CMAXQUSB板之间的接口
声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: