CN105553615A - Pipelined multi-user data flow receiving device and method based on FPGA (Field Programmable Gate Array) - Google Patents

Pipelined multi-user data flow receiving device and method based on FPGA (Field Programmable Gate Array) Download PDF

Info

Publication number
CN105553615A
CN105553615A CN201510938944.8A CN201510938944A CN105553615A CN 105553615 A CN105553615 A CN 105553615A CN 201510938944 A CN201510938944 A CN 201510938944A CN 105553615 A CN105553615 A CN 105553615A
Authority
CN
China
Prior art keywords
user
frame
data
module
functional block
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
CN201510938944.8A
Other languages
Chinese (zh)
Other versions
CN105553615B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201510938944.8A priority Critical patent/CN105553615B/en
Publication of CN105553615A publication Critical patent/CN105553615A/en
Application granted granted Critical
Publication of CN105553615B publication Critical patent/CN105553615B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Cardiology (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a pipelined multi-user data flow receiving device based on an FPGA (Field Programmable Gate Array) and a use method thereof. The invention mainly relates to the technical field of communication, in particular to a multi-user data flow receiving and processing scheme under a wireless local area network environment. According to the device and the method disclosed by the invention, a pipelined multi-user data flow receiver device based on the FPGA is adopted, and a method of employing a pipelined manner to solve the problem of processing multi-user data with one set of receiver is provided; and meanwhile, that different types of 802.11 MAC (Media Access Control) frames are simultaneously received and processed with the set of receiver is solved via a reservation manner, that the MAC frames of multiple users are received and processed with the set of receiver is realized, and the problem of simultaneously receiving and processing multiple-user data flow in the next generation of wireless local area network protocol is solved. And therefore, the user capacity and the data throughput of a system are improved.

Description

Based on pipeline-type multi-user data flow receiving device and the method for FPGA
Technical field
The present invention relates to communication technical field, the especially reception process of multi-user data stream under radio local network environment.
Background technology
Nowadays, the WLAN (wireless local area network) based on 802.11 agreements has permeated the every nook and cranny in our life, in family, office space, public arena for we providing wireless network connected mode.In five generations wlan standard (801.11,802.11b, 802.11a/g, 802.11n, 802.11ac) of developing from 1997 and popularize, every generation is all significantly promoting network rate.But under the intensive scheduling scenario of multi-access point multi-client, existing WLAN agreement can not be used directly because MAC efficiency is too low.Next generation wlan standard 802.11ax will significantly promote the protocol efficiency of MAC layer and effective user data throughput, in order to reach this purpose, by introducing new physical layer, MAC layer technology, as OFDMA, uplink/downlinkMU-MIMO (MultipleuserMIMO), channel aggregation (channelbonding) etc.The present invention will receive the aggregate frame of multiple users that physical layer receives up at one time and resolve in pipelined fashion, solve in protocol of wireless local area network of future generation the problem receiving simultaneously and process multi-user data stream, avoid the consumption of the great amount of hardware resources caused when adopting many cover receivers to receive each user respectively simultaneously.
Summary of the invention
In order to overcome the deficiencies in the prior art, the invention provides a kind of pipeline-type multi-user data flow receiving device based on FPGA, solve in protocol of wireless local area network of future generation the problem receiving simultaneously and process multi-user data stream, thus the user capacity of elevator system and data throughput.
Pipeline-type multi-user data flow receiving device based on FPGA of the present invention mainly comprises scheduler module 1 and frame processing module 2.
Described scheduler module 1 comprises user's frame processing state machine module 1.1, frame process makes energy control module 1.2 and reservation table module 1.3.Wherein, user's frame processing state machine module 1.1 represents at a time user is just in which functional block deal with data; Frame process makes energy control module 1.2 export the enable signal of each user to each functional block, request is processed when some flowing water functional blocks make energy control module have received multiple user simultaneously, state machine under this module according to user ID according to order poll process from small to large, will export user's enable signal of this module controls down-flow water functional block successively; Reservation table module 1.3 is for the redirect order of control frame processing state machine.
Described frame processing module 2 comprises track process modules 2.1 and parallel processing module 2.2.Wherein, track process modules 2.1 is for the process of frame preliminary treatment and frame head, postamble, comprise 7 grades of stream treatment functional block 2.1.1 ~ 2.1.7 altogether, the processing time of stream treatment functional block 2.1.1 ~ 2.1.7 is equal, be two clock cycle, stream treatment functional block 2.1.1, the data in two cycles of 2.1.2,2.1.4,2.1.5 process, the data of stream treatment functional block 2.1.6,2.1.7 process one-period, stream treatment functional block 2.1.3 determines process one-period or the data in two cycles according to concrete frame type; Parallel processing module 2.2 comprises Frame frame processing module 2.2.1, management frames frame processing module 2.2.2, control frame frame processing module 2.2.3 and cyclic redundancy check (CRC) (CyclicRedundancyCheck) processing module 2.2.4, and the clock cycle of each parallel processing functional block process is determined according to frame length.
The present invention also provides the using method of the pipeline-type multi-user data flow receiving device based on FPGA, and concrete grammar step is as follows:
Step 1: scheduler module 1 detects in the buffer memory of each user whether have data, if multiple user has data, the frame processing state machine of so each user jumps to functional block 2.1.1 treatment state, now, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process simultaneously, when frame process make energy control module 1.2 receive simultaneously multiple user ask time, can according to user ID according to order from small to large successively to functional block 2.2.1 send each user data receiver and process enable, if only have a user to have data, then frame process makes energy control module 1.2 couples of functional block 2.1.1 only send the reception of this user data and process enable, the preliminary treatment of frame is carried out after each user data entered function block 2.1.1, i.e. parse for frame blank character Delimiter, if it is correct for being resolved to Delimiter, namely before Delimiter, the CRC8 check results of 16bit data is equal with the data in crc field in Delimiter and the characteristic signature field received is correct, from Delimiter field, then extract the frame length Length information characterizing and need 802.11 frames receiving and process, arranging reservation table is designated effectively, and jump to step 2, otherwise continue the operation of step 1,
Step 2: each user enters and waits for a complete frame arrival state, and according to the frame length information obtained in step 1, whether the data detecting respective buffer memory arrive the length of a frame, if buffer area has deposited enough frames, have jumped to step 3, otherwise proceed the operation of step 2;
Step 3: if multiple user enough complete frame data of buffer memory simultaneously, the frame processing state machine of each user jumps to functional block 2.1.2 treatment state, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle to functional block 2.1.2 send data receiver and process enable, module 1.2 carries out the extraction of frame type field and network configuration vector NAV (NetworkAllocationVector) value after receiving the data in the 1st cycle, and by the 2nd data that the cycle receives compared with 32bit data before local address register in receiving terminal, if receive data not mate with 32bit before local address, arrange reservation table be designated invalid, step 4 is jumped to after having processed,
Step 4: the frame processing state machine of each user jumps to reservation table module 1.3 treatment state, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module will according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle to module 1.3 send data receiver and process enable, each user enters module 1.3 successively, the reservation table corresponding to each user is comprised in module 1.3, which record often kind of 802.11 frames in this table will enter function blocks and receive deal with data and receive in these functional blocks and time of deal with data, the frame length that each user parses according to step 1 and the frame type information that step 3 parses, in the mode of look-up table, the resume module status register S1 of each user and reception process time register S2 is configured, wherein, resume module status register S1 totally 8, each is corresponding function block 2.1.3 ~ 2.1.7 and functional block 2.2.1 ~ 2.2.3 respectively, represent when a certain position of S1 is 1 and need to enter this corresponding functional block deal with data, represent when being 0 and skip this corresponding functional block, receive the in store functional block 2.1.3 of process time register S2, functional block 2.2.1, the clock cycle of data and the clock cycle information of deal with data is received in functional block 2.2.2 and functional block 2.2.3,
Step 5: the frame processing state machine of each user jumps to functional block 2.1.3 treatment state according to the value of register S1, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module will according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle process the data of each user successively, because the reception data enable periodicity of functional block 2.1.3 is uncertain, each user needs the information according to receiving in respective corresponding reservation table in process time register S2, the reception data enable of output function block 2.1.3 and deal with data enable signal successively, functional block 2.1.3 is after the data receiving the 1st cycle, the rear 16bit data receiving local address register in front 16bit and receiving terminal are compared, if both are unequal, arrange reservation table module 1.3 be designated invalid, if receive data enable signal to maintain 2 periodicities, so rear 48bit data of buffer memory reception, and add 8bit user ID information before the data, otherwise the not follow-up data of this resume module of buffer memory, step 6 is jumped to after completing,
Step 6: the frame processing state machine of each user enters the state of each self-corresponding next processed frame according to the information of register S1, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, if current processing status belongs to pipeline function block 2.1, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive then according to ID sequential processes from small to large simultaneously " principle export reception data enable and the deal with data enable signal of corresponding functional block, and before the data obtained, add 8bit user ID information, if this module belongs to parallel processing functional block 2.2, frame process makes energy control module 1.2 by according to the information in register S2, the reception data enable of parallel output corresponding function block and deal with data enable signal, each user will process respective data simultaneously, when each user's control treatment module is enable, first check that reservation table identifies, if effectively, export FIFO (FirstInputFirstOutput) reads enable enable with resume module so simultaneously, if invalid, so only exporting FIFO reads enable, this step that circulates is until when needing processing module 2.1.7, jump to step 7,
Step 7: when the frame processing state machine of each user jumps to processing block 2.1.7, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive then according to ID sequential processes from small to large simultaneously " the reception data enable of principle output function block 2.1.7 and deal with data enable signal, each user is successively when functional block 2.1.7 deal with data, the relatively result of the real-time correction verification module 2.2.4 output of the CRC of frame check sequence FCS (framechecksequence) thresholding and this user, if unequal, feedback upper layer frame rub-out signal, the user of this module that is disposed continues to return execution step 1 and operates.
Beneficial effect of the present invention is owing to have employed a kind of pipeline-type multi-user data stream receiver apparatus based on FPGA, and provide the method adopting pipeline system to solve a set of receiver process multi-user data, solve a set of receiver by appointment mode simultaneously and receive the dissimilar 802.11MAC frame of process simultaneously, achieve and utilize a set of receiver to receive and process the mac frame of multiple user.
Accompanying drawing explanation
Fig. 1 is scheme Design the general frame of the present invention.
Fig. 2 is the composition frame chart of scheduler module of the present invention.
Fig. 3 is that each frame processing module user of the present invention makes energy control module composition frame chart.
Fig. 4 is the present invention two users when simultaneously processing RTS frame, needs the time sequencing figure entering each data processing function block.
Fig. 5 is the present invention two users when simultaneously processing dissimilar data, needs the time sequencing figure entering each data processing function block.
Wherein, FIFO is First Input First Output (FirstInputFirstOutput), CRC is cyclic redundancy check (CRC) (CyclicRedundancyCheck), FCS is for comparing frame check sequence (framechecksequence), FC is that frame controls (FrameControl), RA is receiver address (ReceiveAddress), TA is for sending address (TransmitAddress), for the purpose of DA address (DestinationAddress), SA is source address (SourceAddress), QoSC is that service quality controls (QualityofServiceControl), HTC is that high-throughput controls (HighThroughputControl), FB is frame (FrameBody).
Embodiment
Below in conjunction with drawings and Examples, the present invention is further described.
Pipeline-type multi-user data flow receiving device based on FPGA of the present invention mainly comprises scheduler module 1 and frame processing module 2.
Described scheduler module 1 comprises user's frame processing state machine module 1.1, frame process makes energy control module 1.2 and reservation table module 1.3.Wherein, user's frame processing state machine module 1.1 represents at a time user is just in which functional block deal with data; Frame process makes energy control module 1.2 export the enable signal of each user to each functional block, request is processed when some flowing water functional blocks make energy control module have received multiple user simultaneously, state machine under this module according to user ID according to order poll process from small to large, will export user's enable signal of this module controls down-flow water functional block successively; Reservation table module 1.3 is for the redirect order of control frame processing state machine.
Described frame processing module 2 comprises track process modules 2.1 and parallel processing module 2.2.Wherein, track process modules 2.1 is for the process of frame preliminary treatment and frame head, postamble, comprise 7 grades of stream treatment functional block 2.1.1 ~ 2.1.7 altogether, the processing time of stream treatment functional block 2.1.1 ~ 2.1.7 is equal, be two clock cycle, stream treatment functional block 2.1.1, the data in two cycles of 2.1.2,2.1.4,2.1.5 process, the data of stream treatment functional block 2.1.6,2.1.7 process one-period, stream treatment functional block 2.1.3 determines process one-period or the data in two cycles according to concrete frame type; Parallel processing module 2.2 comprises Frame frame processing module 2.2.1, management frames frame processing module 2.2.2, control frame frame processing module 2.2.3 and cyclic redundancy check (CRC) (CyclicRedundancyCheck) processing module 2.2.4, and the clock cycle of each parallel processing functional block process is determined according to frame length.
Scheduler module 1 mainly completes the multiple user of scheduling to the enable order of each frame processing module 2, and frame processing module 2 mainly completes the concrete process of frame.
Embodiment one:
Suppose that receiver receives the aggregate frame of two users, each aggregate frame has only been polymerized one and has been sent request RTS (RequestToSend) frame, and these two user data have been buffered in respective First Input First Output FIFO (FirstInputFirstOutput).
Step 1, scheduler module detect in two user caches have data, then the frame processing state machine of two users jumps to functional block 2.1.1 treatment state, at this moment, each user's frame processing state machine makes energy control module send request to frame process simultaneously, frame process make energy control module set high the reception data enable of user 1 according to user ID according to the first convection current of order from small to large water function block 2.1.1 and deal with data enable, then set high the reception data enable of user 2 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.1 and are done data processing, as shown in (1) in Fig. 4 by each user respectively successively.First the CRC8 check results of 16bit data front in Delimiter is compared with the crc field in Delimiter in processing procedure, if both are equal and signature field is effective time, obtain the RTS frame length information of two users respectively, reservation table is finally set and is designated effectively;
The frame processing state machine of step 2, two users jumps to waits for a complete frame arrival state, and the data message represented due to FIFO counter is equal with obtaining frame length information in step one, so jump to step 3;
The frame processing state machine rate of step 3, user 1 is introduced into process flowing water functional block 2.1.2 state, and the state machine of user 2 enters process flowing water functional block 2.1.2 state subsequently.At this moment first the frame processing state machine of user 1 initiates request frame process being made to energy control module, frame process make energy control module take the lead in convection current water function block 2.1.2 set high the reception data enable of user 1 and deal with data enable, subsequently convection current water function block 2.1.2 set high the reception data enable of user 2 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.2 and are done data processing, as shown in (2) in Fig. 4 by each user respectively successively.After each user of process first cycle data obtains frame type and NAV information, before the information obtained, add the user ID of 8bit.After the second period data receiving each user respectively compared with 32bit data before in respective receiving terminal local address register, if unequal, arrange reservation table be designated invalid;
The frame processing state machine of step 4, two users successively jumps to module 1.3 treatment state respectively.At this moment, frame process makes energy control module first set high 3 cycles to the configuration of module 1.3 user 1 reservation table is enable, and then sets high 3 cycles to the configuration of module 1.3 user 2 reservation table is enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 1.3 and are done data processing, as shown in (3) in Fig. 4 by each user respectively successively.The frame length that module 1.3 can parse in step 1 and step 2 according to each user and frame type information by the mode of look-up table to the resume module status register S1 of relative users and receive process time register S2 and be configured, the configuration result obtaining the register S1 of two users is respectively 10001000, and reception data cycle and the deal with data cycle of the functional block 2.1.3 in register S2 are all configured to 2;
The frame processing state machine of step 5, two users successively jumps to module 2.1.3 treatment state respectively according to the value of each self-corresponding register S1 respectively.At this moment, frame process makes energy control module respectively according to the register S2 information of two users, first 2 cycles user 1 setting high respectively to module 2.1.3 receive data enables and deal with data enable, subsequently convection current water function block 2.1.3 set high the reception data enable of 2 of user 2 respectively and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.3 and are done data processing, as shown in (4) in Fig. 4 by each user respectively successively.Functional block 2.1.3 compares the rear 16bit data of 16bit and receiving terminal local address register before receiving after the data receiving the 1st cycle, if unequal, arrange reservation table be designated invalid.If reservation table is effective, then the rear 48bit data of buffer memory reception, and add 8bit user ID information before the data, jump to step 6 after completing;
The frame processing state machine of step 6, two users enters module 2.1.7 treatment state according to the value of register S1, jumps to step 7;
When the frame processing state machine of step 7, user jumps to process 2.1.7 state, the frame processing state machine rate of user 1 is introduced into process flowing water functional block 2.1.7 state, and the state machine of user 2 enters process flowing water functional block 2.1.7 state subsequently.At this moment, the frame processing state machine of user 1 and user 2 successively initiates request frame process being made to energy control module, frame process make energy control module take the lead in convection current water function block 2.1.7 set high the reception data enable of user 1 and deal with data enable, subsequently convection current water function block 2.1.7 set high the reception data enable of user 2 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.7 and are done data processing, as shown in (5) in Fig. 4 by each user respectively successively.Two users, successively when functional block 2.1.7 deal with data, compare the real-time correction verification module result of CRC of FCS thresholding and this user, if unequal, feedback upper layer frame rub-out signal, the user of this module that is disposed continues to return execution step 1 and operates.
Embodiment two:
Suppose that receiver receives the data of two users, the aggregate frame that user 1 receives comprises a data DATA frame, and valid data length is wherein 12 clock cycle; The aggregate frame that user 2 receives comprises a block and confirms BA (BlockAcknowledgment) frame.The frame length that the frame that user 1 will receive will receive than user 2 many, and the data of user 1 first arrive than the data transfer rate of user 2.
Step 1, scheduler module detect in two user caches have data, then the frame processing state machine of two users jumps to functional block 2.1.1 treatment state.At this moment, each user's frame processing state machine makes energy control module send request to frame process simultaneously, frame process make energy control module set high the reception data enable of user 1 according to user ID according to the first convection current of order from small to large water function block 2.1.1 and deal with data enable, then set high the reception data enable of user 2 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.1 and are done data processing, as shown in (1) in Fig. 5 by each user respectively successively.First the CRC8 check results of 16bit data before in Delimiter is compared with crc field in processing procedure, if both are equal and signature field is effective time, obtain the frame length information of two users respectively, reservation table be finally set and be designated effectively;
The frame processing state machine of step 2, two users jumps to waits for a complete frame arrival state, and along with receiver constantly receives data, the FIFO Counter Value of two users constantly increases.The frame length that the frame length that will arrive due to user 2 will arrive relative to user 1 is short, so first first the FIFO of user 2 is cached to the data length obtained in step one, jump to step 3, after a period of time, user 1 just jumps to step 3;
The frame processing state machine rate of step 3, user 2 is introduced into process flowing water functional block 2.1.2 state, and the state machine of user 1 enters process flowing water functional block 2.1.2 state subsequently.So first the frame processing state machine of user 2 initiates request frame process being made to energy control module, notification frame process make energy control module take the lead in convection current water function block 2.1.2 set high the reception data enable of user 2 and deal with data enable.Subsequently, frame process make energy control module set high the reception data enable of user 1 according to the frame processing state machine request convection current water function block 2.1.2 of user 1 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.2 and are done data processing, as shown in (2) in Fig. 5 by each user respectively successively.Process after first cycle data obtain frame type and NAV information each user, before the information obtained, add the user ID of 8bit.Mate compared with 32bit data before receiving terminal local address register respectively after each user receives second period data correct.
Step 4, user 2 successively jump to module 1.3 treatment state respectively with the frame processing state machine of user 1, it is enable that this time frame process makes energy control module first set high 3 cycle user 2 reservation table configurations to module 1.3, and then it is enable to set high 3 cycle user 1 reservation table configurations to module 1.3.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 1.3 and are done data processing, as shown in (3) in Fig. 5 by each user respectively successively.Module 1.3 can according to the frame length parsed in step 1 and step 2 before two users and frame type information to respective resume module status register S1 with receive process time register S2 and be configured.It is 10001100 that user 2 configures its register S1 value by look-up table, and the reception data cycle of the functional block 2.1.3 in register S2 and deal with data cycle are all configured to reception data cycle of 2,2.2.1 and the deal with data cycle is all configured to 3.It is 11111001 that user 1 configures its register S1 value by look-up table, and the reception data cycle of the functional block 2.1.3 in register S2 and deal with data cycle are all configured to reception data cycle of 2,2.2.3 and the deal with data cycle is all configured to 12;
Step 5, user 2 successively jump to module 2.1.3 treatment state with the frame processing state machine of user 1 respectively according to the value of register S1.At this moment, frame process makes energy control module according to the register S2 information of two users, first 2 cycles user 2 setting high respectively to module 2.1.3 receive data enables and deal with data enable, subsequently convection current water function block 2.1.3 set high the reception data enable of 2 of user 1 respectively and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.3 and are done data processing, as shown in (4) in Fig. 5 by each user respectively successively.Functional block 2.1.3 is equal after comparing with the rear 16bit data in receiving terminal local address register to 16bit before reception after the data receiving the 1st cycle, receive and deposit follow-up 48bit, and before the information obtained, add the user ID of 8bit, jump to step 6 after completing;
The frame processing state machine of step 6, user 2 enters process 2.2.1 state according to the value of this user register S1, data are sent into parallel function block 2.2.1 and are done data processing by user 2 afterwards, and set high 3 clock cycle enable reception and process carrying out control frame frame of this module respectively according to the information of this user register S2, as shown in (5-1) in Fig. 5.The frame processing state machine of user 1 enters process 2.1.4 state, process 2.1.5 state, process 2.1.6 state subsequently successively according to the information of its register S1, the enable user 1 setting high module output corresponding function block of frame process receives and deal with data enable signal carries out data processing, as shown in (5-2) in Fig. 5, and before the data obtained, add the id information of 8bit user 1.Subsequently, the frame processing state machine of user 1 jumps to process 2.2.3 state according to the information in register S1, and the Frame frame processing module corresponding to this user according to the information in the register S2 of user 1 sets high the valid data of 12 cycles for receiving data frames, as shown in (5-3) in Fig. 5.When the frame processing state machine of two users jumps to processing module 2.1.7 state, jump to step 7;
The frame processing state machine rate of step 7, user 2 is introduced into process flowing water functional block 2.1.7 state, and the state machine of user 1 enters process flowing water functional block 2.1.7 state subsequently.At this moment, the frame processing state machine of user 2 and user 1 successively initiates request frame process being made to energy control module.Frame process make energy control module take the lead in convection current water function block 2.1.7 set high the reception data enable of user 2 and deal with data enable, subsequently convection current water function block 2.1.7 set high the reception data enable of user 1 and deal with data enable.Receive relative users that scheduler module sends enable after, data are sent into flowing water functional block 2.1.7 and are done data processing by each user successively, as shown in (6) in Fig. 5.Two users, successively when functional block 2.1.7 deal with data, compare the real-time correction verification module result of CRC of FCS thresholding and this user, if unequal, feedback upper layer frame rub-out signal, the user of this module that is disposed continues to return execution step 1 and operates.
In FIG, mainly comprise scheduler module, frame processing module and fifo module.Scheduler module is mainly used in dispatching each user according to receiving concrete frame type information reservation corresponding functional block, and according to frame structural order successively entered function block complete the receiving and processing of data, to solve the collision problem that multiple user enters same flow water function block at one time.In fig. 2, scheduler module mainly comprises user's processing state machine and each functional block and makes energy control module.In figure 3, figure (a) ~ (f) and figure (j) represents flowing water functional block and makes energy control module, the collision problem that the state machine in figure uses flowing water module to cause for solving multi-user simultaneously; Figure (g) ~ (i) represents parallel function block makes energy control module.Because the reception of flowing water functional block 3 and row functional block and treatment cycle are uncertain, so figure (c), figure (g) ~ (i) need extra input to receive and treatment cycle information.In the diagram, provide two users when processing RTS frame simultaneously, need the time sequencing figure entering each data processing function block.Give two users in embodiment 2 in Figure 5 and process dissimilar data simultaneously, namely user 1 processes DATA frame, during user 2 treatments B A frame, needs the time sequencing figure entering each data processing function block.
The foregoing is only several more typical embodiment of the present invention; not in order to limit the present invention; it should be pointed out that every any amendment done within the spirit and principles in the present invention, equivalent replacement and improvement etc., should all be included within protection scope of the present invention.

Claims (2)

1., based on a pipeline-type multi-user data flow receiving device of FPGA, comprise scheduler module 1 and frame processing module 2, it is characterized in that:
Described scheduler module 1 comprises user's frame processing state machine module 1.1, frame process makes energy control module 1.2 and reservation table module 1.3; Wherein, user's frame processing state machine module 1.1 represents at a time user is just in which functional block deal with data; Frame process makes energy control module 1.2 export the enable signal of each user to each functional block, request is processed when some flowing water functional blocks make energy control module have received multiple user simultaneously, state machine under this module according to user ID according to order poll process from small to large, will export user's enable signal of this module controls down-flow water functional block successively; Reservation table module 1.3 is for the redirect order of control frame processing state machine;
Described frame processing module 2 comprises track process modules 2.1 and parallel processing module 2.2; Wherein, track process modules 2.1 is for the process of frame preliminary treatment and frame head, postamble, comprise 7 grades of stream treatment functional block 2.1.1 ~ 2.1.7 altogether, the processing time of stream treatment functional block 2.1.1 ~ 2.1.7 is equal, be two clock cycle, stream treatment functional block 2.1.1, the data in two cycles of 2.1.2,2.1.4,2.1.5 process, the data of stream treatment functional block 2.1.6,2.1.7 process one-period, stream treatment functional block 2.1.3 determines process one-period or the data in two cycles according to concrete frame type; Parallel processing module 2.2 comprises Frame frame processing module 2.2.1, management frames frame processing module 2.2.2, control frame frame processing module 2.2.3 and cyclic redundancy check (CRC) (CyclicRedundancyCheck) processing module 2.2.4, and the clock cycle of each parallel processing functional block process is determined according to frame length.
2., according to claim 1 based on a using method for the pipeline-type multi-user data flow receiving device of FPGA, it is characterized in that comprising the steps:
Step 1: scheduler module 1 detects in the buffer memory of each user whether have data, if multiple user has data, the frame processing state machine of so each user jumps to functional block 2.1.1 treatment state, now, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process simultaneously, when frame process make energy control module 1.2 receive simultaneously multiple user ask time, can according to user ID according to order from small to large successively to functional block 2.2.1 send each user data receiver and process enable, if only have a user to have data, then frame process makes energy control module 1.2 couples of functional block 2.1.1 only send the reception of this user data and process enable, the preliminary treatment of frame is carried out after each user data entered function block 2.1.1, i.e. parse for frame blank character Delimiter, if it is correct for being resolved to Delimiter, namely before Delimiter, the CRC8 check results of 16bit data is equal with the data in crc field in Delimiter and the characteristic signature field received is correct, from Delimiter field, then extract the frame length Length information characterizing and need 802.11 frames receiving and process, arranging reservation table is designated effectively, and jump to step 2, otherwise continue the operation of step 1,
Step 2: each user enters and waits for a complete frame arrival state, and according to the frame length information obtained in step 1, whether the data detecting respective buffer memory arrive the length of a frame, if buffer area has deposited enough frames, have jumped to step 3, otherwise proceed the operation of step 2;
Step 3: if multiple user enough complete frame data of buffer memory simultaneously, the frame processing state machine of each user jumps to functional block 2.1.2 treatment state, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle to functional block 2.1.2 send data receiver and process enable, module 1.2 carries out the extraction of frame type field and network configuration vector NAV (NetworkAllocationVector) value after receiving the data in the 1st cycle, and by the 2nd data that the cycle receives compared with 32bit data before local address register in receiving terminal, if receive data not mate with 32bit before local address, arrange reservation table be designated invalid, step 4 is jumped to after having processed,
Step 4: the frame processing state machine of each user jumps to reservation table module 1.3 treatment state, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module will according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle to module 1.3 send data receiver and process enable, each user enters module 1.3 successively, the reservation table corresponding to each user is comprised in module 1.3, which record often kind of 802.11 frames in this table will enter function blocks and receive deal with data and receive in these functional blocks and time of deal with data, the frame length that each user parses according to step 1 and the frame type information that step 3 parses, in the mode of look-up table, the resume module status register S1 of each user and reception process time register S2 is configured, wherein, resume module status register S1 totally 8, each is corresponding function block 2.1.3 ~ 2.1.7 and functional block 2.2.1 ~ 2.2.3 respectively, represent when a certain position of S1 is 1 and need to enter this corresponding functional block deal with data, represent when being 0 and skip this corresponding functional block, receive the in store functional block 2.1.3 of process time register S2, functional block 2.2.1, the clock cycle of data and the clock cycle information of deal with data is received in functional block 2.2.2 and functional block 2.2.3,
Step 5: the frame processing state machine of each user jumps to functional block 2.1.3 treatment state according to the value of register S1, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module will according to " user arrives first and first processes, arrive, according to ID sequential processes from small to large simultaneously " principle process the data of each user successively, because the reception data enable periodicity of functional block 2.1.3 is uncertain, each user needs the information according to receiving in respective corresponding reservation table in process time register S2, the reception data enable of output function block 2.1.3 and deal with data enable signal successively, functional block 2.1.3 is after the data receiving the 1st cycle, the rear 16bit data receiving local address register in front 16bit and receiving terminal are compared, if both are unequal, arrange reservation table module 1.3 be designated invalid, if receive data enable signal to maintain 2 periodicities, so rear 48bit data of buffer memory reception, and add 8bit user ID information before the data, otherwise the not follow-up data of this resume module of buffer memory, step 6 is jumped to after completing,
Step 6: the frame processing state machine of each user enters the state of each self-corresponding next processed frame according to the information of register S1, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, if current processing status belongs to pipeline function block 2.1, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive then according to ID sequential processes from small to large simultaneously " principle export reception data enable and the deal with data enable signal of corresponding functional block, and before the data obtained, add 8bit user ID information, if this module belongs to parallel processing functional block 2.2, frame process makes energy control module 1.2 by according to the information in register S2, the reception data enable of parallel output corresponding function block and deal with data enable signal, each user will process respective data simultaneously, when each user's control treatment module is enable, first check that reservation table identifies, if effectively, export FIFO (FirstInputFirstOutput) reads enable enable with resume module so simultaneously, if invalid, so only exporting FIFO reads enable, this step that circulates is until when needing processing module 2.1.7, jump to step 7,
Step 7: when the frame processing state machine of each user jumps to processing block 2.1.7, the frame processing state machine of each user makes energy control module 1.2 send request signal to frame process, frame process makes energy control module 1.2 according to " user arrives first and first processes, arrive then according to ID sequential processes from small to large simultaneously " the reception data enable of principle output function block 2.1.7 and deal with data enable signal, each user is successively when functional block 2.1.7 deal with data, the relatively result of the real-time correction verification module 2.2.4 output of the CRC of frame check sequence FCS (framechecksequence) thresholding and this user, if unequal, feedback upper layer frame rub-out signal, the user of this module that is disposed continues to return execution step 1 and operates.
CN201510938944.8A 2015-12-15 2015-12-15 Pipeline-type multi-user data flow receiving device based on FPGA and method Expired - Fee Related CN105553615B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510938944.8A CN105553615B (en) 2015-12-15 2015-12-15 Pipeline-type multi-user data flow receiving device based on FPGA and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510938944.8A CN105553615B (en) 2015-12-15 2015-12-15 Pipeline-type multi-user data flow receiving device based on FPGA and method

Publications (2)

Publication Number Publication Date
CN105553615A true CN105553615A (en) 2016-05-04
CN105553615B CN105553615B (en) 2018-11-13

Family

ID=55832568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510938944.8A Expired - Fee Related CN105553615B (en) 2015-12-15 2015-12-15 Pipeline-type multi-user data flow receiving device based on FPGA and method

Country Status (1)

Country Link
CN (1) CN105553615B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106802133A (en) * 2016-11-02 2017-06-06 北京信息科技大学 Data processing method, data handling system and strain gauge means
CN109005009A (en) * 2018-07-24 2018-12-14 北京新宇航星科技有限公司 The processing method and system of data packet check errors
CN115086378A (en) * 2022-07-14 2022-09-20 广州市保伦电子有限公司 Intelligent Internet of things monitoring system and method based on cloud platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070047538A1 (en) * 2001-12-28 2007-03-01 Advanced Micro Devices, Inc. Wireless computer system with queue and scheduler
CN101420245A (en) * 2007-10-24 2009-04-29 中兴通讯股份有限公司 Scheduling method and device in TD-SCDMA baseband processing
CN103312577A (en) * 2012-03-09 2013-09-18 中兴通讯股份有限公司 Method and device for processing MAC data
CN103838552A (en) * 2014-03-18 2014-06-04 北京邮电大学 System and method for processing multi-core parallel assembly line signals of 4G broadband communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070047538A1 (en) * 2001-12-28 2007-03-01 Advanced Micro Devices, Inc. Wireless computer system with queue and scheduler
CN101420245A (en) * 2007-10-24 2009-04-29 中兴通讯股份有限公司 Scheduling method and device in TD-SCDMA baseband processing
CN103312577A (en) * 2012-03-09 2013-09-18 中兴通讯股份有限公司 Method and device for processing MAC data
CN103838552A (en) * 2014-03-18 2014-06-04 北京邮电大学 System and method for processing multi-core parallel assembly line signals of 4G broadband communication system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106802133A (en) * 2016-11-02 2017-06-06 北京信息科技大学 Data processing method, data handling system and strain gauge means
CN109005009A (en) * 2018-07-24 2018-12-14 北京新宇航星科技有限公司 The processing method and system of data packet check errors
CN109005009B (en) * 2018-07-24 2021-03-09 北京新宇航星科技有限公司 Processing method and system for data packet check error
CN115086378A (en) * 2022-07-14 2022-09-20 广州市保伦电子有限公司 Intelligent Internet of things monitoring system and method based on cloud platform
CN115086378B (en) * 2022-07-14 2022-11-15 广州市保伦电子有限公司 Intelligent Internet of things monitoring system and method based on cloud platform

Also Published As

Publication number Publication date
CN105553615B (en) 2018-11-13

Similar Documents

Publication Publication Date Title
WO2020238812A1 (en) Communication method applicable to multiple links, and related devices
US7489648B2 (en) Optimizing 802.11 power-save for VLAN
CN106559086B (en) Mobile terminal and wireless communications method
US8165154B2 (en) Systems and methods for reliable broadcast and multicast transmission over wireless local area network
US9730241B2 (en) Scheduling method and system, access point and station
US20130064161A1 (en) Group Addressing for Multicast Transmissions for Power Savings at Physical Layer
JP5814469B2 (en) Method, access point, network access device, and system for device to access network
CN108541047A (en) The indicating means and equipment of downlink service data
KR101527737B1 (en) Method for sending and receiving multimedia operation data, base station device and user device
JP2008507916A (en) System and method for improving power efficiency in a shared resource network
CN103190195A (en) Physical layer header with access point identifier
EP3231243A2 (en) Traffic advertisement in neighbor aware network (nan) data path
CN101657029A (en) Method and terminal for sending terminal polymerization media access control protocol data unit frames
WO2016094448A2 (en) Traffic advertisement in neighbor aware network (nan) data path
CN102984660A (en) A paging method and related devices for trucking communication
CN105553615A (en) Pipelined multi-user data flow receiving device and method based on FPGA (Field Programmable Gate Array)
US20200107263A1 (en) Low latency wireless protocol
US20140146734A1 (en) Systems and methods for power conservation in wireless networks
US20160094955A1 (en) Method and system for decoding mbsfn data
WO2016094449A2 (en) Traffic advertisement in neighbor aware network (nan) data path
CN103002550B (en) A kind of control station point carries out dormant method and website
CN109922537B (en) Wireless module and implementation method thereof
CN105722122A (en) Method and device for optimizing user plane time delay
WO2022142573A1 (en) Channel access method and apparatus
CN102883277A (en) Cooperative communication method based on reliable multicast MAC (Media Access Control) layer protocol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181113

Termination date: 20191215