Rabbit 6000 User’s Manual
digi.com
372
33.4 Operation
While the detailed operation of the Flexible Interface Modules is beyond the scope of this manual, this sec-
tion will describe how to initialize and start the Flexible Interface Modules.
The following steps explain how to load and start a Flexible Interface Module application.
1. If desired, write the appropriate interrupt vector for the interrupt service routine to the internal inter-
rupt table.
2. Enable the appropriate Flexible Interface Module clock in MSCR.
3. Write a 0 to bit 7 of FxICR to disable the Flexible Interface Module and allow loading of the appli-
cation.
4. Write the Flexible Interface Module application to the address range starting at FxCLR and
FxCMR.
5. Write a 1 to bit 7 of FxICR to enable the Flexible Interface Module. If interrupts from the module
are to be used, set the priority level in bits 0–1 of FxICR as well.
6. The Flexible Interface Module is now running the loaded application.
33.4.1 Handling Interrupts
The interrupt receive/acknowledge handshaking between the Flexible Interface Module and the Rabbit
6000 has to be handled manually for both the Flexible Interface Module interrupting the Rabbit and vice
versa. Sample code for each is shown below.
33.4.1.1 Rabbit Interrupt Request to Flexible Interface Module
ld a, 0x55
ioi ld (FAIIR), a ; send interrupt 0x55 to FIMA
ld b, 255 ; timeout counter for FIM ack
waitForFIM:
dec b ; decrement timeout counter
jp z, timeout ; exit to timeout handling routine
ioi ld a, (FAIOR) ; get interrupt status from FIMA
bit 7, a ; check interrupt ack bit
jr z, waitForFIM ; loop until FIMA ack’s the interrupt
ld a, 0x00
ioi ld (FAIIR), a ; FIMA has ack’d, so clear interrupt
request
Summary of Contents for 6000
Page 1: ...Rabbit 6000 Microprocessor User s Manual 90001108_J...
Page 11: ...Rabbit 6000 User s Manual digi com 11 1 3 Block Diagram Figure 1 1 Rabbit 6000 Block Diagram...
Page 43: ...Rabbit 6000 User s Manual digi com 43 4 1 1 Block Diagram...
Page 57: ...Rabbit 6000 User s Manual digi com 57 5 1 1 Block Diagram...
Page 88: ...Rabbit 6000 User s Manual digi com 88 7 2 Block Diagram...
Page 115: ...Rabbit 6000 User s Manual digi com 115 11 1 1 Block Diagram...
Page 127: ...Rabbit 6000 User s Manual digi com 127 12 1 1 Block Diagram...
Page 138: ...Rabbit 6000 User s Manual digi com 138 13 1 1 Block Diagram...
Page 154: ...Rabbit 6000 User s Manual digi com 154 15 1 1 Block Diagram...
Page 163: ...Rabbit 6000 User s Manual digi com 163 16 1 1 Block Diagram...
Page 170: ...Rabbit 6000 User s Manual digi com 170 17 1 1 Block Diagram...
Page 177: ...Rabbit 6000 User s Manual digi com 177 18 1 1 Block Diagram...
Page 186: ...Rabbit 6000 User s Manual digi com 186 19 1 1 Block Diagram...
Page 230: ...Rabbit 6000 User s Manual digi com 230 22 2 Block Diagram...
Page 234: ...Rabbit 6000 User s Manual digi com 234 Figure 22 3 Sample Slow A D Converter Circuit...
Page 287: ...Rabbit 6000 User s Manual digi com 287 25 1 1 Block Diagram...
Page 310: ...Rabbit 6000 User s Manual digi com 310 26 1 1 Block Diagram...
Page 323: ...Rabbit 6000 User s Manual digi com 323 28 1 1 Block Diagram...
Page 351: ...Rabbit 6000 User s Manual digi com 351 31 1 4 Block Diagram...
Page 361: ...Rabbit 6000 User s Manual digi com 361 32 1 1 Block Diagram...
Page 369: ...Rabbit 6000 User s Manual digi com 369 33 2 Block Diagram...
Page 390: ...Rabbit 6000 User s Manual digi com 390 35 1 1 Block Diagram...
Page 408: ...Rabbit 6000 User s Manual digi com 408...
Page 410: ...Rabbit 6000 User s Manual digi com 410...
Page 411: ...Rabbit 6000 User s Manual digi com 411...
Page 420: ...Rabbit 6000 User s Manual digi com 420 Figure 37 1 Memory Read and Write Cycles...