METHOD AND APPARATUS FOR PERFORMING DE-SKEW CONTROL
20170207903 ยท 2017-07-20
Inventors
Cpc classification
H04L25/14
ELECTRICITY
International classification
Abstract
A method and apparatus for performing de-skew control are provided, where the method is applied to an electronic device. The method includes: buffering a plurality of data sequences for performing symbol detection on a plurality of channels; according to a first symbol on a first channel, determining corresponding first expected symbols on other channels to determine a plurality of candidate expected symbol positions on the other channels, respectively; according to at least one other symbol on the first channel, within the candidate expected symbol positions on the other channels, eliminating any candidate expected symbol position that does not comply with a predetermined format to obtain a plurality of expected symbol positions on the other channels; and utilizing the expected symbol positions as correct positions of the corresponding first expected symbols on the other channels to control respective data of the data sequences to be synchronously transmitted.
Claims
1. A method for performing de-skew control, the method applied to an electronic device, and comprising: buffering a plurality of data sequences from a plurality of twisted pairs of a network cable, to perform symbol detection upon a plurality of channels corresponding to the twisted pairs, respectively; based on a predetermined format, referring to a first symbol on a first channel within the plurality of channels to determine corresponding first expected symbols on other channels of the plurality of channels, in order to determine a plurality of candidate expected symbol positions on the other channels, respectively, wherein the number of the candidate expected symbol positions is larger than the number of the other channels; based on the predetermined format, referring to at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format, in order to obtain a plurality of expected symbol positions on the other channels, respectively, wherein the number of the expected symbol positions is equal to the number of the other channels, and the expected symbol positions correspond to the other channels, respectively; and utilizing the expected symbol positions as correct positions of the corresponding first expected symbols on the other channels, respectively, and referring to the correct positions to selectively delay at least one data sequence of the data sequences, in order to control respective data of the data sequences to be synchronously transmitted, to thereby perform de-skew.
2. The method of claim 1, wherein the step of buffering the plurality of data sequences from the plurality of twisted pairs of the network cable to perform symbol detection upon the plurality of channels corresponding to the twisted pairs respectively further comprises: utilizing a first-in-first-out (FIFO) buffer of the electronic device to buffer the data sequences, in order to perform symbol detection upon the channels corresponding to the twisted pairs, respectively.
3. The method of claim 1, wherein the data sequences carry predetermined data conforming to the predetermined format.
4. The method of claim 3, wherein the predetermined data comprises idle data, and the predetermined format comprises an idle data format, wherein the idle data format indicates a predetermined sequential order of a plurality of symbols of the idle data.
5. The method of claim 1, wherein the step of referring to the at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format in order to obtain the plurality of expected symbol positions on the other channels respectively further comprises: based on the predetermined format, referring to the at least one other symbol on the first channel to determine corresponding expected symbols on the other channels, and discarding any of the plurality of candidate expected symbol positions where the corresponding other expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
6. The method of claim 5, wherein the at least one other symbol comprises a plurality of other symbols; and the step of referring to the at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format in order to obtain the plurality of expected symbol positions on the other channels, respectively, further comprises: based on the predetermined format, sequentially referring to the other symbols to discard any of the plurality of candidate expected symbol positions where the corresponding other expected symbols do not respectively appear on the other channels, until each of the other channels only has a unique candidate expected symbol position, wherein the unique candidate expected symbol position is one of the plurality of expected symbol positions.
7. The method of claim 5, wherein the at least one other symbol on the first channel comprises a second symbol; and the step of referring to the at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format in order to obtain the plurality of expected symbol positions on the other channels, respectively, further comprises: based on the predetermined format, referring to the second symbol on the first channel to determine corresponding second expected symbols on the other channels, wherein the corresponding other expected symbols comprise the corresponding second expected symbols; and discarding any of the candidate expected symbol positions where the corresponding second expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
8. The method of claim 7, wherein the at least one other symbol on the first channel further comprises a third symbol; and the step of referring to the at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format in order to obtain the plurality of expected symbol positions on the other channels, respectively, further comprises: based on the predetermined format, referring to the third symbol on the first channel, to determine the corresponding third expected symbol on the other channels, wherein the corresponding other expected symbols further comprise the corresponding third expected symbols; and discarding any of the candidate expected symbol positions where the corresponding third expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
9. The method of claim 8, wherein the at least one other symbol on the first channel further comprises a fourth symbol; and the step of referring to the at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format in order to obtain the plurality of expected symbol positions on the other channels, respectively, further comprises: based on the predetermined format, referring to the fourth symbol on the first channel, to determine corresponding fourth expected symbols on the other channels, wherein the corresponding other expected symbols further comprise the corresponding fourth expected symbols; and discarding any of the candidate expected symbol positions where the corresponding fourth expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
10. The method of claim 1, further comprising: receiving a plurality of differential signals from the plurality of twisted pairs in the network cable, to obtain the plurality of data sequences, wherein the plurality of data sequences correspond to the plurality of differential signals, respectively.
11. An apparatus for performing de-skew control, comprising: a buffer, located in an electronic device, the buffer arranged to buffer a plurality of data sequences from a plurality of twisted pairs in a network cable, in order to perform symbol detection upon a plurality of channels corresponding to the plurality of twisted pairs; a format information generator, located in the electronic device, the format information generator arranged to generate format information of a predetermined format; an expected symbol position generator, located in the electronic device, the expected symbol position generator coupled to the buffer and the format information generator, wherein based on the predetermined format, the expected symbol position generator refers to a first symbol on a first channel within the plurality of channels to determine corresponding first expected symbols on other channels of the plurality of channels, in order to obtain a plurality of candidate expected symbol positions on the other channels, respectively, wherein the number of the candidate expected symbol positions is larger than the number of the other channels; and based on the predetermined format, the expected symbol position generator refers to at least one other symbol on the first channel to exclude any of the candidate expected symbol positions that does not conform to the predetermined format, to obtain a plurality of expected symbol positions on the other channels, respectively, wherein the number of the plurality of expected symbol positions equals the number of the other channels, and the plurality of expected symbol positions correspond to the other channels, respectively; and a de-skew circuit, located in the electronic device, the de-skew circuit coupled to the buffer and the expected symbol position generator, and arranged to utilize the plurality of expected symbol positions as correct positions of the corresponding first expected symbols on the other channels, respectively, and refer to the correct positions to selectively delay at least one data sequence of the plurality of data sequences to control respective data of the data sequences to be synchronously transmitted, in order to perform de-skew.
12. The apparatus of claim 11, wherein the buffer comprises a first-in-first-out buffer.
13. The apparatus of claim 11, wherein the plurality of data sequences carry predetermined data conforming to the predetermined format.
14. The apparatus of claim 13, wherein the predetermined data comprises idle data, and the predetermined format comprises an idle data format, wherein the idle data format indicates a predetermined sequential order of a plurality of symbols of the idle data.
15. The apparatus of claim 11, wherein based on the predetermined format, the expected symbol position generator refers to the at least one other symbol on the first channel to determine corresponding other expected symbol on the other channels; and the expected symbol position generator discards any of the plurality of candidate expected symbol positions where the corresponding other expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
16. The apparatus of claim 15, wherein the at least one other symbol comprises multiple other symbols; and based on the predetermined format, the expected symbol position generator sequentially refers to the other symbols to discard any of the candidate expected symbol positions where the corresponding other expected symbols do not respectively appear on the other channels, until each of the other channels only has a unique candidate expected symbol position, wherein the unique candidate expected symbol position is one of the plurality of expected symbol positions.
17. The apparatus of claim 15, wherein the at least one other symbol on the first channel comprises a second symbol; based on the predetermined format, the expected symbol position generator refers to the second symbol on the first channel to determine corresponding second expected symbols on the other channels, wherein the corresponding other expected symbols comprise the corresponding second expected symbols; and the expected symbol position generator discards any of the candidate expected symbol positions where the corresponding second expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
18. The apparatus of claim 17, wherein the at least one other symbol on the first channel further comprises a third symbol; based on the predetermined format, the expected symbol position generator refers to the third symbol on the first channel to determine corresponding third expected symbols on the other channels, wherein the corresponding other expected symbols further comprise the corresponding third expected symbols; and the expected symbol position generator discards any of the candidate expected symbol positions where the corresponding third expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
19. The apparatus of claim 18, wherein the at least one other symbol on the first channel further comprises a fourth symbol; based on the predetermined format, the expected symbol position generator refers to the fourth symbol on the first channel to determine corresponding fourth expected symbols on the other channels, wherein the corresponding other expected symbols further comprise the corresponding fourth expected symbols; and the expected symbol position generator discards any of the candidate expected symbol positions where the corresponding fourth expected symbols do not respectively appear on the other channels, in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
20. The apparatus of claim 11, further comprising: a receiver stage, located in the electronic device, the receiver stage arranged to receive a plurality of differential signals from the plurality of twisted pairs in the network cable, respectively, to obtain the plurality of data sequences, wherein the plurality of data sequences correspond to the plurality of differential signals, respectively.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DETAILED DESCRIPTION
[0018]
[0019] Since Ethernet over twisted Pairs techniques may be well-known, some implementation details are omitted here for brevity. Under increased transmission speed, the signal quality becomes an important issue. One related art method ensures the signal quality by upgrading all network cables of the network system to new generation ones, such as upgrading the CAT-5 cables to the CAT-6 cables. This approach inevitably increases the cost. The present invention is capable of ensuring the signal quality under the improved transmission speed without upgrading the current version cables (e.g. the CAT-5 cables), so that the existing cables to be used for high speed network transmissions, such as 1 Gigabit Ethernet (GbE) or 10 Gigabit Ethernet. Based on the scheme shown in
[0020] As shown in
[0021] In this embodiment, the receiver stage 105 receives differential signals from the twisted pairs (through the connector) to obtain a plurality of data sequences, respectively, wherein the plurality of data sequences correspond to the plurality of differential signals, respectively. Further, the plurality of data sequences may be inputted to the plurality of processing paths, and the plurality of processing paths go through the buffer 110 and the de-skew circuit 140, and reach the next stage of the de-skew circuit 140. Under the situation where the number of twisted pairs is four, the number of the data sequences and processing paths will also be four. In some embodiments, the next stage of the de-skew circuit 140 may comprise a Viterbi Decoder.
[0022] Based on the structure shown in
[0023]
[0024] In Step 210, the buffer 110 (e.g. the first-in-first-out (FIFO) buffer or any other type of buffer) may buffer the plurality of data sequences from the plurality of twisted pairs in the network cable, so that the channels corresponding to the twisted pairs (e.g. the aforementioned processing paths) can perform symbol detection. Under the situation where the number of twisted pairs is four, there are four channels A, B, C and D, which are denoted as A.sub.n, B.sub.n, C.sub.n and D.sub.n, respectively.
[0025] In Step 220, the format information generator 120 may generate format information of a predetermined format. According to this embodiment, the plurality of data sequences may carry predetermined data conforming to the predetermined format. For example, the predetermined data may comprise idle data, and the predetermined format may comprise an idle data format, wherein the idle data format indicates the predetermined arrangement of the symbols of the idle data. In some embodiments, the predetermined data may be other types of data, and the predetermined format may be other types of format. The details of the idle data format may be well-known, and are omitted here for brevity.
[0026] In Step 230, based on the predetermined format, the expected symbol position generator 130 may refer to a first symbol on a first channel of the aforementioned channels (e.g. the channel A) to determine the corresponding first expected symbols on the other channels of the aforementioned channels (e.g. the channels B, C and D), to thereby determine a plurality of candidate expected symbol positions on the other channels, wherein the number of the candidate expected symbol positions is larger than the number of the other channels. Further, based on the predetermined format, the expected symbol position generator 130 may refer to at least one (e.g. one or more) other symbol on the first channel (e.g. the channel A) to exclude any of the candidate expected symbol positions that does not conform to the predetermined format, to obtain a plurality of expected symbol positions on the other channels (e.g. the channels B, C and D), wherein the number of the plurality of expected symbol positions is equal to the number of the other channels, and the number of the expected symbol positions corresponds to the number of the other channels. For example, the expected symbol position generator 130 may sequentially exclude any of the candidate expected symbol positions that does not conform to the predetermined format, and reserve the remaining candidate expected symbol positions conforming to the predetermined format. After Step 230 is performed, the expected symbol position generator 130 may determine that the expected symbol positions are the remaining candidate expected symbol positions conforming to the predetermined format, respectively.
[0027] In Step 240, the de-skew circuit 140 may utilize the plurality of expected symbol positions as the correct positions of the corresponding first expected symbols on the other channels (e.g. the channels B, C and D), and refer to the correct positions to selectively delay at least one data sequence within the plurality of data sequences (e.g. the data sequences on one or more of the channels A, B, C and D) in order to control respective data of the data sequences to be synchronously transmitted, to thereby perform de-skew. For example, the operation of selectively delaying the data sequence may be implemented with a delay circuit (which may comprise at least one series of delay units). According to some embodiments, the operation of selectively delaying the data sequence may be implemented by directly selecting the correct data corresponding to an offset amount in the data sequence, wherein the offset amount may correspond to the difference between a specific expected symbol position (e.g. one of the corresponding first expected symbols) and the position of the first symbol, and this difference may be a positive value, 0, or a negative value. For example, under the situation where the plurality of channels comprise the four channels A, B, C, and D, the de-skew circuit 140 may refer to a set of offset amounts OFFSET.sub.B, OFFSET.sub.C, and OFFSET.sub.D to directly select the correct data on the four channels A, B, C, and D, and output the selected correct data to the next stage, wherein the offset amount of channel A OFFSET.sub.A may be viewed as zero, and the offset amounts OFFSET.sub.B, OFFSET.sub.C, and OFFSET.sub.D may correspond to the plurality of expected symbol positions, respectively. More particularly, the offset amounts OFFSET.sub.B, OFFSET.sub.C and OFFSET.sub.D may be an example of the plurality of expected symbol positions, i.e. the plurality of expected symbol positions may be the offset amounts OFFSET.sub.B, OFFSET.sub.C, and OFFSET.sub.D, respectively. In another example, under the situation where there are four channels A, B, C, and D, the de-skew circuit 140 may refer to a set of offset amount OFFSET.sub.A, OFFSET.sub.B, OFFSET.sub.C, and OFFSET.sub.D to directly select the correct data on the four channels A, B, C, and D, and output the selected correct data to the next stage.
[0028] The work flow is illustrated as Steps 210-240, although this is merely for illustrative purposes. According to some embodiments, the work flow may be modified. For example, at least one portion (e.g. part or all) of Steps 210-240 may be repeatedly executed. In another example, Step 230 and Step 240 can be executed at the same time.
[0029] According to some embodiments, in Step 230, based on the predetermined format, the expected symbol position generator 130 may refer to the other symbol on the first channel (e.g. the channel A) to determine the corresponding other expected symbols on the other channels (e.g. the channels B, C and D). Further, the expected symbol position generator 130 may discard any of the candidate expected symbol positions where the corresponding other expected symbols do not appear on the other channels (e.g. the channels B, C and D), in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format. According to some embodiments, in Step 230, the other symbol on the first channel (e.g. the channel A) may comprise a second symbol. Further, based on the predetermined format, the expected symbol position generator 130 may refer to the second symbol on the first channel (e.g. the channel A) to determine corresponding second expected symbols on the other channels (e.g. the channels B, C and D), wherein the corresponding other expected symbols may comprise the corresponding second expected symbols. Further, the symbol position generator 130 may discard any of the candidate expected symbol positions where the corresponding second expected symbols do not appear on the other channels (e.g. the channels B, C and D), in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
[0030] In another example, the other symbol on the first channel (e.g. the channel A) may further comprise a third symbol. Based on the predetermined format, according to the third symbol on the first channel (e.g. the channel A), the expected symbol position generator 130 may determine corresponding third expected symbols on the other channels (e.g. the channels B, C and D), wherein the corresponding other expected symbols may further comprise the corresponding third expected symbols. The expected symbol position generator 130 may discard any of the candidate expected symbol positions where the corresponding third expected symbols do not appear on the other channels (e.g. the channels B, C and D), in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
[0031] In another example, the other symbol on the first channel (e.g. the channel A) may further comprise a fourth symbol. Based on the predetermined format, according to the fourth symbol on the first channel (e.g. the channel A), the expected symbol position generator 130 may determine corresponding fourth expected symbols on the other channels (e.g. the channels B, C and D), wherein the corresponding other expected symbols may further comprise the corresponding fourth expected symbols. In the candidate expected symbol positions, the expected symbol position generator 130 may discard any of the candidate expected symbol positions where the corresponding fourth expected symbols do not appear on the other channels (e.g. the channels B, C and D), in order to exclude any of the candidate expected symbol positions that does not conform to the predetermined format.
[0032] Based on the method 200 shown in
[0033]
[0034] In Step 310, based on the predetermined format, the expected symbol position generator 130 may refer to the symbol set {A.sub.n} to calculate the corresponding expected symbol sets {B.sub.n}, {C.sub.n}, and {D.sub.n}, wherein the subscript n represents the index in a data sequence. The symbols A.sub.n, B.sub.n, C.sub.n, and D.sub.n having the same index n belong to the same set of instantaneous time coding, wherein the index n corresponds to a specific instantaneous timing. According to some embodiments, however, the symbol set {A.sub.n} may comprise the symbols A.sub.n, A.sub.n+1, A.sub.n+2, . . . , the symbol set {B.sub.n} may comprise the symbols Bn, B.sub.n+1, B.sub.n+2, . . . , the symbol set {C.sub.n} may comprise the symbols C.sub.n, C.sub.n+1, C.sub.n+2, . . . , and the symbol set {D.sub.n} may comprise the symbols D.sub.n, D.sub.n+1, D.sub.n+2, . . . . The expected symbol position generator 130 therefore not only refers to the symbol A.sub.n to calculate the expected symbols B.sub.n, C.sub.n, and D.sub.n, but also refers to the symbol A.sub.n+1 to calculate the expected symbols B.sub.n+1, C.sub.n+1, and D.sub.n+1, refers to the symbol A.sub.n+2 to calculate the expected symbols B.sub.n+2, C.sub.n+2, and D.sub.n+2, and refers to the symbol A.sub.n+3 to calculate the expected symbols B.sub.n+3, C.sub.n+3, and D.sub.n+3, and so on. According to some embodiments, the expected symbol position generator 130 may refer to the symbol A.sub.n1 to calculate the expected symbols B.sub.n1, C.sub.n1, and D.sub.n1.
[0035] In Step 320, the expected symbol position generator 130 refers to the corresponding expected symbols B.sub.n, C.sub.n, and D.sub.n to determine the candidate expected symbol positions on the channels B, C, and D, such as the positions of the channels B, C, and D on which the corresponding expected symbols B.sub.n, C.sub.n, and D.sub.n appear. According to some embodiments, when Step 320 is performed a next time, the index n is adjusted by adding 1 (e.g. the index n will be sequentially replaced by n+1, n+2, n+3, and so on). The expected symbol position generator 130 may refer to the symbol A.sub.n+1 to discard any of the candidate expected symbol positions where the expected symbols B.sub.n+1, C.sub.n+1, and D.sub.n+1 do not appear on the channels B, C, and D, refer to the symbol A.sub.n+2 to discard any of the candidate expected symbol positions where the expected symbol B.sub.n+2, C.sub.n+2, and D.sub.n+2 do not appear on the channels B, C, and D, refer to the symbol A.sub.n+3 to discard any of the candidate expected symbol positions where the expected symbols B.sub.n+3, C.sub.n+3, and D.sub.n+3 do not appear on the channels B, C, and D, and so on. In this way, the expected symbol position generator 130 may exclude any of the candidate expected symbol positions that does not conform to the predetermined format. In practice, since the apparatus 100 may subsequently process the symbols of the data sequences on the channels A, B, C, and D, the symbols on the data sequences may be viewed as flowing through the channels A, B, C, and D. In this way, when Step 320 is performed once again, the expected symbol position generator 130 allows the symbols on the data sequences to shift one symbol position on the channels A, B, C, and D. This is equivalent to adding 1 on the index n. Hence, the operation of adding 1 on the index n does not need to be mentioned in the work flow 300.
[0036] In Step 330, the expected symbol position generator 130 may record the latest candidate expected symbol position, such as the latest determined candidate expected symbol position in Step 320.
[0037] In Step 340, the expected symbol position generator 130 may check whether the latest candidate expected symbol position recorded in Step 330 (e.g. the latest determined candidate expected symbol position in Step 320) is unique on the channels B, C, and D, respectively. If the latest candidate expected symbol position recorded in Step 330 is unique on the channels B, C, and D, respectively, the work flow 300 ends; otherwise, Step 320 is re-entered.
[0038] According to this embodiment, the latest candidate expected symbol positions are unique on the channels B, C, and may represent the offset amounts OFFSET.sub.B, OFFSET.sub.C, and OFFSET.sub.D, and may be used as the plurality of expected symbol positions. Hence, the de-skew circuit 140 may utilize the plurality of expected symbol positions as the respective correct positions of the corresponding first expected symbols on the other channels (e.g. the channels B, C and D) to control respective data of the symbols A.sub.n, B.sub.n, C.sub.n, and D.sub.n to be synchronously outputted to the next stage. Some features in this embodiment similar to those in the previous embodiments are omitted here for brevity.
[0039]
. . . (0100).sub.n1.fwdarw.(1011).sub.n.fwdarw.(1100).sub.n+1.fwdarw.(1010).sub.n+2.fwdarw.(1101)n+3.fwdarw. . . .
[0040] The data skew problem shown in
[0041]
[0042] As shown in the topmost part of
[0043] According to this embodiment, amongst the symbols A.sub.n, B.sub.n, C.sub.n, and D.sub.n of (1011).sub.n (i.e. the logic values 1, 0, 1, and 1), the symbol A.sub.n may be an example of the first symbol mentioned in Step 230, and the other symbols B.sub.n, C.sub.n, and D.sub.n may be examples of the corresponding first expected symbols mentioned in Step 230; amongst the symbols A.sub.n+1, B.sub.n+1, C.sub.n+1, and D.sub.n+1 of (1100).sub.n+1 (i.e. the logic values 1, 1, 0, and 0), the symbol A.sub.n+1 may be an example of the second symbol, and the other symbols B.sub.n+1, C.sub.n+1, and D.sub.n+1 may be examples of the corresponding second expected symbols; amongst the symbols A.sub.n+2, B.sub.n+2, C.sub.n+2, and D.sub.n+2 of (1010).sub.n+2 (i.e. the logic values 1, 0, 1, and 0), the symbol A.sub.n+2 may be an example of the third symbol, and the other symbols B.sub.n+2, C.sub.n+2, and D.sub.n+2 may be examples of the corresponding third expected symbols; amongst the symbols A.sub.n+3, B.sub.n+3, C.sub.n+3, and D.sub.n+3 of (1101).sub.n+3 (i.e., the logic values 1, 1, 0, and 1), the symbol A.sub.n+3 may be an example of the fourth symbol, and the other symbols B.sub.n+3, C.sub.n+3, and D.sub.n+3 may be examples of the corresponding fourth expected symbols; and so on. Features in this embodiment which are similar to those in the previous embodiments have been omitted here for brevity.
[0044] Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.