Microchip PIC32 Graphic在智能家居中的应用

随着人们对家居安全性、便利性、舒适性、艺术性等居住环境要求的提高,及物联网技术的发展,智能家居逐渐成为未来家居生活的发展方向。各家居的用户界面也发生了巨大的变化,原来的指示灯、数码管等家电显示已不能满足智能家居的要求,中小型LCD面板、触摸彩色图形显示已成为必不可少的一部分。

 

LCD图形显示解决方案:

 

Microchip提供一项技术可利用一种日趋流行的低成本无控制器解决方法:32位PIC32单片机凭借其业界领先的性能,使用外设创建一个 “虚拟”图形控制器来进行图形绘制,且不会占用大量CPU时间,可以直接驱动LCD,免除了外部图形控制器的成本和复杂性(如图1所示)。

图1 PIC32单片机直接驱动LCD简图

 

PIC32 Graphic在智能家居的应用:

 

硬件实现原理:

 

一般来说,无控制器图形系统需要以特定速率向显示屏发送一帧的像素信息。刷新率通常为60 Hz左右。要实现这一点,系统必须不断向LCD面板发送帧数据。初看之下,该任务似乎会占用MCU中的大部分CPU时间。但是,对于含有用于数据传输的直接存储器访问(Direct Memory Access,DMA)外设的PIC32 MCU,情况则并非如此。

 

该DMA外设可将数据从一个位置传输到另一个位置,可直接向显示屏渲染图形,实现“虚拟”图形控制器而无需CPU干预,只需要不到5%的CPU时间。在无控制器图形方法中,DMA 设置为每次通过并行主端口(Parallel Master Port,PMP)传输一行帧数据。每行都包含许多像素。DMA在一次传输过程中发送帧缓冲区的一部分。PMP或定时器中断请求用于在传输一行数据前触发下一次DMA传输。在含有非持续中断的PIC32器件中,使用定时器作为DMA触发源。在数据传输过程中,PMP在每次像素传输后选通读或写信号。PMP外设的读/写选通信号用作显示屏的像素时钟。传输每行像素数据之后,CPU将被DMA中断,LCD面板所需的特定定时信号(例如,HSYNC、VSYNC和DEN)将更新。此过程将不断重复,直到整个帧绘制完毕为止。帧存储在易失性存储器中,因此图像可以是动态的。在本设置中,使用SRAM存储器。该配置是无控制器图形系统的基础。系统可设置为使用内部SRAM存储器或外部SRAM存储器。

 

在智能家居设计初期,可以使用PIC32MX795F12L器件的入门工具包(DM320001)、LCC图形板(AC164144)及可配套使用的QVGA触摸屏或WQVGA触摸屏,设计图形显示界面。PIC32MX795F12具有高达512KB闪存和128 KB RAM,这给开发人员在设计应用程序代码、通信协议栈和数据缓冲时提供了充足的空间。

 

软件设计:

 

由于Microchip提供功能强大的图形库,可视图形显示设计器(VGDD),图形资源转换器,图形PICtail™ Plus显示屏等,可快速方便地创建GUI,节省开发时间和成本。

 

本应用将GDD X工具与MPLAB®X IDE配合使用来创建智能家居嵌入式图形应用程序。在MPLAB®X IDE新建工程,工程中打开GDD X工具进行图形界面设计,生成代码,然后在代码中进行硬件配置,添加界面显示外的功能程序。

 

在智能家居主控制器显示中,图形显示主界面提供大多数用户可能最想经常看到的高级信息,以及设计直观的菜单供选择,文字结合图形显示,让用户能快速获取所需的信息,如图2所示。

 

 

图2 智能家居主显示界面

 

GDD X工具提供的丰富的控件使的设计变得更加丰富,如进度条控件可以直观得表示家用电器功能的完成情况,仪表盘控件可以让空调的温度显示更美观。

 

图形库与32位PIC® MCU配合使用,可以模块化设计,仅编译您想要编译的。支持最多24 bpp颜色深度,支持梯度、透明、alpha混合及渐变,随我们的低成本、全功能开发工具提供了演示源代码,对于Microchip客户免费,包含源代码,包含多个显示控制器驱动程序,使得产品设计更简单灵活,大大缩短可开发时间,让设计变得更加容易。

 

其他扩展功能:

 

除了图形功能之外,PIC32® MCU还集成了用于USB、CAN、以太网和电容触摸传感的外设,可以实现联网、升级、优盘中图片和音乐读取等,更加体现PIC32® MCU在智能家居的完美应用。