本发明涉及pci总线控制技术领域,具体涉及一种基于fpga的pci总线控制器及控制方法。
背景技术:
pci是peripheralcomponentinterconnect(外设部件互连标准)的缩写,它把高带宽的外围设备直接挂在cpu总线上,使得cpu的性能得到充分的发挥。随着应用的不断发展,挂载的外围设备越来越多,其处理负载不断的增多,从而使得其控制器长期处于高负荷运转,而相关设备总是存放于有限的空间中,虽然有相关散热措施,但在温度过高、出现异常时,却不能及时的对相关人员进行提醒,从而造成设备的突然停止和相关部件的损坏。
技术实现要素:
本发明的发明目的在于:提供了一种在温度异常时,可进行提醒的一种基于fpga的pci总线控制器及控制方法。
第一方面:一种基于fpga的pci总线控制器,包括pci控制器、存储器和连接的监测模块;
所述pci控制器包括多个接口,通过所述接口分别与外部设备和本地的处理器连接;其中,所述接口包括localbus接口和pcibus接口;
所述存储器用于将各外部设备的交互数据以及所述pci控制器的反馈信号进行缓存处理;
所述监测模块用于检测实时的温度数据,并将所述温度数据传送至所述pci控制器处理,在温度超过设定阈值时,触发所述pci控制器调用本地存储的音频文件进行播放提醒。
作为本申请一种可选的实施方式,所述pci控制器还用于在温度超过设定阈值时,判断各交互数据所占内存的大小,按期大小的顺序,逐次中断与各外部设备对应连接的pcibus接口。
作为本申请一种可选的实施方式,所述pci控制器还用于:
获取外部设备的查询请求,并对所述查询请求进行解析以得到设备的协议标志位以及查询内容;
根据所述协议标志位以确定出外部设备的类型;
再根据得到的类型调用对应的处理策略。
作为本申请一种可选的实施方式,所述处理策略包括分时处理策略和加权处理策略;
其中,所述加权处理策略为将不同的设备类型分配不同的权重值,并根据所述权重值来分配不同的执行时间。
作为本申请一种可选的实施方式,所述pci控制器还包括dma控制器,所述dma控制器包括接收模块、读命令、写命令存储fifo和命令解析模块;
所述接收模块用于对接收的处理请求进行解析,以得到请求标志位;其中,所述处理请求为外部设备向fpga发送所得;
所述读命令、写命令存储fifo用于根据解析后的请求标志位,将其存储到对应的命令存储fifo中;
所述命令解析模块用于从fifo中读取命令,并向外部设备发送存储传输请求。
第二方面:一种基于fpga的pci总线控制器的控制方法,应用于第一方面所述的基于fpga的pci总线控制器,包括pci控制器、存储器和连接的监测模块;
所述方法包括:
通过所述pci控制器的接口分别与外部设备和本地的处理器连接;其中,所述接口包括localbus接口和pcibus接口;
利用所述存储器将各外部设备的交互数据以及所述pci控制器的反馈信号进行缓存处理;
由所述监测模块检测实时的温度数据,并将所述温度数据传送至所述pci控制器处理,在温度超过设定阈值时,触发所述pci控制器调用本地存储的音频文件进行播放提醒。
作为本申请一种可选的实施方式,所述方法还包括:
在温度超过设定阈值时,利用所述pci控制器判断各交互数据所占内存的大小,按期大小的顺序,逐次中断与各外部设备对应连接的pcibus接口。
作为本申请一种可选的实施方式,所述方法还包括:
利用所述pci控制器获取外部设备的查询请求,并对所述查询请求进行解析以得到设备的协议标志位以及查询内容;
根据所述协议标志位以确定出外部设备的类型;
再根据得到的类型调用对应的处理策略。
作为本申请一种可选的实施方式,所述处理策略包括分时处理策略和加权处理策略;
其中,所述加权处理策略为将不同的设备类型分配不同的权重值,并根据所述权重值来分配不同的执行时间。
作为本申请一种可选的实施方式,所述pci控制器还包括dma控制器,所述dma控制器包括接收模块、读命令、写命令存储fifo和命令解析模块;
通过所述接收模块对接收的处理请求进行解析,以得到请求标志位;其中,所述处理请求为外部设备向fpga发送所得;
利用所述读命令、写命令存储fifo根据解析后的请求标志位,将其存储到对应的命令存储fifo中;
由所述命令解析模块从fifo中读取命令,并向外部设备发送存储传输请求。
采用上述技术方案,具有以下优点:本发明提出的一种基于fpga的pci总线控制器及控制方法,通过利用fpga构建pci总线控制器,便于进行相应的后续开发,同时采用在其集成相应的监测模块对实时的温度进行监测,在温度异常时,从而触发调用相应的音频文件,进而实现对相关人员进行提醒,从而降低相关部件损坏的概率。
附图说明
图1是本发明实施例所提供的一种基于fpga的pci总线控制器的结构示意图;
图2是本发明实施例所提供的一种基于fpga的pci总线控制器的控制方法的流程图。
具体实施方式
下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路,软件或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。
下面结合附图,对本发明作详细的说明。
参考图1所示,一种基于fpga的pci总线控制器,包括pci控制器、存储器和连接的监测模块;
所述pci控制器包括多个接口,通过所述接口分别与外部设备和本地的处理器连接;其中,所述接口包括localbus接口和pcibus接口;
所述存储器用于将各外部设备的交互数据以及所述pci控制器的反馈信号进行缓存处理;
所述监测模块用于检测实时的温度数据,并将所述温度数据传送至所述pci控制器处理,在温度超过设定阈值时,触发所述pci控制器调用本地存储的音频文件进行播放提醒。
具体地,所述存储器包括各种内存等,本地的处理器可为fpga的处理器,fpga的其它技术应用为现有技术中的适应性应用,在此不再赘述。外部设备包括各种终端、音频和视频等设备。
在温度超过设定阈值时,pci控制器判断各交互数据所占内存的大小,按期大小的顺序,逐次中断与各外部设备对应连接的pcibus接口。
这样处理,将所占内存大、占用资源多的先进行断开处理,以减少相应的发热量,若断开一个达不到要求则继续断开,直至温度不超过阈值。
相应的,所述监测模块集成有温度传感器和温度触发电路;其中,所述温度触发电路包括与所述温度传感器连接的微控制器以及进行报警提醒的提醒装置,最终实现以硬件提醒的方式进行温度提醒。
通过上述方案,利用fpga构建pci总线控制器,便于进行相应的后续开发,同时采用在其集成相应的监测模块对实时的温度进行监测,在温度异常时,从而触发调用相应的音频文件,进而实现对相关人员进行提醒,从而降低相关部件损坏的概率。
进一步地,所述pci控制器还用于:
获取外部设备的查询请求,并对所述查询请求进行解析以得到设备的协议标志位以及查询内容;
根据所述协议标志位以确定出外部设备的类型;
再根据得到的类型调用对应的处理策略。
所述处理策略包括分时处理策略和加权处理策略;所述分时处理策略即按轮询的方式进行处理;
其中,所述加权处理策略为将不同的设备类型分配不同的权重值,并根据所述权重值来分配不同的执行时间。
这样根据不同的设备类型,使用不同的策略提升对应的处理效率;例如,外部设备为存储器类,则权重值低,因其文字的存储量小,执行时间可分配短一些;视频类设备,则其权重值高,执行时间可分配长一些,以确保一次传输即可传输完毕,不需进行分割传输,只需一次中断即可,减少对应的处理时间。
进一步地,所述pci控制器还包括dma控制器,所述dma控制器包括接收模块、读命令、写命令存储fifo和命令解析模块;
所述接收模块用于对接收的处理请求进行解析,以得到请求标志位;其中,所述处理请求为外部设备向fpga发送所得;
所述读命令、写命令存储fifo用于根据解析后的请求标志位,将其存储到对应的命令存储fifo中;
所述命令解析模块用于从fifo中读取命令,并向外部设备发送存储传输请求。
具体地,解析后,还得到外部设备的地址,各外部设备均具有唯一的地址号,进行dma传输时:
所述命令解析模块从命令存储fifo中读取出一个命令后,若fifo中仍存在有命令,则该命令解析模块将继续判断下一个命令的序列号,若该命令的序列号与之前命令的序列号相邻,即表示两次dma操作的外部设备的地址相连,则命令解析模块取出该命令并将两个命令拼接成一个dma传输请求,当fifo仍不为空时,则dma拼接将继续下去,直到下一个命令的序列号与已有的序列号不连续或fifo为空;
这种将相邻地址的dma操作命令进行拼接,以形成一次dma操作的方法,减少了dma配置的次数,减少了相应的节约时间,进一步提升了pci的传输效率。
参照图2所示,本发明实施例还提供了一种基于fpga的pci总线控制器的控制方法,应用于前文所述的基于fpga的pci总线控制器,该pci总线控制器包括pci控制器、存储器和连接的监测模块;
所述方法包括:
s101,通过所述pci控制器的接口分别与外部设备和本地的处理器连接;其中,所述接口包括localbus接口和pcibus接口;
s102,利用所述存储器将各外部设备的交互数据以及所述pci控制器的反馈信号进行缓存处理;所述交互数据包括查询、读写等数据;所述反馈信息包括完成情况、响应命令等;
s103,由所述监测模块检测实时的温度数据,并将所述温度数据传送至所述pci控制器处理,在温度超过设定阈值时,触发所述pci控制器调用本地存储的音频文件进行播放提醒;其中,本地存储的音频文件可为外部设备的文件或是fpga内存中的,在此不做限制。
具体地,在温度超过设定阈值时,pci控制器判断各交互数据所占内存的大小,按期大小的顺序,逐次中断与各外部设备对应连接的pcibus接口。
这样处理,将所占内存大、占用资源多的先进行断开处理,以减少相应的发热量,若断开一个达不到要求则继续断开,直至温度不超过阈值。
相应的,所述监测模块集成有温度传感器和温度触发电路;其中,所述温度触发电路包括与所述温度传感器连接的微控制器以及进行报警提醒的提醒装置,最终实现以硬件提醒的方式进行温度提醒。
通过上述方法,采用在其集成相应的监测模块对实时的温度进行监测,在温度异常时,从而触发调用相应的音频文件,进而实现对相关人员进行提醒,从而降低相关部件损坏的概率。
进一步地,在上述方案的基础上,所述方法还包括:
利用所述pci控制器获取外部设备的查询请求,并对所述查询请求进行解析以得到设备的协议标志位以及查询内容;
根据所述协议标志位以确定出外部设备的类型;
再根据得到的类型调用对应的处理策略。
具体地,所述处理策略包括分时处理策略和加权处理策略;
其中,所述加权处理策略为将不同的设备类型分配不同的权重值,并根据所述权重值来分配不同的执行时间。
进一步地,为了进一步提升其处理效率,所述pci控制器还包括dma控制器,所述dma控制器包括接收模块、读命令、写命令存储fifo和命令解析模块;
通过所述接收模块对接收的处理请求进行解析,以得到请求标志位;其中,所述处理请求为外部设备向fpga发送所得;
利用所述读命令、写命令存储fifo根据解析后的请求标志位,将其存储到对应的命令存储fifo中;
由所述命令解析模块从fifo中读取命令,并向外部设备发送存储传输请求。
具体地,进行dma传输时:
所述命令解析模块从命令存储fifo中读取出一个命令后,若fifo中仍存在有命令,则该命令解析模块将继续判断下一个命令的序列号,若该命令的序列号与之前命令的序列号相邻,即表示两次dma操作的外部设备的地址相连,则命令解析模块取出该命令并将两个命令拼接成一个dma传输请求,当fifo仍不为空时,则dma拼接将继续下去,直到下一个命令的序列号与已有的序列号不连续或fifo为空;
这种将相邻地址的dma操作命令进行拼接,以形成一次dma操作的方法,减少了dma配置的次数,减少了相应的节约时间,进一步提升了pci的传输效率。
需要说明的是,上述方式实施例中具体实施方式,可参照前文所述,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。