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.
工具/软件:Code Composer Studio
您好!
我尝试使用控制套件中的 PM_BisC_System 测试项目来读取26位编码器、然后使用 SPI-A 将数据从一个 Launchpad 传输到另一个 LaunchPad 数据确实可以从一个电路板正确地传输到另一个电路板、但当第二个 Launchpad 接收的数据发送到 DAC 引脚以在示波器上查看输出时、很明显、传输的数据通常从之前传输的整数下降到零。 如果--而不是使用 BissC 项目--我使用控制套件中的 SPI_loopback_cpu01项目(唯一修改的是禁用环回)以线性方式发送整数0-65535,则仍然会出现此数据丢失问题。 如果我通过将 SPIBRR 从127更改为30来提高传输波特率、这种数据丢失现象就会消失。 因此、从逻辑上讲、我回到了连接编码器的原始方案、并尝试提高 SPI-A 上的波特率以摆脱数据丢失。 但是、如果我将 SPIBRR 减小到79值以下、PM_BissC_SystemTest 代码将停止报告位置数据。
编码器/launch1和 launch1/launch2之间的 SPI-B 和 SPI-A 端口是否分别在其波特率太接近时(即、如果从编码器接收的波特率接近发射到 launch2的波特率)相互干扰? 我尝试更改 launch2上的接收波特率、但这没有太大影响。 此外、SPI-A 和 SPI-B 的 CLK 极性是相反的、但如果我使它们成为唯一的垃圾、则传输非传感器数据、并导致大量数据丢失。
如何通过 SPI-B 读取编码器、以及如何以足够的数据传输速率通过 SPI-A 将数据传输到另一个焊盘、从而避免这些数据丢失? 我附加了一张示波器屏幕图片、其中显示了数据下降情况。
感谢您提供的任何帮助、
Tyler Ambrico