简介:AMT630H数据手册面向从事屏驱开发、嵌入式硬件与单片机应用的工程师,尤其适合使用STM32、ARM架构平台进行高清显示控制器选型与调试的读者。该芯片属AMT系列第三代产品,内核为Cortex-A5,主频最高500MHz,内置32MB DDR SDRAM,可解码1280×720@30fps的JPEG/MJPEG视频,并支持8位ITU656/ITU601视频输入。手册详细介绍了2D图形加速器的坐标与格式转换、颜色空间转换、图像滤波插值、Alpha混合、覆盖ROP及90/180/270度旋转与镜像功能,同时涵盖双显示层色彩格式、内置TCON时序控制器、USB OTG、UART、I2C、SPI、CAN、Nor/Nand Flash等外设接口,封装为LQFP128。资源包为1个PDF文件,大小约556KB,内容为完整规格书,便于快速查阅寄存器、接口定义与电气参数。目前已有2895人学习下载,适合需要评估显示方案或进行底层驱动开发的读者参考。
1. 从一块 128 脚 LQFP 说起:AMT630H 到底解决什么问题
做车载仪表、可视门铃或者白色家电面板的硬件工程师,大概率都遇到过这种尴尬:主控选型时发现,要么用 STM32F4/F7 这类 MCU 硬扛 TFT 时序,帧率和分辨率一上去就吃力;要么上 Linux 方案,BOM 成本和启动时间又压不住。AMT630H 这类屏驱 SoC 就是卡在中间的产物——Cortex-A5 内核跑到 500MHz,片内直接封了 16Mx16 的 DDR SDRAM,还带 JPEG/MJPEG 硬解和 2D 图形加速器,LQFP128 封装,3.3V 系统供电,核心 1.2V 由内部 LDO 出。它不需要你外挂内存颗粒,也不需要跑完整操作系统就能把 1280x720@30fps 的 MJPEG 推到屏上。这份 V1.0 数据手册(2019-02 初版)就是围绕这颗芯片的电气边界、外设清单和封装尺寸展开的,适合正在做屏驱方案选型、或者已经拿到样片要画原理图的嵌入式硬件和底层驱动工程师。
2. AMT630H 核心架构拆解:Cortex-A5、DDR 与 2D 加速器怎么协同
2.1 500MHz Cortex-A5 与片内 DDR 的取长补短
AMT630H 的 Host Processor 是一颗 32 位 Cortex-A5,主频 500MHz,带 16KB I-Cache 和 16KB D-Cache。这个配置放在通用 SoC 里不算亮眼,但它的定位不是跑应用,而是做显示流水线的调度中枢。真正省事的是 Memory Interface 里那颗 Embedded 16mx16 DDR SDRAM——按 16 位位宽算就是 32MB 容量,直接封在片内。常见做法是:帧缓冲、JPEG 解码的中间 buffer、2D 加速器的图层数据全部放在这片 DDR 里,省掉外部 DDR 的布线、阻抗匹配和时序调试。对 4 层板都嫌多的紧凑型产品来说,这一条就砍掉了大量硬件风险。
代价是容量固定,32MB 要精打细算。1280x720 的 ARGB8888 单帧就是 1280×720×4 ≈ 3.5MB,双缓冲加一层 OSD 就接近 11MB,再算上 MJPEG 解码的参考帧和 2D 加速器的临时 surface,余量并不宽裕。所以实际项目里第一层常用 RGB565 或 YUV420 来省带宽和容量,只有需要高保真叠加的 UI 层才用 ARGB8888。
2.2 JPEG/MJPEG 解码与 ITU656 视频输入链路
解码侧支持 JPEG/MJPEG,上限 1280x720@30fps。输入侧是 8 位 ITU656/ITU601,同样到 1280x720@30fps。这两条链路是很多车载倒车影像、门铃监控方案的核心:摄像头或视频源走 ITU656 进来,芯片做格式转换和缩放,再叠加 UI 图层输出到屏。ITU656 是内嵌同步码的 8 位并口,比 ITU601 少几根 HSYNC/VSYNC 线,布线更干净,但要求源端时序稳定,PCLK 抖动大了容易丢同步。
2.3 2D 图形加速器能力清单与典型用途
2D Graphic Accelerator 这块是 AMT630H 区别于普通 MCU 屏驱的关键,能力包括:
| 功能 | 说明 | 典型用途 |
|---|---|---|
| 坐标系统与格式转换 | 支持缩放、旋转坐标系 | 竖屏/横屏切换 |
| 颜色空间转换 | RGB/YUV 互转 | 视频层与 UI 层混合 |
| 图像滤波与插值 | 缩放时的抗锯齿 | 视频缩放显示 |
| 视口裁剪与 Alpha 混合 | 图层叠加 | OSD、弹窗 |
| Overlay ROP 操作 | 光栅运算 | 图标合成 |
| 90/180/270 度旋转 | 硬件旋转 | 旋转安装的屏 |
| 水平/垂直镜像 | 镜像翻转 | 后视镜类应用 |
| Paint 生成 | 路径、描边、渐变、图案 | 仪表指针、进度条 |
仪表盘上的指针旋转、渐变背景、进度条,用 CPU 画会吃掉大量算力,交给 2D 加速器后 CPU 只负责下发命令。这也是为什么它敢用 A5 而不是更快的核——重活都卸载了。
2.4 显示单元与 TCON 输出配置
Display unit 支持两层显示:第一层 ARGB8888/RGB565/YUV420/YUV422,第二层 ARGB8888/RGB565。内置 TCON,支持并行 RGB、串行 RGB、CPU 接口、数字 TCON 输出,最高 1280x720@60fps,另有 ITU601/ITU656 输出。还集成了 3x4 颜色矩阵、16-18 位屏的 dithering、三通道可调 gamma。选屏时要注意:如果屏是 18 位 RGB666,靠 dithering 从 24 位降到 18 位,gamma 再单独调,能明显改善低灰阶的色带问题。
3. 电气参数与电源设计:3.3V/1.8V 域怎么分
3.1 电源域划分与电流预算
手册 Electrical Characteristics 给出的关键参数如下:
| 参数 | 工作条件 | 最小 | 典型 | 最大 | 单位 |
|---|---|---|---|---|---|
| Voltage | VDD33 | 3.0 | 3.3 | 3.6 | V |
| VDD33 Current | 300 | mA | |||
| 视频输入 IO 电压 | 1.62 | 1.8 | 1.98 | V | |
| DVDD1 Current | 1.8/2.5/3.3V 可调 | 30 | mA | ||
| 视频输出 IO 电压 | 1.62 | 1.8 | 1.98 | V | |
| DVDD2 Current | 1.8/2.5/3.3V 可调 | 100 | mA |
核心电压 1.2V 由内置 2.5V LDO 配合产生,系统 3.3V 供电,IO 电压可选 3.3V 或 1.8V。做电源树时,VDD33 按 300mA 留余量,DVDD2 的 100mA 是视频输出 IO 的大头,如果屏的 IO 是 1.8V,这一路要单独用 LDO 或 DC-DC 供,别和 3.3V 域混。存储温度 -50℃~+150℃,结温 -40℃~+125℃,工作温度 -40℃~+85℃,车规级应用基本够用,但要注意结温余量,500MHz 满载加 2D 加速器全开时功耗会往上走。
3.2 LVDS 与 MIPI 输出电气特性
如果屏走 LVDS 或 MIPI,手册给了差分参数:
| 参数 | 条件 | 最小 | 典型 | 最大 | 单位 |
|---|---|---|---|---|---|
| LVDS VOD | RL=100Ω | 250 | 350 | 450 | mV |
| LVDS VOC | RL=100Ω | 1.125 | 1.25 | 1.375 | V |
| MIPI VOD | 高速模式 RL=100Ω | 140 | 200 | 270 | mV |
| MIPI VOC | 高速模式 RL=100Ω | 150 | 200 | 250 | mV |
LVDS 共模 1.25V、差分 350mV 是标准值,PCB 走线按 100Ω 差分阻抗控制。MIPI 高速模式共模只有 200mV,对走线长度和参考地更敏感,尽量短、少过孔。
3.3 PLL 与 SAR ADC 参数
PLL 输入参考频率 1~6MHz,输出 100~480MHz,分频比 4~256,占空比 49.5%~50.5%,锁定时间 200us,周期抖动 80~120ps。配屏时钟时,先算目标 PCLK,再反推分频比,抖动 120ps 对 720p 的像素时钟来说余量够。SAR ADC 是 12 位,输入范围 2~3.3V,采样率最高 1MHz,INL/DNL 都是 ±2 LSB。4 通道 key ADC 和触摸屏控制器共用这个 ADC,做电阻触摸或按键矩阵时,采样率 1MHz 足够,但要注意输入别超 3.3V。
4. 外设接口实战:UART、SPI、CAN 与 USB 的配置要点
4.1 串口、I2C、SPI 与 CAN 的资源分配
Misc 部分的外设清单很密:USB 2.0 HOST/DEVICE、3 通道 UART232、3 通道 UART485/UART232、2 通道 1/2/4 线 SPI(支持 SPI NOR/NAND)、2 通道 I2C、2 通道 CAN、4 通道 32 位定时器、4 通道 key ADC 加触摸屏控制器、I2S、AES128 加 64 位 efuse key、遥控、4 通道 PWM、GPIO。做原理图时最容易踩的坑是引脚复用冲突——LQFP128 的引脚数有限,UART485 和 UART232 共享通道,SPI 的 4 线模式和 NOR/NAND 启动又可能抢同一组脚。建议先列一张引脚分配表,把启动介质(SPI NOR/NAND)、调试串口、屏接口、触摸这几项固定下来,再分配剩余功能。
4.2 SPI NOR/NAND 启动与固件烧录
SPI 支持 1/2/4 线,接 SPI NOR 或 NAND 做启动介质。4 线模式(QSPI)读带宽比单线高数倍,适合放固件和字库。烧录一般走 USB DEVICE 或 UART,具体工具链以原厂 SDK 为准。下面是一段示意性的烧录脚本框架,实际命令替换为原厂工具:
#!/bin/bash # AMT630H 固件烧录示意流程,工具名以原厂 SDK 为准 PORT=/dev/ttyUSB0 BAUD=115200 FIRMWARE=amt630h_fw.bin # 1. 确认串口就绪 stty -F $PORT $BAUD cs8 -cstopb -parenb # 2. 让芯片进入烧录模式(通常由 BOOT 引脚或上电时序决定) # 3. 下发固件 amt_flash_tool --port $PORT --baud $BAUD --write $FIRMWARE --addr 0x0 # 4. 校验 amt_flash_tool --port $PORT --verify $FIRMWARE逻辑说明:先固定串口参数,再触发芯片进入烧录模式,然后按地址写入并回读校验。参数里--addr 0x0是 SPI NOR 的起始偏移,NAND 的坏块管理由工具处理。失败时先看串口有没有握手回包,再看 BOOT 引脚电平是否在上电瞬间被正确拉高/拉低。
4.3 CAN 与 UART485 在车载场景的接线
车载仪表常用 CAN 收整车信号,UART485 接外设。CAN 需要外部收发器,芯片侧只出 TX/RX。UART485 同理,方向控制脚用 GPIO 或 PWM 控制 DE/RE。注意 485 的共模范围和终端电阻,长线时两端各 120Ω。I2C 接触摸屏或传感器时,上拉电阻按 1.8V 或 3.3V 域选,别跨域上拉。
5. 封装、散热与调试排错:LQFP128 落地细节
5.1 LQFP128 封装尺寸与 PCB 布局
封装是 128 脚 eLQFP,手册 Package Outline 给的关键尺寸(单位 mm):本体 D/E 为 9.90/10.00/10.10,D2/E2 为 8.40/8.50/8.60,引脚间距 e 为 0.35 BSC,Ne/Nd 为 8.05 BSC,引脚长 L 为 0.35/0.40/0.45,本体厚 A 为 0.85/0.90/0.95,A1 为 0/0.02/0.05,b 为 0.13/0.18/0.23。0.35mm 间距意味着走线要细,焊盘宽度按 0.18mm 典型值设计,阻焊开窗略放大。散热焊盘(如果有)要打过孔到地平面,500MHz 加 2D 加速器全开时靠 PCB 铜皮散热比加散热片实际。
5.2 上电时序与复位排错
上电顺序一般是 3.3V 系统电先起,1.2V 核心由内部 LDO 出,IO 电压按屏要求配。如果芯片不启动,按这个顺序查:先量 VDD33 是否在 3.0~3.6V,再量核心 1.2V 是否正常,然后看复位脚时序和 BOOT 引脚电平。PLL 锁定时间 200us,上电后别急着访问外设,留够稳定时间。串口无输出时,先确认调试串口选的是哪一路 UART,再确认波特率和时钟源。
5.3 显示异常排查清单
屏不亮或花屏,按链路查:TCON 输出格式(并行 RGB/串行 RGB/CPU/数字 TCON)是否和屏匹配;PCLK 频率是否在屏规格内;颜色格式(ARGB8888/RGB565/YUV420/YUV422)是否和图层配置一致;gamma 和 dithering 是否按屏位数设对。ITU656 输入丢同步,先看 PCLK 抖动和源端时序,再确认 8 位数据线的走线等长。2D 加速器旋转或 Alpha 混合结果不对,检查图层顺序和 ROP 配置,别把第一层和第二层的格式搞混。
6. 从数据手册到可运行屏驱:参数反推与验证技巧
拿到手册后,最实用的动作是把屏规格反推成芯片配置。假设屏是 1280x720、RGB666、PCLK 要求 74.25MHz,先算 PLL:输入参考 1~6MHz,输出 100~480MHz,分频比 4~256。选 24MHz 晶振做参考,目标 74.25MHz 不在整数分频上,常见做法是选接近的 PCLK 或调屏的消隐参数,让实际刷新率落在 60Hz 附近。下面这段伪代码演示反推逻辑:
# 根据目标 PCLK 反推 PLL 分频比(示意) fref = 24e6 # 参考频率,需在 1~6MHz 范围内先分频 target_pclk = 74.25e6 # PLL 输出范围 100~480MHz,先倍频到范围内再分频 for mult in range(4, 257): fvco = fref * mult if 100e6 <= fvco <= 480e6: div = round(fvco / target_pclk) actual = fvco / div err = abs(actual - target_pclk) / target_pclk if err < 0.01: # 误差 1% 以内 print(f"mult={mult}, div={div}, pclk={actual/1e6:.2f}MHz, err={err*100:.2f}%")逻辑说明:先在 PLL 输出范围内找倍频比,再除以目标 PCLK 得到分频比,误差 1% 以内可接受。参数里fref是参考频率,mult是倍频比(4~256),div是输出分频。实际配置还要考虑 PLL 占空比 49.5%~50.5% 和抖动 80~120ps,抖动大的配置在 720p 上可能出现像素时钟边沿不稳。
验证阶段,先跑静态测试图:纯色、渐变、棋盘格,确认颜色格式和 gamma。再跑 2D 加速器的旋转和 Alpha 混合,用已知图案对比结果。最后跑 MJPEG 解码,看 1280x720@30fps 是否掉帧,掉帧先查 DDR 带宽和帧缓冲格式,YUV420 比 ARGB8888 省一半带宽。ITU656 输入用标准测试信号源,确认同步稳定后再接真实摄像头。AES128 加 efuse key 如果用于固件加密,烧 key 前务必确认 efuse 是一次性的,烧错不可逆。
本文还有配套的精品资源,点击获取