基于Lattice MachXO2的玻璃覆晶图形显示驱动方案(VHDL)

逻辑主页

特性

MachXO2开发板是一款低成本可编程逻辑器件(PLD)开发平台。MachXO2是搭载硬化ASIC门电路嵌入式功能块(EFB)的低功耗FPGA。需注意本设计原采用1200ZE器件(得捷物料号220-1298-ND),现已被7000HE器件(得捷物料号220-2625-ND)替代。两种器件均可兼容本设计方案。Newhaven玻璃覆晶显示屏(得捷物料号NHD-C12864LZ-FSW-FBW-3V3-ND)通过定制电路板连接,并配置电容阵列支持显示屏内置电荷泵。该显示屏为128x64像素LCD,集成ST7565R-G控制器。本设计涵盖以下主题:

• 玻璃覆晶(COG)图形显示应用介绍与概述
• RTL图中所示的顶层架构VHDL模块实例化
• Active-HDL测试平台仿真
• COG显示屏状态机概述

简介

本参考设计采用MachXO2低成本FPGA,通过定制接口板向玻璃覆晶图形显示屏驱动并行数据与控制信号。在多数人机界面(HMI)应用中,显示屏常用于传递系统状态与用户信息。

背景

MachXO2开发板是众多输入控制应用的经济型低功耗解决方案。本应用采用双状态机配置玻璃覆晶显示屏:向显示屏写入指令与数据位,并控制数据ROM存储的指令数据流,使显示文字"Digi-Key"从屏幕顶部滚动至底部。图1与图2分别展示了显示屏与MachXO2开发板在正常模式和反显模式下的工作状态。

1 - 正常显示模式

2 - 反显模式

数据状态机包含清屏、设置页地址/列地址等状态,可实现静态图像显示或连续滚动显示。通过简单调整状态机的状态流转路径即可实现功能定制。例如要实现滚动显示,只需将write_data状态中的state_next设为scroll。若要显示静态图像,则可将state_next设为static。

设计所需软件:

  • Lattice Diamond 设计软件 2.0.1 版,附带第三方软件 Synplify Pro for Lattice 和 Active-HDL Lattice 版。

应用

电路构建

两个状态机通过双信号握手实现同步。这防止了 Data_FSM 在 COG_Parallel_Driver 忙碌时尝试写入。握手使用的两个信号分别是 Data_FSM 的 “write_en” 和 COG_Parallel_Driver 状态机的 “busy”。RTL 框图见图 3。握手过程可在下方图 4 的仿真波形中观察到。

3 - 玻璃基板显示驱动器的 RTL 框图

4 - 同步用双信号握手协议

仿真测试平台已包含在工程中。时钟周期可通过修改测试平台文件进行调整。片内振荡器未进行仿真,顶层文件中部分信号需取消/添加注释以适应仿真。具体操作请参考 Chip_on_Glass_Top 文件中的端口注释、信号注释、实例化语句和连续赋值语句。设计层次结构见图 5。

5 - 玻璃基板显示驱动器设计层次结构

COG_Parallel_Driver 的状态流程图见图 6。

6 - COG_Parallel_Driver 状态机的状态流程图

前 13 个状态控制显示屏的初始化过程。初始化状态包含以下操作:

  • 偏置电压控制设为 1/9 偏置
  • ADC 选择设为正常模式
  • COM 输出反向设为正常模式
  • 全点显示设为关闭
  • 显示起始线设为 X"40"(顶行)
  • 内部电压转换器设置为开启
  • 内部稳压器设置为开启
  • 内部电压跟随器设置为开启
  • 内置电阻比设置为6
  • 中值电压参考模式设置为X"81"
  • 参考电压电阻设置为X"09"
  • 显示屏设置为反显(用于反向显示设置)
  • 设置显示屏为开启状态

初始化后显示屏保持空闲状态,直到Data_FSM发出"write_en"信号这将使COG_Parallel_Driver状态机根据Data_FSM的RegSel信号状态,启动写入或命令周期模拟输出结果如下图所示7和8

7 - Aldec 测试平台清屏输出

图7展示了页面设置和列设置命令,以及用于清除每个显示页面的写入信号

8 - Aldec 测试平台显示 “Digi-Key” 输出

图8展示了用于构建"Digi-Key"字样的并行数据流Data_FSM可被修改定制,用于显示多行数据构建图形,或删除特定延迟段以准备新像素写入其他ROM文件可按照现有"Digi-Key"ROM相同方式加载设计中使用的引脚分配见图9

9 - MachXO2 引脚分配

功能、限制与修改

本教程使用Lattice Diamond 2.0.1版本开发,配合Synopsis(Synplify Pro for Lattice)和Aldec(Active-HDL Lattice Edition)软件Diamond也可作为独立开发环境,兼容第三方综合与仿真工具。

结论

本参考设计演示了如何使用Lattice MachXO2(PLD)驱动Newhaven玻璃芯片图形显示模块通过精心注释的示例,可轻松修改Data_FSM来驱动自定义显示数据

补充资料

更多设计支持、产品教程、应用说明、用户指南及其他文档可在Lattice官网上查阅:https://www.latticesemi.com/zh-CN

附录:下载资源

完整的《面向HMI应用的MachXO2 SPI外设扩展》VHDL文件可在此处下载。

COG_Parallel_Driver.vhd (18.6 KB)
Data_FSM.vhd (18.7 KB)
Chip_on_Glass_Top.vhd (6.6 KB)
chip_on_glass_top_tb.vhd (3.5 KB)