st25dv GPO中断问题

当LPD为高电平时在邮箱中发布消息时,GPO会中断

有两件事需要考虑:GPO配置和邮箱行为。
首先,关于GPO配置。
ST25DV有一个用于GPO的静态配置寄存器,称为“GPO”(参见数据表的表18)和动态寄存器“GPO_CTRL_Dyn”(参见数据表的表20)。
静态寄存器GPO是必须用于配置要在GPO引脚上看到哪个中断,以及在引导时(及之后)启用/禁用GPO引脚输出的寄存器。
动态寄存器GPO_CTRL_Dyn仅允许动态启用或禁用GPO引脚上的输出。此外,只能写入GPO_CTRL_Dyn寄存器的第7位,并且只能从I2C写入(数据表的表20中存在错误,RF无法对该寄存器进行写访问,如表9所示)。 0-6位只能从I2C和RF读取,只是GPO寄存器位0到6值的副本。
与GPO寄存器相反,GPO_CTRL_Dyn寄存器也是易失性寄存器。这意味着它的值在标签的每次断电时复位(意味着没有VCC(或LPD高电平)且没有RF场)。
总而言之,如果要配置GPO中断,则必须使用GPO寄存器。如果在VCC打开且LPD为低电平(标签由VCC供电)期间,I2C主机要暂时禁用中断,则可以使用GPO_CTRL_Dyn寄存器(将bit7设置为0)。
二,关于邮箱:
有一个重要的事情需要了解邮箱:必须存在VCC电源才能访问邮箱(数据表的图11中显示了这一点)。
如果LPD设置为高,则表示ST25DV没有电源,因此禁用了邮箱。在这种情况下,RF阅读器无法读取或写入邮箱内的数据。
所以正确的做法是:
- 通过在MB寄存器中设置MB_MODE = 1来允许快速转移模式。
- 在GPO寄存器中启用FIELD_CHANGE_EN和RF_PUT_MSG_EN中断(加上GPO_EN = 1)=> GPO 0x98在全局=
- 通过将LPD引脚设置为高电平并为VDCG引脚供电,将ST25DV设置为掉电模式。
- 当RF阅读器为标签提供RF场时,将触发FIELD_CHANGE中断并唤醒I2C主机。
- 然后,I2C主机应将LPD引脚连接至低电平,以便通过VCC为ST25DV供电。
- RF读卡器可以通过在开始写入邮箱之前轮询EH_CTRL_Dyn寄存器来检查ST25DV是否通过VCC供电。位3 VCC_ON将指示ST25DV是否通过VCC供电。
- 然后,RF阅读器可以使用MB_CTRL_Dyn寄存器位0启用邮箱,并开始写入邮箱。
- 当RF阅读器完成将信息写入邮箱时,将自动触发RF_PUT_MSG中断。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值