具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面结合图1和图2来详细说明根据本发明的实施例的时序控制电路的验证***。图1示出了根据本发明的实施例的时序控制电路的验证***的示意图,图2示出了图1中的FPGA所搭建的电路示意图。
如图1所示,根据本发明的实施例的时序控制电路的验证***,可以包括两大部分,现场可编程逻辑门阵列102和验证电路接口(也可称为TCON验证电路扩展板)104,IIC总线调试接口1042设置在验证电路接口104中,其中,
现场可编程门阵列102,用于搭建时序控制电路1024和IIC总线控制器1022(参见图2),时序控制电路1024连接至IIC总线控制器1022,用于接收来自IIC总线控制器1022的读写操作指令,并执行该读写操作指令,该IIC总线控制器1022用于接收来自IIC总线调试接口1042的测试指令并对该测试指令进行解析,将解析生成的读写操作指令发送至时序控制电路1024;IIC总线调试接口1042,连接至上述现场可编程门阵列102,将由上位机10输入的测试指令发送至现场可编程门阵列102搭建的IIC总线控制器1022,以及将现场可编程门阵列102搭建的时序控制电路1024的执行结果传输至验证单元(例如显示屏12),以确定现场可编程门阵列102搭建的时序控制电路1024是否正确。
由于现场可编程门阵列(FPGA)102是一种半定制化电路,可实现组合逻辑功能,又可实现时序逻辑功能的基本逻辑单元模块。存储在逻辑单元中寄存器中的值决定了该逻辑单元的逻辑功能以及各模块之间或模块与I/O之间的联接方式,并最终决定了FPGA所实现的功能,因此,可采用FPGA来搭建时序控制电路1024和IIC总线控制器(IIC controller)1022,这样,所搭建的时序控制电路1024和IIC总线控制器1022就完全由硬件构成,并且所搭建的IIC总线控制器1022不需要内置处理器,也不需要相应的支持软件,因此与JTAG接口以及UART接口相比,更简单快捷。这样,就能精简整个验证***的设计架构,使得调试过程更加快捷方便,大大缩减了时序控制芯片的调试时间,也提高了调试的灵活性。
从图1中可知,验证电路接口104还可以包括电源模块(即POWER模块)1048,用于为显示屏12、验证电路接口104供电。除此之外,验证电路接口104还可以包括:低压差分信号输入接口1044和低压差分信号输出接口(例如,Mini-LVDS输出接口)1046,连接在IIC总线控制器1022与显示屏12之间,通过该低压差分信号输入接口1044将输入的图像数据信号传输至时序控制电路1024处理,通过该微型低压差分信号输出接口1046将时序控制电路1024处理输出的驱动显示信号传输至显示屏12。在将图像数据信号输入至时序控制电路的同时,可通过IIC总线调试接口对时序控制电路的功能模块中的寄存器的值进行配置,从而改变时序控制电路的图像处理方式,例如,将一帧图像分为左右半屏图像进行交换显示,或者将奇数列与偶数列的图像进行更换显示,这样,就能够实现TCON功能的完整验证方案。换言之,在初步搭建好时序控制电路以及IIC总线控制器之后,在对时序控制电路的驱动性能进行调试时,可输入图像数据信号,并通过调试接口输入测试指令,在上位机10输入测试指令(包含对寄存器进行配置的指令)后,若显示屏的显示效果并未达到预期效果,可现场调整FPGA所搭建的时序控制电路(即调整测试指令,对FPGA中的寄存器进行重新配置),直至达到预期效果为止,这样就能快速验证所搭建的时序控制电路并获取理想的时序控制电路。
具体的,参考图1,为了增加液晶电视机显示器的透亮度,更好地表现颜色,需要对液晶电视机显示器的亮度进行非线性校正。这些,都需要通过对液晶电视机显示器进行Gamma(显示器的物理属性)校正来完成,因此验证电路接口104还可以包括:伽玛校正电路10410,用于对显示屏的亮度进行校正。
参考图2,现场可编程门阵列102搭建的时序控制电路1024具有多个功能模块,例如视频处理模块、内存控制器模块等等,其中视频处理模块又可包括过驱动模块(OverDrive)、缩放器(Scaler)、数据压缩解压等功能模块,因此现场可编程门阵列102搭建的IIC总线控制器1022还用于将所述读写操作指令发送至时序控制电路中对应于指定功能模块地址的功能模块,以完成对相应功能模块中对应于指定寄存器地址的寄存器的配置,其中,指定功能模块地址和指定寄存器地址是解析所述测试指令获取的。
所述IIC总线控制器1022还用于将读写操作指令发送至所述时序控制电路中对应于指定功能模块地址的功能模块,读取所述功能模块中对应于指定寄存器地址的寄存器的值,并通过IIC总线调试接口输出该寄存器的值,以获取所述功能模块的工作状态信息。
其中,现场可编程门阵列102搭建的时序控制电路1024中的各功能模块通过***总线(例如,APB总线)连接至IIC总线控制器1022。
换言之,Tcon芯片内部包含很多个功能模块,如图2中的“视频处理模块”、“内存控制器模块”、“模块n”等,每个模块都有对应的一组寄存器,可以通过配置这些寄存器实现模块功能的改变,也可以读其中的一些状态寄存器得到模块工作状态的反馈信息。
从上述实施例中可以看出,本发明采用FPGA中不多的逻辑单元实现一种硬件的IIC Controller(IIC总线控制器),该模块可以接收上位机通过调试工具发过来的IIC数据流,并将数据流解析出来执行对时序控制电路1024中某个功能模块的读写操作,每个功能模块都有不同的地址空间,例如视频处理模块对应的地址时A1,内存控制器模块对应的地址是A2。
需说明的是,IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到IIC总线的各设备上的串行数据线SDA均接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上,例如时序控制电路1024中各功能模块的数据线均连接至IIC总线中的数据线,各功能模块的时钟均连接到IIC总线中的数据线的时钟线SCL。时序控制电路1024中的各个功能模块与IIC总线控制器1022通过***总线,例如APB(Advanced Peripheral Bus)总线连接在一起,如图2所示。APB总线是由ARM公司推出的AMBA总线规范的一种,已成为一种流行的工业标准片上结构。IIC总线控制器1022通过现有APB总线与时序控制电路1024中的各模块相连,也是基于简化设计的考虑,同时能够加快调试进度。
在工作时,IIC Controller将上位机发送过来的测试指令进行解析,翻译成符合APB总线时序的读写操作,从而完成对时序控制电路1024中各功能模块的寄存器的配置。对上位机10来说,通过该IIC总线控制器(IIC Controller),就可以把每个功能模块看成是不同的Slave Device,每个功能模块分配不同的Device Address,功能模块内部分配Register Address。IIC Controller将上位机10发过来的Device Address和RegisterAddress翻译成APB总线地址空间内的地址,同时将读写操作翻译为APB总线中读写控制时序。
例如,上位机调试界面通过IIC总线与FPGA内部的IIC Controller通信,IICController将上位机发送过来的寄存器的读写指令解析出来,根据Device Address找到时序控制电路中的对应功能模块,根据Register Address找到该对应功能模块中的对应寄存器,从而对相应寄存器进行配置。
所谓Master Device是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,在本实施例中,上位机是Master Device。被MasterDevice寻访的设备称为Slave Device。
因此,如果仅对时序控制电路1024中的某个功能模块进行验证,则将解析后的测试指令发送至指定地址的功能模块即可,如果需要同时对多个功能模块进行验证,将需同时提供该多个功能模块的地址。这样,就能够实现单个功能模块的调试和多个功能模块的联合调试,并且不像UART接口调试方式那样,在单独验证某个功能模块时,需要内置处理器,还要编写UART驱动软件,很明显地加快了调试速度,并降低了调试复杂度。
因此,在TCON芯片流片前,通过基于FPGA平台的辅助,在FPGA内部实现硬件集成总线控制模块,加上本发明的验证***,能够比较真实、全面地对TCON功能进行验证,并且IIC总线是一种简单的通用总线,只有两个信号,实现起来比较简单。
接下来结合图3说明根据本发明的时序控制电路的验证方法。
如图3所示,根据本发明的实施例的时序控制电路的验证方法,可以包括以下步骤:步骤302,使用现场可编程门阵列搭建时序控制电路和IIC总线控制器;步骤304,使用IIC总线调试接口接收输入的测试指令并将测试指令传输至IIC总线控制器;步骤306,通过IIC总线控制器对测试指令进行解析,生成读写操作指令,供时序控制电路接收并执行,可以通过IIC总线调试接口将时序控制电路的执行结果传输至验证单元,以确定现场可编程门阵列搭建的时序控制电路是否正确。
由于现场可编程门阵列(FPGA)是一种半定制化电路,可实现组合逻辑功能,又可实现时序逻辑功能的基本逻辑单元模块。存储在逻辑单元中寄存器中的值决定了该逻辑单元的逻辑功能以及各模块之间或模块与I/O之间的联接方式,并最终决定了FPGA所实现的功能,因此,可采用FPGA来搭建时序控制电路和IIC总线控制器(IICcontroller),这样,所搭建的时序控制电路和IIC总线控制器就完全由硬件构成,并且所搭建的IIC总线控制器不需要内置处理器,也不需要相应的支持软件,在芯片验证初期,达到上位机软件能够快速调试时序控制电路的目的,即通过上位机的i2c调试界面获取数据,不需要CPU执行软件,当调试模块发生改变,只需在上位机界面设置进行少许变化,不需要更改并调试软件,因此减少了调试的复杂程度,与JTAG接口以及UART接口相比,更简单快捷。其次,IIC总线是一种简单的通用总线,只有两个信号,实现起来个信号,实现比较简单,这样,就能精简整个验证***的设计架构,使得调试过程更加快捷方便,大大缩减了时序控制芯片的调试时间,也提高了调试的灵活性。
在初步搭建好时序控制电路以及IIC总线控制器之后,在对时序控制电路的驱动性能进行调试时,可输入图像数据信号,并通过调试接口输入测试指令,在上位机10输入测试指令(包含对寄存器进行配置的指令)后,若显示屏的显示效果并未达到预期效果,可现场调整FPGA所搭建的时序控制电路(即调整测试指令,对FPGA中的寄存器进行重新配置),直至达到预期效果为止,这样就能快速验证所搭建的时序控制电路并获取理想的时序控制电路。
在上述任一技术方案中,优选的,通过所述IIC总线控制器将所述读写操作指令发送至所述时序控制电路中对应于指定功能模块地址的功能模块,以完成对所述功能模块中对应于指定寄存器地址的寄存器的配置,其中,所述时序控制电路由n个功能模块组成,所述n为大于等于1的整数,所述指定功能模块地址和所述指定寄存器地址是解析所述测试指令获取的。每个功能模块具有相应的地址空间,可便于定位各功能模块并对各功能模块中的寄存器进行配置,可实现功能模块的单独调试或多个功能模块的联合调试。
在上述任一技术方案中,优选的,通过所述IIC总线控制器将所述读写操作指令发送至所述时序控制电路中对应于指定功能模块地址的功能模块,以读取所述功能模块中对应于指定寄存器地址的寄存器的值;通过所述IIC总线调试接口输出所述寄存器的值,以获取所述功能模块的工作状态信息。
在上述任一技术方案中,优选的,使用***总线将所述n个功能模块连接至所述IIC总线控制器。
在上述任一技术方案中,优选的,通过所述验证电路接口中的低压差分信号输入接口将输入的图像数据信号传输至所述时序控制电路处理,通过所述验证电路接口中的微型低压差分信号输出接口将所述时序控制电路处理输出的驱动显示信号传输至显示屏。在验证时序控制电路时,可将图像数据信号给时序控制电路,将时序控制电路的输出信号给显示屏,通过观察显示屏的显示效果可判断当前搭建的时序控制电路是否正确,如果不正确,可通过IIC总线调试接口对现场可编程门阵列的逻辑单元中的寄存器进行配置,从而改变功能,完成对时序控制电路的调试。
在根据本发明的实施例中,IIC总线控制器完全由硬件实现,不需要软件支持,不需要内嵌CPU模块,简化了调试方法,精简了FPGA验证***的设计,使单个模块的调试和多个模块的联合调试更加顺利,缩减了调试时间。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。