Thread 中讨论的其他器件:AWR2243
工具与软件:
专家、您好!
我将尝试从 am273x + awr2243获取与 SPI MBISPI 以太网相同的点云数据。 但它对我不起作用。
您能否提供一些指导或举个例子?
此致、
DM
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.
工具与软件:
专家、您好!
我将尝试从 am273x + awr2243获取与 SPI MBISPI 以太网相同的点云数据。 但它对我不起作用。
您能否提供一些指导或举个例子?
此致、
DM
尊敬的 DM:
我们还没有为 AM273x 实现通过 MBISPI 实现的以太网。 我认为将来没有增加这一功能的计划。
确实如此
MBISPI 示例(mcu_plus_sdk_am273x_09_02_00_52\examples\drivers\mibspi)和
LWIP 示例(mcu_plus_sdk_am273x_09_02_00_52\examples\networking\lwip)
您可以将这些示例整合在一起、 自己就可以利用 MBISPI 实现以太网。
此致、
Ming
尊敬的 Ming:
非常感谢!
但我想使用 AM273x 的 SPI 通过 USB 将雷达数据传输到 PI。
我使用了 MBISPI 示例(mcu_plus_sdk_am273x_09_02_00_52\examples\drivers\mibspi)。 我只能测试这一点、但当我实现这一点以获取与以太网示例相同的数据时、效果不佳。
能否分享一些实现这一点的示例?
我无法使用以太网、因为我想让系统安装在小型机器人上。
此致、
DM
尊敬的 DM:
MCU_ SDK 仅提供了 MBISPI 环回和仅主模式示例。 回送模式是使用 MIBSPI_enableLoopback ()设置的。
要使 MBISPI 正常工作、您需要使用 MIBSPI_disableLoopback ()禁用回送模式。
当使用 MBISPI 接口交换数据时、AM273x SOC 发挥着什么作用? 主器件还是从器件? 4线或3线设置?
您能与我们分享您的代码和硬件设置吗?
此致、
Ming
Ming、您好!
我修改了环回示例:
#include
#include
#include
#include
#include
#include /*表示 rand()*/
#include
#include "ti_drivers_config.h"
#include "ti_drivers_open_close.h"
#include "ti_board_open_close.h"
/* MIBSPI 缓冲区大小*/
#define APP_MIBSPI_MSGSIZE 64/*足够大的可读字符串大小*/
/*全局缓冲区*/
uint8_t gMibspiTxBuffer[APP_MIBSPI_MSGSIZE];/* SPI 发送缓冲区*/
/*通过 FTDI FT4232H 通过 SPI 向 PC 发送 x、y、时间戳数据的函数*/
void mibspi_loopback_icount_main (void * args)
{
int32_t transferOK;
MIBSPI_Transaction spiTransaction;
time_t timestamp;
struct tm *timeInfo;
/*初始化驱动程序*/
drivers_open();
Board_driversOpen();
DebugP_LOG ("[MIBSPI]通过 FTDI FT4232H 到 PC 的 SPI 数据流已启动\r\n");
/* SPI 事务配置*/
spiTransaction.txBuf = gMibspiTxBuffer;
spiTransaction.rxBuf = NULL;/*本示例中不需要 RX 缓冲区*/
spiTransaction .peripheralIndex = 0u;
spiTransaction .arg = NULL;
/*种子随机数生成器*/
srand ((unsigned int) time (NULL));
while (1)/*连续循环*/
{
/*生成随机的 x、y 值*/
int x = rand ()% 100;/* 0-99之间的随机值*/
int y = rand ()% 100;
/*获取当前时间戳*/
时间戳=时间(NULL);
timeInfo = localtime (×tamp);
/*格式化人类可读的字符串*/
snprintf ((char *) gMibspiTxBuffer、APP_MIBSPI_MSGSIZE、
"时间戳:%02d:%02d:%02d、X:%d、Y:%d\r\n"、
timeInfo->TM_Hour、timeInfo->TM_Min、timeInfo->TM_sec、x、y);
/*将 SPI 事务大小更新为实际数据长度*/
spiTransaction.count = strlen ((char *) gMibspiTxBuffer);
/*执行 SPI 传输*/
transferOK = MIBSPI_transfer (gMibspiHandle[CONFIG_MIBSPI0]、&spiTransaction);
如果((SystemP_SUCCESS!= transferOK)||(MIBSPI_TRANSFER_COMPLETED!= spiTransaction .status))
{
DebugP_LOG ("[MIBSPI] SPI 传输失败!\r\n");
DebugP_assert (false);/*失败时终止*/
休息;
}
/*用于调试目的的实时日志记录*/
DebugP_LOG ("[MIBSPI] Transmitted Data to PC:%s"、gMibspiTxBuffer);
/*避免为实时吞吐量增加刻意的延迟*/
}
/*清理并关闭驱动程序*/
Board_driversClose ();
drivers_close();
DebugP_LOG ("[MIBSPI]示例已停止\r\n");
}
但这不会传输任何 COM 端口的数据(我使用 Tera Term 对其进行检查)。
其次、我要修改 mss_main am273x+awr2243示例的演示示、以便通过 SPI 通过 USB 将数据接收到外部 PC/PI。
此处的 syscfg 是:am273是具有4线制连接的控制器(主器件)。 需要通过 SPI 点云数据时如何修改此文件?e2e.ti.com/.../mss_5F00_main.c
BR、
DM
抱歉、我现在感到困惑、因为这毫无意义、
为什么我需要对电路板进行物理更改、我可以直接配置引脚 vis syscfg?
此致、
DM
Ming、您好!
我正在查找 SPI、为什么这与 MSS_UARTA 有关?


它应该能够通过 FTDI USB 访问它,请帮助我理解?
https://software-dl.ti.com/mcu-plus-sdk/esd/PLATFORM_SW_MCAL/AM273x/09.00.01/modules/spi.html 在我的例子中是否有用?
此致、
DM
尊敬的 DM:
如果您使用 AM273x MBSPI 作为控制器、请参阅以下 e2e 主题:
如果您将 MIBSPI 用作外设、我们仍在研究这个问题。
截至 MSS_UARTA 讨论之前、您在上一篇文章中的以下陈述触发了:
"但这不会传输任何 COM 端口的数据(我使用 Tera Term 对其进行检查)。" 和
"是的、这样做、 当 MSS_UARTA 用于 DebugP Log 时、J8上的 COM 端口对 DebugP_LOG ()有效。
在 systemcfg 中没有可供此示例配置的 DSS_UARTA。"
此致、
Ming
尊敬的 DM:
您用于 MIBSPI 控制器传输的代码似乎没问题、并且您在 CS、CLK 和 TX 引脚上看到了正确的输出。 这意味着 MIBSPI 控制器模式运行良好。 由于 PC COM 端口上没有输出、因此中间有 FTDI 芯片。 关于 FTDI 芯片如何作为 SPI 外设模式工作以及它如何与 PC 进行交互、我们无法提供帮助。
还确认 MIBSPI 控制器模式工作正常。
此致、
Ming