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.

[参考译文] AM3358:我可以将数据发送到输出到正在运行的服务器、从该芯片组上的 ADC 发送到 UART 吗?

Guru**** 2412110 points
Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1481050/am3358-can-i-send-data-to-output-to-a-running-server-from-adc-to-uart-on-this-chipset

器件型号:AM3358

工具与软件:

您好!

我一直在读取、似乎有一种方法可以将 ADC 数据发送到 UART 进行传输(读取/写入)、但它必须与无 RTOS 和/或 MSP 线路有关。

我正在处理 am3358、我想知道是否可以通过 UART 向正在运行的服务器发送 ADC 值。 我找到了一些其他数据与信息的小下标,可以在这里找到: https://www.ti.com/lit/sd/slaaeb1/slaaeb1.pdf .

这可能是预期目标、但对于 am3358等更复杂的芯片组来说、这并不完全有效。  

Seth

P.S.因此、我通过 IIO SS 读取 ADC 数据、通过串行 SS 将其写入 UART、然后在本地在线提供数据以用于用例。 目前、我正在使用真实的硬件来处理此类任务。 我正在使用声纳和/或激光雷达快速访问可以促进或掩饰机器人移动的数据。 例如、这些传感器告诉我的 am3358支持的 BeagleBone Black 是以另一种方式停止、缩回还是/或操纵。  

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

    尊敬的 Seth:

    我在 Linux 中支持 UART、但在 ADC 中不支持。 我不确定 ADC 应用具体的时序要求是什么、但您可以在 Linux 中通过 UART 传输数据。

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

    我一直在读取 Linux 处理 IIO 的方式、这个12位 ADC 似乎需要在一次交换中设置16位、然后 UART 逐字节处理它。 高8位和低8位。

    您是否知道 Linux 或 SDK 中处理 am3358上 ADC 到 UART 的任何示例?

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

    Linux 内核驱动程序在/dev/目录 下公开 UART 端口、您可以让程序打开 UART 设备节点、然后通过 UART 配置和发送/接收数据。 请使用以下程序作为示例。

    https://github.com/nsekhar/serialcheck/blob/master/serialcheck.c

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

    好的。。。谢谢。 我将对此进行仔细查看、看看是否可以根据我的用例进行调整。  

    现在、唯一应该发生的是由于 am3358上 ADC 的读取而从 UART 中执行的停止操作。

    例如、ADC 器件在 IIO SS 中记录电压、然后 UART 对其工作、在本例中仅创建 UART、以了解它不需要像硬件一样允许通信向前运行。

    因此、由于 UART、轮子将转动、但 ADC 电压决定了来自 UART 的轮子是否已超出其边界。 简单的爬虫程序..."简单"。

    Seth

    P.S.不管怎样,去审查那巨大的块的来源你显示。 我会仔细阅读并尝试抓住它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="199256" url="~/support/processors-group/processors/f/processors-forum/1481050/am3358-can-i-send-data-to-output-to-a-running-server-from-adc-to-uart-on-this-chipset/5689603 #5689603"]

    例如、ADC 器件在 IIO SS 中记录电压、然后 UART 对其工作、在本例中仅创建 UART、以了解它不需要像硬件一样允许通信向前运行。

    因此、由于 UART、轮子将转动、但 ADC 电压决定了来自 UART 的轮子是否已超出其边界。 简单的爬虫程序..."简单"。

    [报价]

    很抱歉、我不确定我是否理解所有消息。 我会假设 ADC 记录滚轮信息、但我不确定 UART 是如何与滚轮有任何直接关系。 UART 仅传输程序发送的字节。 不管怎样、如果您有任何关于 AM335x 在 Linux 中使用 UART 的具体问题、敬请告知。

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

    好的、没有任何问题。 如果我对 UART 和 Linux 的态度再认真一些、我会告诉您。  

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

    您好 Bin、

    今天再次请来了 Seth。 所以,我现在会更好地表明自己清楚。 ADC 控制声纳、然后 UART 控制串行执行、使电机通过一个我在电机驱动器上找到的小程序(即 Dimension 工程 Sabertooth 2 x 12)移动。 它是一款用于控制单相、直流电机的"重负荷"电机驱动器。  

    到目前为止、大部分都是在玩的...  

    因此、虽然这是更通用的问题、但我会使用什么方法将正确类型的字节从 AM335x UART 外设发送到特定电机驱动器(如 Sabertooth 2 x 12)?  

    例如、使用 C/C++或 python 等语言将需要从 UART 到驱动程序的哪种类型的 TX 实例? 我已经检查了您列出的源、我慢慢地开始理解、让 UART 外设的 TX 不是很简单。 TI 是否有一些有关从 AM335x UART 外设向已知驱动程序发送字节的文档?

    如果是、如果 TI 人员拥有此类文档、我想使用文档。进一步为我和其他希望了解更多信息的人提供帮助。  

    我是否通过某种语言发送某个位置的字节、并且其偏移类型在 TRM 中列出?  

    我现在有点鼻子,我知道这是有点误导我的一部分。 我将尝试更详细地了解 UART、如何辨别何时以及如何传输字节以及如何收集这些特定字节。  

    Seth

    P.S.虽然这对你来说并不复杂,我有相当的时间试图理解这一切。 我知道这不是你的工作、而是在这里为我提供帮助。 我们非常欢迎您提出任何想法或建议。   

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

    尊敬的 Seth:

    感谢您提供详细信息。 您是对的、这超出了我们的支持范围、但下面是我的评论。

    我看到你们有两个很大的差距、一个是高水平、另一个是低水平。

    关键在于为您的项目选择合适的操作系统。 您必须了解电机驱动器用例的实时(RT)要求、然后决定使用 RTOS 或 Linux (或 RT Linux)。

    低电平间隙用于对数据通信进行编程。 在通信中、一切都是关于协议。 在与直流电机通信的这个 UART 中、您首先需要了解直流电机控制器所需的基于 UART 的协议、这将决定如何为 AM335x UART 生成数据。

    我只支持 Linux、但不知道其他操作系统。 在 Linux 中通过 UART 发送数据时、您不需要太多了解 UART 硬件及其寄存器、数据已经在内核 UART 驱动程序中进行处理。 您的代码只需配置 UART 波特率并使用 write()函数将数据缓冲区发送到 UART。 上面提供的 serialcheck.c 文件可用作示例。