CN114245108B - 支持定制扩展的DisplayPort测试系统 - Google Patents
支持定制扩展的DisplayPort测试系统 Download PDFInfo
- Publication number
- CN114245108B CN114245108B CN202111581466.1A CN202111581466A CN114245108B CN 114245108 B CN114245108 B CN 114245108B CN 202111581466 A CN202111581466 A CN 202111581466A CN 114245108 B CN114245108 B CN 114245108B
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- arm
- video
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 7
- 239000000284 extract Substances 0.000 claims abstract description 5
- 238000013075 data extraction Methods 0.000 claims abstract description 4
- 238000012549 training Methods 0.000 claims description 11
- 230000006837 decompression Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 102100027667 Carboxy-terminal domain RNA polymerase II polypeptide A small phosphatase 2 Human genes 0.000 description 2
- 101000725947 Homo sapiens Carboxy-terminal domain RNA polymerase II polypeptide A small phosphatase 2 Proteins 0.000 description 2
- 101000795074 Homo sapiens Tryptase alpha/beta-1 Proteins 0.000 description 2
- 101000662819 Physarum polycephalum Terpene synthase 1 Proteins 0.000 description 2
- 102100029639 Tryptase alpha/beta-1 Human genes 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明涉及是数字式视频接口技术领域,公开了一种支持定制扩展的DisplayPort测试系统,所述的系统包括:接收端口,用于接收网络包,并解析网络包数据,提取出其中的测试项设置和命令;数据提取模块,通过接口读取视频或者图片文件并存储至内存中;数据处理模块,通过ARM提取测试项设置和命令,并根据设置和命令配置FPGA寄存器,驱动FPGA从内存中读取数据,并运行DP协议将数据发送出去,从而在显示器上显示相应的图像。通过FPGA+ARM的架构,可实现一种可灵活扩展的DP测试平台,客户可以在PC上设置测试参数,通过网络将指令,图片传递到测试平台,测试平台内的FPGA实现DP协议,将图像发送到显示屏。
Description
技术领域
本发明涉及数字式视频接口技术领域,具体涉及一种支持定制扩展的DisplayPort测试系统。
背景技术
DisplayPort(简称DP)是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准,主要用于视频源与显示器等设备的连接,并也支持携带音频、USB和其他形式的数据。DisplayPort也是第一个依赖数据包化数据传输技术的显示通信端口,它既可以用于内部显示连接(eDP接口),也可以用于外部的显示连接(DP接口)。DisplayPort连接器在主链路可以有1、2、或4路差分数据对,另外还有一对传输控制数据的AUX差分对以及一个热插拔检测信号,eDP的一些接口还有背光控制管脚。
随着DisplayPord标准的不断演进,支持的带宽和特性也在不断提升。FPGA的高带宽特性和可编程特性非常适合这类显示接口技术的测试。目前最新版本的DisplayPort2.0最大支持20Gbps×4lanes的物理带宽。Xilinx公司SOC架构的Zynq UltraScale+ EG系列是FPGA+ARM的架构,该系列的高速接口最大支持32.75Gbps×28lanes,因此一台测试仪可以同时测试多个DUT。通过FPGA实现接口技术,通过ARM实现人机交互和控制。使得测试人员可以灵活设置参数进行测试。
现有的DP测试设备,大多是ARM+DP接口芯片架构,该架构的主要问题在于不可灵活扩展。例如DP2.0标准发布后,采用新标准的显示设备就必须搭配新的DP接口芯片,整个硬件都要重新采购。并且有些专用领域的非标显示设备,芯片可能不支持。
发明内容
本发明的目的在于提供一种支持定制扩展的DisplayPort测试系统,以解决上述背景技术中提出的无论是整机还是插卡式的摄像头模组测试产品,不仅体积较大,其应用成本还高昂的问题。
为实现上述目的,本发明提供如下技术方案:
一种支持定制扩展的DisplayPort测试系统,所述的系统包括:
接收端口,用于接收网络包,并解析网络包数据,提取出其中的测试项设置和命令;
数据提取模块,通过接口读取视频或者图片文件并存储至内存中;
数据处理模块,通过ARM提取测试项设置和命令,并根据设置和命令配置FPGA寄存器,驱动FPGA从内存中读取数据,并运行DP协议将数据发送出去,从而在显示器上显示相应的图像。
作为本发明进一步的方案,DP接口采用高速serdes接口,FPGA中包括有多个serdes接口。
作为本发明进一步的方案,ARM读取视频或者图片文件后,使用片内高速互联总线传递给FPGA。
作为本发明进一步的方案,FPGA+ARM集成到了一个芯片中,采用FPGA+ARM架构,FPGA和ARM可以共享同一片内存空间,FPGA通过芯片内部的AXI接口访问ARM读取视频或者图片文件。
作为本发明的进一步方案,当ARM模块提取出的视频或者图片文件为压缩文件时,FPGA提供解压缩的IP,ARM调用该IP实现解压缩还原出完整视频或图片。
作为本发明进一步的方案;DP1.4中引入了DSC1.2a的视觉无损压缩,使得DP1.4能够传输8K@60,DP2.0能够传输两路8K@120。
作为本发明进一步的方案,DP协议在通过AUX和serdes进行链路质量训练,并且获取目前接线条件下最好的信号质量及最大带宽之后,才能通过serdes传输视频帧。
作为本发明进一步的方案,AUX发送时由ARM将带写入的DATA及DATA个数写入FPGA寄存器,FPGA将数据链路组建完成后进行Manchester-II编码输出。
作为本发明进一步的方案,高速时钟通过分频产生2M的计数使能,通过数据链路层的各个部分bit数进行状态跳转。
作为本发明进一步的方案,AUX接收时本地通过分频器产生2M的接收时钟,且每次检测到数据跳变就将分频器归0,这样做是利用Manchester-II编码产生的跳变沿进行时钟同步。计数到数据中间时对数据进行采集。检测到Preamble+ SYNC END码后从0开始进行接收bit计数,偶数时的采样作为解码数据,检测到SYNC END码后停止本次接收。将接收到的解码数据和数据个数存放至寄存器中给ARM读取。
与现有技术相比,本发明的有益效果是:本发明采用FPGA+ARM的架构,可实现一种可灵活扩展的DP测试平台。通过该平台,客户可以在PC上设置测试参数,通过网络将指令,图片传递到测试平台,测试平台内的FPGA实现DP协议,将图像发送到显示屏。由于采用FPGA实现,所以测试平台通过更新固件可以做到随着DP协议的升级而升级。并且对于一些非标准的显示屏,FPGA也可以根据客户的私有协议进行定制升级。传统基于接口芯片的实现方案,一个芯片只能驱动一个接口。若要一个产品同时测试多个接口,硬件上就要增加很多接口芯片。而FPGA本身具备多个高速接口,例如ZU19EG,共有72lanes,可支持24个DP1.4接口的测试。设备体积远小于采用24个接口芯片的设备。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中的一些实施例。
图1为本发明实施例提供的一种DisplayPort测试仪的流程框图;
图2为本发明实施例中提供的一种FPGA内部结构框图;
图3为本发明实施例中提供的一种DisplayPort协议处理器的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有方向性指示(诸如上、下、左、右、前、后......),则其仅用于解释在某一特定姿态下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若在本发明中涉及“第一”、“第二”等的描述,则其仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
以下结合具体实施例对本发明的具体实现进行详细描述:
图1示出了本发明中支持定制扩展的DisplayPort测试系统的的结构组成,并且所述的制扩展的DisplayPort测试系应用于能够实时连接互联网的设备,该设备可以是手机、平板电脑和计算机等可以通信的设备,此处不做具体限定,所述的制扩展的DisplayPort测试系详述如下:
接收端口100,用于接收网络包,并解析网络包数据,提取出其中的测试项设置和命令。
在本发明实施例中,数据传输的渠道可以为用户所使用的手机、平板电脑和计算机等可以通信的设备。通过上述设备可以与服务器通过数据线、WiFi或者其他网络进行连接,从而将客户端中项目数据进行上传。而且所述的客户端还可以为手机、平板电脑和计算机等可以通信的设备上使用的APP或者后台软件,并通过上述方式进行数据的传输。本领域技术人员可以理解,上述设备的描述仅仅是示例,并不构成对设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
数据提取模块200,通过接口读取视频或者图片文件并存储至内存中。
数据处理模块300,通过ARM提取测试项设置和命令,并根据设置和命令配置FPGA寄存器,驱动FPGA从内存中读取数据,并运行DP协议将数据发送出去,从而在显示器上显示相应的图像。
FPGA(Field Programmable Gate Array,即现场可编程门阵列),是一种硬件可编程芯片,具有硬件密度高、结构灵活、可编程、加密性强等良好性能,在电子信息、通信、自动控制及计算机应用等领域占有至关重要的地位,其中Xilinx公司的FPGA市场份额占比高,应用比较普遍,本测试系统采用Xilinx公司的Zynq UltraScale+ MPSoC系列芯片作为主处理器。
ARM全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。
在本发明另一个优选的实施例中,DP接口采用高速serdes接口,FPGA中包括有多个serdes接口。
考虑到客户进行大批量测试时,希望一台测试仪能进行多台设备的测试,这样可以提高测试效率。由于DP接口是高速serdes接口,普通的FPGA是没有这样的接口的,需要中高端的FPGA。此外还有普通FPGA+serdes芯片的方案。由于我们需要多个serdes接口,因此太多的serdes芯片显然会占用很大的面积,并且一个serdes一般至少要16个IO管脚与之连接,多个serdes也会造成FPGA的IO资源不够。因此我们选择带多个serdes的中高端FPGA。
在本发明其中一个优选的实施例中,ARM读取视频或者图片文件后,使用片内高速互联总线传递给FPGA。
在本发明另一个优选的实施例中,FPGA+ARM集成到了一个芯片中,采用FPGA+ARM架构,FPGA和ARM可以共享同一片内存空间,FPGA通过芯片内部的AXI接口访问ARM读取视频或者图片文件。
可以理解的是,由于视频数据量很大,由于FPGA+ARM架构的应用场景越来越多,Xilinx和Intel公司都发布了SOC芯片,将FPGA+ARM集成到了一个芯片中,这样做除了体积和功耗的优势外,还将FPGA和ARM间的通信通道拓展了。由于集成在一个芯片中,FPGA和ARM间的通信不再需要PCIe这样的高速串行接口,而是芯片内部的AXI接口。该接口没有PCIe那样复杂的协议,使用方便,并且FPGA和ARM可以共享同一片内存空间。这极大方便了FPGA对图像的读取。因为ARM从USB接口读取的图像是存放在内存中的,FPGA直接就可以访问那片内存,而不是像传统架构那样ARM重新把图像从内存读取出来再通过接口协议发送给FPGA。
值得注意的是,USB中存储的视频一般是压缩后的视频,因此需要进行相应的图像解压缩,一般是H264/H265的压缩格式。FPGA提供解压缩的IP,ARM调用该IP实现解压缩还原出完整视频图像。
在本发明另一个优选的实施例中,随着技术的发展,图像的分辨率越来越大,刷新率越来越高。由此带来的问题就是视频接口所需的带宽越来越大,比如8K@60的视频流需要的带宽高达70Gbps,这已经超过了DP1.4所能提供的带宽,因此DP1.4中引入了DSC1.2a的视觉无损压缩,使得DP1.4能够传输8K@60,DP2.0能够传输两路8K@120。
并且由于FPGA的灵活可配,可以通过升级固件的方式不断提升测试仪的功能, 比如HDR的支持,两路DP1.4传递原始4K@144,面板自刷新PRS/PSR2等。甚至客户私有定制的非标速率,非标lanes数量,非标分辨率。
另外值得注意的是,由于Xilinx的DP IP是属于通用型的IP,因此他会尽量支持更多的功能,但针对每一个特定用户,并不需要这么多功能。对这个特定用户来说造成了FPGA资源浪费。自主研发的DP IP支持定制,可裁剪客户不需要的功能。例如客户只需要视频,不需要音频时,就可以把音频模块裁剪。对比自研DP和Xilinx DP的资源占用如下:
硬件上采用FPGA+ARM架构,选择Xilinx公司的SOC芯片Zynq UltraScale+ EG系列的ZU11EG,该芯片内部集成了FPGA+ARM,且FPGA带有32个最大支持16.3Gbps的serdes,能支持8个DP1.4/1.2的DP接口。此外还带有16个32.75Gbps的serdes,能支持4个DP2.0的DP接口。
由ARM实现网络通信,通过以太网口接收PC发送的网络包,并解析网络包数据,提取出用户通过PC发送过来的测试项设置和命令。ARM根据设置和命令配置FPGA寄存器,驱动FPGA完成相应的操作。ARM通过USB3.0接口读取外部USB存储器上的视频文件或者图片文件存储到板上内存中,FPGA从内存中读取数据,并运行DP协议将数据发送出去,从而在显示屏上得到相应的图像显示。图像来源除了外部USB的方式还有内部产生的无损原始图像。
FPGA的图像源可以来自内存空间或者通过TPG(Test pattern generater)产生。其中内存空间的图像可能是原始图片也可以是经过H264/H265压缩保存的视频,经过解压缩后进入选择器。
DSC编码器用于对超高分辨率或者超高刷新率的图像进行视觉无损压缩,使得图像带宽在DP接口带宽范围内。比如DP2.0虽然有77Gbps的带宽,但在通过扩展坞接N个显示器显示不同画面时,带宽相当于减小了N倍,依然需要DSC编码压缩。此外DP也支持通过DSC以更少的lanes或更低的速率传输高质量图像。
DP协议处理器实现数据帧的发送以及AUX协议,HPD检测。DP协议首先是通过AUX和serdes进行链路质量训练,从而获取目前接线条件下最好的信号质量及最大带宽。之后才能通过serdes传输视频帧。
根据DP协议,发生视频帧前要进行链路训练,通过AUX设置DP接收端进入训练模式。在训练模型下发生训练序列TPS1/2/3/4,并通过AUX读取DP接收端的链路接收状态,调整电压摆幅和预加重,最终使得接收状态达到最优。实际调试中发现根据接收端寄存器推荐值调整电压摆幅和预加重,会出现训练不成功。从而导致训练失败。此时可以跳出协议要求,采用遍历搜索的方式,逐一尝试调整电压摆幅和预加重的16种组合,从而训练成功。
训练完成后如果没有视频流要发生,则发生idle pattern帧,使得链路能够维持。并且要通过AUX读取接收端的EDID,确认接收端能接受的分辨率和帧率等各种显示信息。并且计算出视频帧各个字段需要的字节数,通过CFG配置给视频帧生成器。
视频流准备好后,根据协议及CFG,将MSA,音频,视频合成到数据流中,经过扰码,Lane延时后通过serdes发送。发送视频流时要使能serdes自带的8b/10b功能。
而在本实施例一种情况中,高速时钟通过分频产生2M的计数使能,通过数据链路层的各个部分bit数进行状态跳转。
高速时钟通过分频产生2M的计数使能,通过数据链路层的各个部分bit数进行状态跳转。巧妙利用计数器的bit位完成Manchester-II编码。具体方式如下:
1、Pre-change阶段计数0~31,使用bit[0]作为编码后的输出
2、Preamble阶段计数0~31,使用bit[0]作为编码后的输出
3、SYNC END阶段计数0~7,使用bit[2]取反作为编码后的输出
4、DATA阶段允许3~20字节,所以计数0~(3*8-1)至0~(20*8-1),使用bit[0]异或DATA作为编码后的输出
5、STOP阶段计数0~7,使用bit[2]取反作为编码后的输出
而在本实施例另一种情况中,AUX发送时由ARM将带写入的DATA及DATA个数写入FPGA寄存器,FPGA将数据链路组建完成后进行Manchester-II编码输出。Manchester-II编码的方法是逻辑0编码成01,逻辑1编码成10,编码后的0和1各占编码前的半个逻辑bit时间。由于AUX速率最快为1Mbps,所以编码后速率相当于2Mbps。
在本发明另一种优选的实施例中,支持定制扩展的DisplayPort测试仪的重点是FPGA实现DP协议,这样除了支持标准协议外,还可支持客户的特定改版协议。这是使用XILINX DP IP或者ASIC芯片做不到的。下面对FPGA实现DP协议的具体实施方案进行描述
AUX通信采用FPGA实现数据链路层,ARM实现协议解析的分工方式。AUX的数据链路层在DP1.2中由如下部分顺序组成
1、Preamble(16个0)
2、SYNC END(持续两个有效数据宽度的高电平,之后两个低电平)
3、DATA(一次AUX的DATA长度有限制)
4、STOP (持续两个有效数据宽度的高电平,之后两个低电平)
5、DP1.4与DP1.2相比,在Preamble前新增了Pre-change(10~16个0)
可以理解的是,AUX接收时本地通过分频器产生2M的接收时钟,且每次检测到数据跳变就将分频器归0,这样做是利用Manchester-II编码产生的跳变沿进行时钟同步。计数到数据中间时对数据进行采集。检测到Preamble+ SYNC END码后从0开始进行接收bit计数,偶数时的采样作为解码数据,检测到SYNC END码后停止本次接收。将接收到的解码数据和数据个数存放至寄存器中给ARM读取。
TPS1/2/3/4的数据已经在协议中列明,在此不再累述。FPGA只需要做一个循环计数器,在计数器为1~N时将协议列明的数据发送出去即可。
DP协议根据视频帧的特性将一行有效数据分为若干字段
1、BS~BE段:对应每行的消隐,这段时长不必与视频时序要求的行消隐完全一致,相近即可。如果是列消隐期间内的行,则不存在BE。
2、TU段:每个TU段包含32~64个链路符号。每个TU又可分为有效数据段(TU Valid段)和填充段(FS~FE段)。一行会有很多个TU,且每个TU的组成是一样的。
3、Tail段:传递剩余的有效数据。
每个段包含的符号数由ARM根据图像分辨率进行计算。示例如下:
通过EDID读出显示器在4K@120时一行共4000个像素,一帧共2222行。使用DP1.4的最高速率8.1Gbps×4lanes来传输,每lane每秒可传输810M个符号。810M/120=6750000,表示一帧可传输6.75M个符号。6750000/2222≈3038,表示一行可传输3038个符号。当一个像素为24bit时,一行3840个有效像素对应的符号数为3840*24/8=11520个符号,采用4lane传输则每lane有效符号数=11520/4=2880。有效符号分布要尽量接近视频时序分布,不然会导致接收端DP缓存空或者满。即3840/4000≈X/3038,得出X=2916。也就是尽量在2916个符号时间内传输2880个有效符号。为了简化设计,每个TU固定为64个符号,则TU中的有效符号个数/64=2880/2916,得出TU中的有效符号个数为63。2880/63=45.7,所以TU个数为45个,Tail段传递剩余的2880-45*63=45个数据。BS~BE消隐段=3038-(45*64+45)=113。
由于DP速率很高。DP1.4最高支持8.1Gbps,不可能一个时钟传递一个符号,因为此时符号速率已经达到810M,FPGA内部逻辑无法支持这么高速的时钟。因此FPGA内部逻辑要一个时钟处理多个符号,考虑到一行每个段都可能不是多个符号的整数倍。因此就给设计带来了困难。需要灵活运用各个段计数器及段符号个数来降低设计难度。
举例一次传递4个符号,应用上面计算的4K@120的实例。在段计数期间将数据传递至后级缓存。首先传递BS~BE段,该段长度113个符号,二进制表示为01110001,由于一次传递4个符号,所以可取低2bit作为残留字节数,其余高位作为段计数终点。即段计数从1计数到28(011100)。进入TU段,共45个TU要传递。第一个TU有效数据63+1(消隐段残留)=64(10000_00).第一个TU填充为1+0(上段残留)=(00000_01)此时高位为0不计数。第二个TU有效数据63+1(上段残留)=64(10000_00).第二个TU填充为1+0(上段残留)=(00000_01)此时高位为0,计时起始值1已经>初始值,所以不计数。以此类推完成45个TU后,残留1个符号。在Tail段45+1(上段残留)=(001011_10)。至此完成一个有效视频行传输。下一行重复,BS~BE段113+2(上段残留)=(011100_11)…在此不再累述。
在计数器工作时传递数据,依旧按照上述示例。在BS~BE段,初始时上一段数据为0,残留为0,要传输的是BS+BF+BF+BS四个符号,中间填充00。到第一个TU段时,要传递00+00+00+BE以及D0+D1+D2+D3,由于残留是1,所以00+00+00+BE左移4-1=3个符号,变为BE+00+00+00,数据右移1个符号变为00+D0+D1+D2,两者通过逻辑或运算合并后为BE+D0+D1+D2,残留1个符号D3。下一个时钟要传递D4+D5+D6+D7,由于残留是1,所以上次传递数据D0+D1+D2+D3左移4-1=3个符号,变为D3+00+00+00,本次传递数据右移1个符号变为00+D4+D5+D6,两者通过逻辑或运算合并后为D3+D4+D5+D6。残留1个符号D7。以此类推到最后要传递的D60+D61+D62+00,残留为0。到第一个TU填充段,因为只有一个填充段,所以要传递的是FE+00+00+00,若两个填充段,则为FS+FE+00+00,若三个填充段,则为FS+00+FE+00,若4个填充段,则为FS+00+00+FE,若大于4个填充段,则为FS+00+00+00. D60+D61+D62+00左移4-0=4个符号,变为00+00+00+00,填充右移0个符号变为FE+00+00+00,两者通过逻辑或运算合并后为FE+00+00+00,残留变为1个符号。使用残留左移和数据右移再逻辑或组合的方式完成所以TU段的传输.在Tail段也是按上述移位组合操作完成数据传输。
数据传输到后级缓存后,后级不能马上去读取缓存,需等到缓存填满再启动读。因为后级的数据要给到serdes,这个数据流是不能出现等待的。而前级的视频流输入需要CPU的参与,CPU处理时间并不非常准确,有可能出现短时间大量数据灌入后级,或者短时间没有数据到来的情况。缓存的作用就是一个缓冲带,在CPU大量数据灌入时,数据存储在缓存中,在CPU短时间没有数据到来时,缓存中仍有数据给serdes。当缓存为空时,发送idle帧给serdes。idle帧结构为BS+BF+BF+BS+VBID+Mvid+Maud+填充。每8192个符号重复一帧。
在从缓存中取出根据DP协议组建的视频帧后,DP协议在BS~BE这段时间,可以用来传输其他信息,例如MSA,AUDIO,PSR/PSR2控制包等。其中MSA是每帧必须要传递的信息,MSA里的参数基本可以从EDID中获取,需要计算的是用于接收端PLL恢复视频时钟的Mvid和Nvid。这两个参数每个24bit。根据手册描述,f_Strm_Clk = Mvid / Nvid × f_LS_Clk,得出Mvid / Nvid= f_Strm_Clk/ f_LS_Clk。其中f_Strm_Clk是视频像素频率,f_LS_Clk是链路符号速率。像素频率计算如下:首先前面计算出一行传递3038个符号,所以3038*(1/810M)=3038/810M,表示传递一行像素需要的时间。3038/810M/4000=3038/(810M*4000),表示传递一个像素需要的时间。810M*4000/3038表示像素频率。所以Mvid / Nvid =(810M*4000/3038)/810M=4000/3038。
完成MSA插入后,还要根据协议完成扰码及各个通道增加时延。最后再由serdes完成8b/10b即可通过DP接口发送。8b/10b的特殊字符在DP协议中的定义如下:
所述支持定制扩展的DisplayPort测试系统所能实现的功能均由计算机设备完成,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现所述支持定制扩展的DisplayPort测试系统的功能。处理器从存储器中逐条取出指令、分析指令,然后根据指令要求完成相应操作,产生一系列控制命令,使计算机各部分自动、连续并协调动作,成为一个有机的整体,实现程序的输入、数据的输入以及运算并输出结果,这一过程中产生的算术运算或逻辑运算均由运算器完成;所述存储器包括只读存储器(Read-Only Memory,ROM),所述只读存储器用于存储计算机程序,所述存储器外部设有保护装置。
示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本领域技术人员可以理解,上述服务设备的描述仅仅是示例,并不构成对终端设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述处理器是上述终端设备的控制中心,利用各种接口和线路连接整个用户终端的各个部分。
上述存储器可用于存储计算机程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等;存储数据区可存储根据泊位状态显示系统的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例系统中的全部或部分模块/单元,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个系统实施例的功能。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (1)
1.支持定制扩展的DisplayPort测试系统,其特征在于,所述的系统包括:
接收端口,用于接收网络包,并解析网络包数据,提取出其中的测试项设置和命令;
数据提取模块,通过接口读取视频或者图片文件并存储至内存中;
数据处理模块,通过ARM提取测试项设置和命令,并根据设置和命令配置FPGA寄存器,驱动FPGA从内存中读取数据,并运行DP协议将数据发送出去,从而在显示器上显示相应的图像;
DP接口采用高速serdes接口,FPGA中包括有多个serdes接口;
ARM读取视频或者图片文件后,使用片内高速互联总线传递给FPGA;
FPGA+ARM集成到了一个芯片中,采用FPGA+ARM架构,FPGA和ARM可以共享同一片内存空间,FPGA通过芯片内部的AXI接口访问ARM读取视频或者图片文件;
当ARM模块提取出的视频或者图片文件为压缩文件时,FPGA提供解压缩的IP,ARM调用该IP实现解压缩还原出完整视频或图片;
DP协议在通过AUX和serdes进行链路质量训练,并且获取目前接线条件下最好的信号质量及最大带宽之后,才能通过serdes传输视频帧;
AUX发送时由ARM将待写入的DATA及DATA个数写入FPGA寄存器,FPGA将数据链路组建完成后进行Manchester-II编码输出;
高速时钟通过分频产生2M的计数使能,通过数据链路层的各个部分bit数进行状态跳转;
AUX接收时本地通过分频器产生2M的接收时钟,且每次检测到数据跳变就将分频器归0,这样做是利用Manchester-II编码产生的跳变沿进行时钟同步;计数到数据中间时对数据进行采集;检测到Preamble+ SYNC END码后从0开始进行接收bit计数,偶数时的采样作为解码数据,检测到SYNC END码后停止本次接收;将接收到的解码数据和数据个数存放至寄存器中给ARM读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111581466.1A CN114245108B (zh) | 2021-12-22 | 2021-12-22 | 支持定制扩展的DisplayPort测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111581466.1A CN114245108B (zh) | 2021-12-22 | 2021-12-22 | 支持定制扩展的DisplayPort测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114245108A CN114245108A (zh) | 2022-03-25 |
CN114245108B true CN114245108B (zh) | 2024-03-19 |
Family
ID=80761344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111581466.1A Active CN114245108B (zh) | 2021-12-22 | 2021-12-22 | 支持定制扩展的DisplayPort测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114245108B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108896841A (zh) * | 2018-03-19 | 2018-11-27 | 硅谷数模半导体(北京)有限公司 | 测试系统、测试方法及装置 |
CN108898983A (zh) * | 2018-07-12 | 2018-11-27 | 武汉精测电子集团股份有限公司 | 一种视频信号扩展系统及方法 |
CN115129650A (zh) * | 2022-06-27 | 2022-09-30 | 武汉帆茂电子科技有限公司 | 一种基于soc fpga的数据传输系统及方法 |
-
2021
- 2021-12-22 CN CN202111581466.1A patent/CN114245108B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108896841A (zh) * | 2018-03-19 | 2018-11-27 | 硅谷数模半导体(北京)有限公司 | 测试系统、测试方法及装置 |
CN108898983A (zh) * | 2018-07-12 | 2018-11-27 | 武汉精测电子集团股份有限公司 | 一种视频信号扩展系统及方法 |
CN115129650A (zh) * | 2022-06-27 | 2022-09-30 | 武汉帆茂电子科技有限公司 | 一种基于soc fpga的数据传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114245108A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105959797A (zh) | 一种视频解码方法及数字电视 | |
CN103533317A (zh) | 数字电影放映系统及方法 | |
CN106713805A (zh) | 一种基于fpga的数字视频显示接口模块及其通信方法 | |
CN114025202B (zh) | 视频处理方法、装置及存储介质 | |
CN115016751A (zh) | 显示内容的方法、系统、装置、存储介质以及电子设备 | |
CN114245108B (zh) | 支持定制扩展的DisplayPort测试系统 | |
CN103607553A (zh) | 基于帧序列的3D格式实现4k2k显示的方法 | |
US20180288319A1 (en) | Sharing panoramic video images over a wireless display session | |
CN109525795B (zh) | 将逻辑图片转化为bmp图片的方法和装置 | |
CN112995559B (zh) | 视频处理方法、装置及系统、显示控制器和显示控制系统 | |
CN203492154U (zh) | 数字电影放映系统 | |
CN112292848B (zh) | 视频源扩展方法、装置、系统及视频源扩展器 | |
CN113766216A (zh) | 一种视频模块的验证方法及验证系统 | |
CN113051212A (zh) | 图形处理器、数据传输方法、装置、电子设备和存储介质 | |
CN113052748A (zh) | 图形处理器以及视频解码显示方法 | |
CN114697512A (zh) | 配置方法及装置 | |
CN111669516A (zh) | 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 | |
CN111862885A (zh) | 一种内封ic的双向数据传输led控制方法、系统及存储介质 | |
CN113302913A (zh) | 图像处理的方法、装置和系统 | |
CN114566120B (zh) | 显示屏的配屏方法、装置和系统、发送卡及处理器 | |
CN113596554B (zh) | 一种显示方法及显示设备 | |
CN202102506U (zh) | 一种图像处理卡、主板及电子设备 | |
CN112185312B (zh) | 图像数据的处理方法及装置 | |
CN116132706A (zh) | 一种视频处理方法、注入方法及电子设备 | |
CN118175390A (zh) | 视频数据转换方法、系统、设备、介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |