CN104636300A - 基于soc fpga的串行收发器及数据接收发送方法 - Google Patents

基于soc fpga的串行收发器及数据接收发送方法 Download PDF

Info

Publication number
CN104636300A
CN104636300A CN201510066500.XA CN201510066500A CN104636300A CN 104636300 A CN104636300 A CN 104636300A CN 201510066500 A CN201510066500 A CN 201510066500A CN 104636300 A CN104636300 A CN 104636300A
Authority
CN
China
Prior art keywords
data
cpu
serial transceiver
serial
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510066500.XA
Other languages
English (en)
Inventor
李伟
黄作兵
乐凌志
黄蕾
赵永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING GUODIAN NANZI MEIZHUO CONTROL SYSTEM CO Ltd
Original Assignee
NANJING GUODIAN NANZI MEIZHUO CONTROL SYSTEM CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING GUODIAN NANZI MEIZHUO CONTROL SYSTEM CO Ltd filed Critical NANJING GUODIAN NANZI MEIZHUO CONTROL SYSTEM CO Ltd
Priority to CN201510066500.XA priority Critical patent/CN104636300A/zh
Publication of CN104636300A publication Critical patent/CN104636300A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供一种基于SOC FPGA的串行收发器,包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;利用本发明,CPU可以直接发送整帧的数据,从而减小了CPU程序开发的复杂度;本发明实现了断帧功能,从而降低了CPU程序运行负荷;可以存储一整帧数据,大大减少了CPU内部资源浪费;现场可编程门阵列FPGA的灵活性和可扩展性,可以实现多个串行收发器的功能。

Description

基于SOC FPGA的串行收发器及数据接收发送方法
技术领域
本发明涉及一种基于SOC FPGA的串行收发器及数据接收发送方法,属于通信技术领域。
背景技术
传统的CPU在利用串行收发器与外界通信时,常采用中断方式或者DMA方式。在采用中断方式时,一般在CPU内部建立循环队列来进行数据的发送和接收,这就浪费了CPU内部的存储空间,由于CPU自身资源的限制,循环队列不会很大,无法保证发送或者接收完一整帧的数据,势必会加大程序开发难度,同时CPU为了处理断帧的问题,也必须开定时器去统计超时时间,这也加重了CPU的负荷。在使用DMA方式进行串口通信时,这种方式虽然会提高CPU的效率,但要实现DMA就必须增加DMA控制器和总线控制逻辑,增加了系统的复杂度。
发明内容
本发明为了解决现有技术中存在的上述缺陷和不足,提供了一种基于SOC FPGA的串行收发器及数据接收发送方法,利用SOC FPGA有效减轻了CPU在串行通信过程中的负担,同时降低了串行通信程序开发难度,有很强的实用性和可扩展性。
为解决上述技术问题,本发明提供一种基于SOC FPGA的串行 收发器,包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;
所述CPU接口通信模块,通过AXI总线完成与CPU的交互工作,并向CPU发送中断信号;
所述RAM存储器,存储CPU发送的数据或现场可编程门阵列FPGA接收的数据; 
所述串行收发器接口模块,包括串行收发器接收模块和串行收发器发送模块,所述串行收发器接收模块负责接收数据,所述串行收发器发送模块负责CPU要发送的数据发送出去。
优选地,所述现场可编辑门阵列FPGA内设有中断寄存器,当所述串行收发器接收模块监测到数据流结束后,则设置所述中断寄存器,并将中断信号通过CPU接口通信模块发送给CPU。
优选地,所述现场可编程门阵列FPGA内设有使能寄存器,当CPU通过AXI总线将要发送的数据储存到RAM存储器中时,先向所述使能寄存器发送开始写入指令,同时向所述串行收发器发送模块发出发送指令,所述串行收发器发送模块接收到发送指令后,从RAM存储器上读取数据,将数据已串行数据流的方式发送出去。
优选地,所述现场可编程门阵列FPGA还包括发送结束寄存器,当数据发送结束后,串行收发器发送模块将发送结束寄存器设为1,同时通过CPU接口通信模块向CPU发送中断信号。
基于SOC FPGA的串行收发器的数据接收发送方法,包括接收数据过程和发送数据过程;
所述接收数据过程包括以下步骤:
步骤一,串行收发器接收模块接收串行数据;
步骤二,串行收发器接收模块将接收到的串行数据储存在RAM存储器中;
步骤三,RAM存储器将存储的串行数据通过CPU接口通信模块传输给CPU,CPU通过AXI总线读取RAM存储器中的数据;
所述发送数据过程包括以下步骤:
A.CPU通过AXI总线将要发送的数据储存在RAM存储器中,同时向串行收发器发送模块发出发送指令;
B.串行收发器发送模块接收到CPU发出的发送指令,从RAM存储器中读取数据,并将数据已串行数据流的方式发送出去,直到发送完一帧数据。
优选地,所述步骤三中,当串行收发器接收模块监测到数据流结束后,通过设置现场可编程门阵列FPGA内的中断寄存器,将中断信号发送给CPU,CPU接收到中断信号后通过AXI总线读取RAM存储器内的数据,同时CPU发出清除中断寄存器指令。
优选地,所述发送数据过程还包括:当发送数据结束后,串行收发器发送模块将发送结束寄存器设置为1,同时向CPU发送中断信号,CPU接收到中断信号后,通过AXI总线,将发送结束寄存器设置为0,表示数据发送结束。
本发明所达到的有益技术效果:
1.利用本发明,CPU可以直接发送整帧的数据,从而减小了CPU 程序开发的复杂度。
2.本发明实现了断帧功能,从而降低了CPU程序运行负荷。
3.本发明可以存储一整帧数据,大大减少了CPU内部资源浪费。
4.现场可编程门阵列FPGA的灵活性和可扩展性,可以实现多个串行收发器的功能。
附图说明
图1本发明数据接收流程图;
图2本发明数据发送流程图。
具体实施方式
为了审查员能更好的了解本发明的技术特征、技术内容及其达到的技术效果,现将本发明的附图结合实施例进行更详细的说明。然而,所示附图,只是为了更好的说明本发明的技术方案,所以,请审查员不要就附图,限制本发明的权利要求保护范围。
下面结合附图和实施例对本发明专利进一步说明。
如图1-2所示,本发明是应用Xilinx公司生产的ZYNQ-7020(SOC FPGA)芯片上的FPGA设计出的基于SOC FPGA的串行收发器,包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;
所述CPU接口通信模块,通过AXI总线完成与CPU的交互工作,并向CPU发送中断信号;
所述RAM存储器,存储CPU发送的数据或现场可编程门阵列FPGA接收的数据; 
所述串行收发器接口模块,包括串行收发器接收模块和串行收发器发送模块,所述串行收发器接收模块负责接收数据,所述串行收发器发送模块负责CPU要发送的数据发送出去。
优选地,所述现场可编辑门阵列FPGA内设有中断寄存器,当所述串行收发器接收模块监测到数据流结束后,则设置所述中断寄存器,并将中断信号通过CPU接口通信模块发送给CPU。
优选地,所述现场可编程门阵列FPGA内设有使能寄存器,当CPU通过AXI总线将要发送的数据储存到RAM存储器中时,先向所述使能寄存器发送开始写入指令,同时向所述串行收发器发送模块发出发送指令,所述串行收发器发送模块接收到发送指令后,从RAM存储器上读取数据,将数据已串行数据流的方式发送出去。
优选地,所述现场可编程门阵列FPGA还包括发送结束寄存器,当数据发送结束后,串行收发器发送模块将发送结束寄存器设为1,同时通过CPU接口通信模块向CPU发送中断信号。
基于SOC FPGA的串行收发器的数据接收发送方法,包括接收数据过程和发送数据过程;
所述接收数据过程包括以下步骤:
步骤一,串行收发器接收模块接收串行数据;
步骤二,串行收发器接收模块将接收到的串行数据储存在RAM存储器中;
步骤三,RAM存储器将存储的串行数据通过CPU接口通信模块传输给CPU,CPU通过AXI总线读取RAM存储器中的数据;当串 行收发器接收模块监测到数据流结束后,通过设置现场可编程门阵列FPGA内的中断寄存器,将中断信号发送给CPU,CPU接收到中断信号后通过AXI总线读取RAM存储器内的数据,同时CPU发出清除中断寄存器指令。
所述发送数据过程包括以下步骤:
A.CPU通过AXI总线将要发送的数据储存在RAM存储器中,同时向串行收发器发送模块发出发送指令;
B.串行收发器发送模块接收到CPU发出的发送指令,从RAM存储器中读取数据,并将数据已串行数据流的方式发送出去,直到发送完一帧数据。当发送数据结束后,串行收发器发送模块将发送结束寄存器设置为1,同时向CPU发送中断信号,CPU接收到中断信号后,通过AXI总线,将发送结束寄存器设置为0,表示数据发送结束。
以上已以较佳地实施例公布了本发明,然其并非用以限制本发明,凡采取等同替换或等效变换的方案所获得的技术方案,均落在本发明的保护范围内。

Claims (7)

1.一种基于SOC FPGA的串行收发器,其特征在于:包括现场可编程门阵列FPGA,所述现场可编程门阵列FPGA包含CPU接口通信模块、RAM存储器以及串行收发器接口模块;
所述CPU接口通信模块,通过AXI总线完成与CPU的交互工作,并向CPU发送中断信号;
所述RAM存储器,存储CPU发送的数据或现场可编程门阵列FPGA接收的数据;
所述串行收发器接口模块,包括串行收发器接收模块和串行收发器发送模块,所述串行收发器接收模块负责接收数据,所述串行收发器发送模块负责CPU要发送的数据发送出去。
2.根据权利要求1所述的基于SOC FPGA的串行收发器,其特征在于:所述现场可编辑门阵列FPGA内设有中断寄存器,当所述串行收发器接收模块监测到数据流结束后,则设置所述中断寄存器,并将中断信号通过CPU接口通信模块发送给CPU。
3.根据权利要求1所述的基于SOC FPGA的串行收发器,其特征在于:所述现场可编程门阵列FPGA内设有使能寄存器,当CPU通过AXI总线将要发送的数据储存到RAM存储器中时,先向所述使能寄存器发送开始写入指令,同时向所述串行收发器发送模块发出发送指令,所述串行收发器发送模块接收到发送指令后,从RAM存储器上读取数据,将数据已串行数据流的方式发送出去。
4.根据权利要求3所述的基于SOC FPGA的串行收发器,其特征在于:所述现场可编程门阵列FPGA还包括发送结束寄存器,当数据发送结束后,串行收发器发送模块将发送结束寄存器设为1,同时通过CPU接口通信模块向CPU发送中断信号。
5.根据权利要求1-4任一项所述的基于SOC FPGA的串行收发器的数据接收发送方法,其特征在于:包括接收数据过程和发送数据过程;
所述接收数据过程包括以下步骤:
步骤一,串行收发器接收模块接收串行数据;
步骤二,串行收发器接收模块将接收到的串行数据储存在RAM存储器中;
步骤三,RAM存储器将存储的串行数据通过CPU接口通信模块传输给CPU,CPU通过AXI总线读取RAM存储器中的数据;
所述发送数据过程包括以下步骤:
A.CPU通过AXI总线将要发送的数据储存在RAM存储器中,同时向串行收发器发送模块发出发送指令;
B.串行收发器发送模块接收到CPU发出的发送指令,从RAM存储器中读取数据,并将数据已串行数据流的方式发送出去,直到发送完一帧数据。
6.根据权利要求5所述的基于SOC FPGA的串行收发器的数据接收发送方法,其特征在于:所述步骤三中,当串行收发器接收模块监测到数据流结束后,通过设置现场可编程门阵列FPGA内的中断寄存器,将中断信号发送给CPU,CPU接收到中断信号后通过AXI总线读取RAM存储器内的数据,同时CPU发出清除中断寄存器指令。
7.根据权利要求5所述的基于SOC FPGA的串行收发器的数据接收发送方法,其特征在于:所述发送数据过程还包括:当发送数据结束后,串行收发器发送模块将发送结束寄存器设置为1,同时向CPU发送中断信号,CPU接收到中断信号后,通过AXI总线,将发送结束寄存器设置为0,表示数据发送结束。
CN201510066500.XA 2015-02-09 2015-02-09 基于soc fpga的串行收发器及数据接收发送方法 Pending CN104636300A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510066500.XA CN104636300A (zh) 2015-02-09 2015-02-09 基于soc fpga的串行收发器及数据接收发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510066500.XA CN104636300A (zh) 2015-02-09 2015-02-09 基于soc fpga的串行收发器及数据接收发送方法

Publications (1)

Publication Number Publication Date
CN104636300A true CN104636300A (zh) 2015-05-20

Family

ID=53215073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510066500.XA Pending CN104636300A (zh) 2015-02-09 2015-02-09 基于soc fpga的串行收发器及数据接收发送方法

Country Status (1)

Country Link
CN (1) CN104636300A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866286A (zh) * 2015-06-02 2015-08-26 电子科技大学 一种基于OpenCL与SoC-FPGA的K近邻分类加速方法
CN106445679A (zh) * 2016-08-31 2017-02-22 中国船舶重工集团公司第七〇二研究所 一种控制系统程序空间共享装置及方法
CN107463526A (zh) * 2017-08-15 2017-12-12 南京国电南自电网自动化有限公司 一种soc芯片之间的高速信息共享方法
CN108108316A (zh) * 2017-12-14 2018-06-01 上海斐讯数据通信技术有限公司 一种基于现场可编程门阵列的接口扩展方法及系统
CN109144927A (zh) * 2018-08-22 2019-01-04 深圳忆联信息系统有限公司 一种多fpga互联装置及方法
CN111008029A (zh) * 2019-12-05 2020-04-14 江西洪都航空工业集团有限责任公司 一种Zynq处理器的远程升级系统和方法
CN111143250A (zh) * 2019-12-20 2020-05-12 苏州浪潮智能科技有限公司 一种基于axi-st接口访问fpga存储单元的方法、设备及介质
CN111324567A (zh) * 2020-02-10 2020-06-23 华大半导体有限公司 一种实现串口通讯的方法及单片机系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2938595Y (zh) * 2006-02-20 2007-08-22 上海欣泰通信技术有限公司 一种用于板间通信的高速串行接口装置
CN102521444A (zh) * 2011-12-08 2012-06-27 青岛海信信芯科技有限公司 软硬件协同仿真/验证方法及装置
CN202372977U (zh) * 2011-12-15 2012-08-08 福建鑫诺通讯技术有限公司 基于fpga实现的usb主设备端接口结构
CN102761396A (zh) * 2012-07-30 2012-10-31 哈尔滨工业大学 基于fpga的高速串行接口
CN102760111A (zh) * 2012-06-27 2012-10-31 浙江大学 一种基于fpga的扩展多串口装置及其数据收发方法
CN102831096A (zh) * 2012-08-17 2012-12-19 中国科学院空间科学与应用研究中心 一种1553b总线协议ip核
US8359557B1 (en) * 2011-05-03 2013-01-22 Xilinx, Inc. Method and apparatus for generating data bus interface circuitry
CN104025069A (zh) * 2011-12-15 2014-09-03 马维尔国际贸易有限公司 用于fpga原型化的串行接口

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2938595Y (zh) * 2006-02-20 2007-08-22 上海欣泰通信技术有限公司 一种用于板间通信的高速串行接口装置
US8359557B1 (en) * 2011-05-03 2013-01-22 Xilinx, Inc. Method and apparatus for generating data bus interface circuitry
CN102521444A (zh) * 2011-12-08 2012-06-27 青岛海信信芯科技有限公司 软硬件协同仿真/验证方法及装置
CN202372977U (zh) * 2011-12-15 2012-08-08 福建鑫诺通讯技术有限公司 基于fpga实现的usb主设备端接口结构
CN104025069A (zh) * 2011-12-15 2014-09-03 马维尔国际贸易有限公司 用于fpga原型化的串行接口
CN102760111A (zh) * 2012-06-27 2012-10-31 浙江大学 一种基于fpga的扩展多串口装置及其数据收发方法
CN102761396A (zh) * 2012-07-30 2012-10-31 哈尔滨工业大学 基于fpga的高速串行接口
CN102831096A (zh) * 2012-08-17 2012-12-19 中国科学院空间科学与应用研究中心 一种1553b总线协议ip核

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866286A (zh) * 2015-06-02 2015-08-26 电子科技大学 一种基于OpenCL与SoC-FPGA的K近邻分类加速方法
CN104866286B (zh) * 2015-06-02 2018-05-01 电子科技大学 一种基于OpenCL与SoC-FPGA的K近邻分类加速方法
CN106445679A (zh) * 2016-08-31 2017-02-22 中国船舶重工集团公司第七〇二研究所 一种控制系统程序空间共享装置及方法
CN107463526A (zh) * 2017-08-15 2017-12-12 南京国电南自电网自动化有限公司 一种soc芯片之间的高速信息共享方法
CN108108316A (zh) * 2017-12-14 2018-06-01 上海斐讯数据通信技术有限公司 一种基于现场可编程门阵列的接口扩展方法及系统
CN108108316B (zh) * 2017-12-14 2023-08-11 珠海西格电力科技有限公司 一种基于现场可编程门阵列的接口扩展方法及系统
CN109144927A (zh) * 2018-08-22 2019-01-04 深圳忆联信息系统有限公司 一种多fpga互联装置及方法
CN111008029A (zh) * 2019-12-05 2020-04-14 江西洪都航空工业集团有限责任公司 一种Zynq处理器的远程升级系统和方法
CN111008029B (zh) * 2019-12-05 2021-07-06 江西洪都航空工业集团有限责任公司 一种Zynq处理器的远程升级系统和方法
CN111143250A (zh) * 2019-12-20 2020-05-12 苏州浪潮智能科技有限公司 一种基于axi-st接口访问fpga存储单元的方法、设备及介质
CN111143250B (zh) * 2019-12-20 2022-03-22 苏州浪潮智能科技有限公司 一种基于axi-st接口访问fpga存储单元的方法、设备及介质
CN111324567A (zh) * 2020-02-10 2020-06-23 华大半导体有限公司 一种实现串口通讯的方法及单片机系统

Similar Documents

Publication Publication Date Title
CN104636300A (zh) 基于soc fpga的串行收发器及数据接收发送方法
CN105573789B (zh) 基于软核处理器的fpga多镜像升级加载方法及装置
CN105183680B (zh) 实现PCIe接口转CF卡接口的FPGA芯片及方法
CN202870808U (zh) 一种spi串口模块的fpga实现装置
WO2018040016A1 (zh) 一种协议转换器及协议转换方法
CN103218337B (zh) 基于wishbone总线实现主与主、从与从通信的片上系统和方法
CN103200081A (zh) 一种面向异构网络环境的物联网网关开发平台
CN104242981B (zh) 一种基于软件无线电的嵌入式通讯装置
CN203590251U (zh) 基于串行RapidIO总线的FlexRay控制系统
CN106874051A (zh) 一种基于以太网的多片fpga高速动态加载装置及方法
CN103019990A (zh) 一种采集端启动pci-e总线dma上传数据的方法
CN104731737A (zh) 集线器、操作系统与控制方法
CN106844133A (zh) 一种片上系统soc的监控方法及装置
CN105573408A (zh) 集成电路以及低功率操作方法
CN105988955B (zh) Sdio设备及其应用的电子装置和数据传输方法
CN105512005A (zh) 控制/远程节点与总线监控节点同步工作的电路及方法
CN206100049U (zh) 一种协议转换器
CN202374285U (zh) 一种使用可编程控制器的实时数据通信系统
CN101783165A (zh) 一种半导体存储器、半导体存储器系统及其对应编程方法
CN103874241A (zh) 支持各种射频通讯融合工作的网关
CN204989976U (zh) 一种运输机器人无线射频控制系统
CN202906949U (zh) 一种rs485双主机通讯透传模块
CN102035607A (zh) 一种发送校准数据的方法及装置
CN202353595U (zh) 一种EtherCAT与RS485通信转换的网关
CN102075376B (zh) 一种多通信协议检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 210032 Jiangsu province Nanjing city Pukou high tech Zone Huidalu No. 9

Applicant after: Nanjing Guodian Nanzi 710086 Automation Co. Ltd.

Address before: Nanjing City, Jiangsu province 210032 Spark Road, Pukou hi tech Development Zone No. 8

Applicant before: Nanjing Guodian Nanzi Meizhuo Control System Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20150520

RJ01 Rejection of invention patent application after publication