1. A method of processing a strobe signal comprising:
oversampling a strobe signal received from a source synchronous device;
determining an amount of time between sending a read request to the source synchronous device and detecting a first pulse of the strobe signal according to the oversampling; and
squelching the strobe signal for the amount of time responsive to at least one subsequent read request.
2. The method of claim 1, further comprising:
sending the read request to the source synchronous device; and
detecting a rising edge of the first pulse that follows a preamble by the oversampling of the strobe signal.
3. The method of claim 2, wherein detecting a first pulse comprises:
detecting a predetermined bit pattern indicating the first pulse.
4. The method of claim 2, wherein detecting a first pulse comprises:
detecting a last occurrence of a predetermined bit pattern prior to determining that the strobe signal comprises a predetermined duty cycle.
5. The method of claim 1, wherein oversampling the strobe signal comprises:
providing the strobe signal to each of a plurality of sampling flip-flops; and
clocking each of the plurality of sampling flip-flops using a clock signal having a different phase and a frequency that is approximately equal to a frequency of the strobe signal.
6. The method of claim 1, wherein oversampling the strobe signal comprises:
providing the strobe signal to each of a plurality of sampling flip-flops; and
clocking each of the plurality of sampling flip-flops using a clock signal having a frequency that is approximately equal to a frequency of the strobe signal, wherein a phase of the clock signal provided to each of the plurality of sampling flip-flops increases by a phase variance of approximately 360 divided by a number of the plurality of sampling flip-flops.
7. The method of claim 6, further comprising selecting the number of the plurality of sampling flip-flops to result in an integer value phase variance.
8. The method of claim 1, further comprising determining an updated amount of time between sending a read request and detecting a first pulse of the strobe signal responsive to at least one subsequent read request.
9. A system for processing a strobe signal comprising:
a plurality of sampling flip-flops oversampling the strobe signal, wherein each of the plurality of sampling flip-flops is clocked by a clock signal having a different phase and approximately a same frequency as a frequency of the strobe signal;
a controller configured to detect a read request sent to a source synchronous device and determine an amount of time between the read request and a first pulse of the strobe signal according to values received from the plurality of sampling flip-flops oversampling the strobe signal; and
a squelch circuit configured to gate the strobe signal for the amount of time responsive to a subsequent read request.
10. The system of claim 9, further comprising:
a counter coupled to the controller, wherein the controller starts the counter responsive to the read request and determines a count of the counter responsive to detecting the first pulse of the strobe signal.
11. The system of claim 9, wherein the controller is configured to detect a rising edge of the first pulse following a preamble of the strobe signal.
12. The system of claim 11, wherein the controller is configured to detect the rising edge of the first pulse by detecting a predetermined bit pattern from the oversampling.
13. The system of claim 12, wherein the controller is configured to detect the rising edge of the first pulse by detecting a last instance of a predetermined bit pattern from the oversampling prior to detecting that the strobe signal has a predetermined duty cycle.
14. The system of claim 9, wherein each of the plurality of sampling flip-flops is clocked by a clock signal having a frequency that is approximately equal to a frequency of the strobe signal, wherein a phase of the clock signal provided to each of the plurality of sampling flip-flops increases by a phase variance of approximately 360 divided by a number of the plurality of sampling flip-flops.
15. The system of claim 14, wherein the number of the plurality of sampling flip-flops results in an integer value phase variance.
16. A system comprising:
a memory controller; and
a strobe detector coupled to the memory controller,
wherein the strobe detector is configured to determine an amount of time between sending a read request originating from the memory controller to a source synchronous device and detecting a first pulse of a strobe signal received from the source synchronous device, wherein the strobe detector is configured to gate the strobe signal responsive to at least one subsequent read request from the memory controller for the amount of time.
17. The system of claim 16, wherein the strobe detector further comprises:
a plurality of sampling flip-flops oversampling the strobe signal, wherein each of the plurality of sampling flip-flops is clocked by a clock signal having a different phase and approximately a same frequency as a frequency of the strobe signal.
18. The system of claim 17, wherein the phase of the clock signal provided to each of the plurality of sampling flip-flops increases by a phase variance of approximately 360 divided by a number of the plurality of sampling flip-flops.
19. The system of claim 17, wherein the strobe detector further comprises:
a controller configured to detect the first pulse of the strobe signal by detecting a predetermined pattern of values received from each of the plurality of sampling flip-flops oversampling the strobe signal; and
a counter coupled to the controller, wherein the controller starts the counter responsive to the read request and determines a count of the counter responsive to detecting the first pulse of the strobe signal.
20. The system of claim 16, wherein the strobe detector further comprises:
a counter configured to start counting responsive to the read request and to determine a count indicating the amount of time responsive to detecting the first pulse of the strobe signal.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for loading filament into a three-dimensional modeling machine of the type having a liquifier which receives modeling material in the form of a filament strand and extrudes the filament in molten form, the method comprising the steps of:
inserting into the modeling machine primary and secondary cassettes containing spooled filament;
feeding filament from the primary cassette into the liquifier; and
switching the feed from the primary cassette to the secondary cassette, without operator intervention, while modeling is in progress.
2. The method of claim 1, wherein the step of switching comprises:
automatically withdrawing from the liquifier a filament strand supplied by the primary cassette; and
automatically feeding to the liquifier a filament strand supplied by the secondary cassette.
3. A method for loading filament into an extrusion apparatus of the type having a liquifier to which a strand of filament is advanced under the control of a controller, the method comprising the steps of:
inserting into the apparatus a plurality of cassettes containing spooled filament;
automatically advancing a strand of a first filament from a first one of the cassettes to the liquifier for extrusion;
automatically withdrawing the first filament strand from the liquifier in response to a trigger event; and
automatically advancing a strand of a second filament from a second one of the cassettes to the liquifier after withdrawl of the first filament strand.
4. The method of claim 3, wherein the trigger event is an identification that the first filament has reached a predetermined minimum length.
5. The method of claim 4, and further comprising the step of:
identifying that the filament remaining in the first one of the cassettes has reached the predetermined minimum length.
6. The method of claim 3, wherein the trigger event is a command initiated by a user and received by the controller.
7. A method for loading filament into an extrusion apparatus of the type which receives a strand of filament and extrudes the filament in molten form, the method comprising the steps of:
inserting into the apparatus a plurality of filament spools;
feeding a strand of a first filament from a first one of the spools to the liquifier for extrusion;
automatically withdrawing the strand of the first filament from the liquifier in response to a trigger event; and
automatically feeding a strand of a second filament from a second one of the spools to the liquifier after withdrawl of the first filament strand.
8. The method of claim 7, wherein the trigger event is an identification that the first filament has reached a predetermined minimum length.
9. The method of claim 8, and further comprising the step of:
identifying that the first filament has reached the predetermined minimum length.
10. The method of claim 7, wherein the trigger event is a command initiated by a user.