使用带有嵌入式GPU的MCUs来充分利用基于显示的用户界面---凯利讯半导体

本文主要是介绍使用带有嵌入式GPU的MCUs来充分利用基于显示的用户界面---凯利讯半导体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  所有类型的嵌入式系统正在变得更加连接和以数据为中心,以至于终端用户期待图形,指标甚至分析的高分辨率,全彩显示。用户界面的简单旋钮和拨盘的日子正在快速消失。

  对于那些为复杂的嵌入式系统而设计的设计人员,为最终用户提供简单直观的设计,同时也让它们在美学上令人愉快,需要仔细思考许多后端设计问题和权衡。以解决方案为例。

  高分辨率转化为通常是低功率系统的更高功耗。除了最大限度地减少功耗外,设计师还需要考虑空间,成本和上市时间问题,同时选择最佳屏幕技术并相应地配置系统。

  在许多情况下,嵌入式工程师没有使用LCD屏幕的经验,很少嵌入式程序员设计了图形用户界面(GUI)。那么这些开发人员应该如何在经常紧张的时间,预算和空间限制下对其产品进行现代化?

  堆叠人机界面问题对于最终用户,图形界面应该是直观的。对于它的开发人员来说,这是什么。有吸引力和可用的界面在现场设计,校准和部署将非常困难。除了有时非直观的硬件问题之外,还有一个问题是设计界面本身的图形方面。应该如何呈现数据?指标应该有多大?在明亮的日光和昏暗的条件下,显示器是否同样可见?显示器应该快速更新还是应该呈现用户可以轻松找到的静态内容?应将实时信息呈现为“虚拟测量仪”或拨号,还是以数字,条形图或颜色表示?所有这些设计决策 - 以及更多 - 这些设计决策 - 快速向自己展示了经常强调和缺乏经验的开发人员及其团队。

  从硬件开始似乎足够逻辑。显示尺寸,颜色支持和解决方案等决策通常由营销团队做出决策,而不是必须处理影响的设计工程师。如果营销部门规定液晶显示屏应在一边测量5英寸,并支持1600万种颜色,则开发人员必须这样做。加剧情况,关于屏幕尺寸,形状和能力的决策将在产品开发的整个生命周期内改变多次。

  好消息是,LCD屏幕有很多选择:世界各地的几家制造商都提供不同形状,尺寸和颜色深度的产品。坏消息是LCD屏幕有很多选择:不同的制造商使用不同的接口时序,电压电平,内存分配和光栅扫描方案。接口选项令人迷惑,大多数第一次LCD用户将尝试将选择范围缩小到一个供应商的产品,以最大限度地减少选项的扩散和混乱的程度。

  大多数微处理器和微控制器都没有内置的LCD控制器,所以选择兼容的控制器提出了另一个设计挑战。控制器芯片是否支持优惠的液晶显示屏,还会支持不可避免的下一代显示器吗?增加(或营销驱动的设计更改)的空间有多少目前的硬件支持,以及更新/升级到下一次迭代有多困难?

  一旦硬件被选中,现在是进行软件开发的时候了。编程GUI是相同的部分艺术和科学。它需要看起来很好,像按钮和拨号一样有效,它被替换,并且是可靠的。在屏幕上移动像素可能比看起来更难,简单的二维“平面”显示器看起来并不诱人。

  今天的色彩接口需要“哇”客户,即使在工业环境中也是如此。丰富的色彩调色板,清晰地限定的曲线和形状,精确的颜色表示,微妙的阴影,和重叠的元件都是平常的一个现代GUI。不要让昂贵的工业控制器比99美元的Android平板电脑更不美观。

  硬件设计由数字随着LCD屏幕和图形显示器变得越来越受欢迎和苛刻,对它们的硬件支持也越来越广泛。独立的LCD控制器是随时可用的,某些微控制器(MCU)芯片甚至配有内置的LCD控制器。现在可以将单片机,LCD控制器和所需的外设设计在一个单芯片系统中。

  这是Microchip Technology最新的PIC32MZDA系列微控制器。尽管Microchip PIC32系列已经存在了数十年,但是--MZDA变体是新的,而且该系列中唯一的器件包括LCD控制器,模拟外设,以太网,最显着的是片内DRAM所需的器件整个LCD屏幕内部的缓冲区本身。

  独立的MZDA系列MCU使设计人员能够在单个芯片中几乎将所有需要的硬件进行打包。LCD显示器本身可能大于控制它的电路板(图1)。

  

  图1:典型的PIC32MZ-DA MCU系列具有32位MIPS处理器内核,带图形引擎的LCD控制器,串行和模拟接口,可选的加密加速以及高达32 MB的DDR2内存,用于图形存储。(图片来源:凯利讯半导体)

  MCU内部的LCD控制器非常灵活,几乎支持任何LCD屏幕。这对于首次使用液晶显示屏的用户以及预计设计变更的人员来说是一个福音。大多数液晶显示屏具有精确的时序要求,它们从一个屏幕到另一个屏幕不同,从一个制造商到另一个制造商。

  为了简化这些接口要求,Microchip提供了一个简单的软件配置工具,可以根据本书“LCD定时配置”进行设计。设计人员只需从LCD屏幕的数据表中输入几个关键参数,其余工作(图2)。没有批准的制造商的下拉列表或支持的屏幕分辨率,并且不需要下载相应的驱动程序。

  

  图2:Microchip的显示管理器是用于其MPLAB IDE的软件插件,可根据简单的数据表参数自动生成LCD屏幕的驱动程序支持。(图片来源:凯利讯半导体)

  如果LCD尺寸,分辨率,颜色深度,制造商或规格有变化,设计人员可以简单地输入新的数字,MCU驱动新屏幕。理论上,即使是未生产的新的或尚未知的LCD屏幕也可以被支持,这使得它成为面向未来的LCD控制器。

  片上DRAM高分辨率和丰富的色彩深度转化为大屏幕缓冲存储器的要求。开发人员只为屏幕缓冲区预留10到20兆字节或更多,这不算数,而不是系统的代码,堆栈和数据空间。这意味着一对外部DRAM或SRAM,以及所有数据,地址和控制引脚。当然,高频切换外部引脚也会消耗能量。最后,外部RAM将系统暴露给黑客和逆向工程,因为所有数据必须在外部引脚上“清楚”地运行,因为LCD控制器不能即时加密/解密数据。

  Microchip的-MZDA系列通过在MCU本身内封装16或32兆位DDR2(DRAM)存储器来回避所有这些问题。这将保持数据覆盖(字面上),大大减少引脚数量,并降低功耗。它还使片上LCD控制器性能提升,因为它的帧缓冲区现在坐在几米远的地方。

  该芯片不限于片上DRAM。如果设计师觉得32兆字节还不够,那么与其他MCU一样,它们可以扩展高达128兆字节外部DRAM的容量。当然,片上和片外存储器也可用于代码存储,数据,堆栈或程序员期望的任何其他用途。

  使用这么多帧缓冲区,-MZDA设备可以在水平(横向)或垂直(纵向)方向上支持高达1280 x 1024(SVGA)和24位颜色(“真彩色”)的分辨率。

  高分辨率,结合丰富的色彩深度,意味着--MZDA设备可以准确地表示公司标志,渲染微妙的阴影,显示照片或照片写实的图像,或匹配字体样式。控制器还支持精灵,图像缩放,透明度,卷积,图像旋转,缩放等。在很大程度上,效果只受程序员的想象力的限制。

  软件支持简化了图形实现Microchip意识到许多客户从来没有设计过GUI,Microchip提供了一个免费的图形设计工具,即图形制作工具(图3)。它允许开发人员在其PC上创建,编码和模拟其LCD显示。(由于即使大型1280 x 1024液晶显示屏比一般PC屏幕小,整个显示屏也能轻松实现。)

  

  图3:Microchip的MPLAB Harmony Graphics Composer软件允许开发人员在实际硬件可用之前设计和模拟其GUI。(图片来源:凯利讯半导体)

  Graphics Composer允许开发人员对所选择的LCD显示屏进行原型和实验,或者对他们可能使用的替代显示进行实验。看起来好像这样还是那样呢?营销部门是否喜欢这些图标?甚至可以用来与客户进行A / B测试,以查看他们喜欢的GUI选项。

  自然地,编程嵌入式GUI比管理LCD本身更多。还有MCU的处理器及其外设功能。Microchip的MPLAB编程环境也受到广泛的关注。MPLAB涵盖了公司使用相同桌面环境的每个PIC微控制器。更改芯片就像点击不同的配置选项一样简单。编译器,调试器和其他工具都保持不变。

  硬件入门套件Microchip提供两个评估板和一个用于-MZDA的显示板。两个评估板几乎相同。一个,DM320010依赖于MCU的内部DRAM,另一个,DM320008支持外部128兆DDR2内存。附带的插卡子卡增加了以太网PHY和连接器。USB接口包含在基板上,以及测试接头和电源连接。包装中还包括CAT5和USB电缆。两个板都可以使用或不使用MCU的片上加密加速功能,共有四个排列(图4)。

  

  图4:Microchip的PIC32MZDA MCU系列的DM320010评估板包括微控制器本身,以太网和USB接口,(可选)支持加密加速。(图片来源:凯利讯半导体)

  该48页的用户指南是免费下载的Microchip 公司的MPLAB开发软件的免费版本,包括示例代码,驱动程序,加密库,演示应用程序,外设代码,TCP / IP协议栈和文档。

  所述DM320005-5多媒体扩展板II完成集合,加入4.3英寸的液晶,VGA相机,802.11 B / G(的Wi-Fi)的无线模块,蓝牙,音频编解码器,等等。它直接插入DM3200xx开发板,所以在两者之间,一个开发人员有他们需要开始的一切(图5)。

  

  图5:Microchip的DM3200055-5多媒体扩展板II是一款现成的液晶显示器,与公司新的-MZDA微控制器的新型DM3200xx开发板兼容。(图片来源:凯利讯半导体)


  结论

       毫无疑问,新的,嵌入式的互联网连接的设备正在蓬勃发展,他们正在获得图形升级,使其更具吸引力和更灵活。这需要一个全新的设计范例,许多经验丰富的嵌入式设计师和程序员无法处理。时间表和预算也是一样紧张,但工作要求刚刚改变。

  Microchip的PIC32MZDA系列低成本MCU提供了一个硬件和软件包,可帮助开发人员快速,轻松地为下一代人机界面融合全彩色,高分辨率,高吸引力的接口。

这篇关于使用带有嵌入式GPU的MCUs来充分利用基于显示的用户界面---凯利讯半导体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948726

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安