各位工程师,你们好
我现在想用PIC单片机调试TRF7970A芯片模块,开发近距离通信项目。模块是从网上购买的,根据官方TRF7970ATB电路搭建的TRF7970A电路模块。
我目前调试的目的是,用两个模块在NFC(106kbps)模式下进行无线通信数据传输。
单片机与TRF7970A芯片的连线方式如下:
EN2接VSS,EN接RA4,IRQ接INT1,I/O_0接VSS,I/O_1接VDD,I/O_2接VDD,I/O_4接RA5,I/O_6接RC4,I/O_7接RC5,DATA_CLK接RC3,ASK/OOK接VSS。
我想采用支持VSS的SPI方式与TRF7970A芯片通信,其中SPI方式是通过单片机的IO口模拟的。我参考官方的MSP430程序进行修改,目前单片机能够与TRF7970A芯片通信,可以写直接命令,写寄存器和读取寄存器。
但是有一些问题需要帮忙,麻烦不吝赐教:
1、TRF7970A芯片刚启动后,如果第一条指令是单一写寄存器的话,好像是写不进去的。如果是连续写寄存器的话,第一条也是写不进去,而后面紧接着的都可以写进去。如果先读取寄存器,再单一写寄存器的话,是可以成功的。请问这个芯片对寄存器的写控制,是不是都是先读取,再写?
2、请问TRF7970A芯片进行无线发送TX的时候,控制顺序是不是这样的:直接指令有CRC的传送(0x11)——写寄存器TX长度字节1(0x1D)——写寄存器TX长度字节2(0x1C)——向FIFO(0x1F)传送相应数量的发送数据。我这么做的,通过示波器监测TX_OUT引脚电压信号,可以看到有震荡波出来,而且其他IO口信号也会受到震荡干扰。请问按照上述方式,是不是正确发送了数据?
3、我有两块TRF7970A芯片模块,一块按照2的方式不停发送数据,另一块想接受数据。但是输入了直接指令启用接收器(0x17)后,没有中断出来,用示波器监测RX_IN1也没有震荡信号,即使两块模块的天线靠得很近。后面使用直接指令测试外部RF,测量RSSI(0x0F)为0x40。
我又进行试验,如果输入直接指令执行RF冲突避免(0x04),可以看出RX_IN1引脚有震荡,IRQ响应,但是读取IRQ寄存器(0x0C)值为0x04。如果我断开发射模块的电源,重新在接收模块里输入直接指令执行RF冲突避免(0x04),RX_IN1引脚没有震荡,IRQ响应,但是读取IRQ寄存器(0x0C)值为0x04。
如何才能正确的接收发射模块发射的数据,请问正确的接收模块接收数据的流程是怎么样的?
以上是我目前碰到的问题,主要就是不知道怎么接收无线数据。
Nutcracker:
建议把问题拆分,一个一个的问比较清楚。
Wang Rui:
回复 Nutcracker:
我首先想问一下,TRF7970A接收读取无线数据,是什么样的流程?谢谢
kqian0327:
你好,
看到你的问题,其实比较多,也比较杂。
我有一个建议,TRF7970A工作流程,寄存器操作流程参考TRF7970A中文数据手册,很详细,也说的很明白。
另外,回答你的问题:
第一:TRF7970A模块读写是没有保护机制,没有要求写之前必须先读。
第二:控制流程见中文数据手册,TX发送流程根据卡片类型,或者P2P通讯类型,有些需要CRC,有些不需要CRC,其他理解是ok的
第三:请问你利用的NFC那种模式进行开发的?CE还是P2P?
Wang Rui:
回复 kqian0327:
非常感谢你的回复!
我是参考TRF7970A中文数据手册来设置。TX发送流程很详细,我根据手册的流程已经可以发送数据,采用CRC方式发送的。
我现在调试出现的问题是,数据手册没有详细说明接收数据的基本流程,我是根据理解,来设置的:
设置寄存器0x00的B5位置1,寄存器0x01的B5,B4,B3,B0置1(设置为NFC初始方,有源,106kps),寄存器0x09设置为0x21(OKK100%),寄存器0x0A设置为0x00(带通为240k~1.4MHz)。
然后用一块模块循环发送数据,另外一块模块就接收数据(程序经过设置寄存器后,就进入循环等待)。
出现的现象,接收数据模块RF场没有任何变化,也不进入中断。如果接收模块执行直接命令(RF冲突避免),模块就会产生中断,但是IRQ寄存器只是B5置1(RF场变化),别的都是0。也没有读出接收的数据。所以不知道这样的接收流程是不是对的,是否需要执行怎么样的接收指令。
我想利用NFC做P2P的开发,两个模块进行数据传输。
kqian0327:
回复 Wang Rui:
你好,
我还是表示怀疑你的初始化过程!
因为我见过太多接收到冲突的原因80%以上都是初始化问题。
另外附件是TI新出来的点对点通讯文章,应该对你有帮助,一步一步按文章来!
Jeanne Yi:
回复 Wang Rui:
您好!
关于P2P通信,TI有成熟的参考设计,请查看http://www.ti.com/tool/TIDM-NFC-P2P
谢谢!
Wang Rui:
回复 kqian0327:
好的,明白你 的意思,我重新在细细斟酌初始化的过程,重新调整设置参数。文章我慢慢看看。谢谢!
Wang Rui:
回复 Jeanne Yi:
我看到了,我把资料都看一下,学习学习。谢谢提供的参考建议。
kqian0327:
回复 Wang Rui:
你好,
如果我有帮到你解决问题。
请结掉该贴,谢谢:)
有问题欢迎继续发新帖~~