Multiple frequency communications
First Claim
1. A method of carrying out data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method comprising the steps of:
- receiving, from a device associated with the clock domain of the second data bus, a sample signal associated with the second clock speed; and
dynamically adjusting the speed of operation of a state machine of a peripheral controller in response to the sample signal by gating a clock at the first clock speed which clocks the state machine of the peripheral controller with the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur at the second clock speed.
2 Assignments
0 Petitions
Accused Products
Abstract
A communication system is provided for use in processing systems and the like for carrying out data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates. at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed. A sample signal associated with the second clock speed is received and the speed of operation of a state machine of a peripheral controller is dynamically adjusted in response to the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur synchronously at the second clock speed.
30 Citations
24 Claims
-
1. A method of carrying out data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method comprising the steps of:
-
receiving, from a device associated with the clock domain of the second data bus, a sample signal associated with the second clock speed; and
dynamically adjusting the speed of operation of a state machine of a peripheral controller in response to the sample signal by gating a clock at the first clock speed which clocks the state machine of the peripheral controller with the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur at the second clock speed. - View Dependent Claims (2, 3, 4, 5)
providing data to and receiving data from the first bus at the first clock speed; and
providing data to and receiving data from the second bus at the second clock speed.
-
-
3. A method according to claim 1, wherein said receiving step is preceded by the step of generating the sample signal so as to be active during a cycle of the clock at the first clock speed immediately prior to a transition of the clock at the second clock speed.
-
4. A method according to claim 1, wherein the first bus is an internal processor bus and wherein the second bus is an external peripheral bus.
-
5. A method according to claim 1, wherein the peripheral controller comprises a DMA controller.
-
6. A method of carrying out data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method comprising the steps of:
-
receiving, from a device associated with the clock domain of the second data bus, a sample signal associated with the second clock speed; and
dynamically adjusting the speed of operation of a state machine of a peripheral controller in response to the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur at the second clock speed;
wherein said step of dynamically adjusting comprises the step of gating a clock operating at the first clock speed which clocks a state machine of a peripheral controller with the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur at the second clock speed; and
wherein said step of gating comprises the step of logical ANDing the sample signal with clock pulses at the first clock speed so as to create a clock of the second clock speed.
-
-
7. A method of carrying out data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method comprising the steps of:
-
receiving, from a device associated with the clock domain of the second data bus, a sample signal associated with the second clock speed; and
dynamically adjusting the speed of operation of a state machine of a peripheral controller in response to the sample signal such that the state machine of the peripheral controller operates at the second clock speed and causes operations on the second data bus to occur at the second clock speed; and
wherein the peripheral controller further controls communications between the first bus and a second peripheral device associated with a third bus which operates at a third clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method further comprising the steps of;
receiving, from a device associated with the clock domain of the third data bus, a second sample signal associated with the third clock speed; and
dynamically adjusting the speed of operation of the state machine of a peripheral controller in response to the second sample signal such that the state machine of the peripheral controller operates at the third clock speed and causes operations on the third data bus to occur at the third clock speed. - View Dependent Claims (8, 9)
-
-
10. A peripheral controller for controlling data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, comprising:
-
means for receiving from a device associated with the clock domain of the second data bus a sample signal associated with the second clock speed;
means for providing control signals to the peripheral device for controlling operation of the peripheral device; and
means for dynamically adjusting the speed of operation of the means for providing control signals to the peripheral device comprising;
means for gating a clock operating at the first clock speed which clocks the means for providing control signals with the sample signal so as to provide clock pulses to the means for providing control signals at the second clock speed such that the means for providing control signals causes operations on the second data bus to occur at the second clock speed. - View Dependent Claims (11, 12, 13, 14)
means for providing data to and receiving data from the first bus at the first clock speed; and
means for providing data to and receiving data from the second bus at the second clock speed.
-
-
12. A system according to claim 10, further comprising means for generating the sample signal so as to be active during a cycle of the clock at the first clock speed immediately prior to a transition of the clock at the second clock speed.
-
13. A system according to claim 10, wherein the first bus is an internal processor bus and wherein the second bus is an external processor bus.
-
14. A system according to claim 10, wherein the peripheral controller comprises a DMA controller.
-
15. A peripheral controller for controlling data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, comprising:
-
means for receiving from a device associated with the clock domain of the second data bus a sample signal associated with the second clock speed;
means for providing control signals to the peripheral device for controlling operation of the peripheral device; and
means for dynamically adjusting the speed of operation of the means for providing control signals to the peripheral device such that operations on the second data bus to occur at the second clock speed;
wherein said means for dynamically adjusting comprises means for gating a clock operating at the first clock speed which clocks the means for providing control signals with the sample signal so as to provide clock pulses to the means for providing control signals at the second clock speed such that the means for providing control signals causes operations on the second data bus to occur at the second clock speed; and
wherein said means for gating comprises means for logical ANDing the sample signal with clock pulses at the first clock speed so as to create a clock of the second clock speed.
-
-
16. A peripheral controller for controlling data transfer operations between a first data bus and a peripheral device associated with a second data bus, wherein the first data bus operates at a first clock speed and wherein the second data bus operates at a second clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, comprising:
-
means for receiving from a device associated with the clock domain of the second data bus a sample signal associated with the second clock speed;
means for providing control signals to the peripheral device for controlling operation of the peripheral device; and
means for dynamically adjusting the speed of operation of the means for providing control signals to the peripheral device such that operations on the second data bus to occur at the second clock speed; and
wherein the peripheral controller further controls communications between the first bus and a second peripheral device associated with a third bus which operates at a third clock speed which is different from the first clock speed and a 1/N integer multiple of the first clock speed, the method further comprising the steps of;
means for receiving from a device associated with the clock domain of the third data bus a second sample signal associated with the third clock speed;
means for providing control signals to the second peripheral device for controlling operation of the second peripheral device; and
means for dynamically adjusting the speed of operation of the means for providing control signals to the second peripheral device such that operations on the third data bus occur at the third clock speed. - View Dependent Claims (17, 18)
-
-
19. A communication system for allowing DMA communication between multiple buses, comprising:
-
a first bus utilizing a first clock operating at a first clock speed;
a second bus utilizing a second clock operating at a second clock speed wherein the second clock speed is different from the first clock speed and is a 1/N integer multiple of the first clock speed;
a first bridge slave which transmits and receives data to and from the first bus and transmits and receives data to and from the second bus, wherein the bridge generates a first sample signal so as to be active during a cycle of the first clock immediately prior to a transition of the second clock and provides the first sample signal corresponding to the second clock speed; and
a DMA master operably associated with the first bridge slave and which generates control signals for controlling communications to and from the first and second buses and includes a DMA state machine corresponding to a transfer state on the second bus, wherein the DMA state machine is clocked by the first clock gated with the first sample signal from the first bridge slave so as to clock the DMA state machine at the second clock speed. - View Dependent Claims (20, 21)
-
-
22. A communication system for allowing DMA communication between multiple buses, comprising:
-
a first bus utilizing a first clock operating at a first clock speed;
a second bus utilizing a second clock operating at a second clock speed wherein the second clock speed is different from the first clock speed and is a 1/N integer multiple of the first clock speed;
a first bridge slave which transmits and receives data to and from the first bus and transmits and receives data to and from the second bus, wherein the bridge provides a first sample signal corresponding to the second clock speed; and
a DMA master operably associated with the first bridge slave and which generates control signals for controlling communications to and from the first and second buses and includes a DMA state machine corresponding to a transfer state on the second bus, wherein the DMA state machine is clocked by the first clock gated with the first sample signal from the first bridge slave so as to clock the DMA state machine at the second clock speed; and
wherein the DMA master includes an AND gate for ANDing the first sample signal with the first clock so as to create a clock operating at the second clock frequency.
-
-
23. A communication system for allowing DMA communication between multiple buses, comprising:
-
a first bus utilizing a first clock operating at a first clock speed;
a second bus utilizing a second clock operating at a second clock speed wherein the second clock speed is different from the first clock speed and is a 1/N integer multiple of the first clock speed;
a first bridge slave which transmits and receives data to and from the first bus and transmits and receives data to and from the second bus, wherein the bridge provides a first sample signal corresponding to the second clock speed;
a DMA master operably associated with the first bridge slave and which generates control signals for controlling communications to and from the first and second buses and includes a DMA state machine corresponding to a transfer state on the second bus, wherein the DMA state machine is clocked by the first clock gated with the first sample signal from the first bridge slave so as to clock the DMA state machine at the second clock speed;
a third bus utilizing a third clock operating at a third clock speed wherein the third clock speed is a 1/N integer multiple of the first clock speed;
a second bridge slave which transmits and receives data to and from the first bus and transmits and receives data to and from the third bus, wherein the bridge provides a second sample signal corresponding to the third clock speed; and
wherein the DMA master is further operably associated with the second bridge slave and generates control signals for controlling communications to and from the first and third buses and wherein the DMA state machine is clocked by the first clock gated with the first sample signal from the first bridge slave so as to clock the DMA state machine at the third clock speed when communicating between the first and second buses and the DMA state machine is clocked by the first clock gated with the second sample signal from the second bridge slave so as to clock the DMA state machine at the third clock speed when communicating between the first and third buses. - View Dependent Claims (24)
-
Specification