Other Parts Discussed in Thread: RM48L952
主题中讨论的其他器件:RM48L952
您好!
我有一个定制板、它嵌入了具有上述器件型号的外部 ADC。 我想从端口4读取数据、但始终读取数据属于端口1。 请查找随附的用于读取端口4数据的 SPI 跟踪。

此致、
Cosmin Briceag
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.
Other Parts Discussed in Thread: RM48L952
您好!
我有一个定制板、它嵌入了具有上述器件型号的外部 ADC。 我想从端口4读取数据、但始终读取数据属于端口1。 请查找随附的用于读取端口4数据的 SPI 跟踪。

此致、
Cosmin Briceag
Cosmin、
该器件具有用于配置器件的可编程 SPI 协议(请参阅表8.8)。 您使用哪种模式? 在我看来、您从模式角度看待 MISO 和 MOSI 的方式不同。 这两个信号都应在一个边沿上捕获、并应在另一个边沿上转换。 在本例中、MISO 在下降沿转换、MOSI 在上升沿转换。 我认为、如果您纠正此差异、您可以解决此问题。 请参见下图:

但愿这对您有所帮助。 很抱歉耽误你的时间。
艺术
您好、Art、
在我看来(如果我错了、请纠正我)、MISO 触觉采样也在上升。 这是 DATA_CFG 寄存器的默认配置。 此外、我用0x00对其进行了覆盖(SPI 模式0)。

顺便说一下、我找不到表8.8。

在开始将器件与输入进行交互之前、我是否必须做一些初步的事情? 目前、我在启动阶段执行以下操作:
setRegisterBits(SYSTEM_STATUS_ADDRESS, SYSTEM_STATUS_BOR_MASK);
setRegisterBits(GENERAL_CFG_ADDRESS, GENERAL_CFG_CH_RST_SET_ALL_CH_AS_ANALOG_INPUTS);
writeSingleRegister(SEQUENCE_CFG_ADDRESS, SEQUENCE_CFG_SEQ_MODE_MANUAL);
writeSingleRegister(DATA_CFG_ADDRESS, 0x00);
谢谢、
此致、
余弦
Cosmin、
很 抱歉、我是指第24页的表8-8。
通常 、对于 SPI、在同一个边沿上的 MISO 和 MOSI 采样数据。 两者都在同一个边沿转换数据。 在您的情况下、MOSI 在时钟的上升沿转换。 这也是模式00的边沿、ADC (从器件)在该边沿上捕获信号。 根据延迟、建立时间和保持时间、它不能确定逻辑状态是什么。 主器件应在模式00的下降沿转换数据。 在下面、我展示了典型模式00通信 和无效模式00通信的和示例、其中主器件在上升沿转换数据。
3. 我建议您先执行寄存器写入操作,然后执行读取操作,以确认 SPI 配置正确。 我认为、一旦 SPI 通信正确、您就不会遇到输入错误(端口)的问题。

希望这对艺术有所帮助