Atmel Evaluation Kit AT91SAM9M10-G45-EK AT91SAM9M10-G45-EK データシート

製品コード
AT91SAM9M10-G45-EK
ページ / 1361
 731
SAM9M10 [DATASHEET]
6355F–ATARM–12-Mar-13
 
– there is a transmit error such as too many retries or a transmit underrun.
To set tx_go, write to bit 9, tx_start, of the network control register. Transmit halt does not take effect until any
ongoing transmit finishes. If a collision occurs during transmission of a multi-buffer frame, transmission automati-
cally restarts from the first buffer of the frame. If a “used” bit is read midway through transmission of a multi-buffer
frame, this is treated as a transmit error. Transmission stops, tx_er is asserted and the FCS is bad. 
If transmission stops due to a transmit error, the transmit queue pointer resets to point to the beginning of the trans-
mit queue. Software needs to re-initialize the transmit queue after a transmit error.
If transmission stops due to a “used” bit being read at the start of the frame, the transmission queue pointer is not
reset and transmit starts from the same transmit buffer descriptor when the transmit start bit is written  
36.4.3
Transmit  Block
This block transmits frames in accordance with the Ethernet IEEE 802.3 CSMA/CD protocol. Frame assembly
starts by adding preamble and the start frame delimiter. Data is taken from the transmit FIFO a word at a time.
Data is transmitted least significant nibble first. If necessary, padding is added to increase the frame length to 60
bytes. CRC is calculated as a 32-bit polynomial. This is inverted and appended to the end of the frame, taking the
frame length to a minimum of 64 bytes. If the No CRC bit is set in the second word of the last buffer descriptor of a
transmit frame, neither pad nor CRC are appended.
In full-duplex mode, frames are transmitted immediately. Back-to-back frames are transmitted at least 96 bit times
apart to guarantee the interframe gap.
In half-duplex mode, the transmitter checks carrier sense. If asserted, it waits for it to de-assert and then starts
transmission after the interframe gap of 96 bit times. If the collision signal is asserted during transmission, the
transmitter transmits a jam sequence of 32 bits taken from the data register and then retry transmission after the
back off time has elapsed.
The back-off time is based on an XOR of the 10 least significant bits of the data coming from the transmit FIFO and
a 10-bit pseudo random number generator. The number of bits used depends on the number of collisions seen.
Table  36-2.
Transmit Buffer Descriptor Entry
Bit
Function
Word 0
31:0
Byte  Address  of  buffer
Word 1
31
Used. Needs to be zero for the EMAC to read data from the transmit buffer. The EMAC sets this to one for the first buffer 
of a frame once it has been successfully transmitted.
Software has to clear this bit before the buffer can be used again.
Note:
This bit is only set for the first buffer in a frame unlike receive where all buffers have the Used bit set once used.
30
Wrap. Marks last descriptor in transmit buffer descriptor list.
29
Retry limit exceeded, transmit error detected
28
Transmit underrun, occurs either when hresp is not OK (bus error) or the transmit data could not be fetched in time or 
when buffers are exhausted in mid frame.
27
Buffers exhausted in mid frame
26:17
Reserved
16
No CRC. When set, no CRC is appended to the current frame. This bit only needs to be set for the last buffer of a frame.
15
Last buffer. When set, this bit indicates the last buffer in the current frame has been reached.
14:11
Reserved
10:0
Length of buffer