电子说
前言
2019年迪文推出了T5L系列芯片,同时还更新了针对它的第二代DGUS软件——因为大多数功能以及设置都与T5平台相通,所以T5L系列所使用的DGUS软件依然是第二代的范畴。
跟T5与K600+平台之间差别的情况不同,因为采用了相近的底层逻辑,所以T5平台上原先运行的UI工程很容易移植到T5L平台上,除了针对底图和图标文件做出对应更改,其他文件不需要做任何改动。这意味着现在正在使用T5平台的用户想要切换到T5L平台,将是一件非常容易的事情。
相对于T5和K600+(16bit色),T5L系列能支持24bit真彩色,如果拿T5L屏去做动态相册,照片完全不会因为位色的原因而失真。发展到现在,T5L系列芯片已经有了L0/L1/L2三个子型号,其中T5L2芯片最高已经可以支持1920*1080像素的全高清液晶显示画面,这是当前最主流的台式机电脑的显示器分辨率。而接下来将要推出的L3芯片,甚至可以支持高达4K的分辨率!
信息整理自迪文官网
DGUS是什么?
讲到这里,我们好像忽略了一个主角——DGUS软件。通常,嵌入式开发的显示平台需要图形人机界面的话有三种方式来获得。一是自己写代码手搓一个GUI界面,这个界面一般够用就行了,选择手搓的用户大概率也没有多余的硬件资源去跑复杂的GUI(因为囊中羞涩)。二是给公司的应用开发GUI,可能使用的是stm32系列的单片机,然后采用通用GUI软件比如TouchGFX来进行开发。而最后一种,就是串口屏公司会同时为自己的硬件做一套专用的GUI软件,好让用户快速开发人机交互界面,DGUS就属于第三种。
DGUS是DWIN Graphic Utilized Software的缩写,这是一个智慧型的图形界面的人机系统软件。它将GUI分解成了控件,并且按照页面去配置控件,这意味着跟传统的写代码开发图形界面不同,用户对于图形人机界面的开发将会是组态式的。也就是,整个开发过程将更加类似于做PPT,根本不需要你去写代码。GUI功能相关的基础代码,迪文公司已经将其封装成DGUS的GUI底层程序,烧录到T5L芯片的GUI核里面了。
用户能从DGUS上得到什么?
要回答这个问题,我们不妨以公司用户的角度来设想一下:
你是一个工程师,本来只需要负责MCU的开发,但是你的同事生病了,这段时间的紧急项目的GUI 开发工作需要你来顶替。尽管你也能做这项工作,但是看着产品经理和你“热切且友好交流”后更改的第N版需求和你做出来的第N+1版产品,还有堆积在你手上基本上没啥进展的MCU开发,你陷入了沉思……
你是一个产品经理,说服了老板,想要做一款带彩屏显示的酷炫咖啡机。尽管老板只批准了使用彩屏,没有批准你雄心勃勃的安卓屏计划,但你还是希望可以做出丝毫不逊色于安卓屏的显示效果。这之前一直合作已经有了同步率的GUI工程师其实做出来的东西距离这个要求只有亿点点差距了。可是他病了,你不得不跟代替他工作的工程师一起来完成这项工作。你每天都去跟新的工程师交流,但即便如此,GUI距离你的设想还相去甚远。最糟糕的是,老板已经频繁的催你了……
你是一个老板,咖啡机正是你们的一项主打产品。为了冲击高端市场,你同意了你产品经理的方案,给新一代产品加上彩屏,配合高端大气的面板与外壳,做出丝滑而酷炫的用户界面,更加富有上流的韵味。但是,两个月过去了,虽然PPT演示很美好,但你依然没有看到成品。随着时间的流逝,你找产品经理了解进度的频率逐渐提升到了一天一次。
这是一个比较极端的例子,但是事实上很多中小公司可能连这个例子的情况都做不到,并没有多余的熟练人手可以接手工作。一旦负责项目的工程师无法投入到这项工作中,那么大概率项目就黄了。那么就没有办法解决了吗?当然不是,DGUS正是可以解决这个问题的关键词。
假如项目从一开始就采用了装了DGUS的智能屏,因为DGUS是组态开发的,不用写代码,所以项目经理决定自己设计和完成GUI——除了底图让美工提供——实际上这也并不难学习,通过视频教学掌握要点之后,很快项目经理就完成了GUI工程,并且进行了测试。完美无瑕,这是一件艺术品,整个界面的运行和操作,真的让人觉得是在使用安卓系统,只是它还不能控制咖啡机外设。工程师则继续开发MCU程序,按照产品经理给的变量地址写代码让控制板的MCU从对应的地址读写数据,这跟往常的工作也没有太多不同。而老板,仅仅一个月就拿到了产品的样机,这个东西看上去真的很不错,不能说跟PPT一摸一样,只能说是完全一致,于是皆大欢喜。
而这一切都源于选择了DGUS平台做产品开发,它让工程师可以专心于写代码,整体项目开发更加高效;让产品经理可以直接参与GUI的制作,消除设想与落地之间的偏差;让老板可以更加放心,整个项目都在高速有效的运作,面市的时间完全可以把控。
突出的GUI性能
说了这么多,使用DGUS做的GUI究竟是什么样子的啊?有脾气暴躁的老哥可能忍不住了。稍安勿躁,下面我们可以先通过两张图片来了解一下:
DGUS屏将GUI拆分成了控件,通过在不同页面(底图)上设置控件组合来完成图形人界面的开发。那么,DGUS拥有哪些类型的控件就显得尤其重要了,因为控件越多能组合出来的功能自然也就越复杂。DGUS采用显示控件+触控控件的方式即可简单完成人机交互设计,控件之间的对应则采用变量地址来控制。
组合这两个控件,即可通过触摸屏来选中和取消,同时触控控件还能设置串口传输数据的功能,发送数据给控制板,点击即可制作对应的饮品。
通常想要在其他GUI软件上实现这个效果,我们需要对特定的区域进行图形填充,为了得到更高的帧率,可能还会用到2D图形加速来辅助。但在DGUS软件中,可以简单的通过这两个控件组合来实现。而提高帧率则只需要增加图标的数量即可,DGUS本身20ms的刷新速度完全足够支撑。想象一下在拥有100张进度条刻度图片的情况下连续调节时bar的动画效果。
现在的用户受到智能手机的影响越来越多,所以我们的产品界面如果能更进一步贴近用户的使用习惯可能会更加受到用户的喜爱。智能手机一大特征是可以滑动翻页,而借助这个滑动手势翻页的功能,用几张底图即可以做出手机那样的滑动翻页效果,而不必让客户像使用工控HMI一样,去点击返回按钮。
而在DGUS中,不仅有对应显示控件状态的变量地址(改变变量地址的值可以改变控件状态/显示内容),也有对应显示控件属性的描述指针,通过设置描述指针可以在整个工程运行中实时的变更显示控件的属性:移动位置,调整显示大小,调整显示亮度(颜色、透明度)……
与显示控件的交互方式,或者说与变量地址的交互方式,在DGUS平台上有三种。一种是通过触控控件,直接由人的操作来产生交互;一种是通过串口指令,由单片机发送数据到对用的便量地址产生交互;第三种是DGUS平台独有的,也是由它独特的双核结构带来的,通过用户OS核直接读写GUI核变量地址数据来产生交互。
第三种交互方式的存在,可以让用户在不增加MCU资源使用的情况下,仅仅利用DGUS智能屏本身就做出更加高效、酷炫的GUI效果来。比如电梯GUI,楼层数字的高亮和解除高亮变回半透明状态,实际上都是可以通过用户OS核直接修改图标显示控件的描述指针来实现的。这对于使用有限MCU硬件资源的用户而言意义非凡。
此外,迪文公司也基于DGUS组态软件推出了不少公版的UIC库文件给购买了T5L智能屏的用户使用,让一些没有UI设计能力的用户也可以用上好看的UI。
DGUS软件怎么入手?
前面说过了,DGUS软件是迪文专门针对自己的芯片开发的专用人机图形界面软件,所以用户想使用它来制作GUI的话,就只能选择购买DGUS智能屏或者是T5L芯片。但好在迪文的硬件总体来说还是不错的,值得一试。
全部0条评论
快来发表一下你的评论吧 !