一种基于飞腾处理器的时钟芯片兼容方法、装置和设备与流程

文档序号:23850544发布日期:2021-02-05 14:09阅读:684来源:国知局
一种基于飞腾处理器的时钟芯片兼容方法、装置和设备与流程

[0001]
本发明实施例涉及飞腾处理器技术领域,特别涉及一种基于飞腾处理器的时钟芯片兼容方法、装置和设备。


背景技术:

[0002]
由于飞腾处理器ft2000/4cpu内部的rtc存在有设计缺陷,现飞腾主板的设计方案,统一改成使用外挂rtc时钟芯片来实现计时,然而飞腾提供的公版设计里,bios(basic input output system,基本输入输出系统)驱动只兼容一款实时时钟芯片ds1339,而该时钟芯片ds1339,在量产后出现供货不足,所以急需使用新的时钟芯片sd3068替代,但新的时钟芯片sd3068读写方式和ds1339不同,因此,软件上就必须解决对这两个芯片兼容问题。


技术实现要素:

[0003]
本发明实施例的目的是提供一种基于飞腾处理器的时钟芯片兼容方法、装置和设备,有效兼容两种不同的时钟芯片,解决了某一种时钟芯片供料不足的问题。
[0004]
第一方面,本发明实施例提供了一种基于飞腾处理器的时钟芯片兼容方法,应用于飞腾处理器;所述方法包括:
[0005]
在bios启动时,调用时钟芯片相关驱动;
[0006]
向所述i2c控制器发送i2c地址;
[0007]
根据所述i2c地址回传的应答信号确定所述时钟芯片的型号;
[0008]
通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间。
[0009]
在一些实施例中,通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间,包括:
[0010]
通过所述i2c总线访问所述型号对应的时钟芯片寄存器;
[0011]
从所述寄存器的内部地址中读取与实时时间对应的字节;
[0012]
在接收到停止位信号时,完成所述实时时间对应字节的读取。
[0013]
在一些实施例中,所述从所述寄存器的内部地址中读取与实时时间对应的字节,包括:
[0014]
在每读完一个所述字节时,给所述型号对应的时钟芯片发送第一响应信号;
[0015]
在检测到读完所有字节时,给所述型号对应的时钟芯片发送第二响应信号。
[0016]
在一些实施例中,所述停止位信号为所述型号对应的时钟芯片在接收到所述第二响应信号后发出。
[0017]
在一些实施例中,所述向所述i2c控制器发送i2c地址,包括:
[0018]
向所述i2c控制器发送第一i2c地址;
[0019]
所述根据所述i2c地址回传的应答信号确定所述时钟芯片的型号,包括:
[0020]
判断是否接收到所述第一i2c地址的第一应答信号;
[0021]
若接收到所述第一应答信号,则确定第一时钟芯片存在,所述飞腾处理器通过i2c总线与第一时钟芯片通信连接。
[0022]
在一些实施例中,在所述判断是否接收到所述第一i2c地址的第一应答信号之后,所述方法还包括:
[0023]
若未接收到所述第一应答信号,则向所述i2c控制器发送第二i2c地址;
[0024]
所述根据所述i2c地址回传的应答信号确定所述时钟芯片的型号,包括:
[0025]
判断是否接收到所述第二i2c地址的第二应答信号;
[0026]
若接收到所述第二应答信号,则确定所述第二时钟芯片存在,所述飞腾处理器通过i2c总线与第二时钟芯片通信连接。
[0027]
在一些实施例中,在所述通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间之后,所述方法还包括:
[0028]
将所述实时时间反馈给应用层。
[0029]
第二方面,本发明实施例提供了一种基于飞腾处理器的时钟芯片兼容装置;所述装置包括:
[0030]
调用模块,用于在bios启动时,调用时钟芯片相关驱动;
[0031]
发送模块,用于向所述i2c控制器发送i2c地址;
[0032]
确定模块,用于根据所述i2c地址回传的应答信号确定所述时钟芯片的型号;
[0033]
读取模块,用于通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间。
[0034]
第三方面,本发明实施例提供了一种基于飞腾处理器的时钟芯片兼容设备,所述设备包括:
[0035]
飞腾处理器;
[0036]
所述飞腾处理器内设置有i2c控制器;
[0037]
i2c总线,以及
[0038]
存储器,所述存储器与所述飞腾处理器通信连接,所述存储器存储有可被所述飞腾处理器执行的指令,所述指令被所述飞腾处理器执行,以使所述飞腾处理器能够执行上述的方法。
[0039]
第四方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被基于飞腾处理器的时钟芯片兼容设备执行时,使所述基于飞腾处理器的时钟芯片兼容设备执行如上所述的方法。
[0040]
本发明实施例的基于飞腾处理器的时钟芯片兼容方法、装置和设备,飞腾处理器通过i2c总线与时钟芯片通信连接,且在飞腾处理器内部设置有i2c控制器,在飞腾处理器启动时,bios启动,且调用时钟芯片相关驱动,此时,飞腾处理器向i2c控制器发送i2c地址,根据得到的i2c地址回传的应答信号可以确定当前通过i2c总线通信连接的时钟芯片型号,此时,通所述i2c总线访问型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间,从而完成飞腾处理器的计时。由于飞腾处理器是通过i2c总线与时钟芯片通信连接,因此,可以连接不同的时钟芯片,只需向i2c控制器发送i2c地址,根据应答信号就可以确定具体的时钟芯片型号,从而实现不同型号的时钟芯片的兼容,解决某一款时钟芯片供料不足的
问题,比如一些国产时钟芯片,利于国产pc全国化推广。
附图说明
[0041]
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0042]
图1是本发明实施例基于飞腾处理器的时钟芯片兼容设备的示意性框图;
[0043]
图2是本发明基于飞腾处理器的时钟芯片兼容方法的一个实施例的时钟芯片ds1339u的电路图;
[0044]
图3是本发明基于飞腾处理器的时钟芯片兼容方法的一个实施例的流程示意图;
[0045]
图4是本发明基于飞腾处理器的时钟芯片兼容方法的一个实施例的寄存器的内部地址结构示意性框体;
[0046]
图5是本发明基于飞腾处理器的时钟芯片兼容方法的一个实施例的流程示意图;
[0047]
图6是本发明基于飞腾处理器的时钟芯片兼容装置的一个实施例的结构示意图;
[0048]
图7是本发明基于飞腾处理器的时钟芯片兼容装置的一个实施例的结构示意图;
[0049]
图8是本发明兼容设备的一个实施例中控制器的硬件结构示意图。
具体实施方式
[0050]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
如图1所示,图1是本发明实施例提供的基于飞腾处理器的时钟芯片兼容设备10的示意性结构框图。其中,基于飞腾处理器的时钟芯片兼容设备10中,控制器13中的飞腾处理器131与时钟芯片12之间是通过i2c总线133通信连接,时钟芯片12可以包括多个,且通过该i2c总线133,还可以连接其他多个设备,如设备1
……
设备n。
[0052]
本案涉及的飞腾处理器cpu,型号均以ft2000/4为例。
[0053]
如图2所示,图2是时钟芯片ds1339u的电路图,其中,ft_i2c_scl1和ft_i2c_sda1是直接连接到飞腾处理器ft2000/4的i2c控制器。
[0054]
可以理解的是,各个基于飞腾处理器的时钟芯片兼容设备10中,均设置有控制器13,作为主控中心,基于飞腾处理器的时钟芯片兼容设备10,有效兼容两种不同的时钟芯片,解决了某一种时钟芯片供料不足的问题。
[0055]
请参阅图3,图3为本发明实施例提供的基于飞腾处理器的时钟芯片兼容方法的流程示意图,所述方法可以由基于飞腾处理器的时钟芯片兼容设备10中的飞腾处理器13执行,如图3所示,所述方法包括:
[0056]
101:在bios启动时,调用时钟芯片相关驱动。
[0057]
其中,在飞腾处理器启动时,会启动bios,此时,飞腾处理器调用时钟芯片相关驱动,寻找时钟芯片。
[0058]
bios(basic input output system,基本输入输出系统),bios能为电脑提供最低
级、最直接的硬件控制与支持,是联系最底层的硬件系统和软件系统的桥梁,bios设置程序是被固化到电脑主板上地rom芯片中的一组程序,其主要功能是为电脑提供最底层的、最直接的硬件设置和控制。
[0059]
飞腾处理器相当于电脑主板,因此,在启动飞腾处理器的时候,会启动bios,当检测到bios启动时,调用时钟芯片相关驱动,以便于读取时钟芯片的实时时间。
[0060]
102:向所述i2c控制器发送i2c地址。
[0061]
由于飞腾处理器通过i2c总线与时钟芯片,而为了让飞腾处理器知道是哪一款实时时钟芯片,因此,i2c控制器用于检测控制i2c地址,i2c地址可以包括两款时钟芯片的时钟地址,比如,型号为rs1339u的时钟芯片对应的i2c地址为第一i2c地址0x68,型号为sd3068的时钟芯片对应的i2c地址为第二i2c地址0x32。
[0062]
在其中一些实施例中,向所述i2c控制器发送i2c地址,包括:
[0063]
21、向所述i2c控制器发送第一i2c地址。
[0064]
例如,向i2c控制器发送第一i2c地址0x68,然后,等待接收回传的应答信号。
[0065]
103:根据所述i2c地址回传的应答信号确定所述时钟芯片的型号。
[0066]
在其中一些实施例中,所述根据所述i2c地址回传的应答信号确定所述时钟芯片的型号,包括:
[0067]
31、判断是否接收到所述第一i2c地址的第一应答信号;
[0068]
32、若接收到所述第一应答信号,则确定第一时钟芯片存在,所述飞腾处理器通过i2c总线与第一时钟芯片通信连接。
[0069]
在一些实施方式中,首先,飞腾处理器向i2c控制器发送第一i2c地址0x68,然后,判断是否接收到回传的第一i2c地址的第一应答信号,若接收到所述第一应答信号,则确定第一时钟芯片rs1339u存在,所述飞腾处理器通过i2c总线与第一时钟芯片rs1339u通信连接,那么,可以读取第一时钟芯片rs1339u的实时时间。
[0070]
进一步地,若未接收到所述第一应答信号,则向所述i2c控制器发送第二i2c地址。
[0071]
若未接收到所述第一应答信号,则说明第一时钟芯片rs1339u不存在,那么,在其中一些实施例中,根据所述i2c地址回传的应答信号确定所述时钟芯片的型号包括:
[0072]
34、判断是否接收到所述第二i2c地址的第二应答信号;
[0073]
35、若接收到所述第二应答信号,则确定所述第二时钟芯片存在,所述飞腾处理器通过i2c总线与第二时钟芯片通信连接。
[0074]
具体地,在未接收到第一i2c地址0x68的第一应答信号时,向i2c控制器发送第二i2c地址0x32,然后,判断是否接收到所述第二i2c地址0x32的第二应答信号,若接收到所述第二应答信号,则确定所述第二时钟芯片sd3068存在,所述飞腾处理器通过i2c总线与第二时钟芯片sd3068通信连接。
[0075]
对应地,若未接收到第二i2c地址0x32的第二应答信号,则飞腾处理器继续向i2c控制器发送其他的i2c地址,以确定其他i2c地址对应的时钟芯片存在,从而可以读取对应的时钟芯片的实时时间。
[0076]
104:通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间。
[0077]
在确定存在的时钟芯片的型号后,通过所述i2c总线访问所述型号对应的时钟芯
片寄存器,以读取所述时钟芯片的实时时间
[0078]
在其中一些实施例中,通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间,可以包括:
[0079]
41、通过所述i2c总线访问所述型号对应的时钟芯片寄存器。
[0080]
42、从所述寄存器的内部地址中读取与实时时间对应的字节;
[0081]
43、在接收到停止位信号时,完成所述实时时间对应字节的读取。
[0082]
具体地,不管是型号为rs1339u的时钟芯片,还是型号为sd3068的时钟芯片,飞腾处理器均通过i2c总线访问对应的寄存器,然后,从寄存器的内部地址中读取与实时时间对应的字节,如图4所示,图4是寄存器的内部地址结构示意性框体。
[0083]
以型号为sd3068的时钟芯片为例,在开始读取字节时,s是起始信号,先是送入7位器件地址0110010,然后第8位送入读命令“1”,第9位是sd3068的响应位,sd3068进入读状态。
[0084]
在其中一些实施例中,从所述寄存器的内部地址中读取与实时时间对应的字节,包括:
[0085]
在每读完一个所述字节时,给所述型号对应的时钟芯片发送第一响应信号;
[0086]
在检测到读完所有字节时,给所述型号对应的时钟芯片发送第二响应信号。
[0087]
具体地,如图4所示,在每读完一个字节时,飞腾处理器都要送出1位的第一响应信号ack,图中的a、a_都是响应信号,第一响应信号ack可以是一个低电平;读取年、月、日、时、分、秒等实时时间,在检测到读完所有的字节时,给型号对应的时钟芯片发送第二响应信号ack,第二响应信号可以是一个高电平,以便于区分与读取实时时间的响应信号。
[0088]
读取完毕时,发送停止位信号p,即飞腾处理器在接收到停止位信号时,完成所述实时时间对应字节的读取,所述停止位信号为所述型号对应的时钟芯片在接收到所述第二响应信号后发出。
[0089]
可以理解的是,还存在重新起始信号sr,再次读取。
[0090]
在其中一些实施例中,在所述通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间之后,所述方法还包括:
[0091]
将所述实时时间反馈给应用层。
[0092]
在读取完时钟芯片的实时时间后,将实时时间反馈给上层应用层,使得上层应用层得到实时时间,可以用于显示等操作。
[0093]
请参照图5,为本发明基于飞腾处理器的时钟芯片兼容方法的一个实施例的流程图,在该实施例中,所述基于飞腾处理器的时钟芯片兼容方法包括:
[0094]
a:在bios启动时,调用时钟芯片相关驱动。
[0095]
b:向所述i2c控制器发送第一i2c地址。
[0096]
c:判断是否接收到所述第一i2c地址的第一应答信号。
[0097]
d:若接收到所述第一应答信号,则确定第一时钟芯片存在。
[0098]
e:访问第一时钟芯片寄存器,读取时间。
[0099]
f:若未接收到所述第一应答信号,则向所述i2c控制器发送第二i2c地址。
[0100]
g:判断是否接收到所述第二i2c地址的第二应答信号。
[0101]
h:若接收到所述第二应答信号,则确定所述第二时钟芯片存在。
[0102]
i:访问第二时钟芯片寄存器,读取时间。
[0103]
j:若未接收到第二应答信号,则返回步骤b。
[0104]
k:将所述实时时间反馈给应用层。
[0105]
本发明实施例飞腾处理器通过i2c总线与时钟芯片通信连接,且在飞腾处理器内部设置有i2c控制器,在飞腾处理器启动时,bios启动,且调用时钟芯片相关驱动,此时,飞腾处理器向i2c控制器发送i2c地址,根据得到的i2c地址回传的应答信号可以确定当前通过i2c总线通信连接的时钟芯片型号,此时,通所述i2c总线访问型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间,从而完成飞腾处理器的计时。由于飞腾处理器是通过i2c总线与时钟芯片通信连接,因此,可以连接不同的时钟芯片,只需向i2c控制器发送i2c地址,根据应答信号就可以确定具体的时钟芯片型号,从而实现不同型号的时钟芯片的兼容,解决某一款时钟芯片供料不足的问题,比如一些国产时钟芯片,利于国产pc全国化推广。
[0106]
相应的,如图6所示,本发明实施例还提供了一种基于飞腾处理器的时钟芯片兼容装置,可以用于图1所示的基于飞腾处理器的时钟芯片兼容设备10,基于飞腾处理器的时钟芯片兼容装置700包括:
[0107]
调用模块701,用于在bios启动时,调用时钟芯片相关驱动;
[0108]
发送模块702,用于向所述i2c控制器发送i2c地址;
[0109]
确定模块703,用于根据所述i2c地址回传的应答信号确定所述时钟芯片的型号;
[0110]
读取模块704,用于通过所述i2c总线访问所述型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间。
[0111]
本发明实施例飞腾处理器通过i2c总线与时钟芯片通信连接,且在飞腾处理器内部设置有i2c控制器,在飞腾处理器启动时,bios启动,且调用时钟芯片相关驱动,此时,飞腾处理器向i2c控制器发送i2c地址,根据得到的i2c地址回传的应答信号可以确定当前通过i2c总线通信连接的时钟芯片型号,此时,通所述i2c总线访问型号对应的时钟芯片寄存器,以读取所述时钟芯片的实时时间,从而完成飞腾处理器的计时。由于飞腾处理器是通过i2c总线与时钟芯片通信连接,因此,可以连接不同的时钟芯片,只需向i2c控制器发送i2c地址,根据应答信号就可以确定具体的时钟芯片型号,从而实现不同型号的时钟芯片的兼容,解决某一款时钟芯片供料不足的问题,比如一些国产时钟芯片,利于国产pc全国化推广。
[0112]
在其他实施例中,读取模块704还用于:
[0113]
通过所述i2c总线访问所述型号对应的时钟芯片寄存器;
[0114]
从所述寄存器的内部地址中读取与实时时间对应的字节;
[0115]
在接收到停止位信号时,完成所述实时时间对应字节的读取。
[0116]
在其他实施例中,读取模块704还用于:
[0117]
在每读完一个所述字节时,给所述型号对应的时钟芯片发送第一响应信号;
[0118]
在检测到读完所有字节时,给所述型号对应的时钟芯片发送第二响应信号。
[0119]
在其他实施例中,所述停止位信号为所述型号对应的时钟芯片在接收到所述第二响应信号后发出。
[0120]
在其他实施例中,发送模块702,还用于:
[0121]
向所述i2c控制器发送第一i2c地址;
[0122]
所述确定模块703,还用于:
[0123]
判断是否接收到所述第一i2c地址的第一应答信号;
[0124]
若接收到所述第一应答信号,则确定第一时钟芯片存在,所述飞腾处理器通过i2c总线与第一时钟芯片通信连接。
[0125]
在其他实施例中,所述确定模块703,还用于:
[0126]
若未接收到所述第一应答信号,则向所述i2c控制器发送第二i2c地址;
[0127]
所述确定模块703,还用于:
[0128]
判断是否接收到所述第二i2c地址的第二应答信号;
[0129]
若接收到所述第二应答信号,则确定所述第二时钟芯片存在,所述飞腾处理器通过i2c总线与第二时钟芯片通信连接。
[0130]
在其他实施例中,请参照图7,所述基于飞腾处理器的时钟芯片兼容装置700,还包括反馈模块705,用于将所述实时时间反馈给应用层。
[0131]
需要说明的是,上述装置可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
[0132]
图8为基于飞腾处理器的时钟芯片兼容设备10的一个实施例中控制器的硬件结构示意图,如图8所示,控制器13包括:
[0133]
一个或多个飞腾处理器131、存储器132、i2c总线133、至少一个时钟芯片134,其中,存储器132与所述飞腾处理器131通信连接,所述飞腾处理器131通过i2c总线133与所述时钟芯片134通信连接。
[0134]
存储器132作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于飞腾处理器的时钟芯片兼容方法对应的程序指令/模块(例如,附图6-7所示的调用模块701、发送模块702、确定模块703、读取模块704和反馈模块705)。飞腾处理器131通过运行存储在存储器132中的非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现上述方法实施例的基于飞腾处理器的时钟芯片兼容方法。
[0135]
存储器132可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于飞腾处理器的时钟芯片兼容装置的使用所创建的数据等。此外,存储器132可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器132可选包括相对于飞腾处理器131远程设置的存储器,这些远程存储器可以通过网络连接至基于飞腾处理器的时钟芯片兼容设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0136]
所述一个或者多个模块存储在所述存储器132中,当被所述一个或者多个飞腾处理器131执行时,执行上述任意方法实施例中的基于飞腾处理器的时钟芯片兼容方法,例如,执行以上描述的图3中的方法步骤101至步骤104、图5中的方法步骤;实现图6中的模块701-704、图7中模块701-705的功能。
[0137]
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有
益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
[0138]
本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个飞腾处理器执行,例如图8中的一个飞腾处理器131,可使得上述一个或多个飞腾处理器可执行上述任意方法实施例中的基于飞腾处理器的时钟芯片兼容方法,例如,执行以上描述的图3中的方法步骤101至步骤104、图5中的方法步骤;实现图6中的模块701-704、图7中模块701-705的功能。
[0139]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0140]
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
[0141]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1