基于Microchip PIC32 Graphic 实现智能家居图形化嵌入式应用
随着人们对家居安全性、便利性、舒适性、艺术性等居住环境要求的提高,及物联网技术的发展,智能家居逐渐成为未来家居生活的发展方向。各家居的用户界面也发生了巨大的变化,原来的指示灯、数码管等家电显示已不能满足智能家居的要求,中小型LCD面板、触摸彩色图形显示已成为必不可少的一部分。
LCD图形显示解决方案
目前LCD图形显示解决方案主要由CPU、图形控制器和LCD屏组成。而作为系统的一部分的图形控制器种类很多,如有集行、列驱动器和控制器于一体的、内置控制器型图形液晶显示驱动控制器;带显示存储器的、内置控制器型图形液晶显示列驱动控制器;具有四个方向光标移动、更适合于作图的外配控制器型液晶显示模块的控制器等。
然而,随着对智能家居中图形化嵌入式应用的需求越来越普遍,要求开发经济高效的解决方案的呼声也日益高涨。当今许多公司提供的解决方案包括一个附加的内部或外部图形控制器作为系统的一部分,这可能使成本更高及设计更复杂。多数情况下,对于简单的嵌入式图形用户界面,这些图形控制器不是必需的,但也可能无法找到合适的解决方案。
Microchip提供的一项技术可利用一种日趋流行的低成本无控制器解决方法:32位PIC32单片机凭借其业界领先的性能,使用外设创建一个“虚拟”图形控制器来进行图形绘制,且不会占用大量CPU时间,可以直接驱动LCD,免除了外部图形控制器的成本和复杂性(如图1所示)。
图1:PIC32单片机直接驱动LCD简图
PIC32 Graphic在智能家居的应用
硬件实现原理:一般来说,无控制器图形系统需要以特定速率向显示屏发送一帧的像素信息。刷新率通常为60Hz左右。要实现这一点,系统必须不断向LCD面板发送帧数据。初看之下,该任务似乎会占用MCU中的大部分CPU时间。但是,对于含有用于数据传输的直接存储器访问(Direct Memory Access,DMA)外设的PIC32 MCU,情况则并非如此。
图2:智能家居主显示界面
该DMA外设可将数据从一个位置传输到另一个位置,可直接向显示屏渲染图形,实现“虚拟”图形控制器而无需CPU干预,只需要不到5%的CPU时间。在无控制器图形方法中,DMA设置为每次通过并行主端口(Parallel Master Port,PMP)传输一行帧数据。每行都包含许多像素。DMA在一次传输过程中发送帧缓冲区的一部分。PMP或定时器中断请求用于在传输一行数据前触发下一次DMA传输。在含有非持续中断的PIC32器件中,使用定时器作为DMA触发源。
[page]
在数据传输过程中,PMP在每次像素传输后选通读或写信号。PMP外设的读/写选通信号用作显示屏的像素时钟。传输每行像素数据之后,CPU将被DMA中断,LCD面板所需的特定定时信号(例如,HSYNC、VSYNC和DEN)将更新。此过程将不断重复,直到整个帧绘制完毕为止。帧存储在易失性存储器中,因此图像可以是动态的。在本设置中,使用SRAM存储器。该配置是无控制器图形系统的基础。系统可设置为使用内部SRAM存储器或外部SRAM存储器。
在智能家居设计初期,可以使用PIC32MX795F12L器件的入门工具包(DM320001)、LCC图形板(AC164144)及可配套使用的QVGA触摸屏或WQVGA触摸屏,设计图形显示界面。PIC32MX795F12具有高达512KB闪存和128KB RAM,这给开发人员在设计应用程序代码、通信协议栈和数据缓冲时提供了充足的空间。
软件设计:由于Microchip提供功能强大的图形库、可视图形显示设计器(VGDD)、图形资源转换器、图形PICtail Plus显示屏等,可快速方便地创建GUI,节省开发时间和成本。
本应用将GDD X工具与MPLAB X IDE配合使用来创建智能家居嵌入式图形应用程序。在MPLAB X IDE新建工程,工程中打开GDD X工具进行图形界面设计,生成代码,然后在代码中进行硬件配置,添加界面显示外的功能程序。
在智能家居主控制器显示中,图形显示主界面提供大多数用户可能最想经常看到的高级信息,以及设计直观的菜单供选择,文字结合图形显示,让用户能快速获取所需的信息,如图2所示。如果选择每个菜单将进入各功能的主控界面。如选择照明菜单下后,将显示客厅、餐厅等照明的情况和操作界面。又如选择电器菜单则进入到冰箱、洗衣机、空调、电视等各种电器的选择。并在各界面添加返回主屏幕的便捷键。
GDD X工具提供的丰富的控件使的设计变得更加丰富,如进度条控件可以直观得表示家用电器功能的完成情况,仪表盘控件可以让空调的温度显示更美观。
图形库与32位PIC MCU配合使用,可以模块化设计,仅编译用户想要编译的。支持最多24 bpp颜色深度,支持梯度、透明、alpha混合及渐变,随我们的低成本、全功能开发工具提供了演示源代码,对于Microchip客户免费,包含源代码以及多个显示控制器驱动程序,使得产品设计更简单灵活,大大缩短可开发时间,让设计变得更加容易。
其他扩展功能:除了图形功能之外,PIC32 MCU还集成了用于USB、CAN、以太网和电容触摸传感的外设,可以实现联网、升级、优盘中图片和音乐读取等,更加体现PIC32 MCU在智能家居的完美应用。
结束语
本应用采用Microchip公司推出的32位PIC32系列产品,利用内置DMA外设和PMP外设实现“虚拟”图形控制器来进行图形绘制,实现对智能家居中图形化嵌入式应用。使得产品设计更简单灵活,性能更加稳定。总的来说,该设计用较少的器件完成了多功能的智能家居显示,缩短了客户开发时间,同时延长了产品寿命。因此,该方案是应用灵活、可靠性高、成本要求高的智能家居显示的最佳选择。
本文由大比特资讯收集整理(www.big-bit.com)
暂无评论