Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » ISA-8 контроллер SD карт (XT-SD) |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 декабря 2017 14:42 Сообщение отредактировано: 10 декабря 2017 20:23
В принципе, проблемы как таковой нет. Есть XT-IDE и есть китай-переходники IDE->SD. Вот и все что нужно для работы с SD-картой на XT. У меня оно так и работает. Но решил сделать отдельную железку. Не то, что бы офигеть как надо, скорее просто нужно было куда-то утилизировать валяющуюся CPLD EPM3032 уже лет 5 как. Суть идеи проста - разгрузить процессор от ногодрыга, переложив это в CPLD. Байт в порт послали - он последовательно выдался на SPI. Из порта прочитали уже готовый байт. На плате мы видим 2 (две) микросхемы - это 1533ИД7 в роли дешифратора порта и, собственно, CPLD EPM3032ALC44-10. Это вообщем то и все. Есть еще линейный стабилизатор 1117 (5в -> 3.3в) и немножко рассыпухи из блокировочных конденсаторов и пары-тройки сопротивлений на подтяжку SPI. В порт данных пишутся или читаются данные. Порт управления и статуса объединен. При записи используются только 3 младших бита - бит 0 - установка скорости SPI, бит 1 - выбор CS, бит 2 - выбор CS2 или управление светодиодом. При чтении этого порта в 6 бите есть признак занятости BUSY (если CPLD сдвигает байт). В бите 7 есть признак наличия карты INSERT. В качестве софта пока выступает слегка модифицированный драйвер SDPP . Железяка проверена на Поиск-2, 386, Pentium 1. Полет нормальный. |
IdeaFix |
NEW! Сообщение отправлено: 10 декабря 2017 15:21
У меня есть кучка адаптеров "толстых" с CF на SD - ни с одной не смог загрузиться SD карты разные, от 16MB. Кстати, а реально ли сделать не массовую реплику SCSI2SD дешевле оригинала? |
Сейчас на форуме |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
CF не люблю, потому что цены какие-то нереальные. И не пользую. Да и вообще зачем переходник CF -> SD, если и то и то - флешка? Где вы CF этот взяли в качестве интерфейса? А XT-IDE, что в Поиске, что в XT прекрасно работает у меня с такого типа переходником: https://ru.aliexpress.com/item...eLevelAB=0 |
IdeaFix |
NEW! Сообщение отправлено: 10 декабря 2017 18:34
Tronix У меня переходники несколько иные. Уж не помню откуда достались, но их много и по прямому назначению они бесполезны, ибо толще чем обычные CF - никуда не лезут Дешевыми CF на небольшие объёмы закупился здесь же, всё-таки пассивный переходник радует - сам могу наколотить со второго раза переходник с CF на IDE Но вот с дивайсами что по ссылке выше и с имеющимися небольшими SD (4-16MB из комплектров к старым фотикам) диск удаётся форматнуть, но не загрузиться с него нет |
Сейчас на форуме |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
В общем случае достаточно затереть нулевой сектор (MBR) нулями, например в WinHex, дальше на целевой машине (например на XT или 386 или что там у вас) делаем все как с обычным HDD - fdisk, format c:, sys a: c:. Залог успеха - не размечать флешку на винде. Размечать только на целевой машине. |
andyTh |
NEW! Сообщение отправлено: 10 декабря 2017 18:57
Это потолочная скорость обмена? Больше выжать нельзя? |
Сейчас на форуме |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
andyTh написал: Это DOS драйвер, написанный на C. Драйвер несет сам по себе высокую избыточность в необходимых телодвижениях. Плюс код на чистом C, без ассемблерных вставок. Вызов каждой процедуры это боль и страдание для 8088. Взгляните на это: Это потолочная скорость обмена?
Превращается в эту махину: ; Поэтому отвечая на вопрос - нет, это скорость скорее плинтусная, чем потолочная. Но этот драйвер позволил в кратчайшие сроки проверить просто работоспособность идеи "в целом". В дальнейшем, к карте планируется собственный BIOS, естественно на ассемблере, который будет позволять загружаться с карты, работать с ней прозрачно, и не жрать память как в случае с ДОС-драйвером. |
IdeaFix |
NEW! Сообщение отправлено: 10 декабря 2017 19:31
Даёшь NVME SSD на XT?! Ну, а если серьёзно, будет ли в дальнейшем доступно для приобретения сие устройство? |
Сейчас на форуме |
Посредственный пользователь
Advanced Member
Откуда: $pb Всего сообщений: 1469 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 4 июля 2014 |
IdeaFix написал: Я меньше 2гб в руках не держал. Что за sd-мелкие карты по объёму? SD карты разные, от 16MB |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 декабря 2017 19:58 Сообщение отредактировано: 10 декабря 2017 20:03
Посредственный пользователь написал: Реально 16 Мб. Темная эра технологий Что за sd-мелкие карты по объёму? |
IdeaFix |
NEW! Сообщение отправлено: 10 декабря 2017 20:03
Tronix Это MMC, у меня именно SD, тоже кэнон кстати. Думаю, нет смысла выкладывать фото. |
Сейчас на форуме |
andyTh |
NEW! Сообщение отправлено: 10 декабря 2017 20:07 Сообщение отредактировано: 10 декабря 2017 20:09
Это хорошо. Для одной полугипотетической поделки я планировал в качестве диска SD карточку. Скорость рассчитывал получить хотя бы на уровне ST157. Это где то 400-500к по памяти. Увидев тут 30 опечалился. Но вы подарили надежду на светлое будущее. ПыСы У меня тоже есть где то сапоповская карточка на 16 |
Сейчас на форуме |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 декабря 2017 20:23 Сообщение отредактировано: 10 декабря 2017 20:38
IdeaFix Хорошая попытка. Попробуйте ещё. Для подготовки повторной моей характеристики у Вас есть 30 дней. |
Mihail1810
Advanced Member
Откуда: Екатеринбург Всего сообщений: 1565 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 дек. 2014 |
Макетка зачетная. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Mihail1810 написал: Да, удобная. Не моя. Продается на соседнем ресурсе. Макетка зачетная. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 декабря 2017 20:50 Сообщение отредактировано: 11 декабря 2017 10:23
andyTh написал: Все зависит от того, как реализован интерфейс, и на какой машине крутится. Как сказал Tronix, используется крайне неэффективный драйвер. Кроме того: Для одной полугипотетической поделки я планировал в качестве дискаSD карточку. Скорость рассчитывал получить хотя бы на уровне ST157. Это где то 400-500к по памяти. Увидев тут 30 опечалился. - медленная машина - не максимальная тактовая частота карты - интерфейс SPI вместо полного Без особых усилий скорость поднимается в разы (на одной и той же машине). С определенными усилиями - раз в десять. Дальше - уже намного сложнее. Моя карта на стандартной XT без использования DMA дает скорость около 180 к/секунду. Скорее всего, если постараться, мою схему/софт можно запихнуть в схему Tronix'а и получить аналогичную скорость. Думаю, что при использовании машины побыстрее (типа AT286 12 MHz) можно получить скорость под 250 - 300 к/с. Я не до конца доделал работу через DMA, но то, что заработало, позволило оценить возможную скорость, на стандартной XT должно получиться около 300 к/с. Но такую схему в 32 макроячейки не запихнуть (как минимум, это не для моих способностей). Это все скорости для работы с картой по SPI. Теоретически, при работе по полному интерфейсу скорости могут быть принципиально другие, но это уже совсем другая история. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 декабря 2017 10:12 Сообщение отредактировано: 11 декабря 2017 10:18
Tronix Забавно, что если в XT CF-Lite засунуть китайский переходник CF>-->SD, то скорость получается около 150Kb/s на оригинальной IBM XT 5160 4.77MHz. В CF-Lite карточка CF (и переходник соответственно) работает в 8-битном режиме ATAPI-4. Единственная проблема, что переходник стоит 6..7$... |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
alecv Да, мне кажется 150KB/s это очень хороший результат для 4,77 MHz. Даже слишком хороший, так как граничит с теоретической скоростью шины по грубым прикидкам. Мне самому интересно проверить быстродействие моей карты. Но я пока жду плату ISA ROM Board . Сам флешку паять на плату заленился. Приедет - попробуем набросать BIOS для карточки, там и посмотрим на быстродействие. Тем более justontime любезно поделился своими наработками для своей мега-карты на MAX 10 . А, забыл еще про фишку одну - карта позволяет работать с ДВУМЯ SPI. Ну первое и основное - понятно, SD-карта. А второй SPI свободен. Сюда можно невозбранно прикрутить, например, RTC Clock DS1347 или DS1347 или любой другой SPI RTC. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 декабря 2017 11:24 Сообщение отредактировано: 11 декабря 2017 11:33
Tronix Может просто сделать "драйвер" в составе XT IDE UNIVERSAL BIOS ? Там драйвера железа выделены в отдельные модули. Но программировать придется на NASM, у него синтаксис довольно сильно отличается от MASM и надо привыкнуть. http://www.xtideuniversalbios....ontrollers |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
alecv Может быть. |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Tronix написал: Не знаю, насколько можно доверять результатам CheckIt, но у меня на Поиске с V20 показывает 366КБ/с alecv Да, мне кажется 150KB/s это очень хороший результат для 4,77 MHz. Даже слишком хороший, так как граничит с теоретической скоростью шины по грубым прикидкам http://zx-pk.ru/threads/20977-...post940183 |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Filin написал: А вот эта программа Не знаю, насколько можно доверять результатам CheckIt, но у меня на Поиске с V20 показывает 366КБ/сhttps://www.lo-tech.co.uk/wiki/DOS_Disk_Tester ? https://www.lo-tech.co.uk/downloads/benchmarks/disktest.zip |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Filin Если установлен NEC V20 и BIOS XT IDE скомпилирован с поддержкой i80188 (команды с REP INS/OUTS) то это дает очень большой прирост производительности. |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 декабря 2017 14:14 Сообщение отредактировано: 11 декабря 2017 14:14
Tronix написал: https://www.lo-tech.co.uk/wiki/DOS_Disk_Tester ?Вот. Возможно влияет контроллер накопителя, там наверняка есть механизмы кэширования. А вот эта программа |
Посредственный пользователь
Advanced Member
Откуда: $pb Всего сообщений: 1469 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 4 июля 2014 |
Filin написал: Tronix написал: насколько можно доверять результатам CheckIt https://www.lo-tech.co.uk/wiki/DOS_Disk_Tester ?Надо замутить бенчмарк для Поиска. Требование:32-40кб озу,чтоб в минимальной конфигурации запустить под досом. эта программа Даже толкого теста быстродействия нет. Ни одна прога не работает ,кроме checkit и старых pc-info/benchmark pcmag. Если развяжусь с хардвейрными траблами,то буду пробовать написать. На турбо барсике писал,а выглядело это так: Прикрепленный файл (IMG_20171204_205805.jpg, 0 байт, скачан: 31 раз) |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Кстати, после разгона CPU показатели улучшились |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 декабря 2017 13:32 Сообщение отредактировано: 16 декабря 2017 13:35
По совету newold86 избавился от необходимости постоянного контроля флага занятости через чтение статусного порта. Вместо этого в логику CPLD внесено управление линией IO CH RDY - когда происходит запись или чтение в/из порта данных, а SPI еще не сдвинул до конца биты линия IO CH RDY удерживается. Как только закончил сдвиг, линия отпускается и поехали дальше. С драйвером никаких оптимизаций не производилось, за исключением убранного за ненадобностью чтения статусного порта. Плата ISA ROM Board пока не готова, поэтому по BIOS подвижек никаких нет. Только старый драйвер на чистом Си. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Просто заменил Си-шные процедуры чтения-записи на ассемблерные вставки. |
ASL
Advanced Member
Откуда: Тверь Всего сообщений: 564 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 авг. 2015 |
А если поставить вторую 3032 и замутить на ней дешифратор в том числе и для драйвера-биоса, те будет две 3032 и пзу?. А то у меня этих 3032 штук 100 наверное есть. Могу вам бесплатно пяток выслать для экспериментов. Надеюсь прошивка будет доступна. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Можно еще CheckIt’ом скорость померить ? Я свою плату только им измерял - интересно, как показания соотносятся. Еще не совсем понятно, почему чтение медленнее записи... |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
ASL написал: Да как-то неизящно получается. Для дешифрации ROM-BIOS понадобится еще одна 1533ИД7, итого на плате будет две ИД7, 3032 и пзу. Или уж тогда надо 3064 одну брать, но они как-то мало распространены. А если поставить вторую 3032 и замутить на ней дешифратор в том числе и для драйвера-биоса, те будет две 3032 и пзу? justontime написал: Ну у меня же чтение из порта данных не инициализирует сдвиг SPI. То есть при чтении сначала нужно что-то записать в порт данных, а потом прочитать, типа так: Еще не совсем понятно, почему чтение медленнее записи... mov al,0FFh out dx,al in al,dx stosb То есть два IO - запись и чтение. При записи - только запись. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Tronix написал: Насколько я понял, была идея использовать 3032 в качестве дешифратора... Да как-то неизящно получается. Для дешифрации ROM-BIOS понадобится еще одна 1533ИД7, итого на плате будет две ИД7, 3032 и пзу. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
justontime написал: Я понял, но смысл? ИД7 подешевше и доступнее будет, чем EPM3032. Я понимаю, у ASL их много. Да можно конечно и вторую EPM поставить, я не против -) Насколько я понял, была идея использовать 3032 в качестве дешифратора... А насчет checkit - не получится пока. Драйвер досовый, он же только раздел в досе прописывает. То есть не видится системой как жесткий диск. Надо делать сдвиг при чтении. .... |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
С трудом избавился от необходимости при чтении записи в порт. Всё воскресенье проковырялся в трех строчках верилога - все нормально работает, но в какой-то момент при чтении сектора сдвигает не 8 а 7 бит и потом опять нормально, по восемь бит. Но сегодня после работы вроде победил с наскока. Сильно скорости чтения это не прибавило, но это уже скорее драйвер так написан на Си. С аппаратной точки зрения (глядя на анализатор) все работает максимально быстро. Будет BIOS на ассемблере, будут интереснее тесты. |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » ISA-8 контроллер SD карт (XT-SD) |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |