09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

receive buffer unavailable (ETH_DMASR register[7]) occurs. The driver clears the Receive<br />

interrupt. Even then, a new interrupt is generated, due to the active or pending Receive<br />

buffer unavailable interrupt.<br />

Figure 354. Interrupt scheme<br />

TBUS<br />

TBUIE<br />

AND<br />

TPSS<br />

AND<br />

TPSSIE<br />

TUS<br />

TUIE<br />

AND<br />

RWTS<br />

AND<br />

RWTIE<br />

29.7 Ethernet interrupts<br />

AND<br />

AND<br />

The Ethernet controller has two interrupt vectors: one dedicated to normal Ethernet<br />

operations and the other, used only for the Ethernet wakeup event (with wakeup frame or<br />

Magic Packet detection) when it is mapped on EXTI lIne19.<br />

The first Ethernet vector is reserved for interrupts generated by the MAC and the DMA as<br />

listed in the MAC interrupts and DMA interrupts sections.<br />

The second vector is reserved for interrupts generated by the PMT on wakeup events. The<br />

mapping of a wakeup event on EXTI line19 causes the STM32F4xx to exit the low power<br />

mode, and generates an interrupt.<br />

When an Ethernet wakeup event mapped on EXTI Line19 occurs and the MAC PMT<br />

interrupt is enabled and the EXTI Line19 interrupt, with detection on rising edge, is also<br />

enabled, both interrupts are generated.<br />

A watchdog timer (see ETH_DMARSWTR register) is given for flexible control of the RS bit<br />

(ETH_DMASR register). When this watchdog timer is programmed with a non-zero value, it<br />

gets activated as soon as the RxDMA completes a transfer of a received frame to system<br />

memory without asserting the Receive Status because it is not enabled in the corresponding<br />

Receive descriptor (RDES1[31]). When this timer runs out as per the programmed value,<br />

the RS bit is set and the interrupt is asserted if the corresponding RIE is enabled in the<br />

967/1416 Doc ID 018909 Rev 3<br />

RS<br />

TS<br />

TIE<br />

RIE<br />

FBES<br />

FBEIE<br />

ROS<br />

ROIE<br />

AND<br />

AND<br />

RBU<br />

AND<br />

RBUIE<br />

ETS<br />

ETIE<br />

AND<br />

ERS<br />

ERIE<br />

TJTS<br />

TJTIE<br />

AND<br />

AND<br />

RPSS<br />

AND<br />

RPSSIE<br />

OR<br />

OR<br />

NIS<br />

NISE<br />

AIS<br />

AISE<br />

AND<br />

AND<br />

MMCI<br />

PMTI<br />

TSTI<br />

OR<br />

Interrupt<br />

AI15646

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

Saved successfully!

Ooh no, something went wrong!