09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>RM0090</strong> Ethernet (ETH): media access control (MAC) with DMA controller<br />

● RDES6: Receive descriptor Word6<br />

The table below describes the fields that have different meaning for RDES6 when the<br />

receive descriptor is closed and time stamping is enabled.<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

.<br />

● RDES7: Receive descriptor Word7<br />

The table below describes the fields that have a different meaning for RDES7 when the<br />

receive descriptor is closed and time stamping is enabled.<br />

.<br />

29.6.9 DMA interrupts<br />

RTSL<br />

rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw<br />

Bits 31:0 RTSL: Receive frame time stamp low<br />

The DMA updates this field with the 32 least significant bits of the time stamp captured for the<br />

corresponding receive frame. The DMA updates this field only for the last descriptor of the receive<br />

frame indicated by last descriptor status bit (RDES0[8]). When this field and the RTSH field in<br />

RDES7 show all ones, the time stamp must be treated as corrupt.<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

RTSH<br />

rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw<br />

Bits 31:0 RTSH: Receive frame time stamp high<br />

The DMA updates this field with the 32 most significant bits of the time stamp captured for the<br />

corresponding receive frame. The DMA updates this field only for the last descriptor of the receive<br />

frame indicated by last descriptor status bit (RDES0[8]).<br />

When this field and RDES7’s RTSL field show all ones, the time stamp must be treated as<br />

corrupt.<br />

Interrupts can be generated as a result of various events. The ETH_DMASR register<br />

contains all the bits that might cause an interrupt. The ETH_DMAIER register contains an<br />

enable bit for each of the events that can cause an interrupt.<br />

There are two groups of interrupts, Normal and Abnormal, as described in the<br />

ETH_DMASR register. Interrupts are cleared by writing a 1 to the corresponding bit position.<br />

When all the enabled interrupts within a group are cleared, the corresponding summary bit<br />

is cleared. If the MAC core is the cause for assertion of the interrupt, then any of the TSTS<br />

or PMTS bits in the ETH_DMASR register is set high.<br />

Interrupts are not queued and if the interrupt event occurs before the driver has responded<br />

to it, no additional interrupts are generated. For example, the Receive Interrupt bit<br />

(ETH_DMASR register [6]) indicates that one or more frames were transferred to the<br />

STM32F4xx buffer. The driver must scan all descriptors, from the last recorded position to<br />

the first one owned by the DMA.<br />

An interrupt is generated only once for simultaneous, multiple events. The driver must scan<br />

the ETH_DMASR register for the cause of the interrupt. The interrupt is not generated again<br />

unless a new interrupting event occurs, after the driver has cleared the appropriate bit in the<br />

ETH_DMASR register. For example, the controller generates a Receive interrupt<br />

(ETH_DMASR register[6]) and the driver begins reading the ETH_DMASR register. Next,<br />

Doc ID 018909 Rev 3 966/1416

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!