CD2231

Manufacturer Part NumberCD2231
DescriptionCD2231 Intelligent Two-channel Lan And Wan Communications Controller
ManufacturerIntel Corporation
CD2231 datasheet
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Page 51
52
Page 52
53
Page 53
54
Page 54
55
Page 55
56
Page 56
57
Page 57
58
Page 58
59
Page 59
60
Page 60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
Page 56/178

Download datasheet (3Mb)Embed
PrevNext
CD2231 — Intelligent Two-Channel LAN and WAN Communications Controller
The CPU has the following five options:
1. Terminate the buffer.
2. Discard the exception.
3. Terminate the buffer and discard the exception.
4. Continue from the current position in the buffer.
5. Leave an ‘n’ byte gap in the buffer and then continue.
The required option is written to the REOIR (Receive End-of-Interrupt register) by the CPU to
terminate the interrupt. If the terminate buffer option is chosen, the 2231own bit in the ARBSTS/
BRBSTS register should first be cleared by the CPU, or a new buffer can be supplied by the CPU.
5.4.9.1
Receive Timeout in Asynchronous DMA Mode
In Asynchronous DMA mode, the only way that the CD2231 releases the ownership is by reaching
the end-of-buffer. Receive timeout, or any exceptions, do not release the ownership if end-of-buffer
condition is not met. The following illustrates recommended procedures to handle a receive
timeout in Asynchronous DMA mode.
Scenario 1: Buffer A is currently selected, receive timeout occurs, host wants to continue on.
Recommendation: Do nothing in the receive timeout interrupt service routine.
Scenario 2: Buffer A is currently selected, receive timeout occurs, host no longer requires DMA.
Recommendation: Reset ownership bits in ARBSTS/BRBSTS, and set TermBuff in REOIR in the
receive timeout interrupt service routine.
Scenario 3: Buffer A is currently used, receive timeout occurs, host wants to start DMA in Buffer
B.
Recommendation: Set TermBuff in REOIR in the receive timeout interrupt service routine. The
CD2231 switches to Buffer B.
Note: When a receive timeout occurs in Buffer B, the CD2231 pops back to Buffer A, unless the host
clears both Ownership Status bits.
The above scenarios applies if Buffer B is selected first.
5.4.9.2
Receive Bus Errors
When a receive bus error interrupt is generated, the RISR and ARBSTS/BRBSTS registers indicate
a bus error status. The current transfer address is available in RCBADR[0–3], the bus error
occurred on the last transfer that started at this address. This means that the actual error address can
be up to 16 bytes further in the buffer.
Following a bus-error condition, the CPU can either discontinue the current buffer or retry from the
start of the last transfer. If the buffer is to be discontinued, the number of valid receive bytes can be
calculated by subtracting the starting address A/BRBADR[0–3] from the current address
RCBADR[0–3]. The CPU should set the TermBuff bit in REOIR to terminate this buffer and move
to the next.
The transfer that failed to the first buffer, due to the bus error, is still in the receive FIFO and is
transferred to the next buffer following the end of interrupt.
56
Datasheet