CN110134630A - A kind of transmission cache controller design method of multiple input single output - Google Patents

A kind of transmission cache controller design method of multiple input single output Download PDF

Info

Publication number
CN110134630A
CN110134630A CN201910446393.1A CN201910446393A CN110134630A CN 110134630 A CN110134630 A CN 110134630A CN 201910446393 A CN201910446393 A CN 201910446393A CN 110134630 A CN110134630 A CN 110134630A
Authority
CN
China
Prior art keywords
data
data packet
port
piecemeal
transmission
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.)
Granted
Application number
CN201910446393.1A
Other languages
Chinese (zh)
Other versions
CN110134630B (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.)
Xian Electronic Engineering Research Institute
Original Assignee
Xian Electronic Engineering Research Institute
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 Xian Electronic Engineering Research Institute filed Critical Xian Electronic Engineering Research Institute
Priority to CN201910446393.1A priority Critical patent/CN110134630B/en
Publication of CN110134630A publication Critical patent/CN110134630A/en
Application granted granted Critical
Publication of CN110134630B publication Critical patent/CN110134630B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The present invention relates to a kind of transmission cache controller design methods of multiple input single output, and FPGA software external interface time flow control data bag transmission in current signal processor is changed to packet parameter control data bag and is sent.This method can effectively simplify FPGA software interface data flow and send design, especially suitable for needing the signal processing system of frequent switching data flow transmission rate.

Description

A kind of transmission cache controller design method of multiple input single output
Technical field
The invention belongs to signal processing technology fields, are related to a kind of transmission cache controller design side of multiple input single output Method.This method can be used in the design of FPGA external interface, and internal data source rate is greater than under conditions of external interface, realize hair Sending end rate control.Especially suitable for large-scale the Digital Phased Array antenna system, mass data transmission and variable rate transmission are needed Occasion.
Background technique
Progress mass data transmission is usually required in massive phased array antenna system to summarize.FPGA is handled in some cases The instantaneous data rate that device is externally sent can be greater than interface data rate, it is necessary to which then caching to the advanced row of data could send.? Signal processor front end works in different modes in some cases, and the data transfer rate externally sent is needed with variation.At these Not only it needs to send buffering reduction of speed, but also in the signal processing system for needing transmission rate variable, generally passes through time stream process at present Thinking, control parameter needs change over time, control send data rate, data flow inside FPGA temporally beat carry out Pattern switching.When system both of which processing time difference is different larger, control parameter is changed over time, and software design is more multiple It is miscellaneous.For this purpose, then the present invention is pressed the complete data elder generation composition data packet of FPGA inter-process using the thinking of Data Stream Processing Packet parameter is sent.This method can effectively simplify FPGA Software Interface Design, versatile.Especially suitable for large-scale phase The signal processor system application of a variety of transmission rate switchings is needed in control array antenna system.
Summary of the invention
Technical problems to be solved
In order to avoid in place of the deficiencies in the prior art: FPGA internal data rate is greater than interface data rate, and needs variable Rate It sends, the present invention proposes a kind of transmission cache controller design method of multiple input single output.
Technical solution
A kind of transmission cache controller design method of multiple input single output, it is characterised in that steps are as follows:
Step 1: sending cache controller includes sending buffer area, write-in control logic, reading three parts of control logic; It wherein sends buffer area and sends data for caching, include N number of piecemeal, each piecemeal can store a complete data packet, data Bao Zhongying includes to send length and transmission rate information;Control logic is written to be used to receiving M port into the N number of transmission of data write-in Buffer area piecemeal;Control logic is read for reading data from the piecemeal of N number of transmission buffer area;
Step 2: 5 global variables of design: port idle state Ks, port free time variable Kn, reception pointer variable R p, hair Pointer variable Tp, variable blocked Rn to be sent are sent, sends buffer state for describing;
Port idle state Ks value range { 0,1 }, for describing whether currently transmitted caching is sending data;Initially Change or reading control logic runs through a data packet and sets 1 state, otherwise reads control logic starting one data packet of reading and set 0 shape State;
Port free time variable Kn value range [0, Knm], for describing when sending caching idle state time, Knm is indicated Maximum value;
Reception pointer variable R p value range [0, N-1], the buffer area piecemeal position for describing currently to prepare reception data It sets;Initialization or Kn==Knm-1 moment, Rp setting 0;Otherwise whenever receiving effective data packets, Rp adds 1 by mould of N;
It sends pointer variable Tp value range [0, N-1], the buffer area piecemeal position for describing currently to be ready for sending data It sets, initialization or Kn==Knm-1 moment, Tp setting 0;Otherwise whenever having sent a data packet, then Tp adds 1 by mould of N;
Variable blocked Rn value range [0, N+1] to be sent, for describing there is Rn piecemeal to need to send out in current buffer It send, initialization or Kn==Knm-1 moment, Rn setting 0;Otherwise buffer area then Rn+1 is reached when certain moment only has data;It is no Then then Rn-1 is distributed from buffer area when certain moment only has data;
Step 3: write-in control logic design is as follows, determines input port quantity M as needed, it is desirable that M < N;Whenever having one It is effective that a port receives data packet, then according to current reception pointer variable R p, writes the data packet the Rp buffer area piecemeal;
Step 4: transmission Buffer Design is as follows, and sending buffer area includes N number of piecemeal;Each piecemeal is by a dual port RAM Composition, one of port are written for data, another port is read for data;
Step 5: reading control logic design is as follows, setting data packet transmission spacing parameter Kni, Kni value range (0, Knm-2);If Rn > 0&&Kn > Kni&&Ks==1, is first distinguished from buffering and read data packet length and transmission rate in block Tp Information, and according to data packet length and transmission rate information, complete data packet is read, output port is sent to.
Beneficial effect
A kind of transmission cache controller design method of multiple input single output proposed by the present invention,
Using packet parameter control rate transmission rate and length, current sending module is controlled from time flow control and is changed to Data flow control.
The present invention compared with prior art, has a characteristic that
1. simplifying the design of transmitting terminal rate control.
2. versatile.
Detailed description of the invention
Fig. 1 function composition of the present invention
The port Fig. 2 free time variable Kn more new technological process
Specific embodiment
Now in conjunction with embodiment, attached drawing, the invention will be further described:
Referring to Fig. 1, sends cache controller and specifically include that transmission buffer area, write-in control logic, read control logic three A part.It wherein sends buffer area and sends data for caching, include N number of piecemeal, each piecemeal can store a partial data It wraps, it should be comprising sending length and transmission rate information in data packet.Control logic is written to be used to receiving M port into data write-in N number of transmission buffer area piecemeal.Control logic is read for reading data from the piecemeal of N number of transmission buffer area.
It designs 5 global variables: port idle state Ks, port free time variable Kn, reception pointer variable R p, sending pointer Variable Tp, variable blocked Rn to be sent send buffer state for describing.
Port idle state Ks value range { 0,1 }, for describing whether currently transmitted caching is sending data.Initially Change or reading control logic runs through a data packet and sets 1 state, otherwise reads control logic starting one data packet of reading and set 0 shape State.
Port free time variable Kn value range [0, Knm], for describing when sending caching idle state time, Knm is indicated Maximum value.Port free time variable Kn more new technological process such as Fig. 2.
Reception pointer variable R p value range [0, N-1], the buffer area piecemeal position for describing currently to prepare reception data It sets.Initialization or Kn==Knm-1 moment, Rp setting 0;Otherwise whenever receiving effective data packets, Rp adds 1 by mould of N.
It sends pointer variable Tp value range [0, N-1], the buffer area piecemeal position for describing currently to be ready for sending data It sets, initialization or Kn==Knm-1 moment, Tp setting 0;Otherwise whenever having sent a data packet, then Tp adds 1 by mould of N.
Variable blocked Rn value range [0, N+1] to be sent, for describing there is Rn piecemeal to need to send out in current buffer It send, initialization or Kn==Knm-1 moment, Rn setting 0;Otherwise buffer area then Rn+1 is reached when certain moment only has data;It is no Then then Rn-1 is distributed from buffer area when certain moment only has data.
It is as follows that control logic design is written, determines input port quantity M as needed, it is desirable that M < N.Whenever there is a port It is effective to receive data packet, then according to current reception pointer variable R p, writes the data packet the Rp buffer area piecemeal.
It is as follows to send Buffer Design, sending buffer area includes N number of piecemeal.Each piecemeal is by a simple dual port RAM group At one of port is written for data, another port is read for data.
It is as follows to read control logic design, setting data packet sends spacing parameter Kni, Kni value range (0, Knm-2). If Rn > 0&&Kn > Kni&&Ks==1, is first distinguished from buffering and read data packet length and transmission rate information in block Tp, and According to data packet length and transmission rate information, complete data packet is read, output port is sent to.
The features of the present invention:
With M data flow input port and a data flow output port.Wherein sending buffer area has N number of piecemeal, N number of transmission data packet can be stored.
Data, which are sent, to be needed to be sent according to port idle state log-on data, and caching output number can be sent according to parameter setting Interval is sent according to packet.
It can be controlled according to data pack protocol and send caching output data packet transmission length and transmission rate, realize transmitting terminal speed Rate control.

Claims (1)

1. a kind of transmission cache controller design method of multiple input single output, it is characterised in that steps are as follows:
Step 1: sending cache controller includes sending buffer area, write-in control logic, reading three parts of control logic;Wherein It sends buffer area and sends data for caching, include N number of piecemeal, each piecemeal can store a complete data packet, in data packet It should be comprising sending length and transmission rate information;Control logic is written and is used to receive M port the N number of transmission buffering of data write-in Distinguish block;Control logic is read for reading data from the piecemeal of N number of transmission buffer area;
Step 2: 5 global variables of design: port idle state Ks, port free time variable Kn, reception pointer variable R p, transmission refer to Needle variable Tp, variable blocked Rn to be sent send buffer state for describing;
Port idle state Ks value range { 0,1 }, for describing whether currently transmitted caching is sending data;Initialization or Person's reading control logic runs through a data packet and sets 1 state, otherwise reads control logic starting one data packet of reading and sets 0 state;
Port free time variable Kn value range [0, Knm], for describing when sending caching idle state time, Knm indicates maximum Value;
Reception pointer variable R p value range [0, N-1], the buffer area piecemeal position for describing currently to prepare reception data;Just Beginningization or Kn==Knm-1 moment, Rp setting 0;Otherwise whenever receiving effective data packets, Rp adds 1 by mould of N;
It sends pointer variable Tp value range [0, N-1], the buffer area piecemeal position for describing currently to be ready for sending data, just Beginningization or Kn==Knm-1 moment, Tp setting 0;Otherwise whenever having sent a data packet, then Tp adds 1 by mould of N;
Variable blocked Rn value range [0, N+1] to be sent, for describing there is Rn piecemeal to need to send in current buffer, just Beginningization or Kn==Knm-1 moment, Rn setting 0;Otherwise buffer area then Rn+1 is reached when certain moment only has data;Otherwise when certain Moment only has data and distributes then Rn-1 from buffer area;
Step 3: write-in control logic design is as follows, determines input port quantity M as needed, it is desirable that M < N;Whenever there is an end It is effective that mouth receives data packet, then according to current reception pointer variable R p, writes the data packet the Rp buffer area piecemeal;
Step 4: transmission Buffer Design is as follows, and sending buffer area includes N number of piecemeal;Each piecemeal is made of a dual port RAM, One of port is written for data, another port is read for data;
Step 5: reading control logic and design as follows, setting data packet transmission spacing parameter Kni, Kni value range (0, Knm- 2);If Rn > 0&&Kn > Kni&&Ks==1, is first distinguished from buffering and read data packet length and transmission rate letter in block Tp Breath, and according to data packet length and transmission rate information, complete data packet is read, output port is sent to.
CN201910446393.1A 2019-05-27 2019-05-27 Design method of multi-input single-output transmission cache controller Active CN110134630B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910446393.1A CN110134630B (en) 2019-05-27 2019-05-27 Design method of multi-input single-output transmission cache controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910446393.1A CN110134630B (en) 2019-05-27 2019-05-27 Design method of multi-input single-output transmission cache controller

Publications (2)

Publication Number Publication Date
CN110134630A true CN110134630A (en) 2019-08-16
CN110134630B CN110134630B (en) 2023-02-10

Family

ID=67581969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910446393.1A Active CN110134630B (en) 2019-05-27 2019-05-27 Design method of multi-input single-output transmission cache controller

Country Status (1)

Country Link
CN (1) CN110134630B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953683A (en) * 2021-03-04 2021-06-11 西安电子工程研究所 Adaptive rate SRIO interface data transmission method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474568A (en) * 2002-08-06 2004-02-11 华为技术有限公司 Direct internal storage access system and method of multiple path data
CN1783030A (en) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN1798087A (en) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 Method of shaping network flow in use for multiple inputs and single output, and of distributing bandwidth
CN104778025A (en) * 2015-04-16 2015-07-15 浪潮电子信息产业股份有限公司 First in first out storer circuit structure based on random access memory (RAM)
CN105718401A (en) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 Multiplexing method and system for converting multi-path SMII signal to one-path MII signal
WO2017088456A1 (en) * 2015-11-24 2017-06-01 中国科学院计算技术研究所 Pipeline data synchronization apparatus and method for multi-input multi-output processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474568A (en) * 2002-08-06 2004-02-11 华为技术有限公司 Direct internal storage access system and method of multiple path data
CN1783030A (en) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN1798087A (en) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 Method of shaping network flow in use for multiple inputs and single output, and of distributing bandwidth
CN105718401A (en) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 Multiplexing method and system for converting multi-path SMII signal to one-path MII signal
CN104778025A (en) * 2015-04-16 2015-07-15 浪潮电子信息产业股份有限公司 First in first out storer circuit structure based on random access memory (RAM)
WO2017088456A1 (en) * 2015-11-24 2017-06-01 中国科学院计算技术研究所 Pipeline data synchronization apparatus and method for multi-input multi-output processor

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
党俊博等: "基于FPGA的串口通信电路设计与实现", 《电子科技》 *
段小虎等: "多通道高速串行接口控制器设计", 《信息通信》 *
王玮等: "基于FPGA高速实时数据传输系统设计方案", 《微计算机信息》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953683A (en) * 2021-03-04 2021-06-11 西安电子工程研究所 Adaptive rate SRIO interface data transmission method
CN112953683B (en) * 2021-03-04 2022-12-06 西安电子工程研究所 Adaptive rate SRIO interface data transmission method

Also Published As

Publication number Publication date
CN110134630B (en) 2023-02-10

Similar Documents

Publication Publication Date Title
JP2004521426A (en) First-in / first-out buffer capable of reading and / or writing a selectable number of data words in each bus cycle
CN110134630A (en) A kind of transmission cache controller design method of multiple input single output
CN201667699U (en) Digital video information monitoring device
WO2009000794A1 (en) Data modification module in a microcontroller
CN107656886A (en) A kind of cross clock domain signal processing circuit and its processing method
CN112948295A (en) FPGA and DDR high-speed data packet transmission system and method based on AXI4 bus
CN105786741B (en) SOC high-speed low-power-consumption bus and conversion method
CN112948322B (en) Virtual channel based on elastic cache and implementation method
CN106970842A (en) A kind of dynamic reconfigurable real time signal processing load balance system
CN116506106B (en) Configurable key SM4 encryption and decryption system based on FPGA
US8260994B2 (en) Interface for prototyping integrated systems
CN207586101U (en) A kind of cytoanalyze that can synchronize storage multiplex pulse data
CN105676689A (en) Collected data cyclic storage and distribution method in real-time software receiver
JPS60178738A (en) High-speed burst signal monitor device
CN110120922B (en) FPGA-based data interaction network management system and method
RU95104887A (en) Video memory and method for serial data output
CN108667706A (en) The adjustable Ethernet serial server of serial ports quantity dynamic and its data transmission method
Xiaowei et al. Acquisition board design of high-speed image data based on ARM and FPGA
WO1998040819B1 (en) Elastic bus interface data buffer
CN1295901C (en) Multichannel serial on line units and method
KR0153923B1 (en) An apparatus and method of interfacing between atm layer devices having the atm layer device and additive header
CN117998220A (en) Image data transmission device, method and camera
CN114826821A (en) Communication method and system
CN116431539A (en) FDMA-based DDR memory read-write design
KR100462478B1 (en) Apparatus of transmitting and receiving variable length packet, and method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant