CN104636300A - 基于soc fpga的串行收发器及数据接收发送方法 - Google Patents
基于soc fpga的串行收发器及数据接收发送方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System 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的串行收发器及数据接收发送方法,属于通信技术领域。
背景技术
传统的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,表示数据发送结束。
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)
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)
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原型化的串行接口 |
-
2015
- 2015-02-09 CN CN201510066500.XA patent/CN104636300A/zh active Pending
Patent Citations (8)
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)
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 |