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.

[参考译文] TM4C123GH6PM:实现##39;ng 单线 tri 电平返回到中间信号格式

Guru**** 2455360 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1494562/tm4c123gh6pm-implement-ng-one-wire-tri-level-return-to-middle-signaling-format

器件型号:TM4C123GH6PM

工具与软件:

您好!

我想对定制 tm4c123板使用数字控制可牵引振荡器、而该振荡器具有该非标准接口、其中信号为三电平。

数据表建议实施如下系统:

但是、tm4c123可以执行高阻态 gpio、因此可以使用2个电阻器和位拆裂来实现。

我还阅读了 https://www.ti.com/lit/an/spma057e/spma057e.pdf 、这是一种关于单线协议、tm4c1294有专用硬件。 不同的测试协议看起来是相似的、但并不完全相同。

有没有任何方法可以确保硬件外设在不进行 Bitbanging 的情况下实现该功能? MCU 上的器件和外部电路都正常。 有效载荷大小为40位。 之前、我已经看到 SPI 总线用于驱动 ws2812 LED、这利用了发送11100000和11111000作为0和1的优势-这样一来、SPI 外设就完成了所有工作、并且不会减慢主负载的速度。

在该协议中(振荡器是 SiT3907)逻辑1由高逻辑后跟中逻辑定义、逻辑0是低逻辑后跟中逻辑。 每个周期(步长)大约为50-60ns 宽。 我认为、通过使用 SPI 数据输出和 SPI 时钟以及一些逻辑电路、可以实现类似的输出。 但在深入讨论之前、我想向论坛询问以前是否做过类似的工作。

任何想法/建议也非常感谢。

此致、

c.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="91011" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1494562/tm4c123gh6pm-implement-ng-one-wire-tri 级别 return-to-middle-signaling-format"]

    但是、tm4c123可以执行高阻态 gpio、因此可以使用2个电阻器和位拆裂来实现。

    我还阅读了 https://www.ti.com/lit/an/spma057e/spma057e.pdf 、这是一种关于单线协议、tm4c1294有专用硬件。 不同的测试协议看起来是相似的、但并不完全相同。

    有没有任何方法可以确保硬件外设在不进行 Bitbanging 的情况下实现该功能? MCU 上的器件和外部电路都正常。 有效载荷大小为40位。 之前、我已经看到 SPI 总线用于驱动 ws2812 LED、这利用了发送11100000和11111000作为0和1的优势-这样一来、SPI 外设就完成了所有工作、并且不会减慢主负载的速度。

    在该协议中(振荡器是 SiT3907)逻辑1由高逻辑后跟中逻辑定义、逻辑0是低逻辑后跟中逻辑。 每个周期(步长)大约为50-60ns 宽。 我认为、通过使用 SPI 数据输出和 SPI 时钟以及一些逻辑电路、可以实现类似的输出。 但在深入讨论之前、我想向论坛询问以前是否做过类似的工作。

    [报价]

    您好!

     我能想到的唯一方法是在 GPIO 模式下控制 tri 状态。 不能使用 SPI。 在 SPI 模式下、输出缓冲器的输出使能由 SPI 模块控制。 它将始终启用、直到 SPI 事务完成。 我可以假设您使用计时器模块和 GPIO 来控制位时序。 您可以生成频率为 T_bit 一半的周期性。 在中断中、您可以为逻辑1输出数据高电平、在下一个中断中、您将禁用 GPIO 输出缓冲器、并让外部分压器将逻辑拉至逻辑中位状态。 类似地、您将针对逻辑0输出一个数据低电平、然后输出一个中间逻辑状态。