一种离散接口发送数据方法技术

技术编号:24330986 阅读:32 留言:0更新日期:2020-05-29 19:35
本发明专利技术公开了一种离散接口发送数据方法,包括软件端,其发送步骤如下:第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半;通过设计了软件端和逻辑端,来对离散接口发送数据的速度和效率进行提升,并通过对数据的帧数和帧宽进行限定,使数据的发送得以正确发送,接着通过对寄存器进行清空、轮询和发送,可发送完整的帧数据,且可以对数据进行记录和存储,并对FIFO中的数据进行读出、清空、发送和标记,增强数据发送的有序性,并对数据的长度进行限定,以确保FIFO机制得以正常有序的进行。

【技术实现步骤摘要】
一种离散接口发送数据方法
本专利技术涉及编程
,具体为一种离散接口发送数据方法。
技术介绍
FPGA,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机的顺序操作有很大区别,其中在对离散接口进行数据发送时,现有技术为单一的发送端,其数据的发送速度和发送效率较差,为此,我们提出了一种离散接口发送数据方法,以解决上述内容存在的问题。
技术实现思路
(一)解决的技术问题本专利技术的目的在于提供一种离散接口发送数据方法,以解决上述
技术介绍
中提出的现有的离散接口发送数据方法在使用过程中数据的发送速度和效率较差,且未采用FIFO机制导致数据无法按照先进先出进行发送的问题。(二)技术方案为实现上述目的,本专利技术提供如下技术方案:一种离散接口发送数据方法,包括软件端,其发送步骤如下:第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半,为512个;第三步,写FIFO清空寄存器,写帧长度寄存器,写启动发送寄存器;第四步,根据帧长度,将帧分段处理,帧长度不足512时,按实际长度发送,按照事先分配的地址空间,将数据写入;第五步,软件一边写数据,FPGA一边对外发送数据,直到最后一个数据写完;第六步,软件写一段数据前,轮询状态寄存器,查询半满标记,直到半满无效,才将该段数据发出;第七步,软件发送完整帧数据后,轮询状态寄存器,查询完成标记,直到完成,才退出发送函数;第八步,结束。优选的,所述第一步中,软件发送数据的参数帧长度默认小于4096。优选的,所述第二步中,FIFO深度默认为1024个。优选的,所述第四步中,该段地址空间就映射到底层的发送FIFO。优选的,所述第五步中,FPGA自动生成完成标记,关闭写启动。优选的,所述第六步中,半满无效中的半满标记位为低电平。优选的,所述第七步中,完成标记为高电平。一种离散接口发送数据方法,其特征在于:还包括逻辑端,其发送步骤为:第一步,逻辑端根据启动发送标记,并锁存此时帧长度寄存器值,并将上一次的完成标记位清零;第二步,将发送FIFO中的数据读出,并完成并串转换,按照协议要求将数据发出;第三步,发送数据大小达到帧长度之后,停止读取发送FIFO数据,更新状态寄存器的完成标记,并将启动发送标记清零;第四步,控制寄存器:写FIFO清空/发送启动、帧长度寄存器;第五步,状态寄存器:写完成(写1清零)、FIFO半满标记;第六步,结束。有益效果与现有技术相比,本专利技术提供了一种离散接口发送数据方法,具备以下有益效果:通过设计了软件端和逻辑端,来对离散接口发送数据的速度和效率进行提升,并通过对数据的帧数和帧宽进行限定,使数据的发送得以正确发送,接着通过对寄存器进行清空、轮询和发送,可发送完整的帧数据,且可以对数据进行记录和存储,并对FIFO中的数据进行读出、清空、发送和标记,增强数据发送的有序性,并对数据的长度进行限定,以确保FIFO机制得以正常有序的进行。具体实施方式下面将结合本专利技术中的实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种技术方案:一种离散接口发送数据方法,包括软件端,其发送步骤如下:第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半,为512个;第三步,写FIFO清空寄存器,写帧长度寄存器,写启动发送寄存器;第四步,根据帧长度,将帧分段处理,帧长度不足512时,按实际长度发送,按照事先分配的地址空间,将数据写入;第五步,软件一边写数据,FPGA一边对外发送数据,直到最后一个数据写完;第六步,软件写一段数据前,轮询状态寄存器,查询半满标记,直到半满无效,才将该段数据发出;第七步,软件发送完整帧数据后,轮询状态寄存器,查询完成标记,直到完成,才退出发送函数;第八步,结束。一种离散接口发送数据方法,还包括逻辑端,其发送步骤为:第一步,逻辑端根据启动发送标记,并锁存此时帧长度寄存器值,并将上一次的完成标记位清零;第二步,将发送FIFO中的数据读出,并完成并串转换,按照协议要求将数据发出;第三步,发送数据大小达到帧长度之后,停止读取发送FIFO数据,更新状态寄存器的完成标记,并将启动发送标记清零;第四步,控制寄存器:写FIFO清空/发送启动、帧长度寄存器;第五步,状态寄存器:写完成(写1清零)、FIFO半满标记;第六步,结束。实施例一:一种离散接口发送数据方法,包括软件端,其发送步骤如下:第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;软件发送数据的参数帧长度默认小于4096,便于数据能够完整发送;第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半,为512个;第三步,写FIFO清空寄存器,写帧长度寄存器,写启动发送寄存器;第四步,根据帧长度,将帧分段处理,帧长度不足512时,按实际长度发送,按照事先分配的地址空间,将数据写入;第五步,软件一边写数据,FPGA一边对外发送数据,直到最后一个数据写完;第六步,软件写一段数据前,轮询状态寄存器,查询半满标记,直到半满无效,才将该段数据发出;第七步,软件发送完整帧数据后,轮询状态寄存器,查询完成标记,直到完成,才退出发送函数;第八步,结束。一种离散接口发送数据方法,还包括逻辑端,其发送步骤为:第一步,逻辑端根据启动发送标记,并锁存此时帧长度寄存器值,并将上一次的完成标记位清零;第二步,将发送FIFO中的数据读出,并完成并串转换,按照协议要求将数据发出;第三步,发送数据大小达到帧长度之后,停止读取发送FIFO数据,更新状态寄存器的完成标记,并将启动发送标记清零;第四步,控制寄存器:写FIFO清空/发送启动、帧长度寄存器;...

【技术保护点】
1.一种离散接口发送数据方法,其特征在于:包括软件端,其发送步骤如下:/n第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;/n第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半,为512个;/n第三步,写FIFO清空寄存器,写帧长度寄存器,写启动发送寄存器;/n第四步,根据帧长度,将帧分段处理,帧长度不足512时,按实际长度发送,按照事先分配的地址空间,将数据写入;/n第五步,软件一边写数据,FPGA一边对外发送数据,直到最后一个数据写完;/n第六步,软件写一段数据前,轮询状态寄存器,查询半满标记,直到半满无效,才将该段数据发出;/n第七步,软件发送完整帧数据后,轮询状态寄存器,查询完成标记,直到完成,才退出发送函数;/n第八步,结束。/n

【技术特征摘要】
1.一种离散接口发送数据方法,其特征在于:包括软件端,其发送步骤如下:
第一步,软件发送数据的参数包括发送数据的首地址和帧长度,帧数据位宽是16bits;
第二步,软件通过IFC接口发送,由于底层硬件发送FIFO大小有限,所以将上层数据切段发送,段大小是FIFO深度的一半,为512个;
第三步,写FIFO清空寄存器,写帧长度寄存器,写启动发送寄存器;
第四步,根据帧长度,将帧分段处理,帧长度不足512时,按实际长度发送,按照事先分配的地址空间,将数据写入;
第五步,软件一边写数据,FPGA一边对外发送数据,直到最后一个数据写完;
第六步,软件写一段数据前,轮询状态寄存器,查询半满标记,直到半满无效,才将该段数据发出;
第七步,软件发送完整帧数据后,轮询状态寄存器,查询完成标记,直到完成,才退出发送函数;
第八步,结束。


2.根据权利要求1所述的一种离散接口发送数据方法,其特征在于:所述第一步中,软件发送数据的参数帧长度默认小于4096。


3.根据权利要求1所述的一种离散接口发送数据方法,其特征在于:所述第二步中,FIFO深度默认为1024个。

【专利技术属性】
技术研发人员:周灿荣徐金平凌清平林振兴彭亦华
申请(专利权)人:重庆秦嵩科技有限公司
类型:发明
国别省市:重庆;50

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

1