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-TM4C1294XL:SPI 速度低于 I 配置

Guru**** 2528110 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/886267/ek-tm4c1294xl-spi-speed-is-less-than-i-configurated

器件型号:EK-TM4C1294XL

您好! 我使用的是具有 TFT 2.8 SPI 模块 ili9341的 TivaC (http://www.lcdwiki.com/2.8inch_SPI_Module_ILI9341_SKU:MSP2807)。 我有一个问题:屏幕刷新速度太慢(0.6 FPS)。 我想知道什么问题是 SPI 连接速度慢。 在此之后、我使用示波器将其检出(实际速度为45.45KHz、但我将 TivaC SPI 配置为10MHz)。

SPI 初始化代码:

SPI_Params_init (&SPI_Parameters);
SPI_Parameters.mode = SPI_master;
SPI_Parameters.bitrate = 10000000;
SPI_Parameters.dataSize = 8;
SPI_Parameters.transferMode = SPI_MODE_BLOCKING;
SPI_H = SPI_OPEN (0、&SPI_Parameters);
IF (!SPI_H)
{
system_abort ("尝试配置模块\"SPI\"失败!");
} 

SPI 发送代码:

无符号字符应答= 0x0;
SPI_Message_Data.count = Data_Length;
SPI_Message_Data.txBuf = Data_PTR;
应答= SPI_transfer (SPI_H、&SPI_Message_Data);
返回答案; 

我不知道我的代码有什么问题、请提供帮助

P.S. 这正是我的问题、因为有些人使用此显示器't="" know,="" 30="" fps,="" may="" be?="">、如本视频 中所示:https://www.youtube.com/watch?v=WapdjBnF7tQ

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

    非常慢、屏幕更新问候语也很慢、

    [引用 user="Georgy Tuzikov"]我使用的是 TivaC[/quot]

    但是-您显示的代码具有(高度)令人不愉快的气味"低/无能量"-并且与您提到的"Tiva C"相去甚远!

    在 Tivaware 中可以找到(正确) SPI 设置(初始化和配置)的明确示例。   (即示例/外设/SPI)

    员工和我都很惊讶、您能够使用显示的代码"完全写入屏幕"。   您使用"API"提供了最轻松、最快的方法来"满足您对屏幕更新速度的需求!"   阿尔莱兹...

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

    您好 CB1、

    它们使用 TI-RTOS 来实现 Tiva-C RTOS 团队将能够帮助他们处理此请求。

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

    您好 Ralph、

    感谢您的支持-海报"没有提及"、我们的团队使用(除单个供应商实施之外)。   您的回答(确实)说明了(一些-但还是有)数据如何到达屏幕。

    任何 RTOS 都增加了复杂性-海报上的"Switch"到 API 应该提供可实现的最高"屏幕传输速率"-(任何) RTOS 负担过重。   

    一旦"可实现"的传输速率已知(仅那时)、我们的团队是否会加入 RTOS、以便"任何/所有 RTOS 罚金"可能"被"点亮了!"

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

    您好、Georgy、

    负责查看这个问题的工程师在剩下的时间(不是新冠疫情),所以我会让球滚...

    1.功能上,屏幕内容是否正确?

    2.设备是否执行了其它操作? 例如、其他任务正在运行并执行 XYZ。

    3.您使用的是什么电路板? 例如 TI LaunchPad 或定制硬件。

    4.您是否验证了 TI-RTOS 中的 SPI 环回示例、以确保 TivaC 正常工作? 您能否在本示例中使用示波器检查比特率?

    Todd

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

    您好 Todd、

    1) 1)您的意思是什么?

    2) 2)立即-否

    3) EK-TM4C1294XL

    4) 4)是的、我是这样做的。 同样。 我得到71.42KHz、而不是60MHz

    我附加了一点更改的 TI SPI 示例。 我移除了从器件任务并在主器件任务中创建了一个 SPI 闸门器。 SPI 比特率60MHz (1/2时钟)。 示波器显示每14微秒1个脉冲、即71.42 KHz

    e2e.ti.com/.../3757.spiloopback_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_TivaTM4C1294NCPDT.rar

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

    您好 Todd、

    1) 1)您的意思是什么?

    2) 2)立即-否

    3) EK-TM4C1294XL

    4) 4)是的、我是这样做的。 同样。 我得到71.42KHz、而不是60MHz

    我附加了一点更改的 TI SPI 示例。 我移除了从器件任务并在主器件任务中创建了一个 SPI 闸门器。 SPI 比特率60MHz (1/2时钟)。 示波器显示每14微秒1个脉冲、即71.42 KHz e2e.ti.com/.../3568.spiloopback_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_TivaTM4C1294NCPDT.rar

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

    [引用 user="Georgy Tuzikov"]我附加了一个略微更改的 TI SPI 示例。 我移除了从器件任务并在主器件任务中创建了一个 SPI 闸门器。 SPI 比特率60MHz (1/2时钟)。 示波器显示的是每14微秒1个脉冲、即71.42 KHz 35680.spilosropback _EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.rar[/quot]示波器设置为什么时基?

    我以该示例为例、在 采样率设置为500MHz 的 LSA 上、在 EK-TM4C1294XL 上运行该示例、连接到 SSI2CLK 和 SSI2XDAT0。

    第一次观察时、当缩放较低时、SSI 时钟脉冲的间隔约为13.4 μ s:

    但是、当放大时、SPI 时钟显示为标称值为60MHz:

    即、您的示波器"显示每14微秒1个脉冲"测量值不是 SPI 时钟速率、而是代码中以下软件循环的运行速率:

    while (1)
    {
    /*启动 SPI 传输*/
    transferOK = SPI_transfer (masterSpi、&masterTransaction);
    } 

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

    切斯特、您好、感谢您的回复。

    好的、我明白了。 我的缺点是我不计算 SCK 脉冲...

    因此、我再次检查-与您检查的相同、即 SCK 线上的~60MHz。

    如果我将 SPI 配置为60MHz、我将获得每秒7.5M 字节、即48 FPS。 因此、我被骗了。

    为什么我没有获得48 FPS? 如果我的 SPI 正常、问题出在用于显示的 TivaC 代码中...

    无论如何、感谢大家的回复。 线程问题已解决。