Summary of the invention
The object of this invention is to provide GMP mapping device and method in a kind of OTN, in order to solve the problem of implementation of GMP in G.709 standard.
The invention provides GMP mapping device in a kind of OTN, comprise Cm, ∑ Cnd generator, first in first out (First Input First Output, FIFO, FIFO) controller and low pass filter,
Above-mentioned Cm, ∑ Cnd generator, for the waterline of above-mentioned fifo controller of sampling, the variation delta Cm of the client signal number Cm (x-1) that client signal number Cm (x) calculating the transmission of current service level signal frame transmits relative to upper service layer's signal frame, and calculate client signal number Cm (x) that current service level signal frame transmits and client signal number ∑ Cnd (x) do not transmitted accumulated, and client signal number ∑ Cnd (x) do not transmitted of client signal number Cm (x) transmitted by above-mentioned current service level signal frame and accumulation is mapped in the overhead byte of current service level signal frame,
Above-mentioned fifo controller, for exporting waterline for the sampling of above-mentioned Cm, ∑ Cnd generator;
Above-mentioned low pass filter, for above-mentioned Cm, the ∑ Cnd generator waterline obtained of sampling carries out filtering, and waterline value level (x) obtained is sent to above-mentioned Cm, ∑ Cnd generator.
Preferably, said apparatus also comprises FIFO cache module, count generator, Sigma/Delta rule module, CRC8, CRC5 generator,
Above-mentioned FIFO cache module, for when reading enable signal and being effective, by the client layer data-mapping of buffer memory in the payload of next service layer's signal frame;
Above-mentioned count generator, for client signal number Cm (x) transmitted according to current service level signal frame, what generate above-mentioned fifo controller reads enable signal RD;
Above-mentioned Sigma/Delta rule module, for client signal number Cm (x) transmitted according to current service level signal frame, what generate above-mentioned FIFO cache module reads enable signal RD_EN;
Above-mentioned CRC8, CRC5 generator, carry out check code for client signal number Cm (x) transmitted current service level signal frame and client signal number ∑ Cnd (x) do not transmitted of accumulation, and coding result is mapped in the overhead byte of current service level signal frame.
Preferably, above-mentioned low pass filter is for there being limit for length's unit impulse response (Finite ImpulseResponse, FIR) filter.
Preferably, above-mentioned Cm, ∑ Cnd generator, the waterline number k that client signal number Cm (x) transmitted for calculating current service level signal frame is corresponding when changing 1 unit, calculate current level line number adjustment amount g, the corresponding ratio of waterline number k and the size of 1 when judging that above-mentioned current level line number adjustment amount g and client signal number Cm (x) that above-mentioned current service level signal frame transmits change 1 unit.
Preferably, above-mentioned Sigma/Delta rule module, for calculating the data memory sum H of client signal number Cm (x) and local cache that current service level signal frame transmits, more above-mentioned H and service layer payload Pm, the size of server; And when H >=Pm, server, what make above-mentioned FIFO cache module reads enable signal RD_EN effectively, calculates H-Pm, the value C of server simultaneously, and the above-mentioned C of buffer memory; At H < Pm, during server, make above-mentioned FIFO cache module to read enable signal RD_EN invalid, and the above-mentioned H of buffer memory.
Preferably, above-mentioned Sigma/Delta rule module comprises first adder, second adder, comparison sub-module and cache sub-module,
Above-mentioned first adder, for calculating the data memory sum H of buffer memory in client signal number Cm (x) and above-mentioned cache sub-module that current service level signal frame transmits;
Above-mentioned second adder, for calculating the difference C of above-mentioned H and service layer net load value Pm, server;
Comparison sub-module, for more above-mentioned H and service layer net load value Pm, the size of server, and when H >=Pm, server, make above-mentioned FIFO cache module to read enable signal RD_EN effective, and the value of C is written in above-mentioned cache sub-module, at H < Pm, during server, make above-mentioned FIFO cache module to read enable signal RD_EN invalid, and the value of H is written in above-mentioned cache sub-module;
Above-mentioned cache sub-module, for the data of the above-mentioned comparison sub-module write of buffer memory.
Present invention also offers GMP mapping method in a kind of OTN, comprise the following steps:
At the waterline of the fixed position of current service level signal frame sampling fifo controller, and low-pass filtering is carried out to above-mentioned waterline, obtain waterline value level (x);
The variation delta Cm of the client signal number Cm (x-1) that client signal number Cm (x) calculating the transmission of current service level signal frame transmits relative to upper service layer's signal frame;
According to above-mentioned waterline value level (x) and above-mentioned variation delta Cm, calculate client signal number Cm (x) that above-mentioned current service level signal frame transmits and client signal number ∑ Cnd (x) do not transmitted accumulated, and client signal number ∑ Cnd (x) do not transmitted of client signal number Cm (x) transmitted by above-mentioned current service level signal frame and accumulation is mapped in the overhead byte of current service level signal frame.
Preferably, above-mentioned client signal number Cm (x) transmitted by current service level signal frame and client signal number ∑ Cnd (x) do not transmitted accumulated are mapped in the overhead byte of current service level signal frame further comprising the steps of after step:
Client signal number Cm (x) transmit above-mentioned current service level signal frame and ∑ Cnd (x) carry out check code, and are mapped to by coding result in the overhead byte of current service level signal frame;
According to client signal number Cm (x) that current service level signal frame transmits, generate fifo controller read enable signal RD and FIFO cache module read enable signal RD_EN;
Read enable signal RD_EN effective time, by client layer data-mapping in the payload of next service layer's signal frame.
Preferably, the variation delta Cm step of the client signal number Cm (x-1) that client signal number Cm (x) that above-mentioned calculating current service level signal frame transmits transmits relative to upper service layer's signal frame specifically comprises the following steps:
Calculate waterline number k corresponding when client signal number Cm (x) that current service level signal frame transmits changes 1 unit;
Calculate current level line number adjustment amount g;
The corresponding ratio of waterline number k and the size of 1 when judging that above-mentioned current level line number adjustment amount g and client signal number Cm (x) that above-mentioned current service level signal frame transmits change 1 unit, if g/k >=1, then Δ Cm=i, if g/k < 1, then Δ Cm=-1.
Preferably, waterline number k corresponding when client signal number Cm (x) that above-mentioned current service level signal frame transmits changes 1 unit is by following formulae discovery:
k=Digit/Width
Wherein, Digit represents the figure place that client signal number Cm (x) that current service level signal frame transmits is corresponding when changing 1 unit, and Width represents that the read/write address of fifo controller adds the figure place of the client layer data of 1 correspondence.
Preferably, above-mentioned current level line adjustment amount g is by following formulae discovery:
g=level(x)-Depth/2+level(x)-level(x-1)
Wherein, level (x) represents the waterline value under current service level signal frame, and Depth represents the depth value of FIFO cache module, and level (x-1) is the waterline value under upper service layer's signal frame.
Preferably, above-mentioned Cm (x) is by following formulae discovery:
Cm(x)=Cm(x-1)+ΔCm
Wherein, the client signal number that Cm (x-1) transmits for upper service layer's signal frame, Δ Cm represents the variable quantity of the client signal number Cm (x-1) that client signal number Cm (x) that current service level signal frame transmits transmits relative to upper service layer's signal frame.
Preferably, above-mentioned ∑ Cnd (x) is by following formulae discovery:
∑Cnd(x)=remainder((level(x)-Depth/2)/k)*Width
Wherein, remainder represents remainder number, level (x) represents the waterline value under current service level signal frame, Depth represents the depth value of FIFO cache module, k represents the waterline number that client signal number Cm (x) that current service level signal frame transmits is corresponding when changing 1 unit, and Width represents that the read/write address of fifo controller adds the figure place of the client layer data of 1 correspondence.
Preferably, above-mentioned client signal number Cm (x) transmitted according to current service level signal frame, the enable signal RD_EN step of reading generating FIFO cache module comprises the following steps:
Calculate client signal number Cm (x) of current service level signal frame transmission and the data memory sum H of buffer memory in Sigma/Delta rule module;
More above-mentioned H and service layer payload Pm, the size of server;
If H >=Pm, server, then what make FIFO cache module reads enable signal RD_EN effectively, calculates H-Pm, the value C of server, and buffer memory simultaneously;
If H < Pm, server, then make FIFO cache module to read enable signal RD_EN invalid, buffer memory H simultaneously.
Client signal number ∑ Cnd (x) do not transmitted of client signal number Cm (x) that the present invention adopts independent fifo controller and algorithm to transmit current service level signal frame and accumulation calculates, and greatly reduces the shake of the client signal number that service layer's signal frame transmits.
Embodiment
In order to make technical problem to be solved by this invention, technical scheme and beneficial effect clearly, understand, below in conjunction with drawings and Examples, the present invention is further elaborated.Should be appreciated that specific embodiment described herein only in order to explain the present invention, be not intended to limit the present invention.
As shown in Figure 1, be GMP mapping device theory diagram of the present invention, comprise Cm, ∑ Cnd generator 01, fifo controller 02, low pass filter 03, FIFO cache module 04, count generator 05, Sigma/Delta rule module 06, CRC8, CRC5 generator 07,
Cm, ∑ Cnd generator 01, for the waterline of fifo controller 02 of sampling, calculate waterline number k corresponding when client signal number Cm (x) that current service level signal frame transmits changes 1 unit, calculate current level line number adjustment amount g, the corresponding ratio of waterline number k and the size of 1 when judging that above-mentioned current level line number adjustment amount g and client signal number Cm (x) that above-mentioned current service level signal frame transmits change 1 unit, client signal number Cm (x) calculating the transmission of current service level signal frame goes up the variation delta Cm of the client signal number Cm (x-1) that service layer's signal frame transmits relatively, and according to above-mentioned variation delta Cm and waterline value level (x) received, calculate client signal number Cm (x) that current service level signal frame transmits and client signal number ∑ Cnd (x) do not transmitted accumulated, and above-mentioned client signal number Cm (x) of current service level signal frame transmission and client signal number ∑ Cnd (x) do not transmitted of accumulation are mapped in the overhead byte of current service level signal frame,
Fifo controller 02, samples for above-mentioned Cm, ∑ Cnd generator 01 for exporting waterline;
Low pass filter 03, for Cm, the ∑ Cnd generator waterline obtained of sampling carries out filtering, and waterline value level (x) obtained is sent to above-mentioned Cm, ∑ Cnd generator 01;
Low pass filter 03 in a particular embodiment, can be FIR filter.
FIFO cache module 04, for when reading enable signal RD_EN and being effective, by the client layer data-mapping of buffer memory in the payload of next service layer's signal frame;
Count generator 05, for client signal number Cm (x) transmitted according to current service level signal frame, what generate fifo controller 02 reads enable signal RD;
Sigma/Delta rule module 06, for calculating the data memory sum H of client signal number Cm (x) and local cache that current service level signal frame transmits, more above-mentioned H and service layer payload Pm, the size of server; And when H >=Pm, server, what make FIFO cache module 04 reads enable signal RD_EN effectively, calculates H-Pm, the value C of server, and buffer memory simultaneously; At H < Pm, during server, make FIFO cache module 04 to read enable signal RD_EN invalid, and buffer memory H;
CRC8, CRC5 generator 07, carry out check code for client signal number Cm (x) transmitted current service level signal frame and client signal number ∑ Cnd (x) do not transmitted of accumulation, and coding result is mapped in the overhead byte of current service level signal frame.
As shown in Figure 2, be the theory diagram of Sigma/Delta rule module in Fig. 1, comprise first adder 61, second adder 62, comparison sub-module 63 and cache sub-module 64,
First adder 61, for calculating the data memory sum H of buffer memory in client signal number Cm (x) and cache sub-module 64 that current service level signal frame transmits;
Second adder 62, for calculating above-mentioned H and service layer payload Pm, the difference C of server;
Comparison sub-module 63, for comparing H and service layer payload Pm, the size of server, and when H >=Pm, server, make above-mentioned FIFO cache module 04 to read enable signal RD_EN effective, and the value of C is written in cache sub-module 64, at H < Pm, during server, make above-mentioned FIFO cache module to read enable signal RD_EN invalid, and the value of H is written in cache sub-module 64;
Cache sub-module 64, for the data that buffer memory comparison sub-module 63 writes.
As shown in Figure 3, be GMP mapping method flow chart of the present invention, comprise the following steps:
Step S001:Cm, ∑ Cnd generator 01 at the waterline of the predeterminated position sampling fifo controller 02 of current service level signal frame, and sends to low pass filter 03;
The waterline of fifo controller 02 refers to the write pointer of fifo controller 02 and the difference of read pointer.
Because in each service layer signal frame, Cm (x) value is constant, so the waterline of fifo controller 02 of sampling at the predeterminated position of service layer's signal frame, such as postamble etc.
Step S002: low pass filter 03 carries out low-pass filtering to above-mentioned waterline, obtains waterline value level (x), returns to Cm, ∑ Cnd generator 01;
The variation delta Cm of the client signal number Cm (x-1) that client signal number Cm (x) that step S003:Cm, ∑ Cnd generator 01 calculates the transmission of current service level signal frame transmits relative to upper service layer's signal frame;
This step specifically comprises the following steps:
Step S0031: calculate waterline number k corresponding when client signal number Cm (x) that current service level signal frame transmits changes 1 unit;
This step is by following formulae discovery:
k=Digit/Width
Wherein, Digit represents the figure place that client signal number Cm (x) that current service level signal frame transmits is corresponding when changing 1 unit, and Width represents that the read/write address of fifo controller 02 adds the figure place of the client layer data of 1 correspondence.
Such as, if the figure place that Cm (x) changes 1 unit corresponding is 640bit, and the figure place that the read/write address of fifo controller 02 adds the client layer data of 1 correspondence is 128bit, then k=640/128=5.
Step S0032: calculate current level line number adjustment amount g;
This step is by following formulae discovery:
g=level(x)-Depth/2+level(x)-level(x-1)
Wherein, level (x) represents the waterline value of fifo controller 02 under current service level signal frame, Depth represents the depth value of FIFO cache module 04, and level (x-1) is the waterline value of fifo controller 02 under upper service layer's signal frame.
Such as, if level (x)=66, Depth=128, level (x-1)=66, then k=66-64+66-66=2.
Step S0033: the value judging g/k, if g/k >=1, then performs step S0034; If g/k < 1, then perform step S0035;
If g=2, k=5, then g/k=2/5 < 1, so Δ Cm=-1.
The variation delta Cm of step S0034: Δ Cm=1, the client signal number Cm (x-1) that client signal number Cm (x) that current service level signal frame transmits transmits relative to upper service layer's signal frame calculates and terminates;
The variation delta Cm of step S0035: Δ Cm=-1, the client signal number Cm (x-1) that client signal number Cm (x) that current service level signal frame transmits transmits relative to upper service layer's signal frame calculates and terminates.
Step S004: according to above-mentioned waterline value level (x) and above-mentioned variation delta Cm, calculates client signal number Cm (x) that current service level signal frame transmits and client signal number ∑ Cnd (x) do not transmitted accumulated;
In this step, by following formulae discovery Cm (x) and ∑ Cnd (x):
Cm(x)=Cm(x-1)+ΔCm
∑Cnd(x)=remainder((level(x)-Depth/2)/k)*Width
Wherein, remainder represents remainder number, Cm (x-1) represents the client signal number that upper service layer's signal frame transmits, level (x) represents the waterline value under current service level signal frame, Depth represents the depth value of FIFO cache module 04, k represents the waterline number that client signal number Cm (x) that current service level signal frame transmits is corresponding when changing 1 unit, and Width represents that the read/write address of fifo controller 02 adds the figure place of the client layer data of 1 correspondence.
Such as, if Cm (x-1)=188, Δ Cm=-1, level (x)=66, Depth=128bit, k=5, Width=128, then:
Cm(x)=Cm(x-1)+ΔCm=188-1=187
∑Cnd(x)=remainder((level(x)-Depth/2)/k)*Width
=remainder((66-128/2)/5)*128=256
Step S005: client signal number Cm (x) transmit above-mentioned current service level signal frame and client signal number ∑ Cnd (x) do not transmitted of accumulation are mapped in the overhead byte of current service level signal frame, client signal number Cm (x) simultaneously transmitted by current service level signal frame and client signal number ∑ Cnd (x) do not transmitted of accumulation send to CRC8, CRC5 generator 07, sends to count generator 05 and Sigma/Delta rule module 06 by client signal number Cm (x) that current service level signal frame transmits;
Step S006:CRC8, CRC5 generator 07 carries out check code to client signal number Cm (x) of current service level signal frame transmission received and client signal number ∑ Cnd (x) do not transmitted of accumulation, and is mapped to by coding result in the overhead byte of current service level signal frame;
Step S007: client signal number Cm (x) that count generator 05 transmits according to current service level signal frame, what generate fifo controller 02 reads enable signal RD;
In this step, client signal number Cm (x) that enable signal RD transmits according to current service level signal frame of reading of fifo controller 02 generates.
Client signal number Cm (x) that step S008:Sigma/Delta rule module 06 transmits according to current service level signal frame, generates FIFO cache module 04 and reads enable signal RD_EN at next service layer's signal frame;
Namely the enable signal RD_EN that reads of next service layer's signal frame of FIFO cache module 04 is that client signal number Cm (x) transmitted according to current service level signal frame calculates.
This step comprises step by step following:
Step S0081: first adder 61 calculates client signal number Cm (x) of current service level signal frame transmission and the data memory sum H of buffer memory in local cache submodule 64, and result of calculation H is sent to comparison sub-module 63; Namely
H=Cm(x)+memory
Step S0082: the size of the more above-mentioned H of comparison sub-module 63 and service layer net load value Pm, server, if H >=Pm, server, then performs step S0083; If H < is Pm, server, then perform step S0087;
Step S0083: make FIFO buffer memory mould 04 to read enable signal RD_EN effective;
Step S0084: the value of H and service layer payload Pm, server is sent to second adder 62;
Step S0085: second adder 62 calculates H-Pm, the value C of server, and result is returned to comparison sub-module 63;
Step S0086: C value is written in local cache submodule 64 by comparison sub-module 63, terminates;
Step S0087: make FIFO cache module 04 to read enable signal RD_EN invalid, and the value of H is written in local cache submodule 64, terminates.
Step S009: read enable signal RD_EN effective time, the user data of buffer memory is mapped in the payload of next service layer's signal frame by FIFO cache module 04.
Above-mentioned explanation illustrate and describes a preferred embodiment of the present invention, but as previously mentioned, be to be understood that the present invention is not limited to the form disclosed by this paper, should not regard the eliminating to other embodiments as, and can be used for other combinations various, amendment and environment, and can in invention contemplated scope described herein, changed by the technology of above-mentioned instruction or association area or knowledge.And the change that those skilled in the art carry out and change do not depart from the spirit and scope of the present invention, then all should in the protection range of claims of the present invention.