Zilog Z16C30 Bedienungsanleitung Seite 147

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 208
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 146
7-19
Z16C30 USC
®
USER'S MANUAL
ZILOG
UM97USC0100
the corresponding bit in the Transmit Command/Status
Register (TCSR) goes from 0 to 1. If an IA bit is 0, the
corresponding TCSR bit has no effect on the IP bit and thus
will not cause interrupts. The setting of the IA bits in TICR
has no direct effect on the TCSR bits.
When software wants to change the IA bits in the TICR after
the register is first initialized, it should write only the LS byte
of the register rather than all 16 bits, to avoid inadvertently
changing a threshold setting in the MS byte.
7.11.4 Transmit Data Interrupts
This interrupt type has only one source, so there’s no need
for an IA bit for it. The interrupt logic sets the Transmit Data
IP bit whenever the number of empty character positions
in the TxFIFO is greater than the number programmed as
the “Transmit Data Interrupt Request Level”. If transmitted
data is to be handled by an external Transmit DMA chan-
nel, disable this interrupt by leaving its IE bit 0. (A later
section discusses IE bits.)
To program the Transmit Data Interrupt Request Level, first
write the “Select TICRHi=/INT Level” command ( 0110) to
the TCmd field of the Transmit Command / Status Register
(TCSR15-12). Then write the number of empty character
positions at which the channel should start requesting a
Transmit Data interrupt, minus one, to the MSByte of the
Transmit Interrupt Control Register (TICR). For example, if
the channel should request a Transmit Data interrupt when
its 32-byte TxFIFO has only four characters left in it, write
hex 60 to TCSR15-8, then write decimal 27 (hex 1B) to
TICRI5-8.
RxCUp
IA
14 13 12 11 10 9 8 7 6 5 4 3 2 1 015
RxCDn
IA
TxRDn
IA
TxCDn
IA
CTSUp
IA
DCDDn
IA
RCC
Under
IA
TxCUp
IA
RxRDn
IA
RxRUp
IA
TxRUp
IA
DCDUp
IA
CTSDn
IA
DPLL
DSync
IA
BRG1
IA
BRG0
IA
Figure 7-14. The Status Interrupt Control Register (SICR)
/RxC
14 13 12 11 10 9 8 7 6 5 4 3 2 1 015
RxCL/U TxRL/UTxCL/U
/CTS
DCDL/U
RCC
Under
L/U
/TxC
RxRL/U /RxREQ /TxREQ
/DCD
CTSL/U
DPLL
DSync
L/U
BRG1
L/U
BRG0
L/U
Figure 7-15. The Miscellaneous Interrupt Status Register (MISR)
It is good programming practice to follow these two steps
with writing a “Select TICRHi=FIFO Status” command to
the TCSR, to protect the Request Level from inadvertent
modification when other parts of the software change the
IA bits in the TICR.
Code that writes or reads the Transmit Data Interrupt
Request threshold must ensure that no interrupt will occur
between the time it writes the “Select TICRHi=/INT Level”
command to the TCSR, and when it writes or reads the
value in the TICR, if such interrupts can lead to other code
writing a different Select command (for the FIFO Fill level
or DMA request threshold) to the TCSR.
Note that a Purge Tx FIFO (or Purge Rx and Tx FIFO)
command will typically make a channel immediately set its
Transmit Data IP bit. This will, in turn, make the channel
start requesting an interrupt on its /INT pin if:
it hadn’t been doing so,
the channel’s IEI pin is high,
its TD IE and MIE bits are 1, and
its TD IUS and all higher-priority IUS bits are 0.
As with all USC interrupts, a Transmit Data interrupt service
routine must explicitly clear the Transmit Data IP and IUS
bits by writing to the Daisy Chain Control Register (DCCR)
as described later; the bits aren’t cleared by simply writing
data into the TxFIFO.
UM009402-0201
Seitenansicht 146
1 2 ... 142 143 144 145 146 147 148 149 150 151 152 ... 207 208

Kommentare zu diesen Handbüchern

Keine Kommentare