以来 发表于 2023-10-30 10:58:41

关于aw93103芯片问题咨询

按照DG_AW9310X_Driver_Software_Design_Guide_CN_V1.0.pdf文档说明,读取chip id、软复位、读取初始化完成中断、加载初始化参数都已完成

遇到几个问题:
1.aw93103芯片上电后软复位、读取初始化完成中断、加载初始化参数都已完成,active芯片时对0xFF00和0xF008寄存器写1,但是读0xF008寄存器是0。
2.aw93103芯片正常工作时中断脚是状态是高还是低,有按键响应时是下降沿还是上升沿中断?
3.一直有中断上报,但是读0x0090寄存器是0x0、0xF080是0x10。
4.有没有0x0090、0xF080寄存器的详细说明?

小目标 发表于 2023-10-30 14:21:03

1、0xF008寄存器为只写寄存器,读取不到值。若想知晓芯片mode可以读取0x008C寄存获取,active成功读取值为0。
2、芯片正常工作下,未检测到信号量超过设定阈值时中断脚为高电平,当检测到信号量达到阈值则为低电平,此芯片的中断模式为下降沿中断响应。
3、0xF080寄存器值为0x10,说明您在配置参数中可能使能了AFE扫描中断(每次芯片扫描检测数据时都会上报中断),若只需要实现普通的按键功能可以只给0xF084写0x00000006,打开靠近远离中断即可。
4、没有专门针对这两个寄存器的详细说明,具体可以阅读芯片规格书中的寄存器列表(0xF080主要对于靠近或远离状态进行上报,0x0090上报具体靠近远离对应的通道)

以来 发表于 2023-10-30 15:38:46

以来 发表于 2023-10-30 16:18:29

还有几个问题请教一下:
1.aw93103芯片只有3个channel,给的参考默认是5个channel,aw93103芯片上按键按下和抬起的应该读哪个寄存器的哪几位?
2.aw93103芯片上3个按键的灵敏度怎么调整?

小目标 发表于 2023-10-30 17:06:36

以来 发表于 2023-10-30 16:18
还有几个问题请教一下:
1.aw93103芯片只有3个channel,给的参考默认是5个channel,aw93103芯片上按键按下 ...

1、0x0090寄存(bit29~bit24分别对应ch5~ch0的靠近远离状态),贵司当前使用的只有三个通道,只需要关注(bit26~bit24即可),当按下达到阈值时,对应通道bit位置1,抬起或不触摸时bit置0。
2、灵敏度可以通过对 控制通道阈值设置的寄存器,来进行调整,ch0:0x00B8、ch1:0x00F4、ch2:0x0130(往对应通道写入需要设置的阈值,例如:当前默认参数设置为8w,太过灵敏可以微调抬高阈值到10w,寄存器写入0x186A0)

以来 发表于 2023-11-13 12:55:43

小目标 发表于 2023-10-30 17:06
1、0x0090寄存(bit29~bit24分别对应ch5~ch0的靠近远离状态),贵司当前使用的只有三个通道,只需要关注(bi ...

aw93103有3个channel,现在只有ch0有中断上报,ch1和ch2都没有,是寄存器需要配置channel么,还是其他什么问题?

以下是ch0上报的log
Jan1 00:07:01 rv1126_rv1109 user.warn kernel: qrlog::aw93103_get_irq_stat REG_IRQSRC=0x52, REG_STAT0=0x1000000
Jan1 00:07:01 rv1126_rv1109 user.warn kernel: qrlog::ch0:1 ch1:0 ch2:0 ch3:0 ch4:0
Jan1 00:07:01 rv1126_rv1109 user.warn kernel: qrlog::aw93103_get_irq_stat REG_IRQSRC=0x54, REG_STAT0=0x0
Jan1 00:07:01 rv1126_rv1109 user.warn kernel: qrlog::ch0:0 ch1:0 ch2:0 ch3:0 ch4:0

小目标 发表于 2023-11-13 14:17:08

小目标 发表于 2023-10-30 14:21
1、0xF008寄存器为只写寄存器,读取不到值。若想知晓芯片mode可以读取0x008C寄存获取,active成功读取值为0 ...

中断不上报与以下两点有关:
1、对应通道没有使能,通道的使能需要通过0x00寄存器来配置,0x00寄存器中AOTEN和CHEN的对应通道位需要置1。
2、对应通道的信号量,未达到阈值。可以通过轮询打印diff值,看触摸对应通道时diff值的大小,来判断是否信号量小于阈值-----diff获取驱动中有现成接口aw9310x_read_diff

以来 发表于 2023-11-13 14:27:39

默认给的初始化参考代码中0x0000寄存器配置的是0x00000101,没有寄存器说明,不知道每一位是什么意思,如果要配置ch0、ch1、ch2三个channel应该怎么配置?

小目标 发表于 2023-11-13 14:35:31

以来 发表于 2023-11-13 14:27
默认给的初始化参考代码中0x0000寄存器配置的是0x00000101,没有寄存器说明,不知道每一位是什么意思,如果 ...

0x00000707
寄存器手册,awinic官网可以下载,https://www.awinic.com/cn/productDetail/AW96105ADNR

以来 发表于 2023-11-13 15:22:52

寄存器0x0000配成0x00000707,还是没有ch1和ch2的中断上报,用aw9310x_read_diff函数打印diff值,发现以下情况
1.不触摸时,3个channel的diff值变化很大,从几百到几百万
2.触摸时,ch0的diff值在1000000左右,ch1和ch2基本和不触摸时没有变化

以下是不触摸时3个channel的diff值变化的log
qrlog::aw93103_get_irq_stat REG_IRQSRC=0x10, REG_STAT0=0x0
qrlog::diff: ch0:6956, ch1:4193925, ch2:387
qrlog::ch0:0 ch1:0 ch2:0
qrlog::aw93103_get_irq_stat REG_IRQSRC=0x10, REG_STAT0=0x0
qrlog::diff: ch0:2698, ch1:4193852, ch2:4194171
qrlog::ch0:0 ch1:0 ch2:0
playIndex: 2
qrlog::aw93103_get_irq_stat REG_IRQSRC=0x10, REG_STAT0=0x0
qrlog::diff: ch0:5471, ch1:207, ch2:4194295
qrlog::ch0:0 ch1:0 ch2:0
qrlog::aw93103_get_irq_stat REG_IRQSRC=0x10, REG_STAT0=0x0
qrlog::diff: ch0:5337, ch1:1562, ch2:288
qrlog::ch0:0 ch1:0 ch2:0
playIndex: 3
qrlog::aw93103_get_irq_stat REG_IRQSRC=0x10, REG_STAT0=0x0
qrlog::diff: ch0:13701, ch1:4194211, ch2:624
qrlog::ch0:0 ch1:0 ch2:0
页: [1] 2 3
查看完整版本: 关于aw93103芯片问题咨询