1051
11054A–ATARM–27-Jul-11
SAM9X25
1051
11054A–ATARM–27-Jul-11
SAM9X25
45.5.1.3
Transmit Buffer List
Transmit data is read from areas of data (the buffers) in system memory These buffers are listed
in another data structure that also resides in main memory. This data structure (Transmit Buffer
Queue) is a sequence of descriptor entries (as defined in
) that points
to this data structure.
To create this list of buffers:
1.
Allocate a number (
n
) of buffers of between 1 and 2047 bytes of data to be transmitted
in system memory. Up to 128 buffers per frame are allowed.
2.
Allocate an area 2
n
words for the transmit buffer descriptor entry in system memory
and create N entries in this list. Mark all entries in this list as owned by EMAC, i.e. bit 31
of word 1 set to 0.
3.
If fewer than 1024 buffers are defined, the last descriptor must be marked with the wrap
bit — bit 30 in word 1 set to 1.
4.
Write address of transmit buffer descriptor entry to EMAC register transmit_buffer
queue pointer.
5.
The transmit circuits can then be enabled by writing to the network control register.
45.5.1.4
Address Matching
The EMAC register-pair hash address and the four specific address register-pairs must be writ-
ten with the required values. Each register-pair comprises a bottom register and top register,
with the bottom register being written first. The address matching is disabled for a particular reg-
ister-pair after the bottom-register has been written and re-enabled when the top register is
written.
See “Address Checking Block” on page 1046.
for details of address matching. Each reg-
ister-pair may be written at any time, regardless of whether the receive circuits are enabled or
disabled.
45.5.1.5
Interrupts
There are 14 interrupt conditions that are detected within the EMAC. These are ORed to make a
single interrupt. Depending on the overall system design, this may be passed through a further
level of interrupt collection (interrupt controller). On receipt of the interrupt signal, the CPU
enters the interrupt handler (Refer to the Interrupt Controller). To ascertain which interrupt has
been generated, read the interrupt status register. Note that this register clears itself when read.
At reset, all interrupts are disabled. To enable an interrupt, write to interrupt enable register with
the pertinent interrupt bit set to 1. To disable an interrupt, write to interrupt disable register with
the pertinent interrupt bit set to 1. To check whether an interrupt is enabled or disabled, read
interrupt mask register: if the bit is set to 1, the interrupt is disabled.
45.5.1.6
Transmitting Frames
To set up a frame for transmission:
1.
Enable transmit in the network control register.
2.
Allocate an area of system memory for transmit data. This does not have to be contigu-
ous, varying byte lengths can be used as long as they conclude on byte borders.
3.
Set-up the transmit buffer list.
4.
Set the network control register to enable transmission and enable interrupts.
5.
Write data for transmission into these buffers.
6.
Write the address to transmit buffer descriptor queue pointer.
7.
Write control and length to word one of the transmit buffer descriptor entry.
Содержание SAM9X25
Страница 26: ...26 11054A ATARM 27 Jul 11 SAM9X25...
Страница 138: ...138 11054A ATARM 27 Jul 11 SAM9X25 138 11054A ATARM 27 Jul 11 SAM9X25...
Страница 162: ...162 11054A ATARM 27 Jul 11 SAM9X25 162 11054A ATARM 27 Jul 11 SAM9X25...
Страница 216: ...216 11054A ATARM 27 Jul 11 SAM9X25 216 11054A ATARM 27 Jul 11 SAM9X25...
Страница 266: ...266 11054A ATARM 27 Jul 11 SAM9X25 266 11054A ATARM 27 Jul 11 SAM9X25...
Страница 330: ...330 11054A ATARM 27 Jul 11 SAM9X25 330 11054A ATARM 27 Jul 11 SAM9X25...
Страница 374: ...374 11054A ATARM 27 Jul 11 SAM9X25...
Страница 468: ...468 11054A ATARM 27 Jul 11 SAM9X25 468 11054A ATARM 27 Jul 11 SAM9X25...
Страница 532: ...532 11054A ATARM 27 Jul 11 SAM9X25 532 11054A ATARM 27 Jul 11 SAM9X25...
Страница 692: ...692 11054A ATARM 27 Jul 11 SAM9X25 692 11054A ATARM 27 Jul 11 SAM9X25...
Страница 777: ...777 11054A ATARM 27 Jul 11 SAM9X25 777 11054A ATARM 27 Jul 11 SAM9X25...
Страница 886: ...886 11054A ATARM 27 Jul 11 SAM9X25 886 11054A ATARM 27 Jul 11 SAM9X25...
Страница 962: ...962 11054A ATARM 27 Jul 11 SAM9X25 962 11054A ATARM 27 Jul 11 SAM9X25...
Страница 1036: ...1036 11054A ATARM 27 Jul 11 SAM9X25 1036 11054A ATARM 27 Jul 11 SAM9X25...
Страница 1067: ...1067 11054A ATARM 27 Jul 11 SAM9X25 1067 11054A ATARM 27 Jul 11 SAM9X25 PTZ Pause Time Zero Enable pause time zero interrupt...
Страница 1069: ...1069 11054A ATARM 27 Jul 11 SAM9X25 1069 11054A ATARM 27 Jul 11 SAM9X25 PTZ Pause Time Zero Disable pause time zero interrupt...
Страница 1071: ...1071 11054A ATARM 27 Jul 11 SAM9X25 1071 11054A ATARM 27 Jul 11 SAM9X25 PTZ Pause Time Zero Pause time zero interrupt masked...
Страница 1128: ...1128 11054A ATARM 27 Jul 11 SAM9X25 1128 11054A ATARM 27 Jul 11 SAM9X25...
Страница 1130: ...1130 11054A ATARM 27 Jul 11 SAM9X25...
Страница 1131: ...1131 11054A ATARM 27 Jul 11 SAM9X25 Revision History Doc Rev 11054A Comments Change Request Ref 1st issue...
Страница 1132: ...1132 11054A ATARM 27 Jul 11 SAM9X25...
Страница 1144: ...xii 11054A ATARM 27 Jul 11 SAM9X25...