数字电视测试信号发生器及其播放方法

文档序号:7700154阅读:323来源:国知局

专利名称::数字电视测试信号发生器及其播放方法
技术领域
:本发明涉及数字电视测试
技术领域
,尤其涉及一种数字电视测试信号发生器及其播放方法。
背景技术
:数字电视测试信号发生器用于发生测试数字电视功能和性能的测试信号,它主要为数字电视研发、生产、检测、论证、维修乃至销售部门所使用。现有的数字电视测试信号发生器ll的装置结构,如图1所示,包括输入接口电路lll、CPU112、用户操作界面113、系统内存114、信号播放缓冲器115和输出接口电路116。当使用时,将数字电视测试信号发生器的输入接口电路111与外部存储器连接,将数字电视测试信号发生器的输出接口电路116与数字电视机连接,用户通过操作界面113选中所要的测试信号文件,命令信号播放缓冲器115播放此选中的测试信号文件,CPU112中的用户应用程序接到用户命令后,通知CPU112中的设备驱动程序打开在外部存储器中保存的测试信号文件,将测试信号文件先读到CPU112中预设的数据缓冲区,再将它们传输到系统内存114中预设的数据缓冲区,之后应用程序又调用设备驱动程序再将测试信号文件从系统内存114的数据缓冲区传送到CPU112的数据缓冲区,最后把它们送往信号播放缓冲器的播放缓冲区,最后经输出接口电路116将它们发给待测的数字电视机。因此,导致数据传输过程重复、传输时间长、CPU运行效率低下。
发明内容本发明提供了一种数字电视测试信号发生器及其播放方法,以解决现有技术中存在的数据传输过程重复、传输时间长和CPU运行效率低下的问题。为达到上述目的,本发明一方面提供了一种数字电视测试信号发生器的播放方法,包括以下步骤CPU接收来自用户操作界面的软件初始化指令、硬件初始化指令和信号文件名;所述CPU根据所述软件初始化指令在所述系统内存中建立数据缓冲区,并设置DMA数据传输方式,根据所述硬件初始化指令对所述信号播放缓冲器进行参数设置,开启所述信号播放缓冲器,根据所述信号文件名生成包含信号文件名的DMA请求,并将所述DMA请求发送至DMA控制器;所述DMA控制器根据所述DMA请求并通过输入接口电路从外部存储器读取对应的测试信号文件到所述数据缓冲区;所述DMA控制器采用DMA数据传输方式将所述测试信号文件从所述数据缓冲区传输至所述信号播放缓冲器的播放缓冲区;输出接口电路将所述播放缓冲区中当前存储的测试信号文件发送至待测的数字电视机。本发明的放方法,,所述根据DMA请求并通过输入接口电路从外部存储器读取对应的测试信号文件到所述数据缓冲区,包括以下步骤所述DMA控制器接收所述DMA请求;所述DMA控制器根据所述DMA请求中包含的信号文件名査找FAT表确定对应的测试信号文件在所述外部存储器中的位置;所述DMA控制器每次从所述测试信号文件中读取若干字节数据到所述数据缓冲区;所述DMA控制器启动DMA数据传输方式将所述数据缓冲区中的若干字节数据传送到所述播放缓冲区;所述DMA控制器判断所述DMA数据传输是否结束,如果未结束,则继续所述DMA数据传输,否则,判断所述信号文件是否读取完毕,如果未完毕,则继续所述信号文件的读取,否则结束。.另一方面,本发明还提供一种数字电视测试信号发生器,包括输入接口电路、CPU、用户操作界面、系统内存、信号播放缓冲器和输出接口电路,还包括DMA控制器,用于接收所述CPU发送的包含信号文件名的DMA请求,根据所述DMA请求并通过所述输入接口电路从外部存储器读取对应的测试信号文件到所述系统内存中预设的数据缓存区,将所述测试信号文件从所述系统内存的数据缓存区读取到所述信号播放缓冲器中的播放缓冲区。本发明的数字电视测试信号发生器,所述DMA控制器包括DMA请求接收模块,用于接收所述CPU发送的包含信号文件名的DMA请求;第一传输模块,用于根据所述DMA请求并通过所述输入接口电路从外部存储器读取对应的测试信号文件到所述系统内存中预设的数据缓存区;第二传输模块,用于将所述测试信号文件从所述系统内存的数据缓存区读取到所述信号播放缓冲器中预设的播放缓冲区。本发明的数字电视测试信号发生器,所述第一传输模块,进一步包括文件查找子模块,用于根据所述信号文件名査找FAT表确定对应的测试信号文件在所述外部存储器中的位置;第一读取子模块,用于每次从所述测试信号文件中读取若干字节数据到所述系统内存的数据缓冲区。本发明的数字电视测试信号发生器,所述第二传输模块,进一步包括第二读取子模块,用于启动DMA数据传输方式将所述系统内存的数据缓冲区中的若干字节数据传送到所述信号播放缓冲器中的播放缓冲区;-判断子模块,用于判断所述第二读取子模块的DMA数据传输是否结束,如果未结束,则指示所述第二读取子模块继续所述DMA数据传输,否则,判断所述信号文件是否读取完毕,如果未完毕,则指示所述第一读取子模块继续所述信号文件的读取,否则结束。本发明的数字电视测试信号发生器,所述CPU包括接收模块,用于接收来自所述用户操作界面的软件初始化指令、硬件初始化指令和信号文件名;软件初始化模块,用于根据所述软件初始化指令在所述系统内存中建立数据缓冲区,并设置所述DMA数据传输方式;硬件初始化模块,用于根据所述硬件初始化指令对所述信号播放缓冲器进行参数设置,开启所述信号播放缓冲器;DMA请求发送模块,用于根据所述信号文件名生成所述包含信号文件名的DMA请求,并将所述DMA请求发送至所述DMA控制器。本发明采用DMA数据传输模式传输数据,每次从外部存储器中读取需要的测试信号文件到系统内存的数据缓冲区,然后启动DMA数据传输方式将系统内存的数据缓冲区中的测试信号文件传送到信号播放缓冲器中的播放缓冲区,从而省去了需要先将测试信号文件读取到CPU中预设的数据缓冲区和调用时再将测试信号文件从系统内存的数据缓冲区传送到CPU中的数据缓冲区的过程,因此,避免了数据传输过程的重复、縮短了数据传输时间,提高了CPU的运行效率。图1为现有的数字电视测试信号发生器的装置结构图;图2为本发明的数字电视测试信号发生器的播放方法流程图图3为本发明的数字电视测试信号发生器的装置结构图;图4为图3中DMA控制器的装置结构图;图5为图3中CPU的装置结构图。具体实施例方式下面结合附图对本发明的具体实施方式进行详细描述参考图2,本发明的数字电视测试信号发生器的播放方法,包括以下步骤步骤S201,CPU接收来自用户操作界面的软件初始化指令、硬件初始化指令和信号文件名。需要说明,本实施例的数字电视测试信号发生器播放的信号文件由文件头和有效数据两大部分组成,其中,有效数据采用MPEG相关标准,而文件头的组成,具体见表l表l:文件头的组成<table>tableseeoriginaldocumentpage7</column></row><table>其中,重建方式用7比特表示,具体见表2:表2:重建方式<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>其中,色矩阵代码,具体见表3表3:色矩阵代码<table>tableseeoriginaldocumentpage9</column></row><table>步骤S202,CPU根据软件初始化指令在系统内存中建立数据缓冲区,并设置DMA数据传输方式,根据硬件初始化指令对信号播放缓冲器进行参数设置,开启信号播放缓冲器,根据信号文件名生成包含信号文件名的DMA请求,并将DMA请求发送至DMA控制器。为了从外部存储器(如U盘、CF卡、SD卡等)读取测试信号文件和向信号播放缓冲器输出数据,CPU根据软件初始化指令在系统内存中建立数据缓冲区"*8*512字节),并将其地址转成物理地址,DMA控制器忙标志清零。然后,把CPU中的DCSRCO和DCDSTO寄存器清零;设置DMA数据传输的源开始地址到CPU中的DISRC0寄存器中;设置DMA数据传输的目的开始地址到CPU中的DIDST0寄存器中;设置DMA数据传输源地址的总线位置和变化方式到DISRCCO寄存器中;设置DMA数据传输目的地址的中断发生时刻、总线位置和变化方式到DIDSTCO寄存器中;设置DMA控制寄存器DCONO,包括DMA传输量。最后为DMA数据传输建立中断程序,包括选择中断模式、打开中断、调用reqnest一irq()函数安装中断处理程序,即将上述中断处理程序和位于irq_deSC[]全局数组中的有关该中断的描述符连接起来。接着,CPU根据硬件初始化指令对信号播放缓冲器进行参数设置,这些参数设置包括对FPGA相关寄存器进行设置参数;设置扫描定时参数行脉冲宽度,行前肩,行有效,行总数,场脉冲宽度,场前肩,场有效,场总数;设置信号位置寄存器信号起始位置基地址,信号起始位置偏移量,信号终止位置基地址,信号终止位置偏移量,加载基地址;设置LOGO相关寄存器LOGO存储起始位置基地址,存储起始位置偏移量,存储终止位置基地址,存储终止位置偏移量,显示在第几行第几列,运动方式,行宽和列宽。然后,发送FPGA启动命令,开启信号播放缓冲器。步骤S203,CPU向数据缓冲区输出LOGO数据内容。即输出待测数字电视的品牌标志,如牡丹标志图像数据。步骤S204,DMA控制器接收DMA请求,根据信号文件名查找FAT表确定对应的测试信号文件在外部存储器中的位置。此外,DMA控制器将还系统内存的n个数据缓冲区挂载到空闲队列,数据缓冲区满标志计数器清零,DMA控制器忙标志清零。步骤S205,DMA控制器每次从测试信号文件中读取若干字节数据到系统内存的数据缓冲区。例如每次从测试信号文件中读取6*512字节的数据到一块8*512字节大小的数据缓冲区中,经数据格式转换后,将它挂到忙队列中,数据缓冲区满标志计数器加一。步骤S206,DMA控制器启动DMA数据传输方式将数据缓冲区中的若干字节数据传送到信号播放缓冲器中的播放缓冲区。若DMA控制器忙标志为0且数据缓冲区满标志计数器不为0,则把DMA控制器忙标志置为1;把DCSRCO和DCDST0寄存器清零;设置DMA数据传输的源开始地址寄存器DISRC0;设置DMA数据传输的目的开始地址寄存器DIDST0;屏蔽DMA中断,发送一块8*512字节的数据至信号播放缓冲器中的播放缓冲区,数据缓冲区满标志计数器减一,将发送完的数据缓冲区挂到空闲队列中,DMA控制器忙标志清零,打开DMA中断,去掉对DMA中断的屏蔽。其中,DMA数据传输及中断处理程序的工作原理及过程为DMA控制器等待DMA请求,如果CPU产生一个DMA数据传输请求,即DMA控制器检测到DMA请求后,DMA控制器就把CPU中的寄存器DCON[19:0]中内容考到CURR—TC(在DSTAT寄存器中)中,把寄存器DISRC0中内容考到DCSRC0中,把寄存器DIDST0中内容考到DCDST0。DMA控制器从DCSRC0寄存器表示的源地址读入数据,并将它写到DCDSTO寄存器表示的目的地址中,每传输一次X:URR—TC减一,DCSRC0和DCDSTO减相应的值,重复上述过程,直至CURR—TC减为零。当CURR_TC减为零时,DMA控制器发出中断请求。当DMA控制器发生中断时,CPU的程序计数器置为0x18,并执行0xl8处的代码。由于0x18处存放一条跳转到vector—irq()函数的语句,所以CPU跳转到该函数处执行。例如vectorjrq()函数完成如下任务判断出这个DMA中断源发生了中断,并计算出它的中断号为17;根据中断号17在ircLdesc[]全局数组中找到描述该中断的元素irq_deSC[17],从该元素的action指针成员所指向的链表中找到本中断处理函数,执行上述中断处理程序。步骤S207,DMA控制器判断DMA数据传输是否结束,如果未结束,则执行步骤S206,否则,执行步骤S208。歩骤S208,DMA控制器判断信号文件是否读取完毕,如果未读取完毕,则执行步骤S205,否则,执行步骤S209。步骤S209,输出接口电路将播放缓冲区中当前存储的测试信号文件发送至待测的数字电视机。参考图3,本发明的数字电视测试信号发生器的装置21,包括输入接口电路211、CPU212、用户操作界面213、系统内存214、信号播放缓冲器215、输出接口电路216和DMA(DirectMemoryAccess,直接内存访问)控制器217。其中,DMA控制器217,用于接收CPU212发送的包含信号文件名的DMA请求,根据DMA请求并通过输入接口电路211从外部存储器读取对应的测试信号文件到系统内存214中预设的数据缓存区,将测试信号文件从系统内存214的数据缓存区读取到信号播放缓冲器215中的播放缓冲区。参考图4,本发明的DMA控制器217,包括DMA请求接收模块2171,用于接收CPU212发送的包含信号文件名的DMA请求。第一传输模块2172,用于根据DMA请求并通过输入接口电路211从外部存储器读取对应的测试信号文件到系统内存214中预设的数据缓存区。第二传输模块2173,用于将测试信号文件从系统内存214的数据缓存区读取到信号播放缓冲器215中预设的播放缓冲区。其中第一传输模块2172,进一步包括文件査找子模块2174,用于根据信号文件名查找FAT表确定对应的测试信号文件在外部存储器中的位置;第一读取子模块2175,用于每次从测试信号文件中读取若干字节数据到系统内存214的数据缓冲区。第二传输模块2173,进一步包括第二读取子模块2176,用于启动DMA数据传输方式将系统内存214的数据缓冲区中的若干字节数据传送到信号播放缓冲器215中的播放缓冲区;判断子模块2177,用于判断第二读取子模块2173的DMA数据传输是否结束,如果未结束,则指示第二读取子模块2176继续DMA数据传输,否则,判断信号文件是否读取完毕,如果未完毕,则指示第一读取子模块2175继续信号文件的读取,否则结束。参考图5,本发明的CPU212的型号为ARM9CPU,包括接收模块2121,用于接收来自用户操作界面213的软件初始化指令、硬件初始化指令和信号文件名。软件初始化模块2122,用于根据软件初始化指令在系统内存214中建立数据缓冲区,并设置DMA数据传输方式。硬件初始化模块2123,用于根据硬件初始化指令对信号播放缓冲器215进行参数设置,开启信号播放缓冲器215。DMA请求发送模块2124,用于根据信号文件名生成包含信号文件名的DMA请求,并将DMA请求发送至DMA控制器217。本发明采用DMA数据传输模式传输数据,每次从外部存储器中读取需要的测试信号文件到系统内存的数据缓冲区,然后启动DMA数据传输方式将系统内存的数据缓冲区中的测试信号文件传送到信号播放缓冲器中的播放缓冲区,从而省去了需要先将测试信号文件读取到CPU中预设的数据缓冲区和调用时再将测试信号文件从系统内存的数据缓冲区传送到CPU中的数据缓冲区的过程,因此,避免了数据传输过程的重复、缩短了数据传输时间,提高了CPU的运行效率。本领域技术人员可以理解附图只是一个优选实施例的示寧图,附图中的模块或流程并不一定是实施本发明所必需的。权利要求的内容记载的方案也是本发明实施例的保护范围。实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。以上的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。权利要求1、一种数字电视测试信号发生器的播放方法,其特征在于,包括以下步骤CPU接收来自用户操作界面的软件初始化指令、硬件初始化指令和信号文件名;所述CPU根据所述软件初始化指令在所述系统内存中建立数据缓冲区,并设置DMA数据传输方式,根据所述硬件初始化指令对所述信号播放缓冲器进行参数设置,开启所述信号播放缓冲器,根据所述信号文件名生成包含信号文件名的DMA请求,并将所述DMA请求发送至DMA控制器;所述DMA控制器根据所述DMA请求并通过输入接口电路从外部存储器读取对应的测试信号文件到所述数据缓冲区;所述DMA控制器采用DMA数据传输方式将所述测试信号文件从所述数据缓冲区传输至所述信号播放缓冲器的播放缓冲区;输出接口电路将所述播放缓冲区中当前存储的测试信号文件发送至待测的数字电视机。2、根据权利要求1所述的播放方法,其特征在于,所述根据DMA请求并通过输入接口电路从外部存储器读取对应的测试信号文件到所述数据缓冲区,包括以下步骤所述DMA控制器接收所述DMA请求;所述DMA控制器根据所述DMA请求中包含的信号文件名査找FAT表确定对应的测试信号文件在所述外部存储器中的位置;所述DMA控制器每次从所述测试信号文件中读取若干字节数据到所述数据缓冲区;所述DMA控制器启动DMA数据传输方式将所述数据缓冲区中的若干字节数据传送到所述播放缓冲区;所述DMA控制器判断所述DMA数据传输是否结束,如果未结束,则继续所述DMA数据传输,否则,判断所述信号文件是否读取完毕,如果未完毕,则继续所述信号文件的读取,否则结束。3、一种执行权利要求1或2所述播放方法的数字电视测试信号发生器,包括依次连接的输入接口电路、CPU、用户操作界面、系统内存、信号播放缓冲器和输出接口电路,其特征在于,还包括DMA控制器,用于接收所述CPU发送的包含信号文件名的DMA请求,根据所述DMA请求并通过所述输入接口电路从外部存储器读取对应的测试信号文件到所述系统内存中预设的数据缓存区,将所述测试信号文件从所述系统内存的数据缓存区读取到所述信号播放缓冲器中的播放缓冲区。4、根据权利要求3所述的数字电视测试信号发生器,其特征在于,所述DMA控制器包括DMA请求接收模块,用于接收所述CPU发送的包含信号文件名的DMA请求;第一传输模块,用于根据所述DMA请求并通过所述输入接口电路从外部存储器读取对应的测试信号文件到所述系统内存中预设的数据缓存区;第二传输模块,用于将所述测试信号文件从所述系统内存的数据缓存区读取到所述信号播放缓冲器中预设的播放缓冲区。5、根据权利要求4所述的数字电视测试信号发生器,其特征在于,所述第一传输模块,进一步包括文件査找子模块,用于根据所述信号文件名查找FAT表确定对应的测试信号文件在所述外部存储器中的位置;第一读取子模块,用于每次从所述测试信号文件中读取若干字节数据到所述系统内存的数据缓冲区。6、根据权利要求5所述的数字电视测试信号发生器,其特征在于,所述第二传输模块,进一步包括第二读取子模块,用于启动DMA数据传输方式将所述系统内存的数据缓冲区中的若干字节数据传送到所述信号播放缓冲器中的播放缓冲区;判断子模块,用于判断所述第二读取子模块的DMA数据传输是否结束,如果未结束,则指示所述第二读取子模块继续所述DMA数据传输,否则,判断所述信号文件是否读取完毕,如果未完毕,则指示所述第一读取子模块继续所述信号文件的读取,否则结束。7、根据权利要求6所述的数字电视测试信号发生器,其特征在于,所述CPU包括接收模块,用于接收来自所述用户操作界面的软件初始化指令、硬件初始化指令和信号文件名;软件初始化模块,用于根据所述软件初始化指令在所述系统内存中建立数据缓冲区,并设置所述DMA数据传输方式;硬件初始化模块,用于根据所述硬件初始化指令对所述信号播放缓冲器进行参数设置,开启所述信号播放缓冲器;DMA请求发送模块,用于根据所述信号文件名生成所述包含信号文件名的DMA请求,并将所述DMA请求发送至所述DMA控制器。全文摘要本发明公开了一种数字电视测试信号发生器及其播放方法,该方法采用DMA数据传输方式进行数据传输,通过输入接口电路从外部存储器读取对应的测试信号文件到系统内存中预设的数据缓存区,然后将测试信号文件从系统内存的数据缓存区读取到信号播放缓冲器中的播放缓冲区,从而省去了需要先将测试信号文件读取到CPU中预设的数据缓冲区和调用时再将测试信号文件从系统内存的数据缓冲区传送到CPU中的数据缓冲区的过程,因此,避免了数据传输过程的重复、缩短了数据传输时间,提高了CPU的运行效率。文档编号H04N17/04GK101540928SQ20091008383公开日2009年9月23日申请日期2009年5月7日优先权日2009年5月7日发明者宁徐,欣辛申请人:北京牡丹视源电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1