[X]关闭
2

S02-CH35 基于μGUI的触摸屏GUI界面设计

摘要: 本例程通过开源的uGUI v0.3库设计了1个GUI界面,为该GUI界面设计了5个窗口,为每个窗口设计了标题、按键、文本、图片logo等元素,并给每个按键设定了相应的功能,如窗口间切换、LED灯控制、屏幕亮度调节等,并在1个 ...

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

35.1 概述

      很多工程师都在ZYNQ上做过LINUX相关的应用和开发,在ZYNQ运行LINUX操作系统,可以实现非常细致的GUI图形界面。用户可以通过鼠标、键盘等外部设备与操作系统通过GUI界面进行人机交互,与平时使用电脑的体验相当。

     但同时,也有很用户只涉及ZYNQ的裸机开发,那么在无操作系统支持的情况下,是否可以在裸机环境中构建一个GUI图形界面呢?

     答案是肯定的。本例程通过利用开源GUI库μGUI,在ZYNQ裸机环境下创建一组简单的GUI界面,并通过外部液晶触摸屏实现与ZYNQ的人机交互。本例程所涉及的应用知识点如下:

  • LCD触摸屏的使用原理
  • 移植开源μGUI库,利用API函数搭建一组GUI图形界面
  • 通过VDMA、AXI-S Video Out、VTC等IP实现GUI图形界面的显示
  • 通过定时器中断实现GUI界面的周期性刷新
  • 通过PS实现动态配置MMCM/PLL
  • 通过PS动态配置AXI PWM调节液晶屏亮度
  • 通过AXI GPIO检查触摸屏的中断信号
  • 通过I2C读取触摸屏的触摸信息
  • 通过PS设置Video Timing Controller显示分辨率
  • 设计GUI界面的动态变化机制,将触摸信息反馈至GUI界面后,GUI产生动态变化,形成人机交互。

     本章提供两个测试工程,分别是LCD屏的RGB接口uGUI工程和LVDS接口的uGUI工程。用户可使用RGB或LVDS中的任意接口实现基于μGUI的触摸屏GUI界面设计的功能。

35.2 基本原理

     本例程通过开源的uGUI v0.3库设计了1个GUI界面,为该GUI界面设计了5个窗口,为每个窗口设计了标题、按键、文本、图片logo等元素,并给每个按键设定了相应的功能,如窗口间切换、LED灯控制、屏幕亮度调节等,并在1个窗口中设计了绘图功能。然后,将设计的GUI窗口通过触摸屏显示。用户通过按下触摸屏中所显示的窗口对应的按键位置,便可以实现该按键所设定的相应功能,从而实现人机交互。

35.3 LCD 触摸屏

      LCD触摸屏由LCD液晶屏和触摸屏两部分组成,其中LCD液晶屏用于画面显示,触摸屏用于实现触摸控制。本例程中所使用的是微雪公司的7寸LCD电容触摸屏,如下图所示。

35.3.1 液晶屏

      液晶屏为1024×600分辨率,这个分辨率不常用,在网上很难找到统一的标准。在该液晶屏HJ070NA-13A的手册中可以找到此液晶屏在该分辨率下的时序要求,如下图所示。

      本例程采用了51.2MHz像素时钟所对应的参数设置。液晶屏的驱动方法与显示器类似,通过时钟,行、场同步信号,数据有效信号来完成,此处不作赘述。

      要使液晶屏正常显示,背光源使能信号DISP要拉高,通过调节PWM的占空比可以改变背光源的亮度。该液晶屏的PWM为负极性,即低电平占空比越高,背光源越亮,PWM信号的频率范围为100Hz~200KHz。

35.3.2 触摸屏

      触摸屏为电容屏,采用了FT5206作为主控芯片,支持5点触控。触摸屏与ZYNQ的接口如下图所示。

35.3.3 触摸屏唤醒

      在触摸屏与ZYNQ的接口中,WAKE信号为低电平有效,ZYNQ通过拉低WAKE信号若干毫秒,再将其拉高来唤醒FT5206芯片,当触摸屏正常工作时WAKE信号应恒为高电平。如下图所示。

35.3.4 触摸中断

      INT信号也为低电平有效。当手指触摸电容屏时,INT信号会以固定频率(默认为60Hz)脉冲信号的形式输出,当手指离开电容屏,INT信号重新恢复高电平,如下图所示。

35.3.5 触摸信息获取

       每当INT变为低电平时,ZYNQ就立即通过I2C接口读出FT5206芯片内部记录的触摸坐标信息,完成一次触摸响应。

      FT5206芯片I2C接口作为slave从设备,最高速率为400KHz,I2C地址为0x38。这里补充说明一点,关于I2C地址芯片datasheet中作了如下图所示的描述,笔者在搜集到的关于FT5206的资料中均未能找到关于I2CCON register的说明。后来,通过网络搜索发现使用过该系列芯片的记录中,所提到的I2C地址均为0x38,笔者通过尝试得到了验证。

      FT5206芯片通过一系列寄存器记录与触摸相关的信息。相关寄存器如下图所示。


    其中,TD_STATUS寄存器记录


路过

雷人

握手

鲜花

鸡蛋
发表评论

最新评论

引用 imuuuqcg 2023-7-17 18:47
怎么下载Pdf
引用 之舟 2023-3-16 18:40
请问这个有源码吗?

查看全部评论(2)

本文作者
2019-9-9 16:28
  • 1
    粉丝
  • 10262
    阅读
  • 2
    回复

关注米联客

扫描关注,了解最新资讯

联系人:汤经理
电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼201B
热门评论
排行榜