Download SPW-RTC User Manual - ESA Microelectronics Section
Transcript
143 TxVC arbiter defines when an atomic send list entry handling can start by setting SPW TxVC Status Register[$].ChAct. The TxVC[$] uses the SPW TxVC Send List Pointer Register[$] as address and fetches the first two words of the send list entry (i.e. header address, size, type, and page) and loads and starts the common DMA handler with this content. The header bytes fetched are directly passed on to the TxFIFO for transmission. Note that both the DMA start address and size can be misaligned and only the portion starting from DMA start address and the exact number of bytes are transmitted. A null size is also possible, in which case no bytes are fetched. Next, the second part of the send list entry (i.e. data address, size, type, and page) are fetched, followed by a reload and start of the common DMA handler channel with this content. The data fetched is directly passed on to the TxFIFO for transmission. Note that both the DMA start address and size can be misaligned and only the portion starting from DMA start address and the exact number of bytes is transmitted. A null size is also possible, in which case no bytes are fetched. During data fetch, the CRC8 checksum is calculated over the full data transmission. The result is added after the last data byte transmitted, when the Data Type field is set to an RMAP write command. Finally, an EOP is transmitted. The SPW TxVC Send List Size Register[$] is decremented by one. The SPW TxVC Send List Pointer Register[$] is incremented by 16. The SPW TxVCStatus Register[$].ChAct is then cleared, i.e. allowing the TxVC arbiter to reassign another channel. At send list completion: When the last send list entry is completed, the TxEOB interrupt is issued and the SPW TxVC Status Register[$].ChTrig is disabled. Note that this applies even for zero-length send lists. Note that there is no automatic generation of the CRC checksum for the header. 10.6.6.4 Status Each virtual transmit channel, TxVC[$], provides the following status monitoring: • A TxVC Send List Size Register which indicates the number of remaining packets in the send list. • A TxVC Send List Pointer Register which points to the current send list element. • A TxVC Status Register indicating if the channel is triggered (started), and whether the channel is active (transfer ongoing). 10.6.6.5 Interrupts Each TxVC, while transmitting, can issue interrupts as defined in SPW TxVC Interrupt Status Register [$]. See 10.7.1.7 for details. Further transmission is halted for the virtual channel. Copyright © 2006, 2007, 2008, 2009 Aeroflex Gaisler and RUAG RTC-100-0012, December 2009, Version 2.4