主题中讨论的其他器件:LMK04832、
大家好、
我使用 SPI 协议与 LMK04832器件通信。 我有三个问题。
1.如何确定我应该为器件(我的器件是 LMK04832)设置的时钟速度?
2.如何获得用于通信的恒准时钟?
3.从器件读取时、是否需要在地址之后发送虚拟数据才能读取数据?
谢谢、此致。
Madhav
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.
大家好、
我使用 SPI 协议与 LMK04832器件通信。 我有三个问题。
1.如何确定我应该为器件(我的器件是 LMK04832)设置的时钟速度?
2.如何获得用于通信的恒准时钟?
3.从器件读取时、是否需要在地址之后发送虚拟数据才能读取数据?
谢谢、此致。
Madhav
1)根据数据表(SNAS688C)第6.6节、最大 SPI 速度为5MHz。 EUSCI 仅提供一个整数预分频器(BRW)、因此根据您的 SMCLK 速度、您可能会恰好达到或不会达到5MHz。
2) 2)一个字节内的位时钟将是恒定的。 字节之间可能存在间隙、具体取决于填充 TXBUF 的速度。 对于此类非常小的交易、这一点很少见。
3)根据数据表第6.7节(图表)、您需要在地址之后发送一个虚拟字节以接收数据。 您使用3线或4线模式吗?
您获得了什么结果?
对于3线制模式、我希望您需要设置/清除字节之间 MOSI 的 PSEL 位:
lmk04832.h 头文件包含寄存器地址(前16位0xXXXX)和数据(后8位0xxx)。
主代码中的 Si 我屏蔽了这些值、并且正在传输到 lmk 器件。
MSP430 3引脚模式(SCK、MISO、MOSI)与 LMK0832 3线模式(CS、SCK、MISO + MOSI)不同。 MSP430 EUSCI 不知道 LMK0832的3线模式、但您可以使用它的3引脚模式(具有单独的(GPIO)芯片选择)。
但是、MISO 和 MOSI 连接到 LMK0832的 SDIO 这一事实是一种电气冲突、您需要在代码中加以处理。 对于读取、您需要通过 MOSI 发送两个字节、然后断开 MOSI (使用其 PSEL)、以便您可以从 MISO 读取。
根据 LMK0832数据表 [参考第8.6.2.1.1节]、您可以使用4线模式来避免电气冲突、但需要不同的接线。 您能否发布电路板原理图、或至少描述 MSP430如何连接到 LMK0832?
实际上、我在 MSP430到 LMK04832的 CS 中使用了单独的 GPIO (P4.7)。
下面是我在 MSP430和 LMK04832之间使用的接线连接。
MSP430 LMK08432
-------- --------
P5.0 (MOSI)>>引脚20 (SDIO)
P5.1 (MISO)>>引脚58 (当前 CLKIN_SEL0配置为 MISO)
P5.2 (CLK)>>引脚19 (CLK)
P4.2 (CS)>>引脚18 (CS)
使用 LMK04832中的侧4线制模式分别使用 MISO 和 MOSI 以及 MSP430FR5994中的3线制模式。
我观察到的另一件事是、当 CS 线路为低电平时、我会收到异常毛刺脉冲或非常小的脉冲。
出现干扰的原因可能是什么?如何应对?