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.

[参考译文] 编译器/MSP430F6779:MSP430F6779上具有 CS 的 SPI 从器件,在哪里是 UCxSTE?

Guru**** 2027820 points
Other Parts Discussed in Thread: MSP430F6779, MSP430F5529, MSP430F6779A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/726406/compiler-msp430f6779-spi-slave-with-cs-on-the-msp430f6779-where-is-ucxste

器件型号:MSP430F6779
主题中讨论的其他器件: MSP430F5529

工具/软件:TI C/C++编译器

您好!

我对 MSP430F6779上的 SPI 有疑问。 我想在4线制模式下将 MSP430F6779用作 SPI 从器件。 这意味着 MSP 必须观察低有源芯片选择(CS)线路、并且仅当它为低电平时(这意味着 MSP430由 SPI 总线上的主器件处理)、才允许它在其 MISO (在 TI 中称为 SOMI)上移出数据 具有接收到的移位时钟信号的线路-否则 SOMI 必须为高阻抗输入。 这是一个典型的具有 CS 线路的 SPI 从器件设置、没什么特别的。

我已经在 MSP430F5529 LaunchPad 上实现了这一点(SPI 处于4线制模式、CS 和2通道 DMA 用于发送/接收一组字节)、并且其工作正常。 在这里、我在 SPI 模式下使用 USCI_B0接口、将 SIMO、SOMI、CLK 和 UCB0_STE 引脚用作 ChipSelect。  

现在、我确实想将该解决方案传输到 MSP430F6779。 但没有 UCxSTE 引脚??? 或者我是否错过了什么? 我在数据表中找不到该引脚作为替代功能。 哪些引脚可在 F6779中用作从 CS 引脚(UCxSTE 引脚)? (请记住:我想将 F6779用作 SPI 从设备。 SPI 主器件可以使用任何 GPIO 作为 CS 引脚来选择从器件。 SPI 从器件无法执行此操作、因为如果未选中、硬件必须关闭 SOMI 线)   

背景:我正在使用 EVM MSP430F6779三相能量计、我希望通过 SPI 连接到外部主器件。

此致

 Patrick

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

    尊敬的 Patrick:

    感谢您的详细博文! 我想我已经弄清楚了您的问题的答案。 基本上、MSP430F6779 (虽然对于生产、我们建议改进的引脚对引脚兼容 MSP430F6779A)具有端口映射功能、允许将某些功能映射到各种端口引脚。 有关 STE 引脚功能、请参阅数据表中的表15、特别是值4、8、12、16、20、 和24。 请注意、对于右侧的输入/输出列、说明方向由 USCI 模块控制。 因此、这应该消除了您对将 MSP430F6779用作 SPI 从器件的担忧!

    Jens-Michael Gross 在以下帖子中对该功能进行了一些很好的讨论。

    MSP430F6779 4线 SPI STE 引脚?

    此致、

    James

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

    您好 James、

    感谢您的回答。  现在、我发现了端口映射函数、研究了数据表、driverlib 和示例。

    因此、我编写了必要代码的草稿-请参阅下面的 SNI4。

    代码尚未验证、因此对于所有开发人员而言、请勿将其用作温度。 如果经过测试和测试、我会回来的。

    还有几个问题:

    1) 1)引脚外设功能的激活通过进行

    // P2.1 - PM_UCB1STE
    // P2.5 - PM_UCB.S.
    // P2.6 - PM_UCB0SDA
    GPIO_setPeripheralModulesFunctionOutputPin (
               GPIO_PORT_P2、
               GPIO_PIN1 + GPIO_PIN5 + GPIO_PIN6);

    对于已激活的引脚、我必须在端口映射中选择所需的功能。

    端口映射功能是按端口而不是按引脚配置的。 这意味着、即使只想配置一个引脚、也必须为整个端口制定规格。 为了选择引脚的外设功能、我必须定义端口的映射

     //端口 P2:

    const uint8_t port_mapping []={
       PM_NONE、        // P2.0
       PM_UCB1STE、 // P2.1 RF_CS 用作 UCB1的 SPI CS 引脚
       PM_NONE、        // P2.2 RF_GPIO2
       PM_NONE、        // P2.3 RF_GPIO1
       PM_NONE、        // P2.4 LED6
       PM_UCB.S.、 // P2.5 SCL
       PM_UCB0SDA、 // P2.6 SDA
       PM_NONE、        // P2.7 LED5
    };

    并使用激活它

    //端口映射
    //配置端口-传递 port_mapping 数组,start @ P2MAP01,初始化
    //单个端口,不允许端口映射的运行时重新配置

    PMAP_initPortsParam initPortsParam ={0};
      initPortsParam.portMapping = port_mapping;
      initPortsParam.pxMAPy =(uint8_t *)&P2MAP01;
      initPortsParam.numberOfPorts = 1;
      initPortsParam.portMapReconfigure= PMAP_disable_reconfiguration;
    PMAP_initPorts (PMAP_CTRL_base、&initPortsParam);

    是这样吗? 由于外设函数未被激活、PM_NONE 的定义无论如何会被忽略。

    问题:如果为一个引脚激活了外设功能并且没有给出端口映射信息、那么默认外设功能是否有效?
    示例:使用激活端口4中的外设功能

     GPIO_setPeripheralModulesFunctionOutputPin (
                  GPIO_PORT_P4、
                  GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6);
    功能
    // SPI:UCB1
      // P4.4 PM_UCB1_SOMI
      // P4.5 PM_UCB1_SIMO
      // P4.6 PM_UCB1_CLK
    即使没有端口映射、也是如此、因为这是该引脚的默认外设配置。 还是必须如上所述定义显式端口映射?

    2) 2)有关 EVM 三相电能 MSP430F6779的问题

    我要用于访问 SPI 接口的连接器 RF2 (RF1)。 这些是间距较小(1.2mm?)的公头

    您是否有女性同行的器件型号?

    谢谢、致以诚挚的问候

     Patrick

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

    尊敬的 Patrick:

    您是否能够使端口映射正常工作? 关于 RF1和 RF2接头以及相关连接、您可以在 《智能电表设计指南》中的实现 Wi-Fi 连接中了解有关它们的更多信息。 但是、其 BOM 表不提供器件型号、只是"连接器插头20POS 1.27mm GLD SMD"。 但是、我认为我在启用 Wi-Fi 的1级2级电动汽车服务设备设计指南中的图20中找到了器件型号

    Samtec SFM-110-02-S-D-A

    此致、

    James