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.

[参考译文] TM4C1294KCPDT:驱动 LCD 解决方案

Guru**** 2513185 points
Other Parts Discussed in Thread: TM4C1294KCPDT, SN74HCT245, SN74LVC4245A, EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/845613/tm4c1294kcpdt-drive-lcd-solution

器件型号:TM4C1294KCPDT
主题中讨论的其他器件: SN74HCT245SN74LVC4245AEK-TM4C1294XL

你(们)好

在图中、CPU 使用电压为3.3V 的 TI TM4C1294KCPDT。 外部液晶振使用5V 电压、CPU 板和 LCD 板通过30-50cm FFC 电缆连接;
现在设计了两个程序:
第一种解决方案:CPU 直接连接到 LCD。 这个解决方案是最简单的、但是我不知道 CPU 是否能够承受5V 的逻辑电平、以及 CPU 的信号输出是否能够将30-50cm 电缆传递到 LCD。 CPU 是否具有此驱动能力? ? 此外、该方案在读取液晶时可能不太好(尽管它可以在编程期间被写入而不是读取)。
第二种解决方案:CPU 通过 SN74HCT245将4位总线连接到 LCD。 此解决方案可以单独(但不能同时)读取两个 LCD 的内容、并且驱动能力比第一个解决方案强、但需要添加一些器件。 成本更高、CPU 需要占用两个额外的引脚、3.3V CPU 和5V 供电的 SN74HCT245之间是否需要3V3钳位二极管保护?

只需更换原始产品上的 LCD 键盘、其他配件都很成熟、我个人倾向于直接连接、但我不确定接口的处理情况、希望您能提供一些建议。
谢谢  
Elsa Duan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Elsa、

    TM4C1294KCPDT 不能耐受5V 电压。 我尝试从 LCD 的数据表中查看它是否会输出5V 信号或者它是否会工作3.3V 逻辑、但我无法最终看到。 如果您能弄清楚这一点、那将会很有帮助。

    如果针对需要进入 MCU 的连接以3.3V 逻辑工作、则您只需将其直接连接至 MCU 即可。 我以前使用过 MSP430等3V MCU 的类似显示屏、我的回忆是 LCD 的供电电压为5V、但 I/O 的工作电压为3.3V。 不过、我没有该显示屏的器件型号、因此它可能有所不同、因此运行方式也不同。

    除了电压问题、MCU 肯定可以从驱动角度处理与器件的通信。 MCU 只会发送命令、因此基本 GPIO 驱动电流足够满足这一要求。 LCD 的大部分电流将来自5V 连接和3.3V 背光连接、这些连接应来自您的电源。

    如果 MCU 的输出实际上为5V、则需要像电阻分压器这样的器件来将输出驱动至3.3V 逻辑电平、以防止损坏 TM4C。

     SN74HCT245在此处看起来不相关、因为它不会处理降压。

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

    供应商的 Ralph 很好地描述了 MCU 的灵敏度。    

    现在从"字符 LCD"一侧观察到这一点。

    • 许多供应商(> 5)已将其2x16字符模块标记为 LCD1602B。    (因此-(实际) LCD ( 应该)的规格 链接在此处...)
    • 2x16 LCD 模块可接受或不接受3V3信号电平。   (即使在通过5V 供电时、尤其是在这类情况下。)   
    • 原始 LCD 控制 IC [HD44780和(甚至)早期的 HD43160]在由5V 电源供电时确实接受3V3数据电平。   但是-许多较新的"克隆" LCD 控制器-当由5V 电源供电时-将不接受3V3数据和控制信号!   这说明了为何需要数据表...
    •  "LCD RST"标签用于驱动 LCD 的 R/W 引脚、因此存在"严重且令人不安的使用"。   此处不应用 MCU 复位!   LCD 的 R/W 输入需要持续可靠的控制信号- MCU (假设)复位可能无法提供这些信号。
    • LCD 模块的数据引脚(即此处的 DB4-DB7)将输出(接近) 5V 电压、这可能会对您的"129系列 MCU"造成损害。
    • LCD 的"E"引脚被标记为"LCD CS"-它不是这样。   信号"E"在每次4位数据传输(无论是数据还是命令)时具有"正"脉冲、而"正常 CS 信号"在整个器件的传输过程中持续。   (即"E"信号比"CS"更有效。   过去、'E'信号在450nS (最小值)下脉冲为高电平-较新的控制器能够接受250nS (最小值)-但请查看您的数据表。)
    • LCD 被放置在(更困难且要求更高)的'4位模式'中。   这节省了4个 I/O、但增加了复杂性、并使 LCD 特别容易受到噪声源的影响。   LCD 依赖于定序正确的"双4位数据表示"-而"8位模式"有"无此类定序需求"。   除非有人定期"刷"液晶屏-屏幕已变为"显示"状态(即完全随机且无法读取)这一事实可能会持续很长时间-未检测到!   (4位模式负责数万个"丢失工时"-节省4位(可能)是一个不明智的选择... 当暴露于"现实世界"中时、它可能(看起来)"在原始/开发实验室中正常运行时"执行正确"-但"重复(不可接受)"等更频繁(不可接受)"?"

    根据这些结果-可以很好地指示插入了"总线收发器和"3V3 - 5V"电压转换器 IC"。   我的公司在供应商 的"SN74LVC4245A"方面取得了成功、该器件提供(同时)收发器和"3V3至5V"(反之亦然)电压转换。    请注意、在尝试写入 LCD 时、分压器(必须)的插入(超过建议值)会失败-这将(甚至进一步)降低 MCU 的3V3输出!

    标签: 与 TM4C MCU 配合使用的字符 LCD 模块-具有"Bi-Di"电压转换器的总线收发器-"链接"(真实)数据表的海报要求

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

    设计

    随附了新原理图的屏幕截图。 此外、LCD_12TO16.pdf 和 LCD 模块数据之前已发送、此处不再重新发送。            

    基本功能是使用 CPU 的四个引脚(TM4C1294KCPDT)来实现一个4位总线、此总线控制两个液晶(1602B 或相似产品)、其中 CPU 的工作电压为3.3V; LCD 的工作电压为5V、主板和 LCD 板通过 FFC 或 FPC 电缆进行连接、长度为30-50cm。 问题有两个方面:一个是如何使 CPU 同时控制两个 LCD;另一个是如何实现 CPU 和 LCD 之间的3.3V 和5V 转换。 我设计了两种方案:一种是 CPU 直接驱动两个 LCD、从而使电路更简单、成本更低。 理论上、它可以同时将相同的内容写入两个 LCD。 但是这个机制的问题是、不清楚当 CPU 读取一个 LCD 信息时、一个 LCD 是否会受到另一个 LCD 的影响、而另一个 LCD 是在3.3V 下工作的 CPU 是否能够正确驱动5V LCD。 第二种情况是 CPU 通过两个74HCT 245件访问两个 LCD。 这个机制更加复杂并且增加了很多器件、并且占用 CPU 的另外两个引脚、LCDBUS_E1和 LCDBUS_E2。 此外、是否需要在 CPU 和 HCT 245之间添加3.3V 嵌入式保护和隔离电阻? 此方案的优点是驱动能力高于 CPU 直接驱动能力、并且理论上可以单独控制两个 LCD 的读取和写入。 对于这两种方案、我个人更喜欢 CPU 直接驱动。 此外、LCD 的工作电压为5V 版本和3.3V 版本、但3.3V 版本比5V 版本更昂贵。 因此、如果首选5V 也无法解决3V 5V 转换问题、则它也可以使用3V、但总体方案更简洁、成本不能高于使用5V 版本。    

    CPU 直接驱动 LCD 方案主板 CPU:

    CPU 直接驱动 LCD 方案主板背光和注释:

    CPU 直接驱动 LCD 方案主板 LCD 接口:

    HCT 245驱动器 CPU:

    HCT 245驱动方案 HCT 245和 LCD 接口:

    HCT 245驱动器背光和注释:

    LCD 控制引脚汇总:            

    LCD_A0 (PK7;60英尺)            

    LCD_CS1 (PN3;110英尺)            

    LCD_CS2 (PG0;49英尺)            

    LCD_RST (PG1;50英尺)            

    LCD_DB4~DB7 (PL0~PL3、81~84英尺)            

    LCDBUS_E1 (PL4;85英尺)            

    LCDBUS E2 (PL5;86英尺)            

    Disp_BLA_PW (PF3;45英尺)

    谢谢

    Elsa Duan

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

    您好、Elsa、

    TM4C 无法承受器件引脚上的5V 输入。 根据您的描述、您需要使用3V 版本、或者您需要使用电压转换器将 TM4C 的5V 信号降至3V。 正如您所确定的、这将导致系统成本增加。

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

    您好、Elsa、

    您是否不担心使用 带状电缆45'-110'?  最近发现  、通过 UART TX/RX 信号进行远距离线缆传输要容易得多。 Nexion 彩色 LCD 可由423个串行驱动 器驱动、从而将 TM4C1294 UART 信号扩展到超过1000英尺或以上、这些信号都通过屏蔽双绞线(Teflon 涂层线)进行工业应用。  Nexion 正在   通过连接到 Booster Pack 接头的四根6"跳线通过 EK-TM4C1294XL 接收和传输@12-14k CPS、而不会出现任何帧错误(115200bps)。

    CB1可能会在 您选择的 LCD 的距离部分提供建议、如果它甚至可以在没有重大问题的情况下实现。

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

    其中一个"多人戴耳"送达"最后一个"(边界被忽略) LCD 简报。

    [引用 USER="user5707026"]之前已发送 LCD 模块数据,此处不再重新发送。            [/报价]

    这不是一个特别友好和乐于助人的回应-是吗?   员工和我都已重新阅读您的初始帖子-找不到(明显的) LCD 数据表链接。   再说一次- 1602B 是相当通用的-几家供应商生产这些产品。

    最初的帖子指出了30-50cm 的电缆长度-(以某种方式)现在已经膨胀到45-110英尺!   这种巨大的变化值得(某些)描述-不是吗?

    海报中列出的过去要点代表收到"否/零"评论-因此"添加到混合物" (此处/现在)可能会记录为"无意义"。

    (现在)回答 BP101的询问-这是可疑的(即 没有任何机会!)  MCU (任何 MCU -顺便说一下) 的无辅助 GPIO 信号可以成功传输如此远的距离!    (我们已有多个客户尝试使用此类电缆(5-7米-基于电缆质量-是有史以来最好的)。)    需要定期间隔的放大级、但正确的串行接口证明"数量级"更出色!   

    除此之外、  "ESD "的"开放邀请"和"天线效应"都将此类(非屏蔽电缆长度)呈现为"不可考虑"的决策!   这种长度会使 MCU 本身以及 LCD 受到严重威胁!

    BP101通过串行驱动程序建议使用 UART、但这也需要在 LCD 侧安装第二个 MCU。   (要执行所需的串行至并行数据转换- LCD 需要)   

     (之前) 30-50cm 电缆长度 是"边界"可执行的-"专用延长件"-不是太多!   此应用"批评"使用线路驱动器的正确串行连接"和与 LCD 并置的第二个 MCU (某种形式)。

    标签: 30-50cm 换至110英尺-链接至数据表"被扣"- (海报)无响应...

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

    您好 CB1

    [引用 USER="CB1_MOBIT]BP101通过串行驱动程序建议使用 UART -但这也需要在 LCD 侧安装第二个 MCU。   (要执行所需的串行至并行数据转换- LCD 需要) 

    MCU 内置在 Nextion LCD 中、 因此   只需在前面 提供3V3 TTL 到 RS423转换器 PCB、并提供+5Vdc、+/-12Vdc 电源。 时间花在硬件上、而 不是数月甚至数年花在 LCD 图形设计上。 对我来说、主要问题是 小工具数据类型的文档不多 、一些反向直观的协议声明后来被发现 具有误导性。

    并非所有串行数据都以 ASCII 发送、 只有命令和文本框。 因此、Number/Xfloat 框、 监测计、波形示波 器数据以原始整数数据类型发送。 在  自定义 Rx/Tx UART 处理程序代码正常工作之前、所有内容都有点混乱。  如果不将 UARTPrintf()用于其他调试控制台等,则可以使用 UARTPrintf()通过 uartstdio.c 命令和发送数据变量  

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

    [引用 user="BP101"] MCU 内置于 Nexion LCD

    Mon Ami、

    此主题侧重于"普通简"标准2x16字符 LCD (可能有2个)-而不是您的 Nextion。   

    您对 Nextion 使用的"数据和命令"的描述似乎"超出"此主题的关注范围-并且不太可能证明有用。    (除非您可以将海报"更贴"至 Nextion。)

    标签: Nextion (以某种方式)进入框架...

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

    理想情况下、长途电话需要长途解决 方案海报没有、但没有 考虑 对于典型 LCD 模块甚至是可能的。 出于这个原因、我离开了、至少在海报回复时、我对解决 他们发布的问题有一定的兴趣。