使用带有嵌入式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

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

据阿谱尔APO Research调研显示,2023年全球髓内钉市场销售额约为4.7亿美元

根据阿谱尔 (APO Research)的统计及预测,2023年全球髓内钉市场销售额约为4.7亿美元,预计在2024-2030年预测期内将以超过3.82%的CAGR(年复合增长率)增长。 髓内钉市场是指涉及髓内钉制造、分销和销售的行业。髓内钉是一种用于整形外科手术的医疗器械,用于稳定长骨骨折,特别是股骨、胫骨和肱骨。髓内钉通常由不銹钢或钛等材料制成,并插入骨的髓管中,以在愈合过程中提供结构支

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

vue+elementUI下拉框联动显示

<el-row><el-col :span="12"><el-form-item label="主账号:" prop="partyAccountId" :rules="[ { required: true, message: '主账号不能为空'}]"><el-select v-model="detailForm.partyAccountId" filterable placeholder="

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal