一种并行总线与UART总线间协议转换的方法及系统与流程

文档序号:12915873阅读:393来源:国知局
一种并行总线与UART总线间协议转换的方法及系统与流程

本发明涉及存储管理领域,特别涉及一种并行总线与uart总线间协议转换的方法、系统及复杂可编程逻辑器件。



背景技术:

随着社会进入大数据时代,数据已经在各个方面起到了重要的作用,存储设备作为大数据的载体,也承担着越来越重要的任务。随着数据量的不断攀升,对存储设备的需求量也越来越大,因此对于存储系统的设计变得尤为重要。

在存储系统的设计中,经常涉及到lpc(lowpincount,又称基于intel标准的33mhz4bit并行总线协议)总线与uart(universalasynchronousreceiver/transmitter,又称通用异步收发传输器)总线之间的协议转换。对于上述协议转换,在现有技术中,使用专用芯片(如superi/o芯片)实现该协议转换,但是,专用芯片会增加整个系统的芯片使用量,则增加了整个系统的功耗。

因此,如何减少协议转换过程中的芯片使用量,降低系统功耗并提高系统稳定性,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种并行总线与uart总线间协议转换的方法、系统及复杂可编程逻辑器件,减少协议转换过程中的芯片使用量,降低系统功耗并提高系统稳定性。

为解决上述技术问题,本申请提供一种并行总线与uart总线间协议转换的方法及系统,该方法包括:

复杂可编程逻辑器件接收需要转换的信息,并将所述信息存储至构造模块的fifo存储器中;其中,所述协议转换的过程在所述fifo存储器中进行;

对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线。

可选的,对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线包括:

判断所述信息是否为串行数据;

若是,则将所述串行数据转换为所述并行总线可读的并行数据,并将所述并行数据发送到所述并行总线;

若否,则将并行数据转换为所述uart总线可读的所述串行数据,并将所述串行数据发送到所述uart总线。

可选的,所述复杂可编程逻辑器件接收需要转换的信息包括:

所述复杂可编程逻辑器件接收上位机通过串口发出的控制命令。

可选的,该方法还包括:

对所述fifo存储器中存储的所述信息进行数据同步。

本申请还提供了一种并行总线与uart总线间协议转换的系统,所述系统包括:

接收模块,用于接收需要转换的信息,并将所述信息存储至fifo存储器中;其中,所述协议转换过程在所述fifo存储器中进行;

转换模块,用于对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线。

可选的,所述转换模块包括:

判断单元,用于判断所述信息是否为串行数据;

串/并转换单元,用于当所述信息为所述串行数据时,将所述串行数据转换为所述并行总线可读的并行数据,并将所述并行数据发送到所述并行总线;

并/串转换单元,用于当所述信息为并行数据时,将所述并行数据转换为所述uart总线可读的所述串行数据,并将所述串行数据发送到所述uart总线。

可选的,所述接收模块具体为接收上位机通过串口发出的控制命令的模块。

可选的,该系统还包括:

同步模块,用于对所述fifo存储器中存储的所述信息进行数据同步。

本申请还提供了一种复杂可编程逻辑器件,用于接收需要转换的信息,并将所述信息存储至构造模块的fifo存储器中;其中,所述协议转换的过程在所述fifo存储器中进行;对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线;其中,所述总线包括并行总线和uart总线。

本发明提供了一种并行总线与uart总线间协议转换的方法,复杂可编程逻辑器件接收需要转换的信息,并将所述信息存储至构造模块的fifo存储器中;其中,所述协议转换的过程在所述fifo存储器中进行;对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线。

本方法将需要进行协议转换的信息存放至复杂可编程逻辑器件中的fifo存储器中,该存储器可以将串行数据转换为并行数据,也可以将并行数据转换为串行数据。由于并行总线协议的信息为并行数据,uart总线协议的信息为串行数据,因此当需要进行协议转换的信息为并行总线协议的信息时,将该信息转换为串行数据;当需要进行协议转换的信息为uart总线协议的信息时,将该信息转换为并行数据。上述转换过程是在复杂可编程逻辑器件的fifo存储器中进行的,而该存储系统自身就设有复杂可编程逻辑器件这个芯片,无需再添加一个专用芯片。这种利用系统自带的复杂可编程逻辑器件进行协议转换的方法,减少了协议转换过程中的芯片使用量,降低了系统功耗并提高系统稳定性,有利于减少一些信号线,有利于layout走线。本申请同时还提供了一种并行总线与uart总线间协议转换的系统,具有上述有益效果,在此不再赘述。此外,本申请又提供了一种复杂可编程逻辑器件,具有以上有益效果,再次亦不在赘述。

附图说明

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

图1为本申请中提供的一种并行总线与uart总线间协议转换的方法所处于的硬件环境示意图;

图2为本申请实施例所提供的一种并行总线与uart总线间协议转换的方法的流程图;

图3为复杂可编程逻辑器件内部框图;

图4为本申请实施例所提供的另一种并行总线与uart总线间协议转换的方法的流程图;

图5为本申请提供的另一种并行总线与uart总线间协议转换的系统结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请所提供的一种并行总线与uart总线间协议转换的方法及系统,可以应用于以下硬件场景中:

请参考图1,图1为本申请中提供的一种并行总线与uart总线间协议转换的方法所处于的硬件环境示意图,包括lpc(lowpincount)模块101、uart模块102、fabric模块103。

其中,lpc模块101是指一个实现标准lpc传输的模块,lpc模块101是并行接口与计算机设备之间传递数据的通道,主要用于传输向pch发送指令和接收pch发出的数据。lpc模块101是基于intel标准的plc总线协议实现的,lpc模块101的数据是并行传输的,且数据位宽是4bit。lpc模块101采用轮询的方法读取uart模块102收到的数据,并通过lpc模块101进行uart传输波特率、校验方式等相关参数的配置。uart模块102是一种通用异步收发器,用于接收上位机传输的串行数据,并向上位机发送系统的打印信息。uart模块102是按照标准uart总线协议简化之后的功能模块。fabric模块103又称构造模块,用于协议转换,并将转换后的信息发送至对应的总线中。

下面请参见图2、图3,图2为本申请实施例所提供的一种并行总线与uart总线间协议转换的方法的流程图;图3为复杂可编程逻辑器件内部框图。

具体步骤可以包括:

步骤s201:复杂可编程逻辑器件接收需要转换的信息,并将所述信息存储至构造模块的fifo存储器中;其中,所述协议转换的过程在所述fifo存储器中进行;

其中,复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)是从pal和gal器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。复杂可编程逻辑器件是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统。本实施例中的采用的复杂可编程逻辑器件是存储系统中固有存在的,可以理解的是复杂可编程逻辑器件在存储系统中不仅仅承担协议转换的功能,它还是存储系统的控制芯片,由用户根据需要生成特定的电路结构,完成一定的功能。

当然,在存储系统使用专用芯片进行协议转换时,复杂可编程逻辑器件是存在于存储系统当中的,但是由于复杂可编程逻辑器件中并没有增加协议转换功能,协议转换并不是通过复杂可编程逻辑器件完成的。当减去专用芯片,在复杂可编程逻辑器件中增加协议转换功能后,这个具有新增功能的复杂可编程逻辑器件就可以取代专用芯片进行数据的协议转换。

可以理解的是,复杂可编程逻辑器件接收的需要转换的信息可以有很多种,对于需要进行串并转换的信息而言大致有三种,分别为串行数据、并行数据、串并行混杂的数据。对于只有串行数据或并行数据的信息而言只需要对其进行串并转换即可,当收到的信息中既有串行数据也有并行数据时,需要将数据类型进行分类再进行转换。本实施例只是对数据的协议进行转换,并不对信息的存储、管理方式进行限定,在进行数据转换时,默认需要转换的信息为串行数据或并行数据,不存在有串并混杂的情况。

由于fifo存储器是进行协议转换的场所,所以将需要转换的信息存储至fifo存储器以便进行下一步骤。fifo存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。可以理解的是,fifo存储器受到构造模块的控制器的控制,控制器可以对信息存储和转换进行中断等控制。

步骤s202:对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线;其中,所述总线包括并行总线和uart总线;

其中,本步骤只是将并行数据转换为串行数据,或者将串行数据转换为并行数据。在步骤s201中,存储的信息只是需要进行转换的信息,还无法确认信息的数据类型和需要转换的方向。可以理解的是,如果需要转换的信息为并行数据时,该信息需要转换为串行数据;如果需要转换的信息为串行数据时,该信息需要转换为并行数据。由于在步骤s201中并没有将串行数据和并行数据进行分类存储,在不知道信息的数据类型的情况下,也可以进行协议转换,但是这样没有明确方向的协议转换会导致转换的时间增长,效率变低。因此在进行协议转换之前还可以对需要对数据的类型进行判断,以便进行数据转换。

当然并不是所有的并行数据都可以被并行总线读取,也并不是所有的串行数据都可以被uart总线读取,本步骤转换的得到的信息是可以被对应总线读取的信息。

下面请参见图4,图4为本申请实施例所提供的另一种并行总线与uart总线间协议转换的方法的流程图。

此实施例是在上述实施例的基础上,对串并转换的具体该步骤及存储信息进行相关限定。

具体步骤可以包括:

步骤s301:复杂可编程逻辑器件接收上位机通过串口发出的控制命令,并将所述控制命令中的信息存储至构造模块的fifo存储器中;其中,所述协议转换的过程在所述fifo存储器中进行;

其中,串口发出的控制命令属于需要转换的信息的一种,经过复杂可编程逻辑器件转换为串行数据后,发送给pch,从而达到控制系统的目的。类似该控制命令的信息还可以是pch发出的系统打印信息,其数据转换过程与控制命令的数据转换过程基本一致。本步骤的其他操作与具体上面的步骤s201容大致一致,此处不再赘述。

步骤s302:判断所述信息是否为串行数据;若是,则进入步骤s303;若否,则进入步骤s304;

其中,判断所述信息是串行数据还是并行数据的方法有很多,可以按照数据输送方式的不同进行区分,串口传输方式为数据排成一行、一位一位发送或接收也一样,而并口传输则是以8位数据一次送出,也就是说是各数据位按顺序进行传送的是串行数据,各数据位同时传送的是并行数据。当然,也可以按照发送信息的模块来区分,是否为串行数据,此处只要是能够判断所述信息是否为串行数据即可,并不对判断的依据、方法进行具体的限定。

可以理解的是,对于此步骤也可以判断所述信息是否为并行数据,因为一般而言,存储至fifo存储器的数据是串行数据或并行数据中的一种。当然,由于大量的信息存储至fifo存储器需要一定的时间,对串行数据、并行数据的判断可以在存储信息时就进行,也可以在进行串、并转换前进行,还可以在上述两个步骤之间任意时间进行,只要能够在进行协议转换之前确定数据的类型即可,此处并不对判断是否为串行数据的具体时间点进行限定。

步骤s303:将所述串行数据转换为所述并行总线可读的并行数据,并将所述并行数据发送到所述并行总线,并进入s305。

步骤s304:将并行数据转换为所述uart总线可读的所述串行数据,并将所述串行数据发送到所述uart总线。

步骤s305:对所述fifo存储器中存储的所述信息进行数据同步。

其中,为了提升数据协议转换的安全指数,故而将fifo存储器中存储的信息进行数据同步。可以理解的是,数据的协议转换是存在一定的失效率的,而在数据安全要求较高的系统中,是不允许出现一丝一毫的差错的,当协议转换出现错误时,可以利用同步的得到的信息再次进行转换,避免了因协议转换出现失效带来的损失。当然,尽管fifo存储器的空间存储是很大的,但是由于进行协议转换的信息的数量是十分巨大的,可能会出现fifo存储器队列排满的情况,可以增加一个新的fifo存储器,或者加快协议转换的速度。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请提供的一种并行总线与uart总线间协议转换的系统可以包括:

接收模块100,用于接收需要转换的信息,并将所述信息存储至fifo存储器中;其中,所述协议转换过程在所述fifo存储器中进行;

转换模块200,用于对所述信息进行串并转换,并将串并转换后得到的所述信息发送至对应的总线。

请参阅图5,图5为本申请提供的另一种并行总线与uart总线间协议转换的系统结构示意图。

本实施例进一步的,所述转换模块包括:

判断单元201,用于判断所述信息是否为串行数据;

串/并转换单元202,用于当所述信息为所述串行数据时,将所述串行数据转换为所述并行总线可读的并行数据,并将所述并行数据发送到所述并行总线;

并/串转换单元203,用于当所述信息为并行数据时,将所述并行数据转换为所述uart总线可读的所述串行数据,并将所述串行数据发送到所述uart总线。

进一步的,所述接收模块100具体为接收上位机通过串口发出的控制命令的模块。

进一步的,该系统还包括:

同步模块300,用于对所述fifo存储器中存储的所述信息进行数据同步。

以上对本申请所提供的一种并行总线与uart总线间协议转换的方法及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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