基于socfpga的串行收发器及数据接收发送方法

文档序号:8319112阅读:279来源:国知局
基于soc fpga的串行收发器及数据接收发送方法
【技术领域】
[0001]本发明涉及一种基于SOC FPGA的串行收发器及数据接收发送方法,属于通信技术领域。
【背景技术】
[0002]传统的CPU在利用串行收发器与外界通信时,常采用中断方式或者DMA方式。在采用中断方式时,一般在CPU内部建立循环队列来进行数据的发送和接收,这就浪费了 CPU内部的存储空间,由于CPU自身资源的限制,循环队列不会很大,无法保证发送或者接收完一整帧的数据,势必会加大程序开发难度,同时CPU为了处理断帧的问题,也必须开定时器去统计超时时间,这也加重了 CPU的负荷。在使用DMA方式进行串口通信时,这种方式虽然会提高CPU的效率,但要实现DMA就必须增加DMA控制器和总线控制逻辑,增加了系统的复杂度。

【发明内容】

[0003]本发明为了解决现有技术中存在的上述缺陷和不足,提供了一种基于SOC FPGA的串行收发器及数据接收发送方法,利用SOC FPGA有效减轻了 CPU在串行通信过程中的负担,同时降低了串行通信程序开发难度,有很强的实用性和可扩展性。
[0004]为解决上述技术问题,本发明提供一种基于SOC FPGA的串行收发器,包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;
[0005]所述CPU接口通信模块,通过AXI总线完成与CPU的交互工作,并向CPU发送中断信号;
[0006]所述RAM存储器,存储CPU发送的数据或现场可编程门阵列FPGA接收的数据;
[0007]所述串行收发器接口模块,包括串行收发器接收模块和串行收发器发送模块,所述串行收发器接收模块负责接收数据,所述串行收发器发送模块负责CPU要发送的数据发送出去。
[0008]优选地,所述现场可编辑门阵列FPGA内设有中断寄存器,当所述串行收发器接收模块监测到数据流结束后,则设置所述中断寄存器,并将中断信号通过CPU接口通信模块发送给CPU。
[0009]优选地,所述现场可编程门阵列FPGA内设有使能寄存器,当CPU通过AXI总线将要发送的数据储存到RAM存储器中时,先向所述使能寄存器发送开始写入指令,同时向所述串行收发器发送模块发出发送指令,所述串行收发器发送模块接收到发送指令后,从RAM存储器上读取数据,将数据已串行数据流的方式发送出去。
[0010]优选地,所述现场可编程门阵列FPGA还包括发送结束寄存器,当数据发送结束后,串行收发器发送模块将发送结束寄存器设为1,同时通过CPU接口通信模块向CPU发送中断信号。
[0011]基于SOC FPGA的串行收发器的数据接收发送方法,包括接收数据过程和发送数据过程;
[0012]所述接收数据过程包括以下步骤:
[0013]步骤一,串行收发器接收模块接收串行数据;
[0014]步骤二,串行收发器接收模块将接收到的串行数据储存在RAM存储器中;
[0015]步骤三,RAM存储器将存储的串行数据通过CPU接口通信模块传输给CPU,CPU通过AXI总线读取RAM存储器中的数据;
[0016]所述发送数据过程包括以下步骤:
[0017]A.CPU通过AXI总线将要发送的数据储存在RAM存储器中,同时向串行收发器发送模块发出发送指令;
[0018]B.串行收发器发送模块接收到CPU发出的发送指令,从RAM存储器中读取数据,并将数据已串行数据流的方式发送出去,直到发送完一帧数据。
[0019]优选地,所述步骤三中,当串行收发器接收模块监测到数据流结束后,通过设置现场可编程门阵列FPGA内的中断寄存器,将中断信号发送给CPU,CPU接收到中断信号后通过AXI总线读取RAM存储器内的数据,同时CPU发出清除中断寄存器指令。
[0020]优选地,所述发送数据过程还包括:当发送数据结束后,串行收发器发送模块将发送结束寄存器设置为1,同时向CPU发送中断信号,CPU接收到中断信号后,通过AXI总线,将发送结束寄存器设置为0,表示数据发送结束。
[0021]本发明所达到的有益技术效果:
[0022]1.利用本发明,CPU可以直接发送整帧的数据,从而减小了 CPU程序开发的复杂度。
[0023]2.本发明实现了断帧功能,从而降低了 CPU程序运行负荷。
[0024]3.本发明可以存储一整帧数据,大大减少了 CPU内部资源浪费。
[0025]4.现场可编程门阵列FPGA的灵活性和可扩展性,可以实现多个串行收发器的功會K。
【附图说明】
[0026]图1本发明数据接收流程图;
[0027]图2本发明数据发送流程图。
【具体实施方式】
[0028]为了审查员能更好的了解本发明的技术特征、技术内容及其达到的技术效果,现将本发明的附图结合实施例进行更详细的说明。然而,所示附图,只是为了更好的说明本发明的技术方案,所以,请审查员不要就附图,限制本发明的权利要求保护范围。
[0029]下面结合附图和实施例对本发明专利进一步说明。
[0030]如图1-2所示,本发明是应用Xilinx公司生产的ZYNQ-7020 (SOC FPGA)芯片上的FPGA设计出的基于SOC FPGA的串行收发器,包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;
[0031]所述CPU接口通信模块,通过AXI总线完成与CPU的交互工作,并向CPU发送中断信号;
[0032]所述RAM存储器,存储CPU发送的数据或现场可编程门阵列FPGA接收的数据;
[0033]所述串行收发器接口模块,包括串行收发器接收模块和串行收发器发送模块,所述串行收发器接收模块负责接收数据,所述串行收发器发送模块负责CPU要发送的数据发送出去。
[0034]优选地,所述现场可编辑门阵列FPGA内设有中断寄存器,当所述串行收发器接收模块监测到数据流结束后,则设置所述中断寄存器,并将中断信号通过CPU接口通信模块发送
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1