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.

[参考译文] TM4C1294NCPDT:EPI 配置+ LCD 控制器 Solomon Systech SSD1926

Guru**** 2610875 points
Other Parts Discussed in Thread: TM4C1294NCPDT, TM4C129XNCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/767257/tm4c1294ncpdt-epi-configuration-lcd-controller-solomon-systech-ssd1926

器件型号:TM4C1294NCPDT
主题中讨论的其他器件: TM4C129XNCZADDK-TM4C129X

您好!

我们正在尝试了解如何配置 来自 TM4C1294NCPDT 的 EPI、以便与来自 Solomon Systech 的 LCD 控制器 SSD1926连接。

我们只关心写入周期、不关心从 LCD 读取。

下图显示了 SSD1926要求的写入周期接口时序。

根据该图、我们设计了一个具有以下连接的定制硬件:

(MCU)------ (SSD1926)

EPI0 28 WR --- WE0#
EPI0 29 RD --- Rd 编号
EPI0 30 ALE ---  D/C#
EPI0 31 CLK --- CS#

EPI0 15:0 --- DB15:0

是否可以配置 EPI 来实现这种周期?  

如果是、应设置哪种 EPI 模式? 是主机总线模式还是通用模式? (它看起来像主机总线、但我们不确定)。

此外、SSD1926如何映射到 MCU 存储器映射以及代码如何在总线上实际写入数据尚不清楚。

是否有一个与我们这里的示例类似的示例? 我们只找到了 SDRAM 的示例、这是一个非常不同的应用。

PS:我们已经使用了 GPIO"硬编码"功能、但这是一个非常慢、繁琐且次优的解决方案、并且使得 LCD 更新非常慢。

此致!

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

    我不确定 EPI 是否能够做到这一点。 如果是、则需要使用通用模式。 但我们以前没有将 LCD 与 EPI 连接起来、因为它比我们的解决方案复杂得多! EPI 实际上只用于外部存储器和 FPGA/CPLD 接口。 但是、TM4C129XNCZAD 等某些 TM4C MCU 具有内置的 LCD 控制器!

    您应该能够使用该控制器将 LCD 与 TM4C 连接起来。 我查找了屏幕的 D/S、我认为所有相关信号都将映射到 LCD 控制器外设。 您可以使用 DK-TM4C129X 开发套件来评估这是否是合适的解决方案。 遗憾的是、我们没有该 LCD 的示例代码、但如果您已经使用了 bitbang、我认为您将找到用于 LCD 控制器的 TivaWare 文档、并且 GR Lib 足以尝试此解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph、

    感谢您的快速回复。

    在评估另一个 MCU 选项之前、我们必须尝试在 EPI 上使用通用模式、因为我们已经为此应用提供了定制硬件。 因此、更换 MCU 将是我们的最后一个选择。

    是否有通用 EPI 的代码示例? 了解如何使用此设置配置和执行写入操作非常有价值。

    此致。

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

    遗憾的是、我们没有这样的示例。 我们对它并没有太大兴趣、因为每个人都使用 EPI 来实现 SDRAM、等等。 也就是说、对于通用模式、EPI 的配置应该大体相同、我强烈建议您查看 TivaWare 示例、该示例位于:[INSTALL Path]\TivaWare_C_Series-2.1.4.178\examples\peripherals\EPI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Pedro Mietto83"]

    我们正在尝试了解如何配置 来自 TM4C1294NCPDT 的 EPI 、以便与来自 Solomon Systech 的 LCD 控制器 SSD1926连接。

    [剪切]

    (MCU)------ (SSD1926)

    EPI0 28 WR --- WE0#
    EPI0 29 RD --- Rd 编号
    EPI0 30 ALE ---  D/C#
    EPI0 31 CLK --- CS#

    EPI0 15:0 --- DB15:0

    [/报价]

    虽然我的外部外设不是 LCD 控制器、但我目前正在进行非常类似的配置。 我没有连接 EPI0 30 ALE、而是在手动 GPIO 控制下连接 EPI0 30 ALE。 我使用的是 HB8模式而不是 HB16模式、但我认为这不会使我的体验对您的案例无效。

    [引用用户="Pedro Mietto83"]

    是否可以配置 EPI 来实现这种周期?  

    如果是、应设置哪种 EPI 模式? 是主机总线模式还是通用模式? (它看起来像主机总线、但我们不确定)。

    [/报价]

    是的。

    我将从 HB16模式开始。 您将需要 TI 文档 SPMS 433B 第11节 外部外设接口(EPI)。 在寄存器映射之前通读部分。
    第11.4节初始化和配置非常重要、并为您提供了一般概述;第11.4.3.5节"主机总线8/16的子模式"包含一些有关 HB 模式的重要信息。

    我在通用模式下尝试了外设、但/RD 和/WR 选通信号被反相连接、GP 模式不包含反相设置。 在我注意到硬件问题并且 EE 切断一些布线后、HB8模式对我有效。

    [引用用户="Pedro Mietto83"]

    此外、SSD1926如何映射到 MCU 存储器映射以及代码如何在总线上实际写入数据尚不清楚。

    是否有一个与我们这里的示例类似的示例? 我们只找到了 SDRAM 的示例、这是一个非常不同的应用。
    [/报价]

    数据表中对此进行了详细说明。 :-)其中一个 EPI 配置寄存器允许您指定外设映射存储器的基址。 如果我调用、则为0xa0000000或0xC0000000。 映射后、写入"寄存器"地址0xa0000000会导致 EPI 将数据转换到总线上。 写入0xa00001会导致 EPI 在总线上输出地址0x00000001、但地址行已配置。 这并不是问题、在 EPI 配置中地址大小可以设置为0。

    以下是我的代码:

    void configureEPI (void)
    {
    int BUSY_COUNT;
    
    SysCtlPeripheralEnable (SYSCTL_Periph_EPI0);
    BUSY_COUNT = 100;
    while (!SysCtlPeripheralReady (SYSCTL_Periph_EPI0)&& BUSY_COUNT)
    BUSY_COUNT--;
    如果(!BUSY_COUNT){
    LogError (EP_ERROR、0、0、0、ERROR);
    返回;
    }
    
    EPImodeSet (EPI0_BASE、EPI_MODE_HB8);
    // 16MHz 无法使用120MHz Tiva 时钟完全完成
    //和可用的 EPI 波特率配置选项。 15MHz 是次优。
    EPIDividerSet (EPI0_BASE、7);//使用公式分频器、7=>15MHz
    EPIConfigHB8Set (EPI0_BASE、EPI_HB8_MODE_ADDEMUX | EPI_HB8_CSCFG_ALE_SINGLE_CS、0);
    EPIAddressMapSet (EPI0_BASE、EPI_ADDR_PER_BASE_A | EPI_ADDR_PER_SIZE = 256B);
    
    //等待8个时钟周期,请参阅 spms433b.pdf 第11.4节
    //每个循环为3个时钟周期
    SysCtlDelay (3);
    }
    

    Stu

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

    您好、Ralph、

    感谢您的回复。

    我们将按照您的建议尝试在通用模式下配置 EPI、并希望在接下来的几周内返回到该模式、并获得一些结果。

    此致。

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

    感谢您提供的所有信息、非常好的东西!

    我们将在接下来的几周内完成这项工作,并希望能取得一些成果。

    此致。