![artisan VME-SIO4A User Manual Download Page 13](http://html.mh-extra.com/html/artisan/vme-sio4a/vme-sio4a_user-manual_2978465013.webp)
Revision B User Manual
for the VME-SIO4: Board Revision: A
General Standards Corporation
8302A Whitesburg Drive Huntsville, AL 3580, Phone: (256) 880-8787
12
CHAPTER 2: THEORY OF OPERATION
2.0
THE BOARD INTERFACE
This board operates as an interface for two Zilog Z16C30s, giving it Quad Channel capabilities. The Zilogs are
mapped into the base address of this board and all reads and writes are PIOs. This board does not offer DMA across
the VMEbus. All references to DMA in this documentation are in reference to moving data from the external FIFOs
into the Zilogs or from the Zilogs into the receive FIFOs, by means of an “onboard only” DMA. These FIFOs
operate as additional buffering of 32 K bytes for both transmit and receive. These FIFOs are in addition to the
internal FIFOs of the Zilog; however, these FIFOs are not at the same address location. To implement the use of the
external FIFOs, the software must first initialize the Zilog to request DMA services for transmit or receive. When
the request is made, the onboard logic will either move the data from the transmit FIFO into the Zilog or from the
Zilog into the receive FIFOs depending on which request was made.
2.1
INTERRUPTS
The interrupts on this board are divided into two sections:
a.
Master Board Interrupts:
For use with conditions on the board, not pertaining to the Zilogs.
b.
Zilog Interrupts:
For use with conditions within the Zilog, not pertaining to the Board.
The interrupts for the onboard logic use the master vector register. The interrupts for the Zilog use the Zilog vector
registers. All interrupts are mapped directly to the VME and they are prioritized via “Round Robin” going from 0 to
3 and then to the master board. No two levels of interrupts will occur at the same time. The interrupt level is
selected via jumper.
2.2
DESCRIPTION OF DMA
DMA for all channels is performed in the same manner. The request is made, that is, one of the transmit or receive
DMA request signals go active from the Zilog. The onboard DMA logic will handshake with the Zilog to either
acknowledge valid data going to the Zilog or to get receive data from the Zilog. This activity will continue until the
Zilog no longer needs DMA service, or the external FIFOs can no longer comply. If the Zilog no longer wants
DMA, it will remove its request and the DMA will stop. The conditions at which the FIFOs can no longer comply
are when during a transmit request and the transmit FIFO is empty or during a receive request when a receive FIFO
is full. Channel 0 and 1 operate using the same Zilog bus, so therefore it must arbitrate between Channel 0 transmit
and receive, as well as Channel 1 transmit and receive. This arbitration takes place without any software
initialization.
If all four (4) DMA requests are active at the same time, this will handshake one word for one request and then
proceed to the next. It will start with the receive data and will acknowledge one word for the receive of Channel 0,
then one word of the receive for Channel 1, then one word for the transmit for Channel 0, then one word of the
transmit for Channel 1 and then it will start over.
This transmission of data from one point to another will only occur if the FIFO’s are in a valid state, i.e., transmit
FIFO must not be empty; otherwise the handshake will not take place with the Zilog. Then, the Zilog will not get an
acknowledge for its’ transmit request and will get no data.
The same is true for the receive FIFO. If the receive FIFO is full, the DMA will not remove data from the Zilog.
Therefore the Zilog will not get an acknowledge, and will not have any data removed from it.
Channels 2 and 3 work in the same way, but work on a different data bus. Therefore DMAs for Channels 2 and 3, to
or from the Zilog will not affect Channels 0 and 1. This means Channel 0 can run at full speed and Channel 2 can