尊敬的所有人:
我的公司实现了一个集成 了 提供3.3V 电源的 tf7970a 的电路板。 我想通过无线微控制器与该器件通信。软件初始化后、我可以读取所有器件寄存器、如第53页的数据表所示。 在我发送库存命令后、仅为8个字节。
发送命令后,在 SS 线路变为高电平的1.6ms 后,IRQ 发生。 IRQ 状态寄存器读取产生0x80、这表示 TX 完成、如数据表第41页所示。 然后,如果标签在现场并且 读取器未检测到错误 ,则会触发第二个中断,并在第一个 IRQ 后4ms 发生。 当检测到标签但未检测到任何内容时、我应该读取第二个中断0x40和0x3E。
这是初始设置:
DEF NFC_init ():
testcommand=[0]
testcommand_=[0、0]
DirectCommand (SOFT_INIT)
testcommand[0]=空闲
DirectCommand (空闲)
time.sleep_ms (2)
DirectCommand (复位)
time.sleep_ms (2)
testcommand_[0]= NFC_target_level
testcommand_[1]= 0x07
WriteSingle (2、testcommand_)
ReadSingle (1、testcommand_)
testcommand_=[0、0]
testcommand_[0]=调制器控制
testcommand_[1]= 0x08 #ASK 100%、无 SYS_CLK 输出、0x01
6.78MHz、OOK 100%、0x81
WriteSingle (len (testcommand_)、testcommand_)
testcommand[0]=调制器_control
ReadSingle (1、testcommand_)
testcommand_[0]= reguler_control
testcommand_[1]= 0x06
WriteSingle (2、testcommand_)
ReadSingle (1、testcommand_)
TurnRFON=[0、0]
tTurnRFON[0]= CHIP_STATUS_CONTROL
TurnRFON [1]=0x20---- >3.3V 是否正确?
WriteSingle (len (TurnRFON)、TurnRFON)
读数单(1、转盘旋转)
WriteSingle (len (testcommand_)、testcommand_)
testcommand_[0]= ISO_control
testcommand_[1]= 0x02 # ISO15693
WriteSingle (len (testcommand_)、testcommand_)
ReadSingle (1、testcommand_)
初始设置是否正确?(调制器控制、ISO 控制、寄存器控制、芯片状态控制、NFC_TARGET_LEVEL 是否正确?)
我正在使用13.56MHz 的振荡器晶振、它决定了13.56MHz 的时钟频率、因此我将调制器控制寄存器0x08置位。 正确吗?
在数据表的第70页中、有一个寄存器 NFC 目标方检测电平寄存器(0x18) I 放置在0x07上。 正确吗? 我输入 n 0x07是因为 RF 场为170mV (第49页)、对吗?
但是、在该寄存器中、我可以设置 NFCID 大小。 NFCID 是 UID? 因为 NFCID 大小可以是4、7、10字节、但 UID 是8字节。 为什么?
提前感谢