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.

[参考译文] MSP430FR5994:具有共享SPI miso/mosi引脚的操纵杆传感器

Guru**** 2536150 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/629278/msp430fr5994-joystick-sensor-with-shared-spi-miso-mosi-pin

部件号:MSP430FR5994

在过去的几天里,我一直在尝试了解如何通过 计算机操纵杆将MSP430与MLX9.0333万霍尔效应传感器连接起来。

MLX9.0333万是一种有趣的芯片,因为主寄存器已经通过Melexis (PTC-04)创建的专有编程器进行编程。 从MCU的角度来看,他们暴露了一种“3引脚SPI模式” ,它由CS,CLK和共享Miso-MOSI组成。

根据数据表,单个x-y-z 8字节帧的通信包括以下内容:

 

 

在为此MSP430项目拆卸操纵杆之前,我确保连接一些迹线并捕获操纵杆在逻辑分析仪上的移动。 以下是单帧:

现在解决问题。 我想把我的头缠绕在他们所说的共享miso-mosi针脚上。 诚然,我在论坛上搜索过,确实找到了几个帖子,但我仍然不完全理解这个概念。 根据捕获结果,CS变为低电平,操纵杆发送1字节(0xFF),接收7字节返回(由x-y-z-CRC组成),然后CS变为高电平。

从软件的角度来看,如果我只写了1个字节(0xFF),我会很困惑如何得到7个字节。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Burt,

    通常对于SPI,主中继器(MSP430)必须从MOSI中发送数据,以便为从中继器(MLX9.0333万)计时。 当只需要从从属设备发送数据时,通常使用主设备上的“虚拟”字节来完成此操作。 可以在从从属设备接收数据(也称为全双工传输)时将数据发送到从属设备,这就是为什么MOSI和Miso线路通常是分开的。 在这种情况下,您的终端设备仅支持半双工通信,因此,它们通过组合MOSI和Miso来减少引脚数。 实际上,您必须将这些线路绑定在一起(MSP430的推出)。 这可以通过二极管实现,但足够大的电阻器也能实现(~10k)。 软件方面,您必须不断从MSP430发送虚拟字节,以便为附加数据计时。根据您的物理连接,这应该是0xFF或0x00。 基本上,您不希望虚拟字节干扰或覆盖接收字节。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 我今晚就来这里一试。