ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MST703与AT070TN92点屏实战:编号拆解、时序验证与代用指南

MST703与AT070TN92点屏实战:编号拆解、时序验证与代用指南 简介这是一份面向嵌入式开发与显示驱动工程师的资料包围绕MST703主控芯片与AT070TN92显示屏模组的协同开发而整理可用于固件参考、驱动移植、显示控制逻辑调试及替代料评估。压缩包共315个文件体积5.76MB以C源码、H头文件、LIB库文件为主同时包含工程配置文件uvproj、uvopt、目标文件obj、链接脚本lst及烧录文件hex、bin等基本覆盖从源码阅读、编译链接到程序烧录的完整开发链条。资料中还保留了较多备份文件bak与中间生成文件__i、m51等便于追溯工程演变过程。AT070TN92显示驱动与MST703控制逻辑集中存放菜单功能、按键处理、TDA7052音频、自动功能等模块均有对应源文件适合需要研究两者配合流程或进行功能裁剪的开发者。目前已有250人学习下载对于正在使用或考虑替代MST703方案的设计人员这套工程源码具有直接参考价值。1. MST703 与 AT070TN92 的配套逻辑一个叫 mst703-at070tn92.zip 的文件装的不只是压缩包它把 MST703 这颗视频处理芯片、AT070TN92 这块群创 7 寸屏以及 HTM-146515-DEVVD 这套模组编号绑在了一起。这类物料在工控、车载后装和自助终端里非常常见模拟视频信号进 MST703转换成并行 RGB 输出到 AT070TN92而 HTM-146515-DEVVD 则是方案商为这套组合编的固定料号用来追踪驱动板版本和固件。对刚接触的人来说难点不是看懂芯片 datasheet而是搞清楚文件名里哪个字段对应硬件、哪个字段对应固件、以及 MST703 可代用到底可以代到什么程度。这篇文章就按这个顺序讲先拆编号再走点屏流程最后说明替换和验证。2. 拆解 HTM-146515-DEVVD主控、面板、整件料号的对应关系2.1 MST703 在信号链里的角色MST703 是 MStar晨星半导体后并入联发科早年很常用的一颗视频处理与缩放芯片。它的输入侧主要是模拟视频信号最常见的是 CVBS复合视频通过内部 ADC 采样和解码后由缩放引擎输出到并行的 TTL 数字 RGB 接口直接驱动类似 AT070TN92 的 7 寸液晶屏。在车载后视、门禁监视、工业 HMI 这类场景中它承担的是把摄像头或播放器的模拟信号变成 LCD 能直接吃的数字信号这个角色。芯片本身不绑定某一块屏它输出的时序完全由固件里的屏参决定。所以同样一块 AT070TN92用 MST703 的方案点亮关键不是芯片而是三份东西输入信号格式、输出屏参、上屏 FPC 的接线。很多人搜 mst703 相关关键词其实不是要看芯片内部架构而是想知道“这块板能不能直接带我的屏”。答案取决于固件里的屏参表不在芯片型号本身。2.2 AT070TN92 是哪一类面板AT070TN92 是 Innolux群创的 7.0 英寸 TFT-LCD分辨率 800x480主流版本接口是并行 RGBTTL。它的优势是接口简单、控制 IC 成熟、货源量大所以方案商爱拿它做标准化模组。这类屏在工业 HMI、车载头枕显示器、广告机副屏上出现频率很高很多渠道商手里同时压着驱动板和屏就是为了按“MST703 AT070TN92”这套固定组合快速出货。需要注意AT070TN92 存在不同后缀版本命名里没写全版本号时下单或换料前必须看屏体丝印反查规格书否则容易把 18bit 和 24bit 的接法搞混。HTM-146515-DEVVD 就是上述屏在某个客户项目里的整套模组编号后缀 DEVVD 一般用于区分变体比如背光规格、信号制式、是否带触摸或固件版本。外部人员拿到编号不要试图从编号本身反推电气定义正确做法是找方案商要物料对照表。2.3 HTM-146515-DEVVD 这类编号怎么读这类编号通常由方案商或整机厂自定义常见结构是前缀 HTM 代表供应商或产品线146515 是项目流水号DEVVD 代表配置变体。我一般收到这类 zip 后会先把它当成供应链索引。解压后典型文件包括屏幕规格书、驱动板原理图或引脚定义、固件烧录工具、burn-in 表单。把这些文件和编号对应起来比直接读 datasheet 更快定位问题。文件名/字段对应的实际物料决定什么MST703视频处理主控 IC输入信号类型、缩放能力、控制接口AT070TN927 寸 TFT-LCD 面板分辨率、接口、背光、时序HTM-146515-DEVVD整套模组/驱动板料号固件版本、接插件定义、替代范围zip 包内的屏参文件固件配置是否能稳定在 60Hz 附近显示为什么要区分这三部分因为排错时现象完全不同MST703 出问题通常表现为整个信号链无输出AT070TN92 出问题集中在背光、显示异常或缺色HTM-146515-DEVVD 出问题对应的是“按这个编号订的货和上次不一样”。把三者拆开才不会用整件编号去查一颗芯片才带的毛病。另外zip 文件名用小写和下划线多半是渠道商的内部归档命名不是正式 BOM。真正的 BOM 会把 IC、屏、PCBA、固件版本分开列。所以收到类似文件时先确认来源和时间避免拿旧固件当新配置尤其是驱动板要烧录时程序版本必须和屏参版本一起记录。3. 拿到 MST703 驱动板后把 AT070TN92 点起来的最小流程3.1 先核对上屏排线与供电再谈时序MST703 驱动板到 AT070TN92 之间最常见的连接是软排线或排针。AT070TN92 的上屏接口常见为 40pin 左右但不同批次和驱动板存在差异所以第一步永远是拿屏规格书里的接口定义和驱动板原理图逐脚对一遍。重点看三组脚电源VCC/GND、数据同步R/G/B、DCLK、DE、HSYNC、VSYNC、背光LED / LED- 或 BL_EN/PWM。供电上AT070TN92 的逻辑电压常见 3.3V也有按模块设计要求走 5V 的版本背光如果走 LED 驱动通常由驱动板提供恒流源或提供 12V 恒压加屏内升压。判断方法很简单看规格书的 Power Supply 表标注 for logic 的是面板电压标注 for backlight 的是背光电压两者不要接混。我在实际中见过不少把 12V 背光电源接到逻辑供电上的情况结果屏体直接烧掉这类问题靠肉眼检查排线是看不出来的。3.2 AT070TN92 的参考时序参数MST703 输出端必须输出 AT070TN92 能接受的时序。800x480 的 TTL 屏一般工作在 60Hz 附近像素时钟约 33.3MHz。以下是一组参考值适用于多数 800x480 低成本 TTL 屏量产时必须以屏规格书的典型值为准参数参考值说明Active Width800DE 高电平时的有效像素H Front Porch88HSYNC 前沿H Sync48行同步宽度H Back Porch40HSYNC 后沿Active Height480有效行数V Front Porch10VSYNC 前沿V Sync3场同步宽度V Back Porch29VSYNC 后沿Pixel Clock33.3 MHz总像素时钟为什么这些值重要如果 porch 偏差过大图像不会消失但会出现边缘偏移、滚动或轻微斜纹。实际调屏时我倾向于先确认 DE 极性和同步极性再细调前后沿因为极性错了画面会直接花掉而前后沿错了只是偏移或黑边。3.3 用一个小工具验证时序组合校验时序最直接的办法是把上面参数代进公式算帧率再和屏的 60Hz 目标比对。下面这段脚本可以复用于任何 TTL 屏的屏参审核# panel_timing.py # 计算 TTL 屏的水平/垂直总尺寸与实际帧率 def calc_timing(h_active800, h_fp88, h_sync48, h_bp40, v_active480, v_fp10, v_sync3, v_bp29, pclk_khz33_300): h_total h_active h_fp h_sync h_bp v_total v_active v_fp v_sync v_bp frame_hz pclk_khz * 1_000 / (h_total * v_total) print(fH_total{h_total}) print(fV_total{v_total}) print(fFrame{frame_hz:.2f} Hz) print(fDE duty{h_active}/{h_total}) return h_total, v_total, frame_hz if __name__ __main__: calc_timing()这段代码做的事是把横向和纵向的同步、porch、有效区域相加得到总尺寸再用像素时钟除以总像素数量得到实际帧率。运行时如果 Frame 输出在 58 到 62Hz 之间说明这组屏参的节奏合理如果偏差超过 3Hz就要回查前后沿是否抄错。注意 pclk_khz 用的单位是 kHz33.3 MHz 要写成 33_300不要写成 333否则结果会差三个数量级。把这组数字发给固件工程师时也建议直接附上脚本输出避免口头传参传错。3.4 点屏的最小动作清单按顺序操作可以省掉一半问题断电状态下接好 FPC确认 pin1 方向不要靠排线颜色判断。上电顺序先 MST703 驱动板逻辑供电再打开背光使能恒流源板子不要先开背光。输入一路 CVBS 信号观察屏幕是否有底部滚动或黑白场翻转。有画面但无彩色时检查制式设置花屏时优先怀疑同步极性或像素时钟。如果第 3 步完全没有画面先不要动固件用万用表量 MST703 的供电脚和 AT070TN92 的逻辑供电是否有电压很多时候是排线接触不良导致 DE 信号浮空。4. MST703 可代用的依据与替换注意事项4.1 “可代用”通常指三种情况“MST703 可代用”在供应链上至少有三层含义。第一层MST703 作为早已量产的芯片存在同系列的替代型号封装和引脚一致时可以直接焊接替换第二层在设计 AT070TN92 方案时可以用 MST703 代用其他更贵或缺货的视频处理芯片前提是接口和时序能力覆盖第三层整件模组层面不同料号但性能和接口一致的驱动板之间可以互换此时代用的是整板而不是芯片。这三层在决定替换前必须先分清否则会出现芯片焊上去能跑、整机却过不了验证的情况。举个例子假设手头驱动板用的是另一颗视频处理芯片想在物料上换成 MST703。如果只关心封装一致焊上后大概率能出画面但输入源若从 CVBS 换成 S-Video引脚定义就可能对不上。所以在评估代用时我一般把输入信号能力放在封装之后第二顺位。4.2 代用前要评估的四个维度维度检查内容常见不通过原因封装与引脚封装类型、pin-to-pin 定义是否一致电源脚和地脚错位输入信号是否支持 CVBS 以及对应制式替代芯片只支持 YPbPr输出时序像素时钟范围、同步极性、RGB 位宽无法输出 33.3MHz 或只支持 18bit控制接口I2C/SPI 寄存器是否兼容屏参寄存器地址不同封装和引脚是最硬的条件。两个芯片只有封装完全兼容才有板上直接替换的基础否则需要重新画板这时就应该直接评估新器件而不是叫“可代用”。时序范围方面AT070TN92 这类小屏对像素时钟容差相对宽松但如果替代芯片的最高输出时钟只有 30MHz画面会表现为持续闪动怎么调 porch 都没用。4.3 用脚本快速比对两份排线定义当驱动板和屏都拿到 CSV 格式的引脚定义时可以用一个小脚本做差异比对。对于“可代用”验证这比靠眼睛一行行核对可靠得多# pin_check.py # 比对两份 FPC 引脚定义 CSV找出信号不一致的脚位 import csv import sys def load_pin(path): pins {} with open(path, newline, encodingutf-8) as f: for row in csv.DictReader(f): pins[row[pin].strip()] row[signal].strip() return pins def compare(a_path, b_path): a load_pin(a_path) b load_pin(b_path) diff [] all_pins sorted(set(a) | set(b), keylambda x: int(x)) for pin in all_pins: if a.get(pin) ! b.get(pin): diff.append((pin, a.get(pin), b.get(pin))) return diff if __name__ __main__: for item in compare(sys.argv[1], sys.argv[2]): print(fpin {item[0]}: {item[1]} - {item[2]})脚本要求两边的 CSV 都有 pin 和 signal 两列pin 用数字编号。输出会列出所有不一致的脚位。要注意有些差异是可接受的比如 GND 脚从 4 个变成 5 个、或者某个 NC 脚位变成测试点需要人工判断的通常是电源脚和同步信号换位这类差异说明直接代用有风险。比对结果里如果只有信号顺序不同也可以通过转接板修正但此时必须重新走一遍整机验证。4.4 替换后的固件和初始化顺序即使引脚完全一致也要把 MST703 的固件和屏参按 AT070TN92 重新配置。初始化顺序上常见做法是先开逻辑电源再配输入源和输出时序最后使能背光。示意如下# MST703 初始化顺序示意寄存器地址以具体 datasheet 为准 1. 打开芯片 VDD延时 10ms 2. I2C 写入输入源选择CVBS0 3. 写入输出时序H_total976, V_total522 4. 配置 DE 极性为正RGB 顺序为 RGB 5. 拉高背光使能 6. 接入 CVBS 信源观察画面这段顺序表达的是原则先信号后背光、先时序后使能。如果替换芯片后出现白屏多半是在第 4 步之前就开了背光或者信源没有锁住。寄存器地址在不同批次芯片上可能有差异替换后必须从对应手册里重新核对不能直接沿用旧工程的地址。5. 用示波器确认 AT070TN92 点屏成功的两个技巧点屏成功不等于显示稳定。MST703 与 AT070TN92 搭配时最好的验证方式不是看图而是用示波器量三个信号Pixel Clock、DE、以及一个数据位。我常用的技巧是把示波器两个通道分别接 DCLK 和 DE设成下降沿触发然后数 DE 高电平期间 DCLK 的周期数。对于 800x480 的屏这个数量应该稳定在 800 附近如果输出是 780 或 840说明屏参末端的有效区没对齐画面会有一侧黑边或噪点在边缘。第二个技巧是背光 PWM 与画面的同步。AT070TN92 如果出现轻微斜纹示波器上看 DCLK 和背光 PWM 的叠加噪声时可以调低背光频率或改变 PWM 相位多数驱动板把背光 PWM 直接挂在 MST703 的 PWM 输出上频率设置在 200Hz 到 1kHz 之间可避开干扰。排错时按下面的顺序走可以快速定位是 MST703 还是 AT070TN92 的问题现象先查什么说明完全黑屏背光使能与 LED 电压屏可能根本没上电白屏DE/同步信号是否输出屏参错误或信号极性反花屏像素时钟/porch 值多为前后沿参数不对图像滚动场同步和像素时钟不匹配按 3.3 中的脚本重新计算偏色RGB 位宽与屏版本不符确认是 18bit 还是 24bit最后补充一个习惯任何一次点屏成功都把屏参值、固件版本、驱动板丝印拍进同一条记录里和 HTM-146515-DEVVD 这个料号绑定保存下一次拿到相似 zip 时优先对比记录而不是重新量一遍。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进