一种串行交互式传输扩展接口设计方法技术

技术编号:26845412 阅读:26 留言:0更新日期:2020-12-25 13:07
本发明专利技术公开了一种串行交互式传输扩展接口设计方法,该方法适用于Xilinx公司ZYNQ‑7000 SoC芯片,包括:设计串行交互缓冲区单元,该单元由SoC中的FPGA设计实现,包括通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块;设计串行交互包单元,该单元是SoC中FPGA与软核间数据交互的基本元素,由15个32bit数据组成,由包头字段、长度字段、控制字字段、数据字字段、校验和字段、包尾字段组成。本发明专利技术能够在一定程度上解决SoC中FPGA与软核间基于寄存器的数据交互方式带来的资源紧张、时延大等不足。

【技术实现步骤摘要】
一种串行交互式传输扩展接口设计方法
本专利技术属于电子工程和计算机科学领域,具体涉及一种串行交互式传输扩展接口设计方法。
技术介绍
当前,在计算机系统或嵌入式系统内部总线的数据交互应用中,软件系统与可编程逻辑硬件之间,基本采用的都是通过8、16、32位寄存器直接进行数据交互。针对产品功能及其复杂度,功能越多,功能内容越复杂,数据交互资源——寄存器的用量就越大。寄存器在计算机系统或嵌入式系统的内部地址映射空间有限,大量的寄存器映射将直接影响系统资源的损耗,而且在功能实现时,多数情况下需要反复对多个寄存器进行读写操作才能实现一个功能应用,这将会导致数据交互存在不可控的时延。
技术实现思路
为了解决上述技术问题,本专利技术提供一种串行交互式传输扩展接口设计方法,包括设计串行交互缓冲区单元和串行交互包单元,能够在一定程度上解决SoC中FPGA与软核间基于寄存器的数据交互方式带来的资源紧张、时延大等不足。本专利技术解决其技术问题是采取以下技术方案实现的:一种串行交互式传输扩展接口设计方法,包括:(1)设计串行交互缓冲区单元,该单元由SoC中的FPGA设计实现,包括通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块,具体实现如下:①基于FPGA中的FIFO设计串行交互缓冲区单元,该单元包括三组相互独立的FIFO,即通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块;向SoC中的软核开放串行交互缓冲区单元的控制、数据访问能力;②通用消息FIFO模块具备同时读写功能,用于SoC中FPGA与软核间通用功能访问与数据交互(比如功能配置、状态查询、数据传输等);采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;③中断消息FIFO模块具备同时读写功能,用于优先处理因FPGA功能中断触发而产生的临时快速信息交互;中断消息FIFO模块的优先级高于通用消息FIFO模块;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;最多可存储1个串行交互包单元;软核通过中断消息FIFO模块向FPGA发出命令后,在超时时间未到达前,必须等待FPGA的应答,期间不可以处理其它事务;④中断向量FIFO模块不具备同时读写功能,只能由FPGA写入、软核读取,用于按序存储FPGA中断消息;(2)设计串行交互包单元,该单元是SoC中FPGA与软核间数据交互的基本元素,具体实现如下:①串行交互包单元由15个32bit数据组成,由包头字段、长度字段、控制字字段、数据字字段、校验和字段、包尾字段组成,其中包头字段固定为十六进制559966AA、包尾字段固定为十六进制AA669955、长度字段为整个串行交互包的字节数,控制字字段的内容因FPGA与软核间数据交互的功能不同而不同,包括数据传输、指令下达、状态反馈、中断、错误判定与处理等;数据字字段长度为10个32bit数据,其具体内容因控制字字段不同而不同;校验和字段为控制字字段与数据字字段内容之和的低32bit数据;②FPGA与软核在使用串行交互包单元进行数据交互时,采取主从模式,即FPGA始终处于从模式,等待软核发送的串行交互包,并根据串行交互包的不同做出不同的回应;软核始终处于主模式,主动发起与FPGA间的数据交互;③软核通过DMA读写和直接读写两种方式访问串行交互缓冲区单元,当软核从串行交互缓冲区单元中直接读写一个串行交互包的时间大于等于软核从串行交互缓冲区单元中DMA读写一个串行交互包的时间(包括DMA配置、DMA开启、DMA传输、DMA结束所需时间之和),此时软核采用DMA读写方式访问串行交互缓冲区单元,否则,采用直接读写方式。本专利技术设计的一种串行交互式传输扩展接口设计方法,该方法适用于Xilinx公司ZYNQ-7000SoC芯片。有益效果:本专利技术与现有技术相比的优点在于:能够解决传统基于寄存器方式的SoC中FPGA与软核间数据交互带来的资源紧张;能够避免为实现某一复杂功能而反复读写有限寄存器带来的数据交互大时延问题。附图说明图1为本专利技术的系统结构框图;图2为本专利技术的串行交互式传输框图;图3为本专利技术的串行交互包单元帧格式框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术涉及一种串行交互式传输扩展接口设计方法,针对传统的基于8、16、32位寄存器直接进行数据交互而带来的寄存器用量大、系统资源消耗多、数据交互时延大等不足,本专利技术提供一种串行交互式传输扩展接口设计方法,能够在一定程度上解决SoC中FPGA与软核间基于寄存器的数据交互方式带来的资源紧张、时延大等不足。本专利技术的系统结构框图如图1所示,SoC中的FPGA与软核采用主从模式进行数据交互,其中串行交互包单元为数据交互的基本元素,串行交互缓冲区单元中的通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块彼此独立,且均在FPGA中设计实现;通用消息FIFO模块负责FPGA与软核间通用功能访问与数据交互(比如功能配置、状态查询、数据传输等)、中断消息FIFO模块用于优先处理因FPGA功能中断触发而产生的临时快速信息交互、中断向量FIFO模块保存FPGA硬件中断消息,并按序将中断消息写入中断消息FIFO模块。本专利技术的串行交互式传输框图如图2所示、本专利技术的串行交互包单元帧格式框图如图3所示,具体实施方式如下:(1)设计串行交互缓冲区单元,如图1所示,该单元由SoC中的FPGA设计实现,由通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块组成,具体实现如下:①基于FPGA中的FIFO设计串行交互缓冲区单元,该单元由三组相互独立的FIFO构成,即通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块;向SoC中的软核开放串行交互缓冲区单元的控制、数据访问能力;②通用消息FIFO模块具备同时读写功能,用于SoC中FPGA与软核间通用功能访问与数据交互(比如功能配置、状态查询、数据传输等);采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;③中断消息FIFO模块具备同时读写功能,用于优先处理因FPGA功能中断触发而产生的临时快速信息交互;中断消息FIFO模块的优先级高于通用消息FIFO模块;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;最多可存储1个串行交互包单元;软核通过中断消息FIFO模块向FPGA发出命令后,在超时时间未到达前,必须等待FPGA的应答,期间不可以处理其它事务;④中断向量FIFO模块不具备同时读写功能,只能由FPGA写入、软核读取,用于按序存储FPG本文档来自技高网...

【技术保护点】
1.一种串行交互式传输扩展接口设计方法,其特征在于,包括如下步骤:/n(1)设计串行交互缓冲区单元,该单元由SoC中的FPGA设计实现,包括通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块,具体实现如下:/n①基于FPGA中的FIFO设计串行交互缓冲区单元,该串行交互缓冲区单元包括三组相互独立的FIFO,即通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块;所述串行交互缓冲区单元向SoC中的软核开放串行交互缓冲区单元的控制、数据访问能力;/n②通用消息FIFO模块具备同时读写功能,用于SoC中FPGA与软核间通用功能访问与数据交互,包括进行功能配置、状态查询、数据传输;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;/n③中断消息FIFO模块具备同时读写功能,用于优先处理因FPGA功能中断触发而产生的临时快速信息交互;中断消息FIFO模块的优先级高于通用消息FIFO模块;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;最多可存储1个串行交互包单元;软核通过中断消息FIFO模块向FPGA发出命令后,在超时时间未到达前,必须等待FPGA的应答,期间不可以处理其它事务;/n④中断向量FIFO模块不具备同时读写功能,只能由FPGA写入、软核读取,用于按序存储FPGA中断消息;/n(2)设计串行交互包单元,该串行交互包单元是SoC中FPGA与软核间数据交互的基本元素,具体实现如下:/n①串行交互包单元由15个32bit数据组成,由包头字段、长度字段、控制字字段、数据字字段、校验和字段、包尾字段组成,其中包头字段固定为十六进制559966AA、包尾字段固定为十六进制AA669955、长度字段为整个串行交互包的字节数,控制字字段的内容因FPGA与软核间数据交互的功能不同而不同,包括数据传输、指令下达、状态反馈、中断、错误判定与处理;数据字字段长度为10个32bit数据,其具体内容因控制字字段不同而不同;校验和字段为控制字字段与数据字字段内容之和的低32bit数据;/n②FPGA与软核在使用串行交互包单元进行数据交互时,采取主从模式,即FPGA始终处于从模式,等待软核发送的串行交互包,并根据串行交互包的不同做出不同的回应;软核始终处于主模式,主动发起与FPGA间的数据交互;/n③软核通过DMA读写和直接读写两种方式访问串行交互缓冲区单元,当软核从串行交互缓冲区单元中直接读写一个串行交互包的时间大于等于软核从串行交互缓冲区单元中DMA读写一个串行交互包的时间,包括DMA配置、DMA开启、DMA传输、DMA结束所需时间之和,此时软核采用DMA读写方式访问串行交互缓冲区单元,否则,采用直接读写方式。/n...

【技术特征摘要】
1.一种串行交互式传输扩展接口设计方法,其特征在于,包括如下步骤:
(1)设计串行交互缓冲区单元,该单元由SoC中的FPGA设计实现,包括通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块,具体实现如下:
①基于FPGA中的FIFO设计串行交互缓冲区单元,该串行交互缓冲区单元包括三组相互独立的FIFO,即通用消息FIFO模块、中断消息FIFO模块和中断向量FIFO模块;所述串行交互缓冲区单元向SoC中的软核开放串行交互缓冲区单元的控制、数据访问能力;
②通用消息FIFO模块具备同时读写功能,用于SoC中FPGA与软核间通用功能访问与数据交互,包括进行功能配置、状态查询、数据传输;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;
③中断消息FIFO模块具备同时读写功能,用于优先处理因FPGA功能中断触发而产生的临时快速信息交互;中断消息FIFO模块的优先级高于通用消息FIFO模块;采用“命令+应答”数据交互方式,即软核提交给FPGA的每个命令,都必须有一个应答;最多可存储1个串行交互包单元;软核通过中断消息FIFO模块向FPGA发出命令后,在超时时间未到达前,必须等待FPGA的应答,期间不可以处理其它事务;
④中断向量FIFO模块不具备同时读写功能,只能由FPGA写入、软核读取,用于按序存储FPGA中断消息;
(2)设计串行交互包单元,该串行交...

【专利技术属性】
技术研发人员:任慧范宜敏李海菊柏玲君
申请(专利权)人:北京神州飞航科技有限责任公司
类型:发明
国别省市:北京;11

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

1