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 PDFInfo
- 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
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling 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
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.
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)
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)
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 |
-
2019
- 2019-05-27 CN CN201910446393.1A patent/CN110134630B/en active Active
Patent Citations (6)
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)
Title |
---|
党俊博等: "基于FPGA的串口通信电路设计与实现", 《电子科技》 * |
段小虎等: "多通道高速串行接口控制器设计", 《信息通信》 * |
王玮等: "基于FPGA高速实时数据传输系统设计方案", 《微计算机信息》 * |
Cited By (2)
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 |