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
Page 41
42
Page 42
43
Page 43
44
Page 44
45
Page 45
46
Page 46
47
Page 47
48
Page 48
49
Page 49
50
Page 50
51
52
53
54
55
56
57
58
59
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 50/178

Download datasheet (3Mb)Embed
PrevNext
CD2231 — Intelligent Two-Channel LAN and WAN Communications Controller
size of the gap supplied by the host is sufficient to fill or complete the current buffer, the CD2231
automatically switches to the other buffer and advances the Receive Current Buffer Address
enough to complete the desired gap. The CD2231 readjusts data alignment in its internal FIFO as
needed to maintain alignment with the external buffer.
Receiver A and B Buffers
In
Figure
8, buffers A and B are contained in RAM external to the CD2231. All others
(DMABSTS, ARBADR, ARBCNT, ARBSTS, RCBADR, BRBADR, BRBCNT, and BRBSTS)
are inside the CD2231.
Figure 8. Receiver A and B Buffers
CD2231 Transmit
DMA Registers
ARBADR (32)
ARBCNT (16)
ARBSTS (8)
(Status register)
RCBADR (32)
(Currently using Buffer A)
BRBADR (32)
BRBCNT (16)
BRBSTS (8)
(Status register)
NOTE: Number of bits in each register is shown in parentheses ( ).
Buffer A and Buffer B do not need to be the same length.
Example 1
Receive a frame from channel 1, no chaining.
1. The host must first make a receive buffer available before a frame can be received. Thus, the
host checks the Nrbuf bit in the DMABSTS register for channel 1 to determine which buffer is
next. In this example, Nrbuf is set to ‘0’, indicating that Buffer A is used next.
2. The host sets up the starting address — ARBADR, and the buffer byte count — ARBCNT.
When the host writes the count — ARBCNT, the host has defined the size limit for the buffer.
3. The host then gives the buffer to the CD2231 by setting the 2231own bit in the status register
— ARBSTS. This notifies the CD2231 that it is now alright to write received.
4. The Rbusy bit (DMABSTS[0]) for channel 1 is ‘0’ until a frame starts to be received. When
frame data starts coming in, the CD2231 sets Rbusy to notify the host that Buffer B is next. As
data bytes are written into the buffer, the current buffer pointer, RCBADR, is updated by the
CD2231.
5. At the end of the received frame, the CD2231 tests for correct end of frame delimiter and
CRC. When the received frame is complete, the CD2231 clears the Rbusy bit. In this example,
there is no receive chaining, so the received frame byte count is less than or equal to the buffer
50
Physical
Memory
Starting Address
Receiver
Buffer Byte Count
Buffer
Current Address
Starting Address
Receiver
Buffer Byte Count
Buffer
A
B
Datasheet