一种基于序列号反算EDID年周期的校正方法与流程

文档序号:22546391发布日期:2020-10-17 02:16阅读:281来源:国知局
一种基于序列号反算EDID年周期的校正方法与流程

本发明涉及显示器数据校验技术领域,特别涉及一种基于序列号反算edid年周期的校正方法。



背景技术:

随着显示设备的发展,显示器的种类越来越多,不同厂商所生产的显示器分辨率、频率范围、颜色设置等预设参数也都不同,电脑或其他图像输出设备难以准确识别显示器的参数,导致输出的参数不能匹配显示器,造成下显示器显示不佳等问题,甚至会出现电脑随便输出一个分辨率导致显示器硬件损坏的可能。扩展显示器识别数据edid(extendeddisplayidentificationdata)起着显示器和电脑图像输出设备的识别桥梁,其包含了有关显示器及其性能参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等信息,edid就是显示器的身份证、户口本、技能证书等证件的集合。现在的显示器功能很强大,不仅拥有一个edid,通常都提供多种视频接口模块,常见的有dvi、vga、hdmi、displayport等,由于每种接口模块的特性和带宽不同,使得不同接口模块的edid也不同,使用哪个接口,电脑或其他图像输出设备读到的就是哪个接口的edid。厂商为保障用户的正版权益,在出厂前会为每台显示器编录一个序列号,也叫sn码(serialnumber或serialno),别称也叫机器码、认证码、注册申请码等,一个序列号只对应一个正版的产品,用于显示设备的身份识别。

厂商为方便显示器的生产管理和销售维护,显示器的edid和序列号一般都含有制造年份和制造周期的信息,并按一定规则存放在固定的位置。由于edid存放于不同的接口模块,各接口模块的量产时间有可能不同,而序列号是组装出厂时才生成的,不同的接口模块中edid的制造年份及制造周别与序列号的制造年份及制造周别出现差异的可能性大大增加,这种差异不仅会给厂商带来管理的不便,也会给消费者带来困扰。目前,解决各接口模块edid与序列号的制造年份及制造周别不符的主要方法是对各个接口模块的edid数据进行重新编写并烧录,每次烧录都得花较长的时间,如果显示器的接口模块越多,需要重新编写和烧录的次数时间就越多,降低了工厂的生产率,造成人力资源的浪费。因此,有必要研发更快捷校正显示器序列号与edid制造年份及制造周别相符的方法。

制造年份:用于描述产品出厂年份;

制造周别:用于描述产品出厂时间,是在一年中的第几个星期,取值范围(1-53)。



技术实现要素:

针对上述现有问题,本发明要解决的技术问题在于提供一种基于序列号校验、反算并矫正edid年周期的方法。

本发明的技术方案是这样实现的:

一种基于序列号反算edid年周期的校正方法,包括步骤:

从显示器存储模块读取序列号到缓存器一中;

加载显示器接口模块edid数据到缓存器二中;

通过预设的数据类型标记位查找所述edid数据的原始序列号起始地址位置,从而找到所述原始序列号;

用暂存在所述缓存器一的所述序列号校正替换所述原始序列号;

通过预设编码规则从所述序列号中提取制造年份及制造周别数据;

将提取到的所述制造年份及所述制造周别数据分别换算成符合暂存于所述缓存器二edid数据格式的数据;

重新计算暂存在所述缓存器二的edid数据总和效验码;

把计算后暂存在所述缓存器二的edid数据写入对应的显示器接口模块数组。

进一步,所述从显示器存储模块读取序列号到缓存器一中步骤之前,增加判断显示器是否已烧录序列号步骤,其具体步骤为:所述显示器存储模块上设有序列号烧录标记位,若读取所述序列号烧录标记位为数值a,则需要对显示器接口模块校正替换序列号;若读取所述序列号烧录标记位为数值b,则无需对显示器接口模块校正替换序列号。

进一步,所述将提取到的所述制造年份及所述制造周别数据分别换算成符合暂存于所述缓存器二edid数据格式的数据步骤中具体换算公式如下:

year=(2000+(edid_sn[a]-0x30)*10+(edid_sn[b]-0x30))-1990;

week=(edid_sn[c]-0x30)*10+(edid_sn[d]-0x30);

上式中:edid_sn[a]代表所述序列号的第一位置数值;edid_sn[b]代表所述序列号的第二位置数值;edid_sn[c]代表所述序列号的第三位置数值;edid_sn[d]代表所述序列号的第四位置数值;0x30代表ascii值0,所述ascii值0的十进制值为48。

进一步,所述重新计算暂存在所述缓存器二的edid数据总和效验码具体换算公式如下:

上式中:for(i=0;i<127;i++)代表计算出前127位数据和的最低两位数值;checksum代表总和效验码;edidbuffer代表所述缓存器二的edid数据,通过地址0x100-checksum得到数据值。

进一步,所述显示器接口模块有若干个,重复实施例所述的步骤对所述显示器接口模块edid数据校正替换写入。

进一步,所述通过预设编码规则从所述序列号中提取制造年份及制造周别数据的步骤,还包括判断所述序列号是否符合所述预设编码规则的步骤:根据所述预设编码规则,确定所述制造年份及制造周别数据位于所述序列号的地址位置以及字符长度。

进一步,所述换算公式中edid_sn[]数组中存储数值为ascii码值。

根据一个实施例,提供一种计算机程序,当所述计算机程序在计算机上执行时,使所述计算机实施根据本发明实施例之一的方法。

本发明的有益效果在于:生产线不用烧录edid,只需要烧录序列号到显示器,根据序列号中的制造年份及制造周别,通过换算公式校正并反算到edid中固定的制造年份及制造周别的位置,保证了edid两个位置的信息一致,本方法保证了各个接口模块edid制造年份及周别一致的前提下,提高生产效率,降低生产成本。

附图说明

下面结合附图中的实施例对本发明作进一步的详细说明,但并不构成对本发明的任何限制。

图1为本发明第一实施例的流程框图;

图2为本发明第二实施例的流程框图;

图3为本发明实施例中edid数据存放制造年份及制造周别位置示意图。

具体实施方式

为了更好理解本发明技术内容,下面提供具体实施例,并结合附图对本发明做进一步的说明。

如图1所示,本发明提供一种基于序列号反算edid年周期的校正方法,第一实施例包括步骤:

从显示器存储模块读取序列号到缓存器一中,所述序列号是一个产品的合法身份证明,一套正版的产品只对应一组产品序列号;

加载显示器接口模块edid数据到缓存器二中,所述edid数据含有制造年份及制造周别,同时所述edid数据中也有固定存放制造年份及制造周别的位置,如图3所示0x10,0x11的位置;

通过预设的数据类型标记位查找所述edid数据的原始序列号起始地址位置,从而找到所述原始序列号,如图3所示,所述数据类型标记位为{0x00,0x00,0x00,0xff,0x00}地址格式;

用暂存在所述缓存器一的所述序列号校正替换所述原始序列号,该程式公式参考为

式中:vgaldx为所述原始序列号起始地址位置。

通过预设编码规则从所述序列号中提取制造年份及制造周别数据,还包括判断所述序列号是否符合所述预设编码规则的步骤:根据所述预设编码规则,确定所述制造年份及制造周别数据位于所述序列号的地址位置以及字符长度。

将提取到的所述制造年份及所述制造周别数据分别换算成符合暂存于所述缓存器二edid数据格式的数据,换算公式参考如下:

year=(2000+(edid_sn[a]-0x30)*10+(edid_sn[b]-0x30))-1990;

week=(edid_sn[c]-0x30)*10+(edid_sn[d]-0x30);

上式中:edid_sn[a]代表所述序列号的第一位置数值;edid_sn[b]代表所述序列号的第二位置数值;edid_sn[c]代表所述序列号的第三位置数值;edid_sn[d]代表所述序列号的第四位置数值;0x30代表ascii值0,所述ascii值0的十进制值为48,所述换算公式中edid_sn[]数组中存储数值为ascii码值。如果遇到序列号起始两位是固定格式sn等字符开头,这些特定字符并没有意义,且其序列号的总位数大于13位,可以把序列号中的特定字符去掉后,保留符合edid中序列号的规格(小于等于13位)。

重新计算暂存在所述缓存器二的edid数据总和效验码,参考换算公式如下:

上式中:for(i=0;i<127;i++)代表计算出前127位数据和的最低两位数值;checksum代表总和效验码;edidbuffer代表所述缓存器二的edid数据,通过地址0x100-checksum得到数据值。

把计算后暂存在所述缓存器二的edid数据写入对应的显示器接口模块数组,写入参考函数格式为nvtrwedid24c02check(edid_x,edidbuffer,256)。

如图2所示,本发明提供第二实施例:

在所述从显示器存储模块读取序列号到缓存器一中步骤之前,增加判断显示器是否已烧录序列号步骤,其具体步骤为:所述显示器存储模块上设有序列号烧录标记位,若读取所述序列号烧录标记位为数值a,则需要对显示器接口模块校正替换序列号;若读取所述序列号烧录标记位为数值b,则无需对显示器接口模块校正替换序列号;所述数值a和所述数值b可为逻辑判断符是否,也可为二进制代码0或1。

所述显示器接口模块有若干个,例如有dvi、vga、hdmi、displayport等接口,不同的接口edid数据可会不同,重复第一实施例所述的步骤对各个所述显示器接口模块edid数据校正替换写入。

根据实施例,本发明还提供一种计算机程序,当所述计算机程序在计算机上执行时,使所述计算机实施根据本发明实施例之一的方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1