大家好、我想为项目使用"MSP432P401R LaunchPad"。 MSP432P401R LaunchPad 能否与两个 SPI 从器件交换数据?
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.
大家好、我想为项目使用"MSP432P401R LaunchPad"。 MSP432P401R LaunchPad 能否与两个 SPI 从器件交换数据?
你好,黄!
由于 SPI 是一条总线、因此您可以将任意数量的器件实际连接到单个 USCI 模块。 每个从器件通常都有自己的芯片选择、因此只要您可以为每个器件提供一个、它们都可以共享相同的 MISO、MOSI 和 CLK 线路。 虽然从器件数量的增加会要求信号具有更高的驱动强度、但我怀疑您是否打算使用几十个从器件、对吧?
此外、MSP432P401R 具有八个独立的 USCI 模块、它们均可执行 SPI、因此您可以连接八个甚至不需要共享模块的不同从器件。 但 LaunchPad 可能没有全部路由到接头-请仔细检查电路板的引脚排列。
Dennis
感谢您的帮助、Dennis。 是的、Dennis 认为 BRW 寄存器(拆分为 br0和 BR1字节)是分频器值是对的。 有一个 BRW 宏定义 、因此不需要拆分为2个单独的值 BR1/br0。 UCSSEL 设置源时钟、然后位速率是源(BRCLK)除以 BRW 字。 数据表的第23.3.6节对此进行了说明。
Luke、
我不确定这是否是最佳方法;我确信这取决于您的特定系统。 似乎需要了解很多变量、是否会足够快地更改 SPI 的寄存器、以便以合理的方式捕获您正在为系统寻找的数据。
一些想法。
如果14位分辨率足够、您可以考虑使用内置 ADC 外设。 (我猜您已经考虑过这一点、需要更多解决方案?)
2.您可以测试此处提到的方法,查看您的结果,并通过测试确定它是否适用于您的应用程序。
我的建议:在 MSP432中使用附加的 SPI 外设。 每个配置一个。 有8个可用(eUSCI_A 上4个、eUSCI_B 上4个)。 如果需要、端口映射可增加灵活性。 如果系统中只有2个从器件、则每个 SPI 模块可专用于单个器件、无需在4引脚模式下运行、因为您不需要 CS。 现在您有 CLK、MISO、MOSI、CS1、CS2 (5引脚)。 这样、您只需要 CLK1、MISO1、MOSI1、CLK2、MISO2 (5引脚)。 您说过 PGA 没有 MOSI2、因此总引脚数不受影响。
请告诉我您的想法、如果这似乎是适合您的途径。 谢谢。