某型产品M9显示芯片显示异常的故障分析
扫描二维码
随时随地手机看文章
引言
某型计算机采用ATI公司的M9芯片作为图形处理器,它是ATI公司针对新一代低功耗多媒体系统而设计的高性能图形处理芯片,M9支持2D/3D硬件加速,硬件支持openGL图形接口标准,内建多条并行图形处理流水线,采用多芯片封装技术,内部集成64MB的DDR显存。M9图形硬件加速性能极高,功耗较低,已经成为军用图形显示的首选方案。本文以某型计算机使用的M9显示芯片出现显示故障为切入点,对其故障机理进行分析,从而提出解决办法。
1故障背景
某型计算机在安全改装后经常出现综显花屏死机现象。安全改装后,综显有一路视频是接收该计算机加装的显控模块的视频输出,出现综显花屏死机是其显控模块输出的视频故障导致。
该计算机在安全改装后增加显控模块,输出一路LVDS视频信号,用于向综显传输视频信息:显控模块由CPU子模块和PMC-M9显控组成。整个LVDS视频信号传输路径如图1所示,其中LVDS视频信号由M9显卡芯片直接输出,到CPU子模块后经驱动转换为RGB信号,进入FPGA后直连送出,经另一驱动器转换成LVDS信号送到母板,送出计算机,经电缆传输送达综合显示器进行显示。
2故障分析
2.1故障树分析
根据产品工作原理,对花屏故障产生的原因进行故障树分析,如图2所示。
根据故障树,显示花屏有可能是由以下几种原因造成:
(1)综显显示屏存在故障:
(2)综显模块内部电路故障或设计缺陷:
(3)综显机箱内部连线不满足LVDS信号传输要求,造成LVDS信号畸变,信号质量下降:
(4)机上电缆过长或不满足LVDS信号传输要求,以及个别信号线断线,造成LVDS信号畸变或缺失:
(5)整个LVDS信号传输线(从M9的信号源端到显示屏的目的地端)4对LVDS视频差分信号线不等长或超出信号允许范围,造成LVDS信号畸变严重,信号质量下降:
(6)计算机机箱内部连线不满足LVDS信号传输要求,造成LVDS信号畸变:
(7)计算机LVDS信号驱动电路故障:
(8)M9显示芯片工作异常。
2.2故障定位
根据以上分析,针对外场出现的花屏故障,更换机上电缆以及综显,加电测试故障依然存在,基本可以排除故障树中的(1)(2)(3)(4)项。更换工作正常的计算机后,加电测试综显显示正常,说明故障可能是由计算机引起。而该产品生产量较大,工艺成熟,只有个别产品出现故障,基本可以排除故障树中的(5)(6)项。
给故障产品加电,观察显控模块串口打印信息,产品故障时打印如下信息:
ERROR:Timed out waiting for Ring Buffer Block.
ERROR:Timed out waiting for opengl drivers PIO FIFO.
该信息表明显示需要的图形数据无法正确地被M9显示芯片的GPU从其显存中读取出来。结合以往排故经验,基本确定故障是M9显示芯片工作不正常,造成综显花屏。
3故障分析
M9显示芯片工作不正常的原因有如下几个方面:
(1)焊接存在问题:
(2)M9芯片损坏:
(3)M9芯片的硬件设计问题:
(4)M9芯片的软件设置问题。
观察显控模块串口输出信息,每次加电测试时,无论显示正常还是异常,M9显示芯片均能正常完成设备查找和初始化工作,表明PC1总线数据传输正确,焊接方面的问题可以排除。M9显示芯片已完成初始化,进入软件设置的LVDs输出工作模式,芯片损坏的原因也可以排除。检查M9显示芯片的硬件设计,通过核对和检查PMC一M9显卡的逻辑图,确认硬件设计无误。
M9显示芯片不驻留软件,该芯片的初始化和设置及相关图形处理是由驻留在显控模块CPU子模块上的软件完成。M9显示芯片的设置包括显示分辨率、刷新频率、GPU时钟频率、显存时钟频率、GPU电压、显存电压、同步信号以及极性等内容。
检查M9软件设计,发现软件在对M9显示芯片进行设置时,为降低模块功耗,M9显示芯片的GPU时钟和显存时钟进行了降频处理,均设置为150MHz,软件中设置语句为:SET_DEFAULT_ALT_DISPLAY_MODE_GPU_CLOCK(150);SET_DEFAULT_ALT_DISPLAY_MODE_MEM_CLOCK(150);
按照目前软件中设置的工作状态在该显控模块上加载运行M9显示芯片硬件自检程序,测试结果RingBuffer报错,测试图形显示花屏。串口输出错误信息如下:
ring buffer time out fail R200_MC_IDLE and R200_RBBM_ACTIVE
ring buffer time out R200_RBBM_ACTIVE
ring buffer time out fail RING_BUFFER_TEST_TIMEOUT
ring buffer test fail
test fail
在硬件不变的情况下,更改软件中的时钟设置,去掉该两条设置时钟频率的语句,这种情况下M9显示芯片的时钟设置为默认值(GPU时钟250MHz,显存时钟220MHz)。按照这种工作状态在该显控模块上加载运行M9显示芯片硬件自检程序,自检通过,测试图像显示正常。串口输出信息如下:
start ring buffer test
ring buffer test ok
test ok
以上测试结果表明,在该M9显示芯片GPU和显存的时钟频率均设置为150MHz的情况下,芯片自检报错,无法满足正常的图形显示性能需求。提高M9显示芯片的时钟频率设置为默认值:GPU时钟250MHz,显存时钟220MHz)后,芯片自检正常,图形可正常显示。
综上所述,综显出现花屏现象是由该计算机显控模块软件设置问题导致。由于软件中对M9显示芯片GPU和显存的时钟频率设置不合理,M9显示芯片工作不正常,有时会出现显示花屏现象。更改显控模块软件,把软件中的GPU和显存时钟频率设置为默认值,通过多种测试方法测试,该型计算机工作正常,显示正常。
4机理分析
图形正常显示需要由软件通过CPU把需要显示的图形数据经过PC1总线写入M9显示芯片的显存中,再由M9显示芯片的GPU从显存中读出图形数据,转换为相应的视频信号输出显示。
出现故障的计算机在M9显示芯片GPU和显存的时钟频率均设置为150MHz的情况下,工作程序串口输出显示Ring Buffer Block和opengl drivers PIO FIFO报超时(Timed out),芯片自检程序串口输出显示Ring Buffer超时,表明M9显示芯片GPU访问显存存在问题,GPU在规定的时间内不能把显存中的图形数据读出,造成图形不能正常显示,显示出现花屏现象。提高M9显示芯片的时钟频率后,由于M9的性能提高,GPU可以正确访问显存,芯片自检正常,图形显示正常。
在原来的设计中,为了降低产品功耗,对M9显示芯片GPU时钟和显存时钟进行了降频,由于M9显示芯片性能存在个体差异,该设置对于部分M9显示芯片频率过低,不能满足正常的图形显示性能需求,引起显示花屏的现象。
5改进措施
更改显控模块软件,去掉程序中设置M9的GPU和显存时钟频率的语句,将M9芯片的时钟频率恢复为默认值(GPU时钟250MHz,显存时钟220MHz)。加电测试,故障的计算机产品工作正常、显示正常,故障排除。
6结语
通过此次对综显画面显示异常进行故障树分析,确定其为M9显示芯片时钟设置不合理所致。软件设置时,为了追求降低产品功耗,盲目地降低了M9显示芯片的GPU和显存时钟频率,而M9芯片存在个体差异,导致个别芯片出现工作异常,用户在使用过程中存在故障隐患。由于软件故障在产品维修中难以排查,无形中给售后维修工作带来了困扰。因此,产品在设计过程中,在关注硬件的同时,也需对软件设置进行关注,减少因软件设置考虑不周引发的产品故障。同时,维修人员在维修过程中,也需考虑软件因素对产品故障的影响。