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.

[参考译文] EK-TM4C123GXL:GPIO 引脚的开关速度是多少? 即最大原始位速度

Guru**** 1788580 points
Other Parts Discussed in Thread: EK-TM4C123GXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/566064/ek-tm4c123gxl-what-is-switching-speed-of-gpio-pins-i-e-maximum-raw-bit-speed

器件型号:EK-TM4C123GXL

你好

我想知道、当 GPIO 引脚被安排为使用 uDMA 读取高频时、我对这些引脚的期望是多少? 此处有人测试 STM32的频率可达42MHz:

http://cliffle.com/article/2015/06/06/pushing-pixels/

这里是 RPi 1 (22MHz)和 RPi 2的测试:

http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

我对 Tiva C 和 MSP430的相同数字感兴趣。


此致、

Sebastian

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

    使用 DMA 控制器读取 GPIO 数据寄存器时、启动延迟为4-6个时钟、如果计划进行猝发传输、则每次在猝发中读取的时钟将为2-3个时钟。 单次传输效率低下。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DMA 性能是 MCU 的一个优质特征。 如果有人能够为 Tiva 123 GXL 建立并证明这一点、那将是很好的。 这是为 Padi Stamp 而设立的:

    https://github.com/kissste/rtl8710_VGA_Display_Driver

    它的时钟频率为83MHz、但它可以执行41.33MHz DMA 输出–2分频器、这是令人印象深刻的。 如果 Tiva 为 DMA 读取和写入执行3个周期、那么它可以执行26、66MHz、这在数字化时几乎是 NTSC/PAL 频率(我从 NTSC 信号中读取到它是27 MHz、13 MHz、 但由于每像素16位–CxY 两个字节通过8位像素端口)、因此会使 x2倍。 Tiva 的时钟可能会稍微过载、以执行~82MHz 以稳定地执行27MHz、并且/或者分频器可能是2而不是3。 此处验证了 STM32F4的4分频器:

    http://cliffle.com/article/2015/06/06/pushing-pixels/

    通过在168MHz 至160MHz 的频率范围内对处理器进行下频、可获得40MHz 的输出频率。 测试和证明这一点很好、我甚至会要求员工这样做。 这就是我的看法、谢谢

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

    您使用 EK-TM4C123GXL 的什么应用需要 GPIO 上的高速率?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该项目旨在通过 NTSC/PAL 视频驱动维度为32x16 (Adafruit)的 RGB LED 矩阵、以创建半抽象和半有意义的效果– 颜色、阴影、形状。 像素端口是并行8引脚连接器、时钟频率为27MHz (对于这些视频)– 我需要读取它。

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

    我认为我们不能通过 DMA 支持这样的操作。 GPIO 在内部时钟上工作、虽然它可以对数据进行采样、但由于系统时钟和外部时钟之间没有同步相位关系、因此在执行不合格的 DMA 传输时可能导致错误的数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、但是 VGA 输出应用是内部计时的、这是直接可能的、想知道 Tiva 将如何执行。 至于外部时钟8位输入、我计划在其他 uController 中的 DMA 的一侧使用计时器计数器外设、该外设设置为由视频解码器进行外部时钟、以便在每个 N 个时钟边沿生成 DMA 事件。 这是我对 DMA 和外部时钟可能实现的功能的研究、可能是错误的

    此致、
    Sebastian

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

    定时器需要2个时钟周期来寄存输入。 然后、在几个时钟周期后、它会生成 DMA 请求。 DMA 请求使 DMA 以6个时钟的加载开销启动事务。 如果我们可以错过相同的时间、那么随后会有2-3个时钟周期延迟。 这可能会受到 CPU 访问同一 SRAM 的影响、这将使 DMA 停止。 总体而言、我认为这是一种非常适合的方案。