一种复杂可编程逻辑器件扫描方法和装置与流程

文档序号:26139508发布日期:2021-08-03 14:23阅读:82来源:国知局
一种复杂可编程逻辑器件扫描方法和装置与流程

本发明涉及计算机领域,更具体地,特别是指一种复杂可编程逻辑器件扫描方法和装置。



背景技术:

目前服务器架构,大多数都会使用cpld(复杂可编程逻辑器件)来控制电源时序管理,主要原因在于cpld是硬件式架构,每一个逻辑单元都是独立运作,相比软件式架构更加精确。而系统初期开发时,由于很多功能尚未开发完成,故有很多潜在性风险,若是开发初期遇到电源时序问题时,可以扫描cpld管脚的方式来快速分析问题。

传统大多数是透过jtag(联合测试行动组)接口来扫描cpld管脚,需要有cpld厂商提供之特定刻录工具硬件,并且需要有该刻录工具之驱动程序与应用程序软件,才可使用jtag扫描cpld管脚之功能,因而使用不便。

针对现有技术中jtag扫描cpld软硬件难以使用的问题,目前尚无有效的解决方案。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种复杂可编程逻辑器件扫描方法和装置,能够方便地扫描cpld管脚,快速分析电源时序状态。

基于上述目的,本发明实施例的第一方面提供了一种复杂可编程逻辑器件扫描方法,包括执行以下步骤:

在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;

使用通用的usb-uart转换模块将uart信号转换为usb信号并发出;

在上位机使用超级终端接收usb信号以获取输入输出分组数据。

在一些实施方式中,由输入输出管理模块采集输入输出分组数据包括:使输入输出管理模块连接到cpld中的多个输入输出分组,并分别从每个输入输出分组收集输入输出分组数据。

在一些实施方式中,从每个输入输出分组收集输入输出分组数据包括:从每个输入输出分组收集cpld各管脚的与电源时序相关的电平状态。

在一些实施方式中,从每个输入输出分组收集输入输出分组数据还包括:从每个输入输出分组收集cpld各管脚的与基础输入输出系统、温度、和调试相关的电平状态。

在一些实施方式中,各管脚的电平状态包括以下之一:低电平、高电平、高阻抗状态。

在一些实施方式中,usb-uart转换模块为硬件转换器或软件模拟转换器;硬件转换器包括设置于cpld外侧的转换线缆,软件模拟转换器包括设置在cpld侧或上位机侧的转换软件。

在一些实施方式中,上位机包括部署有超级终端的windows或linux操作系统。

本发明实施例的第二方面提供了一种装置,包括:

复杂可编程逻辑器件;

上位机;以及

控制器,存储有可运行的程序代码,控制器在运行程序代码时执行以下步骤:

在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;

使用通用的usb-uart转换模块将uart信号转换为usb信号并发出;

在上位机使用超级终端接收usb信号以获取输入输出分组数据。

在一些实施方式中,步骤中由输入输出管理模块采集输入输出分组数据包括:使输入输出管理模块连接到cpld中的多个输入输出分组,并分别从每个输入输出分组收集输入输出分组数据。

在一些实施方式中,步骤中从每个输入输出分组收集输入输出分组数据包括:从每个输入输出分组收集cpld各管脚的与电源时序相关的电平状态。

本发明具有以下有益技术效果:本发明实施例提供的复杂可编程逻辑器件扫描方法和装置,通过在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;使用通用的usb-uart转换模块将uart信号转换为usb信号并发出;在上位机使用超级终端接收usb信号以获取输入输出分组数据的技术方案,能够方便地扫描cpld管脚,快速分析电源时序状态。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的复杂可编程逻辑器件扫描方法的流程示意图;

图2为本发明提供的复杂可编程逻辑器件扫描方法的连接关系示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种方便地扫描cpld管脚,快速分析电源时序状态的复杂可编程逻辑器件扫描方法的一个实施例。图1示出的是本发明提供的复杂可编程逻辑器件扫描方法的流程示意图。

所述的复杂可编程逻辑器件扫描方法,如图1所示,包括执行以下步骤:

步骤s101,在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;

步骤s103,使用通用的usb-uart转换模块将uart信号转换为usb信号并发出;

步骤s105,在上位机使用超级终端接收usb信号以获取输入输出分组数据。

本发明让用户有更多的选择接口来扫描管脚状态,快速分析电源时序状态,不再受限于特定厂商之刻录工具才可以扫描cpld管脚。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

在一些实施方式中,由输入输出管理模块采集输入输出分组数据包括:使输入输出管理模块连接到cpld中的多个输入输出分组,并分别从每个输入输出分组收集输入输出分组数据。

在一些实施方式中,从每个输入输出分组收集输入输出分组数据包括:从每个输入输出分组收集cpld各管脚的与电源时序相关的电平状态。

在一些实施方式中,从每个输入输出分组收集输入输出分组数据还包括:从每个输入输出分组收集cpld各管脚的与基础输入输出系统、温度、和调试相关的电平状态。

在一些实施方式中,各管脚的电平状态包括以下之一:低电平、高电平、高阻抗状态。

在一些实施方式中,usb-uart转换模块为硬件转换器或软件模拟转换器;硬件转换器包括设置于cpld外侧的转换线缆,软件模拟转换器包括设置在cpld侧或上位机侧的转换软件。

在一些实施方式中,上位机包括部署有超级终端的windows或linux操作系统。

下面根据图2所示的具体实施例进一步阐述本发明的具体实施方式。

cpld适合用来实现各种运算和组合逻辑。一颗cpld内等于包含了数颗的可程式阵列逻辑,各逻辑区段间的互接连线也可以进行程式性的规划、烧录,cpld运用这种多合一的整合作法,使其一颗就能实现数千个逻辑闸,甚至数十万个逻辑闸才能构成的电路。cpld在现今的电子电路设计中有很多应用。cpld有非常多的gpio脚位,可用来当作输入或是输出高逻辑或低逻辑准位,举例来说,在服务器当中会有很多电源模组的enable(使能)输出信号,或是从电源模组输入powergood(供电良好)信号,或是从不同缆线及部件的present(在位)输入信号,以及各式各样的高准备低准位的select(选择性)输出信号,还有各芯片的reset(重置)输出讯号等等。以上只列出几个大的分类,cpld还包含了各式许许多多的控制讯号。当在研发除错的过程中,我们常常要针对cpld的gpio讯号去做量测,确保gpio的逻辑准位是符合预期的。

在服务器主板上,经常通过集成cpld来实现相关的开关机时序控制、按键去抖、信号延时、指示灯控制等功能。由于新功能导入、遗留问题修复等原因,需要在服务器运行时对cpld进行更新,bmc将jtag或i2c信号接给cpld,来实现对cpld配置的更新。

cpld升级一般是通过bmc/soc/arm等cpu执行,cpld包含两种升级模式,背景升级和中断升级:背景升级是指在升级过程中cpld程序还可以正常运行,只有升级完成后才会生效(升级完程序后执行transfer指令,该指令会加载升级后的flash,持续时间约在1ms以内,此过程中cpld功能异常,等同于cpld第一次上电);中断升级是指在升级过程中,cpld不能正常运行程序,cpld的所有功能均会失效,因为整个升级过程需要持续1~5min,所以该模式在存储/服务器等产品中一般不会采用(中断时间过长)。

通常,研发/测试人员的要得到cpld的gpio逻辑准位,必须要透过万用电表去针对该讯号单独量测。如果要量测的点很多,则每个讯号都需要单独量测,而部分量测点因为机构限制,往往量测不方便,或是量测点在板子背面,需要将整片板子翻过来才有办法得到该讯号的逻辑准位。而当问题发生时,必须透过人为打开机壳上盖,才有办法量测到讯号准位。往往造成问题发生的讯号已经改变,无法的得到gpio最即时的信号准位。本发明实施例在硬件方面使用通用接口,在软件方面上位机系统有内建的通用程序供用户使用,对于使用者可以更加容易上手。

应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

图2示出的是透过uart(通用异步收发器)接口扫描cpld管脚的整体示意图,cpld主要是由两个模块构成此次方法,第一个是iomanagement模块(即前述的输入输出管理模块),这个模块主要是收集cpld所有iobank(即前述的输入输出分组,具体来说是引脚的分组)上的io状态,包含管脚输入高低准位,输出准位高、低或高阻抗状态;第二个是uart模块,主要是将iomanagement模块收集到的信息,回传给host(主机)端;host端可能是windows或linux系统,只要开启超级终端机软件,即可接收到cpld的uart讯号,进而达到扫描cpld管脚之功能,以快速分析电源时序状态。

uart是通用电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,uart通常被集成于其他通信接口的连结上。uart模块,由于设计简单,使用方便,对对接设备要求简单,一般用于芯片打印信息的接口。在现有技术中,只要将作为发送方的uart模块的波特率、奇偶校验等传输参数与接收端的设置参数一致就可以正常通信,因此不需要使用独特的软硬件设备,具有高度的通用性。

双线uart串口设置有用于发送信号的tx引脚和用于接收信号的rx引脚,tx引脚连接tx发送信号线,rx引脚连接rx接收信号线,单线uart串口只设置有一个用于发送信号或接收信号的tp引脚,可以在不同的时刻发送或接收信号,同一时刻只能执行发送信号或接收信号,即tp引脚连接一根用于通信的收发信号线,双线uart串口和单线uart串口之间设置有转换电路,即双线uart串口的tx发送信号线、rx接收信号线和单线uart串口的一根收发信号线之间设置有上述转换电路,能够实现双线uart串口和单线uart串口之间信号的单向传递,即将双线uart串口的tx引脚发送的信号传送给单线uart串口,将单线uart串口发送的信号传送给双线uart串口的rx引脚。

具体来说,双线uart串口通过第一通信电路向单线uart串口发送信号,由于双线uart串口只能单向地向单线uart串口发送信号,所以双线uart串口的tx引脚不能直接连接到单线uart串口的tp引脚,在双线uart串口的tx引脚和单线uart串口的tp引脚之间连接有单向控制器,本实施例的单向控制器为同相缓冲器u1,同相缓冲器u1的输入端连接双线uart串口的tx引脚uart_2wire_tx,同相缓冲器u1的输出端连接单线uart串口的tp引脚uart_1wire_tp。同相缓冲器u1的输出端为开漏输出方式,同相缓冲器u1的输出端连接有上拉电阻r1,上拉电阻r1连接电源vcc。当tx引脚为空闲状态,uart_2wire_tx对应的电平为高电平,uart_1wire_tp为高电平,单线uart串口不接收信号,当tx引脚发送信号时,uart_2wire_tx对应的电平为高低变化的电平,经过缓冲器电路,uart_1wire_tp相应的也为高低变化的电平,单线uart串口接收tx引脚发送的信号。

另一种情况是,双线uart串口通过第二通信电路接收单线uart串口发送的信号,当tx引脚发送信号时,rx引脚不能接收信号,当tx引脚处于空闲状态时,rx引脚才能接收信号,tx引脚为控制信号用于控制rx引脚是否接收信号;第二通信电路包括开关模块,本实施例中的开关模块为单刀双掷型模拟开关u2,设置有六个引脚,分别为vcc引脚、gnd引脚、en引脚、no引脚、com引脚和nc引脚,en引脚为使能引脚,作为控制端,com引脚作为公共端为输出引脚,no引脚为常开触点,nc引脚为常闭触点,com引脚可根据en引脚的电平状态选择连接至no引脚还是nc引脚;模拟开关u2的en引脚连接于双线uart串口的tx引脚,模拟开关u2的no引脚连接单线uart串口的tp引脚,模拟开关u2的输出端即com引脚连接双线uart串口的rx引脚uart_2wire_rx,模拟开关u2的常闭触点nc端连接电源vcc。

一种详细的实施方式可以分为三步:由iomanagement模块负责收集cpld所有io状态,并将收集到的io状态传送给uart模块;由uart模块负责cpld对外窗口,让pchost端可以透过uart接口,取得iomanagement模块所收集到的cpldio状态;由pchost端开启终端机程序,将uart收到的信息,显示在上位机上,供用户了解cpldio管脚状态。

在本申请所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

从上述实施例可以看出,本发明实施例提供的复杂可编程逻辑器件扫描方法,通过在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;使用通用的usb-uart转换模块将uart信号转换为usb信号;在上位机使用超级终端接收usb信号以获取输入输出分组数据的技术方案,能够方便地扫描cpld管脚,快速分析电源时序状态。

需要特别指出的是,上述复杂可编程逻辑器件扫描方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于复杂可编程逻辑器件扫描方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种方便地扫描cpld管脚,快速分析电源时序状态的复杂可编程逻辑器件扫描装置的一个实施例。装置包括:

复杂可编程逻辑器件;

上位机;以及

控制器,存储有可运行的程序代码,控制器在运行程序代码时执行以下步骤:

在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;

使用通用的usb-uart转换模块将uart信号转换为usb信号并发出;

在上位机使用超级终端接收usb信号以获取输入输出分组数据。

在一些实施方式中,步骤中由输入输出管理模块采集输入输出分组数据包括:使输入输出管理模块连接到cpld中的多个输入输出分组,并分别从每个输入输出分组收集输入输出分组数据。

在一些实施方式中,步骤中从每个输入输出分组收集输入输出分组数据包括:从每个输入输出分组收集cpld各管脚的与电源时序相关的电平状态。

在一些实施方式中,从每个输入输出分组收集输入输出分组数据还包括:从每个输入输出分组收集cpld各管脚的与基础输入输出系统、温度、和调试相关的电平状态。

在一些实施方式中,各管脚的电平状态包括以下之一:低电平、高电平、高阻抗状态。

在一些实施方式中,usb-uart转换模块为硬件转换器或软件模拟转换器;硬件转换器包括设置于cpld外侧的转换线缆,软件模拟转换器包括设置在cpld侧或上位机侧的转换软件。

在一些实施方式中,上位机包括部署有超级终端的windows或linux操作系统。

从上述实施例可以看出,本发明实施例提供的复杂可编程逻辑器件扫描装置,通过在cpld中由输入输出管理模块采集输入输出分组数据并通过uart模块转化为uart信号;使用通用的usb-uart转换模块将uart信号转换为usb信号;在上位机使用超级终端接收usb信号以获取输入输出分组数据的技术方案,能够方便地扫描cpld管脚,快速分析电源时序状态。

需要特别指出的是,上述装置的实施例采用了所述复杂可编程逻辑器件扫描方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述复杂可编程逻辑器件扫描方法的其他实施例中。当然,由于所述复杂可编程逻辑器件扫描方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

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