如题,问题x2。
现在进行一个智能卡项目的协议开发(数字电路部分,ISO15693),主要是想进入Direct Mode 1,将transmit信号中的数字部分分离出来,配合fpga来做测试;
【1】trf7970a如何进入Direct Mode 1(碎碎念版):
开发板为TRF7970A EVM,源代码从TI官网下载,参照着User guide进行了一定程度的修改,主要配置步骤如下(照搬datasheet内容,实际上也这么做了).
1)Configure TRF7970A EVM with SPI with SS;
2)Enable TX/RX (Write register 0x00 with 0x21);
3)Select Direct Mode 1 & configure operation protocol of 15693 (Write register 0x01 with 0x43);
4)Clear IRQ status register (Write register 0xc0 with 0x00);
5)Write register 0x00 with 0x61 (+8 dummy clock, no SPI stop condition);
第五步在datasheet上有具体要求:+8个dummy clock,SPI接口不能发送stop condition,否则会强制退出Direct Mode;
以上为配置过程,按理说,trf7970aj进入了Direct Mode 1,MOD pin上在未发送数据的情况下仅有一个低电平信号,但实际上MOD pin上还是可以看到13.56MHz的载波,尽管Vpp减小到500mv左右了,故怀疑这一步并未配置正确。
【2】在Direct Mode 1下如何从MOD端发送数据(碎碎念版):
Direct Mode下mcu不能向trf7970a的fifo里写数据 ,意思(似乎)是:不能把command预写到fifo里,再trigger一下整条发出去。所以需要直接对MOD pin进行操作,问题也就卡在这儿了。
还望有过开发经验的仙贝工程师&万能的TI工程师予以一定程度上的解答,致谢~
附上在国外TI社区找到的一些关于如何配置Direct Mode 1 的资料,SPI写的动作已经通过logic analyzer检查过,基本保持一致(包括上文提及的一些+8 dummy clock);
以上。