设备要一块 7 寸或 10 寸屏、要动画流畅,但又不想背上 Linux 的开发和维护成本时,选型通常落在带显示控制器的高性能 MCU 和跨界 MCU 之间。分界线其实很硬:帧缓存放不放得进片内 RAM,以及这颗芯片有没有显示控制器和外部 SDRAM 接口。本文用 STM32F429IGT6、STM32F407VGT6、MIMXRT1062DVL6A 与 LPC1768FBD100 把这条线画出来。
先算帧缓存,再看芯片有没有显示控制器和外部 SDRAM 接口。一块 800×480 的屏按 16 位色算,单缓冲就要 750KiB;1024×600 要 1200KiB。这两个数字往片内 RAM 上一套,绝大多数 MCU 立刻出局,问题就变成了“能不能外挂 SDRAM”。
意法半导体在显示控制器的应用笔记里给了公式:帧缓存大小等于像素数乘以每像素位数。同一份资料还说明了两件事:帧缓存的色深不必和屏的色深一致;做双缓冲时容量要翻倍,而双缓冲是常见做法——一块存当前画面,另一块准备下一帧。最关键的一句是:如果片内 RAM 不够放帧缓存,就必须外接 SDRAM、SRAM 或 PSRAM。
按这个公式算几档常见的工业屏。下表是 16 位色(RGB565,每像素 2 字节)的结果,属于按公式的算术推导,不是厂家给的指标。
| 分辨率 | 像素数 | 单缓冲 | 双缓冲 |
|---|---|---|---|
| 480×272 | 130,560 | 255 KiB | 510 KiB |
| 800×480 | 384,000 | 750 KiB | 1,500 KiB |
| 1024×600 | 614,400 | 1,200 KiB | 2,400 KiB |
把这三个数字对到具体芯片上,结论就出来了:STM32F429 的片内 RAM 是 256KB,800×480 单缓冲都放不下,必须外挂 SDRAM;跨界 MCU 那颗片内有 1MB,800×480 单缓冲刚好塞得进去,但一上双缓冲或者换成 1024×600 就又要外挂了。
STM32F429IGT6 是这几颗里最对口的一颗:Cortex-M4 跑到 180MHz,1MB 片内 Flash,带 LCD-TFT 控制器,分辨率可编程、像素时钟最高 83MHz,还带 Chrom-ART 二维图形加速。外部存储走 FMC,数据总线 8/16/32 位可选,支持 SRAM、PSRAM 和 SDRAM,同步访问最高 90MHz。它没有 QSPI,所以代码是从片内 Flash 跑的。
STM32F407VGT6 常被当成同一档,实际上做不了这件事。它没有 LCD-TFT 控制器,没有 Chrom-ART,而且它的 FSMC 支持 SRAM、PSRAM、NOR 和 NAND,唯独不支持 SDRAM——也就是说想外挂帧缓存都挂不了。它适合做不带图形界面的控制类板子。
MIMXRT1062DVL6A 是恩智浦所说的跨界 MCU。它最显眼的一点是没有片内程序 Flash,片上只有 128KB 的引导 ROM 和 1MB 的 RAM,代码放在片外串行 Flash 上,通过 FlexSPI 直接在片外执行,也可以由引导 ROM 搬到片内 RAM 再跑。恩智浦在白皮书里解释过为什么这么做:在先进制程上嵌入 Flash 既贵又难,去掉片内 Flash 不但降成本,还让芯片能跑到更高频率。这颗跑 600MHz,带 eLCDIF 并行 RGB 显示控制器和 PXP 二维加速,外部存储走 SEMC,支持 8/16 位 SDRAM。
LPC1768FBD100 放在这里是作反例。Cortex-M3 跑 100MHz,512KB Flash、64KB RAM,既没有任何显示控制器,也没有外部存储控制器。同系列里带这两样的是 LPC1788,不是它。图形界面这条路在它身上硬件层面就不成立。
| 料号 | 厂家 | 内核与主频 | 片内 Flash/RAM | 显示与 2D 加速 | 外部存储接口 | 工作温度 |
|---|---|---|---|---|---|---|
| STM32F429IGT6 | 意法半导体 | Cortex-M4 180MHz | 1MB/256KB | LTDC 加 Chrom-ART | FMC,支持 SDRAM,同步 90MHz | −40~+85℃(环境温度) |
| STM32F407VGT6 | 意法半导体 | Cortex-M4 168MHz | 1MB/192+4KB | 都没有 | FSMC,不支持 SDRAM | −40~+85℃(环境温度) |
| MIMXRT1062DVL6A | 恩智浦 | Cortex-M7 600MHz | 无片内 Flash/1MB | eLCDIF 加 PXP | SEMC,8/16 位 SDRAM;FlexSPI 可片外执行 | 0~+95℃(结温) |
| LPC1768FBD100 | 恩智浦 | Cortex-M3 100MHz | 512KB/64KB | 都没有 | 无外部存储控制器 | −40~+85℃(环境温度) |
恩智浦自己的说法是:跨界处理器是用 MCU 内核做出来的应用处理器,既要有应用处理器的性能和功能,又要保留传统 MCU 的易用性和实时低功耗特性。白皮书里还有一段直接讲到了本文的题目——跨界处理器让 MCU 客户能够在保持现有工具链的前提下,把性能提升到应用处理器的水平,而不必为产品设计周期额外增加 Linux 或其他高级操作系统的开发时间、成本和复杂度。
这段话值得原样转给客户看。它说明选跨界 MCU 的理由不是“比 MCU 快”,而是“在不引入 Linux 的前提下把性能顶上去”。如果团队本来就有 Linux 的人手和维护能力,那这条理由就不成立,直接上应用处理器可能更合适。
意法半导体提供 TouchGFX,官网上写明是为 STM32 优化的图形界面,免费提供,覆盖 Cortex-M0+/M3/M4/M33/M7。另外官网上的 emWin 页面是合作伙伴的商业产品,授权方式写的是商业授权加试用版,要用得先和对方谈授权。
恩智浦提供 GUI Guider,官网写明对恩智浦的通用 MCU 和跨界 MCU 免费使用,底层用的是开源的 LVGL 图形库,支持设备清单里明确列了 i.MX RT1060。选型时把这一块一起算进去——图形栈的授权方式和上手成本,有时候比芯片本身的差价更影响项目进度。
这一条务必注意。意法半导体这两颗标的是环境温度,−40 至 +85℃;而 MIMXRT1062DVL6A 订货码里的 D 是消费级,标的是 0 至 +95℃ 的结温。环境温度和结温不是同一个量,不能直接比大小,更不能因为看到“+95℃”就以为它比 +85℃ 的那两颗更耐热。
要工业宽温就得换订货号:i.MX RT1062 的工业档是 −40 至 +105℃ 的结温,但主频从 600MHz 降到 528MHz;另有一档扩展工业级是 −40 至 +125℃ 结温,封装也跟着变。意法那两颗则有后缀 7 的版本,对应 −40 至 +105℃。这几处都藏在订货号里,报价单上很容易被抹掉。
供货承诺这一项两家给的力度不一样。意法半导体这两颗在官网上能查到明确的十年长期供货承诺;恩智浦的产品长期供货计划名单里没有列出 i.MX RT 系列和 LPC17xx,所以不要按“十年供货”去承诺这两颗,要供货期就直接向原厂或代理书面确认。
以上料号都在晟雅泰在售清单内。如果你正在定一块带屏设备的主控,把屏的分辨率和接口、要不要双缓冲、工作温度范围,以及团队有没有 Linux 维护能力告诉我们,可以直接算出帧缓存需求并给出对应的在售料号与外挂内存方案。工作日 24 小时内给报价。
本文出自 SUNTEC 晟雅泰(苏州晟雅泰电子有限公司)技术团队。
多数不够。按原厂公式,帧缓存等于像素数乘每像素位数,800×480 按 16 位色算单缓冲是 750KiB,双缓冲 1500KiB。STM32F429IGT6 片内只有 256KB,必须外挂 SDRAM;MIMXRT1062DVL6A 片内有 1MB,单缓冲刚好放得下,但上双缓冲或换 1024×600 就要外挂。
做不了并行 RGB 屏。它没有 LCD-TFT 控制器,也没有 Chrom-ART 二维加速,而且它的 FSMC 支持 SRAM、PSRAM、NOR 和 NAND,唯独不支持 SDRAM,想外挂帧缓存也挂不了。同一代里要做图形界面应该选带 LTDC 的型号,例如 STM32F429。
放在片外串行 Flash 上。MIMXRT1062 片上只有 128KB 引导 ROM 和 1MB RAM,通过 FlexSPI 可以直接在片外 Flash 上执行,也可以由引导 ROM 把代码搬进片内 RAM 再运行。恩智浦的解释是:在先进制程上嵌入 Flash 成本高、难度大,去掉之后既降成本又能跑到更高频率。
不是,两者不是同一个量。恩智浦这颗订货码里的 D 是消费级,0 至 +95℃ 指的是结温;意法那两颗标的是环境温度 −40 至 +85℃。要工业宽温得换订货号:i.MX RT1062 的工业档是 −40 至 +105℃ 结温,但主频从 600MHz 降到 528MHz。
现有 MCU 没有 CAN FD 时,有两条路:通过 SPI 外挂 Microchip MCP2518FD-H/SL,或者换成片内带 CAN FD 控制器的 ST STM32G431CBT6、NXP S32K144HFT0VLLT。本文对比两条路线的通道数、速率、供电与温度,并说明 MCP2515-I/SO 只做经典 CAN、TJA1057GT 收发器的 5V 供电限制。
阅读全文 Read more →工控网络、汽车/储能 BMS 与高性能边缘设备的 MCU 需求不同,不能仅按主频或内核名称选料。本文参考晟雅泰官网列出的 NXP LPC1768FBD100、S32K144HFT0VLLT、MIMXRT1062DVL6A,建立项目初筛与核验清单。
阅读全文 Read more →工控通信不是简单地在“485 芯片”和“CAN 芯片”之间比价,而是先根据控制器电平、两线或四线布线、是否需要双向同时通信和既有网络协议确定路线。本文以 TI SN75176BP、ADI MAX3485ESA、ADI MAX490ESA 与 NXP TJA1040T 为例,给出 RS-485、RS-422 与 CAN 的项目分层建议,并说明新项目选型应提交哪些条件。
阅读全文 Read more →