我们也遇到了这个芯片的移位位问题。 对 R9的任何写入都会改变读回引脚的时序。 是的、我们选中了所有 readback _LE 等 在我们写入 R9之前、一切都很好。
我们通过从导出的十六进制值文件(从 TICS Pro)手动删除对 R9的写入来避免此问题。 如果 TICS Pro 不会在其导出文件中输出该寄存器或尝试写入该寄存器、这会很好、因此我们不必每次手动删除它。
此外、如果有人知道如何将其恢复到工作状态、那也会很好。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们也遇到了这个芯片的移位位问题。 对 R9的任何写入都会改变读回引脚的时序。 是的、我们选中了所有 readback _LE 等 在我们写入 R9之前、一切都很好。
我们通过从导出的十六进制值文件(从 TICS Pro)手动删除对 R9的写入来避免此问题。 如果 TICS Pro 不会在其导出文件中输出该寄存器或尝试写入该寄存器、这会很好、因此我们不必每次手动删除它。
此外、如果有人知道如何将其恢复到工作状态、那也会很好。
您好 Richard、
只需仔细检查 R9 0x5555 5549的值(十六进制)吗? 这应该是该寄存器的编程值、以便器件正常运行(TICS Pro 中的自动配置应该会产生该值)。 不确定这是否是"检查 readback _LE 等"的意思、但您是否浏览了数据表中的"8.5.3 Readback (8.5.3回读)"部分。 在该部分中、它将回顾正确设置回读以及一个示例。 您可以在数据表的第51页中找到它。
关于该寄存器的具体细节、我将在明天再向大家介绍。
祝你好运、
Andrea
启动时、R9的回读值为0x5555 5540 (因为您只读取前27位)。 如果我向它写入0x5555 5549、然后将其读回、它将更改为0x2AAAAAA0。 READBACK_LE 为"0"。
以下是写入前的波形(读取 R9时):
以下是写入后的波形(读取 R9时):
这些位看起来会发生移位。 我通过 CPOL=0和 CPHA=0的 SPI 接口来驱动这个。 我的理解是、这些设置应与 uWire (在下降沿发送数据、在上升沿发送样本)匹配。 在8.5.3.1要点3中、显示"Data is valid on Falling Edge of CLK双线 制数据"。 uWire 规格是否不正确? 这不会解释写入 R9后位的移位、但这意味着移位后数据是正确的(如果在下降沿采样、则为0x5555 5540)。
我想我找到了一个解决方案。 我相信这个芯片期望在下降沿对它的回读数据进行采样、但是我必须在 CPOL=0 CPHA=0运行 SPI 以使写入工作(它在上升沿进行采样)。 权变措施是将输出位上移1 (使 MSB 下降)。 如果我这么做、R9寄存器会显示为0xAAAAAAA_AA80 (回读)、但其他寄存器的读操作正常。 然后、我只需将0x555_5549写入 R9、它会移动其位、以便随后读取0x555_5540。 后续写入 R9会保持相同的移位。 这可能会产生时序问题、因为我在下降沿之后的上升沿进行采样、但它似乎起作用。