CN102447946A - 一种基于dsp的数字电视测试系统 - Google Patents
一种基于dsp的数字电视测试系统 Download PDFInfo
- Publication number
- CN102447946A CN102447946A CN2011104359664A CN201110435966A CN102447946A CN 102447946 A CN102447946 A CN 102447946A CN 2011104359664 A CN2011104359664 A CN 2011104359664A CN 201110435966 A CN201110435966 A CN 201110435966A CN 102447946 A CN102447946 A CN 102447946A
- Authority
- CN
- China
- Prior art keywords
- file
- buffer
- dsp
- return
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明实施例公开了一种基于DSP的数字电视测试系统,包括:信号源单元,由PC机上的MATLAB软件编程来实现,在TDK(TriMedia Developer’s Kit)开发工具中的软件开发环境SDE:Sotfware Development Environment下用c语言开发完成;DSP单元,构成了整个电视信号发生器的硬件主体结构,以Philips公司TriMedia DPSCPU芯片为核心的硬件开发平台;数字电视测量单元,用监视器输出数字电视测试信号,观察输出的效果来进行测量。实施本发明,本发明可以当作数字电视视频编码、视频处理设备的标准信号源使用。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于DSP的数字电视测试系统。
背景技术
数字电视是一个从节目录制到节目编辑、发射、传输,以及信号接收、处理显示完全数字化的电视系统。随着计算机技术、数字处理技术及图像压缩技术的迅猛发展,广播电视进入了数字电视发展的新时期。数字电视测量设备是数字电视开发和应用中必不可少的测试和调试工具。
目前用于测量广播电视设备的标准图像信号大部分是由传统的视频图像信号发生器产生的,它们基本上是以信号种类划分为各自独立的单元,然后由各个单元组成一个产生多种信号的图像发生器。其组成很复杂,特别是作为广播级性能指标测试用的图像信号源,硬件制作技术难度大,价格昂贵。当某些特殊的应用电视测量需要产生某些图形多变的图像信号时,它难以满足特定的使用要求。利用PC机的资源,完全可以很方便地产生各种各样多变的图形,满足不同应用的要求。
但是PC机本身并不能产生电视信号,也没有TV接口,需要采用一个视频信号产生系统来将存储于计算机硬盘上的二进制Y、U、V图像分量文件转换成TV信号。
发明内容
本发明的提供一种基于DSP的提供数字电视测试信号的系统,为数字电视的测量提供信号源。
为了解决上述问题,本发明提出了一种基于DSP的数字电视测试系统,所述系统包括:
信号源单元,由PC机上的MATLAB软件编程来实现,在TDK(TriMediaDeveloper‘s Kit)开发工具中的软件开发环境SDE:Sotfware DevelopmentEnvironment下用c语言开发完成;
DSP单元,构成了整个电视信号发生器的硬件主体结构,以Philips公司TriMedia DPSCPU芯片为核心的硬件开发平台;
数字电视测量单元,用监视器输出数字电视测试信号,观察输出的效果来进行测量。
所述信号源单元包括:分配缓存单元voAllocBuf,文件写入单元voReadFiles,文件输出单元voRun,释放缓存单元voFreeBuf。
所述分配缓存内存单元将读入内存中的图像文件分配缓存,并写入其中,其步骤包括如下:
voAllocBuf函数调用子函数allocSz分配缓存区间,首先需要计算出存放.y.u.v文件所需的buffer的大小(szY和szUV),作为函数参数;
调用allocSz将三个文件分别读入各自的buffer中时,如果不成功,将调用my_abort以错误代码(-1)直接跳出,并输出“_cache_malloc,error code 0”;如果调用成功,则用COPYBACK将文件读入buffer,并返回一个指向分配给bueffr的内存块的指针;
调用宏DP,记录相应的操作信息。
所述图像文件写入内存模板将缓存中的图像文件按预定的格式写入内存,其步骤包括如下:
voReadFiles调用子函数readYUVFiles将buffer中的内容读入内存;如果返回值是0,则程序继续进行,如果返回值是其他,则调用my_abort直接跳出(exit(-1)),并显示“<图像名>failed,error code<返回值>”;
调用readYUVFiels时,要先进行一系列的比较检查,以保证三个buffer中的文件内容被正确的放入内存中;检查过程如下:若voAllocBuf中返回的指向存放.y文件的buffer首地址的voBuf.Y为空,返回1;若voAllocBuf中返回的指向存放.u文件的buffer首地址的voBuf.U为空,返回2;若voAllocBuf中返回的指向存放.v文件的buffer首地址的voBuf.V为空,返回3;若文件打开失败,返回4;若存放.y文件的buffer大小与由图像长宽计算出来的大小count不同,返回4;若存放.u文件的buffer大小与在一定模式下由图像长宽计算出来的大小uvSize不同,返回4;若存放.v文件的buffer大小与在一定模式下(4:2:0/4:2:2)由图像长宽计算出来的大小uvSize不同,返回4;若一切正常,调用copybackRange,将存放YUV文件的三个buffer中的内容写入内存中,并返回0。
所述图像输出模块用来启动输出设备,采用中断模式输出存储在SDRAM中的文件。
在本发明实施例中,本发明可以产生18种国际上普遍使用的测试信号和两种特殊测试信号,及一个SDTV的综合测试图。本发明可以当作数字电视视频编码、视频处理设备的标准信号源使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的基于DSP的数字电视测试系统结构图;
图2是本发明实施例中的系统开发设计流程图;
图3是本发明实施例中的统软件模块图;
图4是本发明实施例中的分配缓存模块示意图;
图5是本发明实施例中的图像文件写入内存模块示意图;
图6是本发明实施例中的图像输出模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明主要包括以下单元:信号源与应用程序、DSP和数字电视测量三个部分。
所述信号源由PC机上的MATLAB软件编程来实现,应用程序的开发也是在是在PC机上进行,在TDK(TriMedia Developer‘s Kit)开发工具中的软件开发环境SDE:Sotfware Development Environment下用c语言开发。
所述DSP单元构成了整个电视信号发生器的硬件主体结构。它是以Philips公司TriMedia DPSCPU芯片为核心的硬件开发平台。
所述数字电视测量单元是用监视器输出数字电视测试信号,观察输出的效果等来进行测量。
图2为本发明系统开发设计流程图
如图2所示,包括步骤:
步骤1:用MATLAB生成由广电总局广播电视计量检测中心确定的SDTV测试信号和综合测试图,该综合测试图的视频参数符合ITU-RB.T601建议书中标准清晰度电视(SDTV)625/50/2:1系统有效图像720×576像素、4:2:2取样格式、图像宽高比为4∶3的图像信号的有关规范。
步骤2:采用MATLAB的高级文件I/O例程将MATLAB产生的.mat图像文件转换为.bin格式的二进制文件。由于MATLAB的图像文件是RGB分量格式,要先根据ITU-RB.T601建议和国家标准GB/T14857-93《演播室数字电视编码参数规范》的625/50/2:1SDTV系统基本参数要求将RGB分量转换成Y、Cb、Cr亮度和色度分量,再转换成Y、U、V分量,最后我们将这三个分量分别保存为DSP能够读入的二进制的.y、.u和.v文件。
步骤3:步骤2形成的二进制.y、.u和.v文件需要在TriMedia的软件开发环境下,通过使用TriMedia提供的系统函数编写的应用程序读入DSP的内存中,然后由视频输出模块配合其它功能模块将各种测试图像按照需要的格式由标准视频接口输出。按照上述流程开发的可执行文件的调试通过主机(PC机)上的SDE软件开发环境与目标板(TriMedia板)上的JTAG调试模块进行通信来实现。
图3为本发明系统软件模块图
如图3所示,系统的软件设计包含了四大软件模块,分别为:分配缓存(voAllocBuf)、文件写入内存(voReadFiles)、文件输出(voRun)和释放缓存(voFreeBuf)。
图4为本发明分配缓存模块示意图
该模块的功能是为即将读入内存中的图像文件分配缓存,并写入其中。基本步骤为:
步骤11:voAllocBuf函数调用子函数allocSz分配缓存区间,首先需要计算出存放.y.uv文件所需的buffer的大小(szY和szUV),作为函数参数。
步骤12:调用allocSz将三个文件分别读入各自的buffer中时,如果不成功,将调用my_abort以错误代码(-1)直接跳出,并输出“_cache_malloc,error code 0”(一般把屏幕设为默认输出平台,也可以输出到指定文件);如果调用成功,则用COPYBACK将文件读入buffer,并返回一个指向分配给bueffr的内存块的指针。
步骤13:调用宏DP,记录相应的操作信息,如:“Allocate voBuf,3,<存放.y文件的bueffr的首地址>,<存放.u文件的bueffr的首地址>,<存放.v文件的buffer的首地址>”。
图5为本发明图像文件写入内存模块示意图
该模块的功能为将缓存中的图像文件按预定的格式写入内存。基本步骤为:
步骤21:voReadFiles调用子函数readYUVFiles将buffer中的内容读入内存。如果返回值是0,则程序继续进行,如果返回值是其他,则调用my abort直接跳出(exit(-1)),并显示“<图像名>failed,error code<返回值>”。
步骤22:调用readYUVFiels时,要先进行一系列的比较检查,以保证三个buffer中的文件内容被正确的放入内存中。检查过程如下:若voAllocBuf中返回的指向存放.y文件的buffer首地址的voBuf.Y为空,返回1;若voAllocBuf中返回的指向存放.u文件的buffer首地址的voBuf.U为空,返回2;若voAllocBuf中返回的指向存放.v文件的buffer首地址的voBuf.V为空,返回3;若文件打开失败,返回4;若存放.y文件的buffer大小与由图像长宽计算出来的大小count不同,返回4;若存放.u文件的buffer大小与在一定模式下(4:2:0/4:2:2)由图像长宽计算出来的大小uvSize不同,返回4;若存放.v文件的buffer大小与在一定模式下(4:2:0/4:2:2)由图像长宽计算出来的大小uvSize不同,返回4;若一切正常,调用copybackRange,将存放YUV文件的三个buffer中的内容写入内存中,并返回0。
图6为本发明图像输出模块示意图
该模块的功能是启动输出设备,采用中断模式输出存储在SDRAM当中的文件。下面分别对voOpenAPI和voRunSignal函数的基本步骤进行详细说明。
voOpenAPI:
步骤311:进行一系列初始化工作,如规定中断优先级、视频标准、工作频率、适配器种类等,然后调用中断服务函数voTestISR。如果初始化失败,调用my_abort直接退出(exit(-1)),并显示“voOpen failed,error code<相应retVal返回值>”。
步骤312:voTestISR先调用库函数AppModel_suspend_scheduling()将进程挂起,然后调用_voTestISR进行中断:这个中断服务例程优先级高,因此即使同时再产生其他中断也不会影响它。
步骤313:进行验证voInstanceSetup,如果失败,调用my_abort直接退出(exit(-1)),并显示“voInstanceSetup failed,error code<相应retVal返回值>”;正确,程序继续,开始运行voRunSignal。
voRunSignal:
步骤321:规定视频输出模式(如420_UNSCALED)和图像在屏幕上的位置(我们都是全屏显示,故图像水平和垂直偏置都为0)。调用函数voYUVAPI。
步骤322:voYUVAPI先将bufferl置空,buffer2置满,意在从buffer1开始读取数据,如果是隔行扫描,则将图像高度除2,再将y的跨度变为原来2倍。voYUVAPI中对于不同的输出模式(mode),进行不同的处理。对于422_COSITED_UNSCALED ,422_INTERSPERSED_UNSCALED ,和420_UNSCALED模式,图像宽度保持不变;对于422_COSITED_SCALED,422_INTERSPERSED_SCAELD,和420S_CALED模式,图像宽度扩展为原来的二倍。输出模块规定了图像数据的三种存储格式:cosited 4:2:2,interspersed 4:2:2和interspesred 4:2:0。cosited和interspersed说明了YUV分量三者之间的两种平面排列方式。
步骤323:RunSignal运行成功后,回到voRun函数,运行voStop终止外设。如果终止失败,调用my_abort直接退出(exit(-1)),并显示“voStop failed,errorcode<相应retVal返回值>”;终止外设成功,运行voClose,关闭设备释放内存。
以上对本发明实施例所提供的,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种基于DSP的数字电视测试系统,其特征在于,包括:
信号源单元,由PC机上的MATLAB软件编程来实现,在TDK(TriMediaDeveloper‘s Kit)开发工具中的软件开发环境SDE:Sotfware DevelopmentEnvironment下用c语言开发完成;
DSP单元,构成了整个电视信号发生器的硬件主体结构,以Philips公司TriMedia DPSCPU芯片为核心的硬件开发平台;
数字电视测量单元,用监视器输出数字电视测试信号,观察输出的效果来进行测量。
2.如权利要求1所述的基于DSP的数字电视测试系统,其特征在于,所述信号源单元包括:分配缓存单元voAllocBuf,文件写入单元voReadFiles,文件输出单元voRun,释放缓存单元voFreeBuf。
3.如权利要求2所述的基于DSP的数字电视测试系统,其特征在于,所述分配缓存内存单元将读入内存中的图像文件分配缓存,并写入其中,其步骤包括如下:
voAllocBuf函数调用子函数allocSz分配缓存区间,首先需要计算出存放.y.u.v文件所需的buffer的大小(szY和szUV),作为函数参数;
调用allocSz将三个文件分别读入各自的buffer中时,如果不成功,将调用my_abort以错误代码(-1)直接跳出,并输出“_cache_malloc,error code 0”;如果调用成功,则用COPYBACK将文件读入buffer,并返回一个指向分配给bueffr的内存块的指针;
调用宏DP,记录相应的操作信息。
4.如权利要求2所述的基于DSP的数字电视测试系统,其特征在于,所述图像文件写入内存模板将缓存中的图像文件按预定的格式写入内存,其步骤包括如下:
voReadFiles调用子函数readYUVFiles将buffer中的内容读入内存;如果返回值是0,则程序继续进行,如果返回值是其他,则调用my_abort直接跳出(exit(-1)),并显示“<图像名>failed,error code<返回值>”;
调用readYUVFiels时,要先进行一系列的比较检查,以保证三个buffer中的文件内容被正确的放入内存中;检查过程如下:若voAllocBuf中返回的指向存放.y文件的buffer首地址的voBuf.Y为空,返回1;若voAllocBuf中返回的指向存放.u文件的buffer首地址的voBuf.U为空,返回2;若voAllocBuf中返回的指向存放.v文件的buffer首地址的voBuf.V为空,返回3;若文件打开失败,返回4;若存放.y文件的buffer大小与由图像长宽计算出来的大小count不同,返回4;若存放.u文件的buffer大小与在一定模式下由图像长宽计算出来的大小uvSize不同,返回4;若存放.v文件的buffer大小与在一定模式下(4:2:0/4:2:2)由图像长宽计算出来的大小uvSize不同,返回4;若一切正常,调用copybackRange,将存放YUV文件的三个buffer中的内容写入内存中,并返回0。
5.如权利要求2所述的基于DSP的数字电视测试系统,其特征在于,所述图像输出模块用来启动输出设备,采用中断模式输出存储在SDRAM中的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104359664A CN102447946A (zh) | 2011-12-22 | 2011-12-22 | 一种基于dsp的数字电视测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104359664A CN102447946A (zh) | 2011-12-22 | 2011-12-22 | 一种基于dsp的数字电视测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102447946A true CN102447946A (zh) | 2012-05-09 |
Family
ID=46009963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104359664A Pending CN102447946A (zh) | 2011-12-22 | 2011-12-22 | 一种基于dsp的数字电视测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102447946A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110519589A (zh) * | 2019-09-05 | 2019-11-29 | 四川长虹电器股份有限公司 | 一种智能电视自动图像画面检测的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193324A (zh) * | 2007-12-21 | 2008-06-04 | 天津市德力电子仪器有限公司 | 机顶盒集成测试系统 |
CN201146580Y (zh) * | 2007-12-27 | 2008-11-05 | 青岛海信电器股份有限公司 | 一种自动测试系统及具有接口自动测试功能的电视机 |
CN101500177A (zh) * | 2009-02-20 | 2009-08-05 | 重庆市计量质量检测研究院 | 视频监控系统检测方法及其装置 |
CN101547377A (zh) * | 2009-05-05 | 2009-09-30 | 北京牡丹视源电子有限责任公司 | 信号源及其控制方法 |
CN201583599U (zh) * | 2009-11-25 | 2010-09-15 | 福建和盛高科技产业有限公司 | 容性设备在线监测标准信号发生器 |
-
2011
- 2011-12-22 CN CN2011104359664A patent/CN102447946A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193324A (zh) * | 2007-12-21 | 2008-06-04 | 天津市德力电子仪器有限公司 | 机顶盒集成测试系统 |
CN201146580Y (zh) * | 2007-12-27 | 2008-11-05 | 青岛海信电器股份有限公司 | 一种自动测试系统及具有接口自动测试功能的电视机 |
CN101500177A (zh) * | 2009-02-20 | 2009-08-05 | 重庆市计量质量检测研究院 | 视频监控系统检测方法及其装置 |
CN101547377A (zh) * | 2009-05-05 | 2009-09-30 | 北京牡丹视源电子有限责任公司 | 信号源及其控制方法 |
CN201583599U (zh) * | 2009-11-25 | 2010-09-15 | 福建和盛高科技产业有限公司 | 容性设备在线监测标准信号发生器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110519589A (zh) * | 2019-09-05 | 2019-11-29 | 四川长虹电器股份有限公司 | 一种智能电视自动图像画面检测的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11874759B2 (en) | Recording processor instruction execution cycle and non-cycle count trace events | |
US11694299B2 (en) | Methods and apparatus to emulate graphics processing unit instructions | |
CN107251004B (zh) | 通过使用欺骗时钟及细粒度频率控制实现的向后兼容性 | |
US11074157B2 (en) | Splicing screen debugging method, splicing screen and splicing wall | |
CN104932973A (zh) | 一种版本兼容测试方法和装置 | |
CN101938566A (zh) | 一种可视化的终端调试方法和装置 | |
JP2014532914A (ja) | プログラム可能な試験機器 | |
CN105741879B (zh) | 一种模拟智能电能表存储器测试板系统及其测试方法 | |
CN109460364A (zh) | 应用程序检测方法、装置、存储介质及移动终端 | |
CN112597064B (zh) | 对程序进行仿真的方法、电子设备及存储介质 | |
WO2023000358A1 (zh) | 存储装置的测试方法、测试装置及系统 | |
WO2022222293A1 (zh) | 存储设备测试方法、装置、电视机以及存储介质 | |
CN107290654A (zh) | 一种fpga逻辑测试结构及方法 | |
CN112181500A (zh) | 一种参数调整方法、装置、终端和存储介质 | |
US20100199044A1 (en) | Interface apparatus, calculation processing apparatus, interface generation apparatus, and circuit generation apparatus | |
CN107577542A (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN102447946A (zh) | 一种基于dsp的数字电视测试系统 | |
CN104598325B (zh) | 显示模组的edid数据烧录校验方法 | |
US20130262812A1 (en) | Hardware Managed Allocation and Deallocation Evaluation Circuit | |
CN112445855A (zh) | 用于图形处理器芯片的可视化分析方法和可视化分析装置 | |
CN112181851A (zh) | 软件测试方法、设备及存储介质 | |
CN114691481A (zh) | 异常定位方法、装置及可读存储介质 | |
CN113867803A (zh) | 一种内存初始化装置、方法及计算机系统 | |
CN103810087A (zh) | 测试应用程序性能的方法和装置 | |
CN116450511A (zh) | 信息更新方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120509 |