2个职位/0个新职位
最后一篇文章
巴里莱因霍尔德
离线
最后一次见到:5年11个月前
已加入:2014-07-22 21:15
SPI FIFO行为

我很难从SPI slave将有意义的值返回给master。

这个问题的一部分是试图理解有关SPI控制寄存器的可用文档,因为它涉及SPI\u INT\u位和SPI FIFO之间的交互。

我正在使用SPI主机,并且已将SPI\ U FIFO\ U模式配置为0x0(双向模式)。

带登记册的文本规定:
0:使用TX-FIFO和RX-FIFO(双向模式)。
1: 使用RX-FIFO(只读模式)TX-FIFO单深度,无流量控制
2: 使用TX-FIFO(只写模式),RX-FIFO单深度,无流量控制
3: 未使用FIFO(向后兼容模式)

我的问题涉及到当使用FIFO时写入SPI\u TX\u RX\u REG时到达的数据会发生什么。

如果在从机上,我在SPI\u TXH为0的基础上多次写入l SPI\u TX\u RX\u REG(假设为4),然后我通过在主机上写入SPI\u TX\u RX\u REG来执行事务,然后写入SPI\u CLEAR\u INT\u REG:

1我能得到从机写的第一个数据项吗?
2SPI\u INT\u位是否会被清除?

我可以通过这个循环读取额外的数据项吗?

或者FIFO甚至适用于读取主机上的数据?

PY\u对话框
离线
最后一次见到:2年7个月前
工作人员
已加入:2014-08-25 09:59
你好,巴里莱因霍德,

你好,巴里莱因霍德,

如果您将SPI\u FIFO\u MODE设置为0,您将同时使用RX和TX FIFO。因此,当您将数据写入从TX fifo时,在主机具读取后,数据将在主机具侧接收。由于接收到数据,SPI\u INT\u位将在主机端设置。如果主机执行更多的读取操作,则从TX fifo中的数据将在主机侧顺序读取。

当做!
PY公司