English
Language : 

MB86613S Datasheet, PDF (75/134 Pages) Fujitsu Component Limited. – IEEE1394 Open HCI Controller
Preliminary
The following describes and shows the state machine of interrupt handling:
I1 . . . . Set the interrupt event code in the IRContextControl.eventcode field. In buffer- fill mode, set the
interrupt code and remained byte count of the host memory in the xferStatus and resCount fields in
the descriptor. In packet- per- buffer mode, set the interrupt code and remained byte count of the
host memory in the xferStatus and resCount fields in the last descriptor if ’ s ’ flag of the descriptor on
which the context program process is done is set.
After completing these processes, go to the procedure I3 if the context program process is completed
normally. If it is not the normal completion, go to the procedure I2.
I2 . . . . Set the IntEvent.unrecoverableError bit if the ’ i ’ flag in the last descriptor indicates ’11b’. In this case,
return to the START after storing the start address of host memory where the erroneous descriptor is
contained in the CommandPtr.descriptorAddress field.
I3 . . . . If the ’ i ’ flag in the last descriptor indicates ’11b’, set the isoRecvIntEvent.isoRecvN. Then, if ’Z’ field
in the last descriptor indicates ”0”, return to the START and if it indicates ”1” or more, go to the program
loading process after storing the address specified in the branchAddress field in the last descriptor in
the CommandPtr.descriptorAddress field.
The MB86613S chip has a function to automatically handle error if occurred. For details, see section 4.2.2.
(1), (2), (3)*, (4)
I1
(3)**, (5)- (7)
I2
z=0
I3
z=1
START
LOAD
* : for buffer- fill mode
** : for packet- per- buffer mode
Fig. 4.35 State Machine of Interrupt Handle for Isochronous Packet Receive
4.4.3. Packet- Per- Buffer Mode
Packet- per- buffer mode is used when IRContextControl.bufferFill is cleared for storing a received isochrono-
us packet into the host memory. The vehicle of this mode is that the chip stores the packets to allocate single or
multiple space per packet. Even though this mode can not use the host memory efficiently, it makes easy to
handle each packet individually.
In this mode, a context program is prepared for one packet, and the context program uses INPUT_MORE and
INPUT_LAST commands together. Figure 4.36 shows a reference example of how this mode is used. In that
Figure, the first packet, packet- 1, is stored in the host memory- 1 and - 2 according to the descriptor block- 1.
In this case, when all the packet data cannot be stored in the host memory- 1, it needs to move to IN-
PUT_LAST command process and to store the rest of data in the host memory- 2. Like the case of packet- 2, if
an INPUT_MORE command can completely store the whole packet data in the host memory- 3, the next IN-
PUT_LAST command is not executed and the process moves to the context program that handles the next
74