Прикрутим USB-накопитель

Железо, связанное с TS-Conf

Postby Mor-Da » Mon, 18.05.2020 09:37:15

Доброго времени. Давно лежат 2 модуля на CH376.
Image
Может через UART / SPI / 8-bit parallel. Думаю пока про режим USB Mass Storage (ну удобнее мне с флэшками, чем с SD-картами).
На Amstrad CPC уже подключили - Albireo
Схема на словах - тыц ... Нарисовал...
Image
Драйвер фприцыпе не нужен. Общение через порты: #FE81 - статус, #FE80 - данные. Можно другие назначить, чтобы все правильно было.
Параллельное подключение я еще может и осилю, а на SPI уже скила на хватит.
Взываю к Великому и Ужасному TSL, может его заинтересует.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Tue, 19.05.2020 16:35:26

Интересный чип. Я себе заказал, потом пощупаю. Делать на нем железку я прямо щас не готов, но теоретически, можно сделать платку в форме SD, запихиваемую в разъем SD карты.
Однако, you are strongly encouraged (не знаю, как это на отечественном) провести собственные опыты с сабжем. Рекомендую таки подключать через SPI.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Tue, 19.05.2020 19:52:27

Раз настоятельно рекомендуется, может тогда подцепить вместо 2-ой SD-карты? Бегом в репу, изучать конфу... Ох, с SPI-то у меня совсем никак.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby Mor-Da » Wed, 20.05.2020 19:17:59

Ладно. У 1-ой SD порты команд и статуса 57 и 77. А у 2-ой карты, что-то не нашел.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Thu, 21.05.2020 02:04:20

Те же порты, только в статус-регистре бит чипселекта номер 3 (а не 1), и полярность наоборот.
Все сигналы запараллелены кроме чипселекта.
Значения статуса:
2 (3) - не выбрано ничего,
0 (1) - выбрана карта 1,
8 (9) - выбрана карта 2.
Бит 0 - рудимент от КоЕ-контроллера, он там питание включает, в пентеве не используется.

Второй чипселект выведен на лапу фпга 62 (бывший сигнал ВГ93 WF_DE). От вгшки его надо отрезать, а на лапе вгшки оставить резистор на +5В.
И конфу надо взять из репы свежую, где эта доделка имеется.
Можно пока поиграться с первой картой, чтоб не усложнять.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Thu, 21.05.2020 21:40:05

Про SPI mode: поддерживает только 0 и 3.
Про скорость:
● Supply 8-bit passive parallel interface with 2MB speed, support parallel data bus connect to MCU.
● Supply SPI device interface with 2MB/24MHz speed, support SPI serial bus connect to MCU.
● Supply asynchronism serial interface up to 3Mbps speed, support serial interface connect to MCU, support
automatically adjust communication baud-rate.
По UARTу не так уж и медленно, около 380КБ/с.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby Mor-Da » Mon, 15.06.2020 21:29:18

Вообще не укладывается в голове, как подключить через SD (SPI), чтобы платой через код порулить. Через Ардуину не хочу.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Mon, 15.06.2020 22:25:47

Распиши подробно, списком, что не укладывается.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Tue, 16.06.2020 07:39:06

1. Подключение. Для самого простого варианта (чтоб уже что-то начать кодить) цепляемся к SD.
Смотрим схему zxevo -> CH376 board: /SDCS -> D3/SCS, SDCLK -> D5/SCK, SDDO (MOSI) -> D6/SDI, SDDI (MISO) -> D7/SDO.
Сигнал прерывания, генерируемый платкой CH376, использовать не будем, состояние будем считывать.
Ну и 5V взять откуда-нибудь поблизости.
2. Если верно подключение, загрузится-ли WC с SD-карты, не будет-ли конфликтов?
3. Если все-ж случилось, доступ к 376board также через порты 57 и 77?
4. Драйвер Koshi для SD он ведь не пойдет, ибо система команд совсем другая?
5. Ладно, ОК, начинаем писаь что-то своё, смотрим статью VBI "про работу в песочнице...". И вот тут, так и не нашел,
от гуру стро типа, - работая в песочнице WC не трогаем такие-то паги, а вот такие можно.
Как-то так.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Tue, 16.06.2020 16:12:22

1. OK.
2. При подключенном СН376 и СД карте одновременно будет конфликт на шине. Для СН376 нужен отдельный ~CS либо не использовать СД одновременно с ним.
Есть и другая проблема: СД карты при включении нужно переводить в режим SРI. Если ДО перехода, при неактивном ~CS будет происходить обмен на шине, карта воспримет это как команды SD (хоть и битые) и в спи не перейдет. Жизнь боль.
3. Да.
4. Так точно. Описание команд в даташите, тысячи их.
5. По пагам расписано в описании плагинов WC. Но я бы рекомендовал начать тесты из голого бейсика. Для начала прочитать скрин в экранку.

В целом, список не неподъемный. Формулируй вопросы, будем отвечать.
Кстати, девайс мне такой тоже едет. При случае, можно будет потестировать.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Tue, 16.06.2020 21:35:40

По п.2, идея вообще уйти от SD, но если есть любители, то SD прикручивается к CH376, и драйвер будет общий. Koshi это всё должно дико понравиться.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Wed, 17.06.2020 05:18:17

Можно, но мне лично СД мне нравится больше.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby idxi » Mon, 22.06.2020 14:22:36

Похоже, что полезный должен быть девайс для zx-населения )
User avatar
idxi
 
Posts: 153
Joined: Mon, 03.07.2017 16:54:54

Postby Mor-Da » Fri, 03.07.2020 20:20:16

Подключил в параллель SD. Как и предполагалось, с подключенным модулем, WC с карты SD не загрузился, ибо на шине мусор. Начал в-затяг раскуривать драйвер Koshi, и мануалы на CH376, с китайским пока не очень. Буду дальше копаться... Присоединяйтесь, господа.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby Mor-Da » Sat, 04.07.2020 09:30:25

Опыты начались.
Code: Select all
10 OUT 119,3 /* CS - в 1
30 OUT 119,1 /* CS - в 0
50 OUT 87,5 /* HW Reset
60 PAUSE 5 /* иначе не успевает
70 OUT 87,6 /* команда CHECK_EXIST
80 OUT 87,85 /* засылаем #55 в надежде получить #AA
90 PRINT IN 87
100 PRINT IN 87
110 PRINT IN 87
120 PRINT IN 87
130 PRINT IN 87
900 OUT 119,3 /* CS - в 1

Получаем:
Code: Select all
134
170 /* Бинго! Вот заветные #AA
255
255
255

Как не пробовал, отдает только вторым байтом. Если слать #AA, то #55 конечно получаем, но все остальное так...
Code: Select all
6
85
127
127
127

Что-то с особенностями реализации в FPGA фейса SPI. Еще нужно по задержкам смотреть, где-то 35uS требуется, где-то 50uS, где-то 200uS. Реализовывать в бэйсике это уж больно проблематично.
Командой 15H (SET_USB_MODE) точно зажег светодиод на плате.
Считать инфу о флэшке (RD_USB_DATA0) - пока не дошел.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Sat, 04.07.2020 21:49:41

uS это в 100 раз меньше того, что проходит между командами бейсика.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Sat, 04.07.2020 22:16:23

Сорян, конечно mS. Сути не меняет, не представляю как продолжать на бэйсике эксперименты без сохранения на носителе. Каждый раз по новой набирать... SD-то не фурычит. Я ф лёхком тупике.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Sun, 05.07.2020 15:28:27

Подключить компорт и примаунтить ТРД с него. Кодить на РС.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Sun, 05.07.2020 21:26:20

Как примаунтить-то без WC?
Как-то все таки надо иначе подключать модуль, без SD как без рук.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Sun, 05.07.2020 22:40:22

Первый раз грузишься с сд, маунтишь компорт, потом сд не нужно.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Sun, 05.07.2020 23:17:41

Но мы ж не можем на горячую присоединять и отсоединять модуль CH376. Погорит все на фиг.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Sun, 05.07.2020 23:20:21

Можем.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Sun, 05.07.2020 23:23:05

Мне кажется достаточно коммутировать на модуль только MISO, все остальное не должно повлиять на успех загрузки с SD.
User avatar
Mor-Da
 
Posts: 351
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Sun, 05.07.2020 23:42:09

Недостаточно. ~SS уже тогда.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Mon, 06.07.2020 05:18:09

Да, работает.
photo_2020-07-06_05-10-16.jpg

Вот такой удлиннитель:
.png.jpg

Припаял вот так:
photo_2020-07-06_05-10-12.jpg

Культурно заталдыкнул в корпус:
photo_2020-07-06_05-10-09.jpg

И подключил:
photo_2020-07-06_05-10-06.jpg

Еще снизу коряво коротнул ~RD и ~WR на 0, чтоб детектило SPI.
Конечно, 3.3В с разъема сдкарты после 1117 превращаются в 2.4В, и девайс нихера не работает. Поэтому 5В надо брать снаружи. Жизнь боль.
User avatar
TS-Labs
 
Posts: 5337
Joined: Thu, 26.07.2012 01:29:56

Next

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

x