![](http://datasheet.mmic.net.cn/260000/PONE-000-01_datasheet_15945946/PONE-000-01_28.png)
March 2000
CEWay
PL-One Data Sheet
D-CW-0100-04
Page 28 of 56
Transmission (XMIT)
This is the state that the PLSES enters into when the PL-One firmware writes the tranmission command
to the Ph_Request_Reg. An explanation of the various actions and decisions in the flowchart is listed
below:
Transmit Preamble Field: In order to transmit, you need to write 101X 0110 bin to Ph_Request_Reg. If you
want to transmit a full Preamble field (8 Preamble symbols and a Preamble End-of-Field (PEOF)
delimiter), you need to clear the
lzs
bit (leading zero suppression). If you want to only transmit a PEOF,
without a Preamble field, (for acknowledgement packets or for Immediate Retry (IRetry) packets), you need
to set the
lzs
bit.
Wait for PLSES Handshake Interrupt: Wait for the PLSES to generate its interrupt (INT0*). Note that in
order for the PLSES to consider that the interrupt has been processed and be able to send another
interrupt, you need to read the Ph_Confirm_Reg (see PLSES Handshake Interrupt Generation on page 12).
Preamble Field Accepted: If the Ph_Confirm_Reg
be/bf
bit (buffer empty) is set, it means that the PLSES
has stored the pseudo-randomly generated preamble in its buffer and is in the process of transmitting it. If
this bit is not set, it means that a collision was detected.
COLLISION Detected: If the Ph_Confirm_Reg
col/rx
bit (collision) is set, it means that the PLSES has
detected a collision while transmitting an INFERIOR Preamble symbol. If this bit is not set, it means that
activity was detected on the channel just prior to starting the transmission.
Process PRE-TRANSMISSION COLLISION: An active channel was detected just before the “Transmit
Preamble Field” was performed, the PLSES switched into the RCV_PRE_SYM state, and sent an interrupt
to the PL-One firmware. For whatever reason, the firmware did not or could not immediately process the
interrupt and continued the “Transmit Preamble Field” procedure by writing 101X 0110 bin to
Ph_Request_Reg. Since the
stop_rx
bit (10
1
X 0110 bin) was set, this command forces the PLSES back
to the IDLE state. The firmware should recognize this transition just like a normal collision.
Process COLLISION: The PLSES has already transitioned from the XMIT to the RCV state and the PL-
One firmware should do the same.
Transmit Control Field & EOF: Write the Control field to the Ph_Tx_Buffer and 1011 0010 bin to
Ph_Request_Reg. Note that even though you set the
lzs
bit, leading zero suppression will only be
performed if there are some leading zeros to suppress. If the top bit of the Control field, the Sequence
Number, is set (1), then this byte is transmitted exactly as if the
lzs
bit had not been set.
Control Field Accepted: If the Ph_Confirm_Reg
be/bf
bit (buffer empty) is set, it means that the PLSES
has accepted and stored your Control field in its buffer, is in the process of transmitting it (it has just
finished transmitting the PEOF) and is ready for another byte. If the
be/bf
bit is not set, this means that a
collision was detected and the
col/rx
bit (collision) will be set.
Transmit Next Byte: Write the next byte to Ph_Tx_Buffer. Then write the appropriate transmission options
to Ph_Request_Reg. The base configuration for Ph_Request_Reg is 101X 0XX0 bin. Setting the
lzs
bit will
result in the leading zeros in the byte in Ph_Tx_Buffer not being transmitted. The two
delx
bits (delimiter)
can be set to 00 bin to select no delimiter, 01 bin to select an EOF or 10 bin to select an EOP. It is not
possible to transmit a PEOF delimiter from this state; this delimiter can only be used to begin a
transmission.