2. PIC32图形HMI硬件平台选型

做一块图形HMI,最容易踩的坑不是写不出界面,而是硬件平台一开始就选错了。屏幕点不亮、刷新卡顿、图片加载慢、外扩存储读不出来,这些问题往往在选型阶段就已经埋下。本节把选型拆成一条可推导的链路:先由显示需求算出像素带宽,再由带宽反推图形控制器与PIC32型号,最后确定显示模组接口和外部存储器容量与类型。

一、先算清显示需求:分辨率、色深与帧率

选型的第一输入不是芯片型号,而是显示规格。分辨率决定每帧像素数,色深决定每像素字节数,帧率决定每秒要搬多少数据。三者相乘就是最关键的参数——像素带宽(Pixel Bandwidth)。

以常见的480×272(WQVGA)屏为例,RGB565色深即每像素2字节,60帧/秒时:480×272×2×60 ≈ 15.7 MB/s。若换成800×480(WVGA)屏,同样RGB565、60帧:800×480×2×60 ≈ 46.1 MB/s。若再升到1024×600、RGB888(3字节/像素)、60帧,则达到约110 MB/s。这个数字直接决定了你能否用PIC32内部的LCD控制器直驱,还是必须外挂图形控制器。

需要特别说明:上述数值是按“全屏每帧都重绘”估算的上限。实际HMI界面多为局部刷新,真实平均带宽可能只有上限的20%~40%。但选型必须按最坏情况留余量,否则动画或页面切换时会明显撕裂、掉帧。

二、PIC32型号分档与图形控制器选择

Microchip的PIC32产品线中,与图形HMI相关的主要有三类:

  • PIC32MX1/2系列:主频约40~50 MHz,无专用LCD控制器,通常用SPI接口驱动小尺寸屏(如240×320),靠软件刷屏。适合2.4~3.5英寸、低帧率、简单界面的场景。
  • PIC32MZ DA系列:内置2D图形控制器(GFX)和DDR2控制器,主频200 MHz,可直接驱动RGB接口TFT,支持多层合成、Alpha混合、硬件光标。适合480×272到1024×600的中高分辨率HMI。
  • PIC32MZ EF/EC系列:无内置LCD控制器,但主频高、外设丰富,常配合外部图形控制器(如SSD1963、RA8875)使用,适合中等分辨率、需要灵活接口的场合。

判断规则很简单:若像素带宽需求低于约20 MB/s,可考虑SPI屏+MX系列;若在20~80 MB/s,优先选PIC32MZ DA内置GFX;若超过80 MB/s或需要RGB888,则必须外挂图形控制器或选用更高阶方案。注意,内置GFX的PIC32MZ DA还支持从DDR2直接取帧,CPU负担小,这是它相对外挂控制器的核心优势。

PIC32图形HMI硬件选型决策链 ① 显示需求 分辨率:480×272 / 800×480 色深:RGB565 / RGB888 帧率:30 / 60 fps ② 像素带宽估算 BW = W×H×BPP×fps 480×272×2×60 ≈ 15.7 MB/s 800×480×2×60 ≈ 46.1 MB/s ③ 控制器与PIC32分档 <20 MB/s → SPI屏 + PIC32MX 20~80 MB/s → PIC32MZ DA (GFX) >80 MB/s → 外挂控制器 + MZ EF (按最坏情况留30%余量) ④ 显示模组接口 SPI:引脚少,速率低 8080并口:中等速率 RGB:高带宽,需时序匹配 MIPI DSI:PIC32原生不支持 ⑤ 外部存储器 帧缓冲:SDRAM / DDR2 资源存储:QSPI Flash / eMMC 字库/图片:外部SPI Flash 容量 = 帧数×单帧大小 + 资源 ⑥ 选型结论 芯片型号 + 控制器 + 屏接口 + 存储器 选型校验要点: • 帧缓冲容量:800×480×2B = 768 KB/帧,双缓冲需1.5 MB以上,PIC32MZ DA内置DDR2可满足 • 接口匹配:RGB屏需确认HSYNC/VSYNC/PCLK/DE时序与GFX输出兼容,避免花屏 • 存储余量:QSPI Flash建议预留≥30%空间用于固件升级与资源扩展

三、显示模组接口的匹配

显示模组接口决定了连接复杂度和可达带宽。SPI接口只需4~6根线,但受限于时钟频率(通常20~50 MHz),实际有效带宽往往只有几MB/s,适合小屏和静态界面。8080并口(8/16位)速率中等,常见于3.5~5英寸屏,需要较多IO。RGB接口是480×272以上屏的主流,需要PCLK、HSYNC、VSYNC、DE和16~24根数据线,必须由带LCD控制器的PIC32MZ DA或外挂控制器驱动。

选屏时要重点核对三件事:一是接口类型是否与所选控制器匹配;二是时序参数(PCLK周期、前后肩、同步脉宽)是否在控制器可配置范围内;三是背光类型和驱动电压,是否需要额外的升压电路。很多“点不亮”的问题其实出在背光或复位时序,而非数据通路。

四、外部存储器的容量与类型

帧缓冲是存储需求的大头。单帧大小 = 宽×高×每像素字节数。800×480、RGB565时单帧768 KB,若做双缓冲防撕裂,需要1.5 MB以上连续内存。PIC32MZ DA内置DDR2控制器,可外接16~64 MB DDR2,既做帧缓冲又做程序数据区,是较优选择。若用PIC32MX,则通常只能靠内部SRAM做小尺寸单缓冲,或外挂SDRAM但带宽受限。

资源存储方面,界面图片、字库、音频等建议放在QSPI Flash或eMMC中。QSPI Flash容量常见4~32 MB,读取速度可达40~80 MB/s,适合存放图片和字库;eMMC容量更大(GB级),适合需要存储日志、多语言资源或视频的场合。选型时按“资源总大小×1.3”估算容量,留出升级余量。

五、一个可复用的选型示例

假设目标是一块5英寸、800×480、RGB565、60 fps的HMI,界面含动画和图片切换。计算像素带宽约46 MB/s,属于20~80 MB/s区间,选PIC32MZ DA内置GFX。显示模组选RGB接口TFT,帧缓冲用外接DDR2(32 MB),资源存QSPI Flash(16 MB)。若预算紧张、帧率可降到30 fps,带宽降至23 MB/s,仍可用PIC32MZ DA,但可考虑降低色深或减少动画区域来进一步压缩需求。

选型时先按最坏情况算带宽,再留30%余量;帧缓冲容量按双缓冲计算;接口和时序必须逐项核对,不要只看分辨率数字。