Jameco Electronics 3000 ユーザーズマニュアル

ページ / 349
50
Rabbit 2000 Microprocessor
Pulse width modulated outputs—The minimum pulse width is 10 µs. If the repetition rate 
is 10 ms, then a new pulse with 1000 different widths can be generated at the rate of 100 
times per second.
Asynchronous communications serial output—Asynchronous output data can be gener-
ated with a new pulse every 10 µs. This corresponds to a baud rate of 100,000 bps.
Asynchronous communications serial input—To capture asynchronous serial input, the 
input must be polled faster than the baud rate, a minimum of three times faster, with five 
times being better. If five times polling is used, then asynchronous input at 20,000 bps 
could be received.
Generating pulses with precise timing relationships—The relationship between two events 
can be controlled to within 10 µs to 20 µs.
Using a timer to generate a periodic clock allows events to be controlled to a precision of 
approximately 10 µs. However, if Timer B is used to control the output registers, a preci-
sion approximately 100 times better can be achieved. This is because Timer B has a match 
register that can be programmed to generate a pulse at a specified future time. The match 
register has two cascaded registers, the match register and the next match register. The 
match register is loaded with the contents of the next match register when a pulse is gener-
ated. This allows events to be very close together, one count of Timer B. Timer B can be 
clocked by 
sysclk
/2 divided by a number in the range of 1–256. Timer B can count as fast 
as 10 MHz with a 20 MHz system clock, allowing events to be separated by as little as 100 
ns. Timer B and the match registers have 10 bits.
Using Timer B, output pulses can be positioned to an accuracy of 
clk
/2. Timer B can also 
be used to capture the time at which an external event takes place in conjunction with the 
external interrupt line. The interrupt line can be programmed to interrupt on either rising, 
falling or both edges. To capture the time of the edge, the interrupt routine can read the 
Timer B counter. The execution time of the interrupt routine up to the point where the 
timer is read can be subtracted from the timer value. If no other interrupt is of the same or 
higher priority, then the uncertainty in the position of the edge is reduced to the variable 
time of the interrupt latency, or about one-half the execution time of the longest instruc-
tion. This uncertainty is approximately 10 clocks, or 0.5 µs for a 20 MHz clock. This 
enables pulse width measurements for pulses of any length, with a precision of about 1 µs. 
If multiple pulses need to be measured simultaneously, then the precision will be reduced, 
but this reduction can be minimized by careful programming.
4.1.1  Pulse Width Modulation to Reduce Relay Power 
Typically relays need far less current to hold them closed than is needed to initially close 
them. For example, if the driver is switched to a 75% duty cycle using pulse width modu-
lation after the initial period when the relay armature is picked, the holding current will be 
approximately 75% of the full duty-cycle current and the power consumption will be 
about 56% as great.