Rev 50 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3 | lvd | 1 | Спецификация на сетевую карту для zx-bus |
2 | |||
3 | wiznet W5300, подключенный пространством регистров на память Z80 (вместо ROM). |
||
4 | Используется возможность zx-bus подменять ROM на устройство ZX-BUS. |
||
5 | |||
6 | |||
4 | lvd | 7 | программный интерфейс: |
8 | |||
9 | |||
12 | lvd | 10 | ========================================================================================================== |
11 | Базовый адрес (младшие 8 бит): #AB |
||
6 | lvd | 12 | |
32 | lvd | 13 | Порты #00AB..#7FAB -- либо регистр данных sl811 (для возможности использовать |
14 | INIR/OTIR -- предекремент B), либо часть регистрового пространства w5300 (определяется |
||
15 | битом w5300_ports). |
||
6 | lvd | 16 | |
32 | lvd | 17 | #80AB - регистр адреса sl811 (LD BC,#80AB: OUT (C),reg: INIR/OTIR). НЕДОСТУПЕН, |
18 | если w5300_ports=1. |
||
6 | lvd | 19 | |
12 | lvd | 20 | #83AB, #82AB, #81AB -- управляющие регистры карты. |
6 | lvd | 21 | |
22 | |||
12 | lvd | 23 | ========================================================================================================== |
22 | lvd | 24 | #83AB (порт управления прерываниями и сбросом): |
9 | lvd | 25 | |
12 | lvd | 26 | бит 0,ro: 1 -- установлен сигнал /INT от w5300 (/INT=0) |
27 | |||
9 | lvd | 28 | |
12 | lvd | 29 | бит 1,ro: 1 -- установлен сигнал INTRQ от sl811 (INTRQ=1) |
30 | |||
9 | lvd | 31 | |
12 | lvd | 32 | бит 2,rw: 1 -- сигнал /INT от w5300 участвует в формировании внутреннего сигнала прерывания |
33 | |||
34 | |||
9 | lvd | 35 | |
12 | lvd | 36 | бит 3,rw: 1 -- сигнал INTRQ от sl811 участвует в формировании внутреннего сигнала прерывания |
37 | |||
38 | |||
9 | lvd | 39 | |
22 | lvd | 40 | бит 4,rw: управление сбросом w5300: |
41 | |||
42 | 1 -- не установлен |
||
43 | |||
9 | lvd | 44 | |
22 | lvd | 45 | бит 5,rw: управление сбросом sl811: |
46 | |||
47 | 1 -- не установлен |
||
48 | |||
49 | |||
12 | lvd | 50 | бит 6,rw: 1 -- внутренний сигнал прерывания формирует /INT на zx-bus (устанавливает в 0) |
51 | |||
52 | |||
9 | lvd | 53 | |
12 | lvd | 54 | бит 7,ro: состояние внутреннего сигнала прерывания: |
55 | |||
56 | 1 -- есть сигнал |
||
9 | lvd | 57 | |
58 | |||
12 | lvd | 59 | ========================================================================================================== |
60 | #82AB (порт управления w5300): |
||
9 | lvd | 61 | |
12 | lvd | 62 | биты 0..1,rw: область адресного пространства zxbus, где происходит маппинг ROM на регистры w5300: |
63 | 2'b00 -- #0000..#3FFF |
||
64 | 2'b01 -- #4000..#7FFF |
||
65 | 2'b10 -- #8000..#BFFF |
||
66 | 2'b11 -- #C000..#FFFF |
||
67 | 2'b00 после сброса. Для клонов, которые позволяют иметь ROM только в #0000..#3FFF, |
||
68 | устанавливать в 2'b00. |
||
9 | lvd | 69 | |
12 | lvd | 70 | бит 2,rw: 1 -- разрешить подстановку регистров w5300 вместо ROM |
71 | |||
72 | |||
9 | lvd | 73 | |
12 | lvd | 74 | бит 3,rw: 1 -- производить инверсию A0 на w5300 |
75 | |||
76 | |||
77 | |||
32 | lvd | 78 | бит 4,rw: 1 -- подстановка адресного пространства w5300 в порты #00AB..#7FAB. |
79 | при этом регистр данных sl811 в этих портах недоступен. |
||
80 | применяется для работы в w5300 в indirect mode. |
||
81 | |||
12 | lvd | 82 | |
32 | lvd | 83 | ВНИМАНИЕ: биты 2 и 4 этого порта не могут одновременно быть в 1. |
12 | lvd | 84 | |
32 | lvd | 85 | биты 5..7,rw: старшие 3 бита адреса w5300 при обращении к ней через порты #00AB..#7FAB. |
86 | при этом младшая часть формируется из битов 14..8 адреса порта, бит 0 |
||
50 | lvd | 87 | адреса w5300 опционально инвертируется, в зависимости от бита 3 данного |
32 | lvd | 88 | порта. |
89 | |||
90 | |||
12 | lvd | 91 | ========================================================================================================== |
92 | #81AB (порт управления sl811): |
||
93 | |||
94 | бит 0,rw: управление сигналом M/S sl811: |
||
95 | |||
96 | 1 -- M/S=1 (девайс) |
||
48 | lvd | 97 | 1 после сброса компьютера, сброс sl811 битом 5 порта $83AB на |
98 | этот сигнал не влияет (его можно переключать под сбросом sl811). |
||
22 | lvd | 99 | сигнал M/S также управляет подачей питания на УСБ-разъём: |
100 | |||
101 | 1 -- питание отсутствует. |
||
12 | lvd | 102 | |
22 | lvd | 103 | бит 1,ro: наличие 5в питания на УСБ-разъёме. Имеет смысл проверять ТОЛЬКО когда M/S=1 |
104 | и sl811 под сбросом, чтоб определить, подключены ли мы к хосту или к девайсу. |
||
12 | lvd | 105 | |
22 | lvd | 106 | биты 2..7: не используются, при чтении игнорировать, при записи устанавливать в 0 |
12 | lvd | 107 | |
108 | |||
109 | |||
110 | |||
111 | |||
112 | |||
113 | |||
114 | |||
115 | |||
4 | lvd | 116 | адресное пространство w5300 мапится в пространство zx-bus ROM 16k так: |
117 | |||
118 | zx-bus ROM | w5300 |
||
119 | ------------+----------------------------- |
||
14 | dimkam | 120 | #0000-#1FFF | повторение 8 раз |
121 | | неизменного адресного пр-ва |
||
122 | | w5300 размером #400 байт |
||
4 | lvd | 123 | ------------+----------------------------- |
124 | ------------+----------------------------- |
||
14 | dimkam | 125 | #2000-#21FF | повторение 256 раз регистров |
126 | | w5300 с адресами #22E,#22F |
||
127 | | (socket 0 TX FIFO register) |
||
4 | lvd | 128 | ------------+----------------------------- |
129 | #2200-#23FF | повторение 256 раз регистров |
||
130 | | w5300 с адресами #26E,#26F |
||
131 | | (socket 1 TX FIFO register) |
||
132 | ------------+----------------------------- |
||
14 | dimkam | 133 | #2400-#25FF | повторение 256 раз регистров |
134 | | w5300 с адресами #2AE,#2AF |
||
135 | | (socket 2 TX FIFO register) |
||
4 | lvd | 136 | ------------+----------------------------- |
137 | #2600-#27FF | повторение 256 раз регистров |
||
138 | | w5300 с адресами #2EE,#2EF |
||
139 | | (socket 3 TX FIFO register) |
||
140 | ------------+----------------------------- |
||
14 | dimkam | 141 | #2800-#29FF | повторение 256 раз регистров |
142 | | w5300 с адресами #32E,#32F |
||
143 | | (socket 4 TX FIFO register) |
||
4 | lvd | 144 | ------------+----------------------------- |
145 | #2A00-#2BFF | повторение 256 раз регистров |
||
146 | | w5300 с адресами #36E,#36F |
||
147 | | (socket 5 TX FIFO register) |
||
148 | ------------+----------------------------- |
||
14 | dimkam | 149 | #2C00-#2DFF | повторение 256 раз регистров |
150 | | w5300 с адресами #3AE,#3AF |
||
151 | | (socket 6 TX FIFO register) |
||
4 | lvd | 152 | ------------+----------------------------- |
153 | #2E00-#2FFF | повторение 256 раз регистров |
||
154 | | w5300 с адресами #3EE,#3EF |
||
155 | | (socket 7 TX FIFO register) |
||
156 | ------------+----------------------------- |
||
157 | ------------+----------------------------- |
||
14 | dimkam | 158 | #3000-#31FF | повторение 256 раз регистров |
159 | | w5300 с адресами #230,#231 |
||
160 | | (socket 0 RX FIFO register) |
||
4 | lvd | 161 | ------------+----------------------------- |
162 | #3200-#33FF | повторение 256 раз регистров |
||
163 | | w5300 с адресами #270,#271 |
||
164 | | (socket 1 RX FIFO register) |
||
165 | ------------+----------------------------- |
||
14 | dimkam | 166 | #3400-#35FF | повторение 256 раз регистров |
167 | | w5300 с адресами #2B0,#2B1 |
||
168 | | (socket 2 RX FIFO register) |
||
4 | lvd | 169 | ------------+----------------------------- |
170 | #3600-#37FF | повторение 256 раз регистров |
||
171 | | w5300 с адресами #2F0,#2F1 |
||
172 | | (socket 3 RX FIFO register) |
||
173 | ------------+----------------------------- |
||
14 | dimkam | 174 | #3800-#39FF | повторение 256 раз регистров |
175 | | w5300 с адресами #330,#331 |
||
176 | | (socket 4 RX FIFO register) |
||
4 | lvd | 177 | ------------+----------------------------- |
178 | #3A00-#3BFF | повторение 256 раз регистров |
||
179 | | w5300 с адресами #370,#371 |
||
180 | | (socket 5 RX FIFO register) |
||
181 | ------------+----------------------------- |
||
14 | dimkam | 182 | #3C00-#3DFF | повторение 256 раз регистров |
183 | | w5300 с адресами #3B0,#3B1 |
||
184 | | (socket 6 RX FIFO register) |
||
4 | lvd | 185 | ------------+----------------------------- |
186 | #3E00-#3FFF | повторение 256 раз регистров |
||
187 | | w5300 с адресами #3F0,#3F1 |
||
188 | | (socket 7 RX FIFO register) |
||
189 | ------------+----------------------------- |
||
7 | lvd | 190 | |
191 | |||
192 | логика преобразования адресов: |
||
193 | |||
194 | если za[13]=0, то wa[9..1]=za[9..1] |
||
195 | |||
196 | если za[13:12]=10, то: |
||
197 | { 22e, 26e, 2ae, 2ee, 32e, 36e, 3ae, 3ee} |
||
198 | {2000,2200,2400,2600,2800,2a00,2c00,2e00} |
||
199 | |||
200 | wa[9]=1 |
||
201 | wa[8:6]=za[11:9] |
||
202 | wa[5:1]=10111 |
||
203 | |||
204 | если za[13:12]=11, то: |
||
205 | { 230, 270, 2b0, 2f0, 330, 370, 3b0, 3f0} |
||
206 | {3000,3200,3400,3600,3800,3a00,3c00,3e00} |
||
207 | |||
208 | wa[9]=1 |
||
209 | wa[8:6]=za[11:9] |
||
210 | wa[5:1]=11000 |
||
211 |