基于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触发源。 |