基于fpga实现mipi模组dsi时钟重配的方法

文档序号:6637780阅读:460来源:国知局
基于fpga实现mipi模组dsi时钟重配的方法
【专利摘要】本发明公开了一种基于FPGA实现MIPI模组DSI时钟重配的方法,包括如下步骤:1)确定FPGA输入输出时钟倍数N的值,则FPGA的输出时钟与输入时钟满足FCLKOUT=FCLKIN*N;2)将需要配置的DSI时钟频率FDSI的值设置到DSI时钟频率配置参数中;3)调用DSI时钟频率配置参数,并计算出需要配置的DSI时钟频率FDSI与时钟管理芯片的输入时钟fin的倍数参数m=FDSI/(fin*N);4)将时钟管理芯片调整倍数参数m转换为时钟管理芯片寄存器配置数据格式,则时钟管理芯片的输出时钟与输入时钟fin的关系为fout=fin*m;5)FPGA接收到时钟管理芯片的输出时钟fout,即FPGA的输入时钟FCLKIN=fout=fin*m,则FPGA的输出时钟FCLKOUT=FCLKIN*N=fin*m*N=FDSI,实现FPGA的输出时钟FCLKOUT等于需要配置的DSI时钟频率FDSI。
【专利说明】基于FPGA实现ΜIΡI模组DSI时钟重配的方法

【技术领域】
[0001]本发明涉及MIPI模组DSI时钟频率【技术领域】,具体地指一种基于FPGA实现MIPI模组DSI时钟重配的方法。

【背景技术】
[0002]MIPI测试模组在测试大小或是分辨率不同的MIPI模组时需要调整DSI的时钟频率。由于DSI的时钟频率很广,从62.5MHz到1.1GHz不等,同一测试设备在测试不同的MIPI模组时需要做到DSI时钟实时可调。MIPI模组测试设备信号源由FPGA产生,DSI时钟由FPGA提供。
[0003]目前,FPGA得到想要的输出时钟的方法通常有两种:
[0004]1)方法一是采用震荡器或是时钟buffer (缓冲器)给FPGA提供一个固定的差分或是单端时钟,再由FPGA内部PLL(锁相环)来产生需要的时钟。但是由FPGA内部PLL的产生的时钟在步进和精度上达不到DSI对时钟步进和精度的要求。
[0005]将FaKQUT设为FPGA的输出时钟、F ακ?Ν设为FPGA的输入时钟,则F CLK0UT= F ακ?Ν*Ν,Ν为FPGA输入输出时钟倍数。当FaKIN为定值时,要改变输出频率就必须要调整N。调整N的值就意味着要修改FPGA代码,操作极为不便。
[0006]2)方法二是采用时钟管理芯片产生可以调整的时钟提供给FPGA,再由FPGA内部PLL来产生需要的DSI时钟。但是仍然无法实现输出时钟频率的实时调整。
[0007]此方法优于方法一,可以通过改变FPGA的输入时钟匕_来达到改变输出时钟的目的,而不用改变FPGA输入输出时钟倍数N的值,从而省去了修改FPGA代码的麻烦。但是对于操作者来说,首先确定FPGA输入输出时钟倍数N的值是多少,再根据需要的DSI时钟(即Fqut)来计算FPGA的输入时钟FCLKIN的值
[0008]Fclkin= F 0UT/N
[0009]然后使时钟管理芯片产生FPGA需要的输入时钟FMIN的值,具体步骤为:
[0010]设时钟管理芯片的输出时钟为f;ut,则f;ut= F CLKIN= F 0UT/N对于时钟管理芯片,其内部也是由PLL结构组成,输入输出时钟也有一定的倍数关系。
[0011]则fout= f in*m
[0012]其中,fin为时钟管理芯片的输入时钟,是一个固定值,m为时钟管理芯片调整倍数,为可变值。要得到f;ut,可以通过改变时钟管理芯片调整倍数m值得到,而时钟管理芯片调整倍数m值的改变需要通过外部的控制器操作时钟管理芯片的寄存器来实现。
[0013]因此,需要知道fwt的值,时钟管理芯片才能正确配置输出时钟,而且还需要一个额外的控制界面,由此可见,此方法要得到正确的DSI时钟步骤比较繁琐,不具备实时性。


【发明内容】

[0014]针对现有技术的不足,本发明的目的在于提供一种小步进、高精度、宽范围的基于FPGA实现MIPI模组DSI时钟重配的方法,由系统自动控制产生需要的输出时钟频率,调整方便、实时,优化了系统的时钟结构。
[0015]为实现上述目的,本发明所设计的基于FPGA实现MIPI模组DSI时钟重配的方法,其特殊之处在于,包括如下步骤:
[0016]1)确定FPGA输入输出时钟倍数N的值,则FPGA的输出时钟FMQUT与FPGA的输入时钟
Fclkin 满足F

CLKOUT — F CLKIN*N ;
[0017]2)将需要配置的DSI时钟频率FDSI的值设置到MIPI模组配置文件对应的DSI时钟频率配置参数中;
[0018]3)调用所述MIPI模组配置文件中的DSI时钟频率配置参数,并计算出所述需要配置的DSI时钟频率FDSI与时钟管理芯片的输入时钟f in的倍数关系,即时钟管理芯片调整倍数参数 m = Fdsi/ (fin*N);
[0019]4)将所述时钟管理芯片调整倍数参数m转换为时钟管理芯片寄存器配置数据格式,并写入时钟管理芯片的寄存器,则所述时钟管理芯片的输出时钟f;ut与时钟管理芯片的输入时钟fin的关系为f Mt= f in*m ;
[0020]5)FPGA接收到所述时钟管理芯片的输出时钟f;ut,即所述FPGA的输入时钟FMIN =fout= f in*m,则所述 FPGA 的输出时钟 F_UT= F clkin*N = fin*m*N = FDSI,实现所述 FPGA 的输出时钟FaK()UT等于需要配置的DSI时钟频率F DSI。
[0021]优选地,所述MIPI模组配置文件通过UDP网络协议从电脑⑶I界面传送至MIPI模组测试设备,所述需要配置的DSI时钟频率FDSI的值从所述电脑GUI界面中的人工输入得到。在上层软件的GUI界面中输入需要配置的DSI时钟频率FDSI的值,上层软件将输入的FDSI的值存到相对应的配置文件中。
[0022]优选地,MIPI模组测试设备获取配置文件中的DSI时钟频率配置参数后通过IIC接口对时钟管理芯片的寄存器进行配置,将所述时钟管理芯片调整倍数参数m转换为时钟管理芯片中对应的寄存器配置数据格式。MIPI模组测试设备的ARM/MCU通过IIC接口对时钟管理芯片的寄存器进行配置。
[0023]优选地,所述FPGA输入输出时钟倍数N为5?10中任一自然数。将FPGA输入输出时钟倍数N固定为一个自然数,FPGA内部的PLL根据FPGA输入输出时钟倍数N产生相应的DSI时钟。
[0024]优选地,所述MIPI模组测试设备与电脑⑶I界面通信的端口为12582。MIPI模组测试设备通过12582端口获取MIPI模组配置文件。
[0025]本发明通过时钟管理芯片和FPGA结合的方式输出高精度、小步进、宽范围的输出时钟频率,只需要操作者在电脑GUI界面输入需要的DSI时钟频率,应用程序将自动计算出时钟管理芯片的寄存器配置数据,时钟管理芯片的输出时钟被FPGA接收后,FPGA根据固定的FPGA输入输出时钟倍数N向DSI输出与需要的DSI时钟频率相等的FPGA的输出时钟。操作者不用关心任何其他参数,只要输出时钟值不超过规定的范围,可以很方便地得到需要的DSI时钟频率。MIPI模组测试设备配有一个功能强大的GUI,本方案只需要在原来的⑶I上增加一个输入窗口即可,无需专门制作⑶I。
[0026]本发明具有如下优点:
[0027]1)时钟频率调整通过电脑的⑶I界面操作;
[0028]2)时钟频率调整方便、实时,简单;
[0029]3)时钟调整步进小,精度高;
[0030]4)时钟频率调整范围宽(本方案实现的输出时钟范围可达10MHz到1.5GHz)。

【专利附图】

【附图说明】
[0031]图1为实现本发明的MIPI模组测试设备的连接结构图。
[0032]图2为实现本发明的MIPI模组测试设备的结构框图。

【具体实施方式】
[0033]以下结合附图和具体实施例对本发明作进一步的详细描述。
[0034]如图1所示,本发明所提供的基于FPGA实现MIPI模组DSI时钟重配的方法基于MIPI模组测试设备实现,MIPI模组测试设备包括控制器ARM/MCU、时钟管理芯片和FPGA。如图1所示,MIPI模组测试设备的ARM/MCU通过网口与电脑上位机的⑶I连接,MIPI模组测试设备的MIPI接口与MIPI模组连接。MIPI模组测试设备的结构框图如图2所示。
[0035]本发明基于FPGA实现MIPI模组DSI时钟重配的方法包括如下步骤:
[0036]1)确定FPGA输入输出时钟倍数N的值,则FPGA的输出时钟FMQUT与FPGA的输入时钟
Fclkin 满足F

CLKOUT — F clkin*N ;例如设置Ν = 8,则




^CLKOUT — F CLKIN*^。
[0037]2)将MIPI模组测试设备和电脑通过UDP网络协议进行连接,在模组测试设备和电脑建立连接时,上层界面对应的电脑端口是12582。
[0038]3)操作者根据需要测试的MIPI模组的规格,在电脑的⑶I界面中输入需要的DSI
时钟频率参数Fdsi。
[0039]4)上层软件将输入的DSI时钟频率参数FDSI存到相应的MIPI模组配置文件中,不同的MIPI模组对应不同的配置文件,配置文件中有很多参数,其中有一项“mdlmipidsiclock”对就是DSI时钟频率配置参数的设置。
[0040]5)在上层软件中点“初始化”按钮,MIPI模组测试设备的控制器ARM/MCU通过12582端口找到对应的配置文件,并从配置文件中读取配置信息。
[0041]MIPI模组测试设备通过UDP网络协议取到需要的DSI时钟频率参数FDSI后,通过固定的端口 η (这个端口是ARM/MCU的应用软件定义好的,不同的应用软件端口可以不同,一旦端口定下来就不会变动)找到时钟管理芯片相应的执行文件X。
[0042]6)控制器ARM/MCU调用ΜΙΡΙ模组配置文件中的DSI时钟频率配置参数,并计算出需要配置的DSI时钟频率FDSI与时钟管理芯片的输入时钟fin的倍数关系,即时钟管理芯片调整倍数参数m = Fdsi/ (fin*N)。
[0043]时钟管理芯片的输入时钟为固定值fin= 25MHz,则本例中m = FDSI/(25*8)。
[0044]7)控制器ARM/MCU调用执行文件X,执行文件x通过IIC接口对时钟管理芯片的寄存器进行配置。控制器ARM/MCU将时钟管理芯片调整倍数参数m转换为时钟管理芯片寄存器配置数据格式,并写入时钟管理芯片的寄存器,则时钟管理芯片的输出时钟f;ut与时钟管理芯片的输入时钟fin的关系为f out= f in*m。
[0045]时钟管理芯片的输出时钟fQUt= 25*Fdsi/(25*8) = FDSI/8。
[0046]8)FPGA从时钟输入引脚接收到时钟管理芯片的输出时钟f;ut= F DSI/8,再经过FPGA内部的PLL,FPGA的输出时钟FMQUT= F clkin*N = FDSI/8*8 = FDSI,实现FPGA的输出时钟匕0?^等于需要配置的DSI时钟频率F DSI。MIPI模组测试设备根据DSI时钟频率通过MIPI接口完成需要测试的MIPI模组的时钟重配。
[0047]以上仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以设计出若干改进,这些改进也应视为本发明的保护范围。
【权利要求】
1.一种基于FPGA实现MIPI模组DSI时钟重配的方法,其特征在于:包括如下步骤: 1)确定FPGA输入输出时钟倍数N的值,则FPGA的输出时钟Fmqut与FPGA的输入时钟Fclkin 满足F
CLKOUT — F CLKIN*N ; 2)将需要配置的DSI时钟频率Fdsi的值设置到MIPI模组配置文件对应的DSI时钟频率配置参数中; 3)调用所述MIPI模组配置文件中的DSI时钟频率配置参数,并计算出所述需要配置的DSI时钟频率Fdsi与时钟管理芯片的输入时钟f in的倍数关系,即时钟管理芯片调整倍数参数 m = FDSI/(fin*N); 4)将所述时钟管理芯片调整倍数参数m转换为时钟管理芯片寄存器配置数据格式,并写入时钟管理芯片的寄存器,则所述时钟管理芯片的输出时钟f-与时钟管理芯片的输入时钟fin的关系为f out= f in*m ; 5)FPGA接收到所述时钟管理芯片的输出时钟f;ut,即所述FPGA的输入时钟Fmin=f out=则所述FPGA的输出时钟F_UT= F clkin*N = fin*m*N = Fdsi,实现所述FPGA的输出时钟Fototit等于需要配置的DSI时钟频率F DSI。
2.根据权利要求1所述的基于FPGA实现MIPI模组DSI时钟重配的方法,其特征在于:所述MIPI模组配置文件通过UDP网络协议从电脑⑶I界面传送至MIPI模组测试设备,所述需要配置的DSI时钟频率Fdsi的值从所述电脑GUI界面中的人工输入得到。
3.根据权利要求1或2所述的基于FPGA实现MIPI模组DSI时钟重配的方法,其特征在于:MIPI模组测试设备获取配置文件中的DSI时钟频率配置参数后通过IIC接口对时钟管理芯片的寄存器进行配置,将所述时钟管理芯片调整倍数参数m转换为时钟管理芯片中对应的寄存器配置数据格式。
4.根据权利要求1或2所述的基于FPGA实现MIPI模组DSI时钟重配的方法,其特征在于:所述FPGA输入输出时钟倍数N为5?10中任一自然数。
5.根据权利要求2所述的基于FPGA实现MIPI模组DSI时钟重配的方法,其特征在于:所述MIPI模组测试设备与电脑⑶I界面通信的端口为12582。
【文档编号】G06F1/08GK104460826SQ201410745797
【公开日】2015年3月25日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】彭骞, 余广德, 赵勇, 沈亚非, 陈凯 申请人:武汉精测电子技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1