下位机FPGA软件通用框架制造技术

技术编号:32002495 阅读:20 留言:0更新日期:2022-01-22 18:18
本发明专利技术公开了下位机FPGA软件通用框架,包括:通讯模块、执行模块;通讯模块向上经通讯接口芯片与上位机通讯,向下与软件内部的用于控制执行部件的执行模块通讯,进而控制各执行部件;通讯模块与通讯接口芯片的交互协议是底层协议,底层协议由通讯接口芯片与FPGA的交互时序决定;通讯模块与执行模块的交互协议属于顶层协议;上位机经过通讯接口芯片向FPGA发送的指令数据包由通讯模块解析,解析后的指令分发到相应执行模块执行,通讯模块从执行模块获得指令执行结果,由通讯模块组建回复数据包后通过通讯接口芯片向上位机的指令进行回复,每一条指令都对应一条回复。采用本发明专利技术使FPGA软件的具有统一的架构,增强了软件的可移植性,加速了研发。速了研发。速了研发。

【技术实现步骤摘要】
下位机FPGA软件通用框架


[0001]本专利技术涉及电子系统领域,具体涉及下位机FPGA软件通用框架。

技术介绍

[0002]上位机和下位机构成电子系统是电子设计领域的基本范式。上位机通常采用 能够运行CPU程序的计算机构成,下位机通常由基于FPGA或单片机的系统构 成。上位机和下位机可采用不同的底层通讯协议,例如USB、UART等,底层 通讯协议通常处理的比特位至数据包层面的解析和构造,即根据接收到的比特 位获取数据包,或者把数据包中的数据以比特位的形式发送出去。在底层通讯 协议之上,又存在更高级层级的通讯协议,这些通讯协议处理的数据包至“含 义数据”(该含义数据即自定义的有特定意义的数据)层面的解析和构造,即从 收到的数据包中解析出各种含义数据,然后根据数据执行某些操作,或根据含 义数据组建数据包发送出去。
[0003]不同的系统,采用的底层通讯协议可归结为若干类,例如USB、UART等, 每一类之内可以做到相同。但是即使底层协议相同,顶层协议通常都是不同的; 发生通讯后,对各种指令和数据的处理也是不同的。研制不同的系统,存在差 异,但在技术上却同质化的劳动。

技术实现思路

[0004]本专利技术的目的在于为以FPGA为核心的下位机建立一个通用的顶层协议, 并以此构建下位机FPGA软件通用框架。该软件框架内的通讯模块收到上位机 指令数据包,解析后把指令下发到相应的执行模块执行,获取执行模块的回复 的执行结果,组成回复数据包后再传输给上位机。
[0005]为了达到上述的目的,本专利技术提供下位机FPGA软件通用框架,包括:通 讯模块、执行模块;
[0006]所述通讯模块向上经通讯接口芯片与上位机通讯,向下与软件内部的用于 控制执行部件的执行模块通讯,进而控制各执行部件;
[0007]所述通讯模块与通讯接口芯片的交互协议是底层协议,底层协议由通讯接 口芯片与FPGA的交互时序决定;所述通讯模块与执行模块的交互协议属于顶 层协议;
[0008]上位机经过通讯接口芯片向FPGA发送的指令数据包由通讯模块解析,解 析后的指令分发到相应执行模块执行,通讯模块从执行模块获得指令执行结果, 通讯模块组建回复数据包后通过通讯接口芯片向上位机的指令进行回复,每一 条指令都对应一条回复。
[0009]上述下位机FPGA软件通用框架,其中,所述顶层协议还包括:数据包中 各含义数据在数据包中的具体位置和具体含义,需要上位机软件和下位机软件 的通讯模块具有一致的定义,从而可以相互通讯;所述顶层协议为本专利技术定义 的内容,具有通用性。
[0010]上述下位机FPGA软件通用框架,其中,所述指令属于顶层协议,由若干 字节构成,通讯模块从指令中解析出以下含义数据:CommandType为该指令的 对象,即该指令最终发送给FPGA软件中哪一个执行模块;CommandData是指 令的内容;
[0011]所述回复属于顶层协议,由若干字节构成,通讯模块收到执行模块的回复 后,组建回复数据包,经通讯接口发送给上位机,上位机从回复数据包中解析 出以下含义数据:ResponseType指明了该回复是由FPGA软件中的哪一个执行 模块发出;ResponseData是回复的内容。
[0012]上述下位机FPGA软件通用框架,其中,CommandArrived、CommandData 作为一组信号,该组信号由通讯模块向执行模块发送,ResponseArrived、 ResponseData作为一组信号,该组信号由执行模块向通讯模块发送;所述两组 信号需进行跨时钟域同步处理,同步处理在通讯模块内完成,使 CommandArrived、CommandData这一组信号实现从通讯模块时钟域clk到执行 模块的时钟域ModuleClk的同步;使ResponseArrived、ResponseData这一组信 号实现从执行模块的时钟域ModuleClk到通讯模块时钟域clk的同步;处于通讯 模块和执行模块端口的信号都是处于执行模块的时钟域ModuleClk下的信号或 不经同步就能直接被ModuleClk使用的信号,即同步后的CommandArrived、 CommandData这组信号和同步前的ResponseArrived、ResponseData这组信号。
[0013]上述下位机FPGA软件通用框架,其中,对于CommandArrived、 CommandData这组信号的同步方式是:把同步前通讯模块时钟域clk中的 CommandArrived信号同步到执行模块的时钟域ModuleClk中,对CommandData 不作处理,确保在同步后的CommandArrived有效时,CommandData已经处于 稳定状态;
[0014]对于ResponseArrived、ResponseData这组信号的同步方式是:把同步前执 行模块时钟域ModuleClk中的ResponseArrived信号同步到通讯模块的时钟域clk 中,对ResponseData不作处理,确保在同步后的ResponseArrived有效时, ResponseData已经处于稳定状态。
[0015]上述下位机FPGA软件通用框架,其中,所述CommandArrived和 ResponseArrived的同步化处理为单个信号的跨时钟同步。
[0016]上述下位机FPGA软件通用框架,其中,收到上位机数据包后,通讯模块 从数据包中解析出指令的对象CommandType,CommandType为执行模块的ID, 然后把CommandType对应的执行模块的专属CommandArrived设置为1,把指 令内容CommandData传递给该执行模块的专属CommandData;
[0017]通讯模块收到执行模块的专属的ResponseArrived信号后,根据该执行模块 的ID设置ResponseType,并把执行模块专属的ResponseData复制作为 ResponseData,与ResponseType一起组成回复数据包经通讯接口芯片发送给上 位机。
[0018]上述下位机FPGA软件通用框架,其中,所述框架根据任务需要,能更换 执行模块,但不改变通讯模块。
[0019]使用下位机FPGA软件通用框架的方法,如何设计执行模块,实现与通讯 模块交互,具体时序描述为:
[0020]执行模块检测到ModuleClk时钟域下的CommandArrived信号为高电平,即 有效后,需读取指令内容CommandData的值,指令执行完毕后,把 ResponseArrived设置为有效,同时设置回复内容ResponseData,通讯模块检测 到clk时钟域下的ResponseArrived信号,进入回复流程,并把CommandArrived 设置为无效,当执行模块检测到ModuleClk时钟域下的CommandArrived为无效 时,需把ResponseArrived设置为无效。
[0021]与现有技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.下位机FPGA软件通用框架,其特征在于,包括:通讯模块、执行模块;所述通讯模块向上经通讯接口芯片与上位机通讯,向下与软件内部的用于控制执行部件的执行模块通讯,进而控制各执行部件;所述通讯模块与通讯接口芯片的交互协议是底层协议,底层协议由通讯接口芯片与FPGA的交互时序决定;所述通讯模块与执行模块的交互协议属于顶层协议;上位机经过通讯接口芯片向FPGA发送的指令数据包由通讯模块解析,解析后的指令分发到相应执行模块执行,通讯模块从执行模块获得指令执行结果,通讯模块组建回复数据包后通过通讯接口芯片向上位机的指令进行回复,每一条指令都对应一条回复。2.如权利要求1所述的下位机FPGA软件通用框架,其特征在于,所述顶层协议还包括:数据包中各含义数据在数据包中的具体位置和具体含义,需要上位机软件和下位机软件的通讯模块具有一致的定义,从而可以相互通讯;所述顶层协议为本发明定义的内容,具有通用性。3.如权利要求2所述的下位机FPGA软件通用框架,其特征在于,所述指令属于顶层协议,由若干字节构成,通讯模块从指令中解析出以下含义数据:CommandType为该指令的对象,即该指令最终发送给FPGA软件中哪一个执行模块;CommandData是指令的内容;所述回复属于顶层协议,由若干字节构成,通讯模块收到执行模块的回复后,组建回复数据包,经通讯接口发送给上位机,上位机从回复数据包中解析出以下含义数据:ResponseType指明了该回复是由FPGA软件中的哪一个执行模块发出;ResponseData是回复的内容。4.如权利要求3所述的下位机FPGA软件通用框架,其特征在于,CommandArrived、CommandData作为一组信号,该组信号由通讯模块向执行模块发送,ResponseArrived、ResponseData作为一组信号,该组信号由执行模块向通讯模块发送;所述两组信号需进行跨时钟域同步处理,同步处理在通讯模块内完成,使CommandArrived、CommandData这一组信号实现从通讯模块时钟域clk到执行模块的时钟域ModuleClk的同步;使ResponseArrived、ResponseData这一组信号实现从执行模块的时钟域ModuleClk到通讯模块时钟域clk的同步;处于通讯模块和执行模块端口的信号都是处于执行模块的时钟域ModuleClk下的信号或不经同步就能直接被ModuleClk使用的信号,即同步后的CommandArrived、CommandData这组信号和同步前的ResponseArrived、ResponseData这组信号。5.如权利要求4所述的下位机FPG...

【专利技术属性】
技术研发人员:项宗杰孔泽斌王兰来刘伟罗杰
申请(专利权)人:上海精密计量测试研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1