Январь 2019
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

Календарь Календарь

Последние темы
» Разработка "Радио - РК2019М".
автор alemorf Сегодня в 12:39

» Карта памяти ИРИШИ для программистов
автор barsik Сегодня в 11:20

» [ANN] RCO Rampant Coin (RCO). Криптовалюта Rampant Coin.
автор Viktor2312 Сегодня в 05:04

» Статьи, заметки, очерки, разное...
автор Viktor2312 Сегодня в 04:53

» Новинки.
автор Viktor2312 Сегодня в 04:22

» Немного о портах
автор barsik Вчера в 11:27

» ПЭВМ "АПОГЕЙ - БК01Ц".
автор alemorf Пн Янв 14 2019, 14:26

» Сборка и настройка платы Apple-II
автор barsik Пн Янв 14 2019, 13:28

» Апогей-БК01Ц: Online эмулятор
автор alemorf Пн Янв 14 2019, 10:31

» Жалобы/пожелания по работе форума
автор alemorf Пн Янв 14 2019, 10:00

» Апогей-БК01Ц: Внешнее ПЗУ
автор alemorf Пн Янв 14 2019, 09:52

» Радио-86РК: внешние видео-адаптеры
автор barsik Пн Янв 14 2019, 03:04

» Прошивки УФ-ПЗУ и РПЗУ ИРИШИ
автор Viktor2312 Вс Янв 13 2019, 12:07

» Юниор ПК ФВ 6506. Информация, докуметы, фото.
автор alemorf Вс Янв 13 2019, 02:54

» Схема блока питания В265.
автор sergey1966 Сб Янв 12 2019, 17:46

» Кратко о компьютере АГАТ
автор alemorf Пт Янв 11 2019, 10:44

» Эльф 2
автор alemorf Чт Янв 10 2019, 23:01

» Упрощаем схему Микро-80 и исправляем косяки. И собираем по технологиям 80-х годов.
автор alemorf Чт Янв 10 2019, 14:51

» ПО ИРИТЕКСТ
автор barsik Чт Янв 10 2019, 09:58

» РК86: подключение винчестера IDE (или CF-карты)
автор bug19 Ср Янв 09 2019, 05:04

» Датчики. Статьи, описания, разное...
автор Viktor2312 Ср Янв 09 2019, 02:16

» Радио-86РК: Подключение дисковода
автор barsik Пн Янв 07 2019, 01:46

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Вс Янв 06 2019, 17:22

» РК86 в роли терминала
автор barsik Пт Янв 04 2019, 17:06

» Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Янв 01 2019, 20:45

Самые активные пользователи за месяц
Viktor2312
 
barsik
 
alemorf
 
bug19
 
QUATTRO
 
san010101
 
sergey1966
 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


РК86: подключение винчестера IDE (или CF-карты)

Перейти вниз

РК86: подключение винчестера IDE (или CF-карты)

Сообщение  barsik в Вт Дек 25 2018, 12:28

К РК86 после публикации в ж.РАДИО статьи о РК-КНГМД (01.1993) стало можно подключать дисковод 5.25" с дискетами на 400 кб. Дисководы 3.5" тоже годятся, но из-за того, что РК-ДОС используют сигнал READY с таким дисководом есть некоторые сложности. Для НГМД 3.5" приходится аппаратно эмулировать сигнал READY задержкой на секунду сигнала START. Но есть более лучшее, программное решение, при котором сигнал READY программно эмулируется за счёт контроля сигнала INDEX (для чего оригинал РК-ДОС требуется чуть модифицировать).

Впоследствии выяснилось, что если РК86 немного турбировать, заменив кварц на 20 МГЦ, то быстродействия хватает, чтобы иметь на той же самой DD-дискете не 5 секторов по 512 байт, а 7 секторов (при этом кварц в КНГМД меняется с 8 МГЦ до 10.5 МГЦ) при той же или даже лучшей надёжности, что даёт формат 560 кб на DD-диск.

Программный контроллер РК-КНГМД обеспечивает скорость обмена меньший, чем КНГМД на ВГ93. Но благодаря обмену физическими, а не логическими секторами скорость обмена с диском РК-ДОС оказывается даже быстрее, чем при ВГ93 с CP/M. Это потому, что в CP/M очень тормозной обмен с дискетой. Обмен происходит логическими, а не физическими секторами.

В РК-ДОС физический сектор 512 байт читается сразу на DMA, т.е сразу попадает туда куда надо. А в CP/M физический сектор сначала считывается в дисковый буфер, а затем логический сектор в 128 байт уже медленным процессором копируется на DMA. Потому CP/M с РК-КНГМД даже при принятии всех мер ускорения работает в 2-3 раза медленнее, чем CP/M на ОРИОНЕ (или MSDOS на IBM PC).

К сожалению, в настоящее время дискеты уже давно перестали быть популярными и их выпуск прекращён 20 лет назад. С течением времени недохлых дискет становится всё меньше и меньше. С другой стороны старые IDE винчестеры стоят ныне дешевле стоимости их пересылки по почте.

Современные винчестеры, которые вращаются со скоростью 7200 rpm и более и греются как печки служат всего 3, в лучшем случае 4 года, и затем неизменно дохнут. Более старые винчестеры на 5400 rpm обычно служат 5-8 лет. У меня с 1994 уже сдохло более 10 винчестеров. Конечно возмущает столь недолгий срок эксплуатации современных винчестеров, создаётся впечатление, что это сознательное вредительство изготовителей. Хотя отчасти, вероятно это из-за повышенной скорости вращения.

Чем древнее винчестер, тем больше его срок службы. Винчестеры произведённые до середины 90-тых годов имеют ресурс в 20 лет, работая каждый день. Потому, если купить старый винчестер из 90-тых, который эксплуатировали не зверски, то он может прослужить ещё десяток лет работая каждый день.

Я в своё время подключил IDE-винчестер к ОРИОНУ используя CP/M. К сожалению, я использовал винчестер выпущенный до середины 90-тых объёмом 40 мб от ноутбука. Он оказался довольно медленным, вероятно из-за экономии энергопотребления и отсутствия кэширования. В итоге скорость обмена с винчестером получилась раза в 2 медленнее, чем обмен с DD-дискетой и в 4 раза медленнее, чем с HD-дискетой на ОРИОНЕ. В итоге, винчестер использовался лишь как архив хранения, а не для повседневного использования.

Хотя обмен с винчестером даже без использования DMA должен быть в несколько раз быстрее, чем обмен с дискетой. Это видно по подпрограмме чтения, - в дискетной подпрограмме ожидается готовность контроллера, а для винчестера этого нет, потому, чем скоростнее процессор, тем быстрее обмен.

Кстати, несмотря на то, что в РК86 есть контроллер ПДП, но он включён по извращённой схеме. Это сделано потому, что ВТ57 рассчитан на пересылки между портом и памятью. В Партнёре это сделано грамотнее, потому там второй канал ПДП была возможность использовать для ускорения обмена с КНГМД на базе ВГ93 (без DMA скоростей РК-подобной машины с тактом всего 2 МГЦ не хватило бы для DD-формата).

Так что скорее всего в РК86 не удастся задействовать ПДП для ускорения работы с винчестером и таким образом скорость обмена будет напрямую зависеть от быстродействия CPU. В любом случае скорость обмена с винчестером будет раза в два выше, чем обмен с РК-КНГМД (а при турбировании РК соответственно ещё выше).

Контроллер винчестера в моём варианте состоит из ППА и трех микросхем 1533. Если в качестве ППА использовать запасной ППА D14, то контроллер винчестера совсем прост. Это маленькая платка вертикально втыкаемая вместо ROM-диска в разъём СНП34-30. На ней стоит 3 микросхемы 1533 и разъём IDC-40, куда вставляется гибкий шлейф от винчестера.

Я уже более 10 лет не использовал контроллер винчестера на ОРИОНЕ, но исходники сохранились и странслировать любую ДОС на базе винчестера можно быстро и без хлопот. Недавно я попытался почитать в форуме ZX-PK.ru на тему винчестеров для ОРИОНА. В основном винчестер подключали также как я, используя в качестве интерфейса ППА (F500 или F600). Есть и более простая схемотехника с всего одной дополнительной TTL-микросхемой и с двумя. В моей схеме использовано 3 корпуса и хотя несложно упростить до 2-х, делать это не буду. И даже разбираться в программировании и переписывать драйверы не буду.

Есть нюанс. Простой контроллер получается лишь за счёт байтового обмена с винчестером. Винчестер может обмениваться байтами и словами (по 16 бит). Т.к это 8-ми разрядка, то при байтовом обмене программа проще и деталей меньше. Но я не знаю сохраняется ли 8-ми разрядный обмен у самых современных винчестеров. Я использовал винчестер из 90-тых. И соответственно не имею никакой статистики по использованию более современных винчестеров.

На PC винчестеры используются с 16-ти разрядным обменом в режиме DMA. Потому производители современных винчестеров в силу ненадобности в новых винчестерах могли исключить байтовый обмен, оставив только 16-ти битный. Этот вопрос надо уточнить. Винчестер лучше старый из 90-тых. Я не занимался темой IDE винчестера с прошлого века, потому в этот вопрос не вникал.

Однако остаётся вопрос о 16-ти битном обмене. Обмен с винчестером очень прост и не проблема переписать его для 16-ти разрядного обмена. При 16-ти разрядном обмене уже выгоднее поставить кучу регистров ИР22 вместо использования ППА. 16-ти разрядный обмен возможно придётся делать и вовсе не для ускорения (это ускорит, но не намного), а в случае, если в современных винчестерах уже не поддерживается 8-ми битный режим.

Вопрос. Кто нибудь знает, поддерживается ли 8-ми битный обмен во всех современных винчестерах.

CF-карта использует такой же разъём IDC-40, как и разъём от винчестера, ставится на его место и поддерживает тот же стандарта ATA. Потому без разницы применять винчестер или CF-карту. И здесь тот же вопрос, поддерживает ли CF-карта 8-ми разрядный обмен?

Для начала я собираюсь использовать РК-ДОС. Винчестер будет разбит на крошечные диски по 1 мб. Причём, я не использую стандартное разбиение на партиции. Контроллер просто физически читает и пишет сектора, какие хочет. Важно лишь знать число плоскостей, число цилиндров и секторов на цилиндр. Для форматирования в РК-ДОС сектора каталога заполняются нулями, а для CP/M каталог заполняется E5. Чтобы считать данные такого диска в PC нужно писать специальную программу, которая работает с диском на низком уровне функциями ROM-BIOS.

Для себя я сделаю версию с использование ОЗУ в 56 кб. Но и для базового РК я также сделаю версию РК-ДОС для винчестера, но ей нужно будет не менее 6 кб дополнительного ОЗУ или ПЗУ. Т.е придётся базовый РК слегка доработать, например поставить 6 кб ПЗУ где-нибудь в дырке адресного пространства портов. Например, по адресу C800...DFFF, что сохраняет совместимость, т.к адрес C000 остаётся за ВГ75.

ПЗУ для РК-ДОС удобнее, чем ОЗУ, т.к тогда отпадает ROM-диск. А в случае, если ОЗУ в РК сделано на 565 РУ5, то можно "открыть ОЗУ" в области A000...BFFF (окно 8 кб) или A800...BFFF (окно 6 кб). Если используется расширение ОЗУ, то возникает проблема откуда грузить DOS или хотя-бы откуда стартовать холодный загрузчик DOS.

Т.к ROM-диск использует запасной ППА D14 и его же использует винчестер, то надо или ставить ещё один ППА или расширять ПЗУ ROM-BIOS-а (например напайкой РФ2 в 2 этажа). Тогда холодный загрузчик, прошитый в ROM-BIOS 4 кб сможет загружать DOS в ОЗУ. ППА D14 в любом случае необходимо иметь (и не важно по какому адресу), т.к именно через него работает контроллер винчестера.


Последний раз редактировалось: barsik (Вт Дек 25 2018, 13:27), всего редактировалось 1 раз(а)

_________________
***
avatar
barsik
Мастер

Сообщения : 220
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: РК86: подключение винчестера IDE (или CF-карты)

Сообщение  alemorf в Вт Дек 25 2018, 13:25

ИМХО. CF-карты нынче бОльшая редкость, чем дискеты. И для работы с ними нужен протокол, который по сложности не отличается от SD карты.

Протокол SD карты очень прост. Вот алгоритм чтения сектора (где то мог ошибиться):

Установить CS в 0
Отправить код команды "чтение сектора" 51h, номер сектора, код 95h.
Повторять чтение, пока из SD карты читается 0xFF. Если прочиталось не 0, значит произошла ошибка.
Установить CS в 1

Установить CS в 0
Повторять чтение, пока из SD карты не прочитается 0xFE.
Прочитать 512 байт, это данные.
Прочитать 2 байта (контрольная сумма) и забыть.
Установить CS в 1

Тактовую частоту задает компьютер. Протокол обмена однобитный. Его можно программно реализовать, но это будет работать не очень быстро. Лучше поставить внешний сдвиговый регистр. Если же совсем лениво с ТТЛ связываться, то любой микроконтроллер.

alemorf
новичёк

Сообщения : 39
Дата регистрации : 2018-12-17

Посмотреть профиль http://alemorf.ru/

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Вт Дек 25 2018, 13:47

Я имел ввиду такую CF-карту, что имеет разъём винчестера. Или обычная CF-карта вставлена в переходник SPI-IDE. Которые устанавливаются в IDE-разъём на плате PC вместо гибкого шлейфа от винчестера. И полностью заменяют винчестер, также намного ускоряя обмен с диском. Есть также твёрдотельные современные винчестеры, но они дорогие. У всех этих устройств интерфейс IDE такой же как у винчестера.

IDE или ATA интерфейс это 40-ка штырьковый разъём в который подключается ленточный кабель от винчестера (есть ещё мини-ATA для винчестеров 2.5" для ноутбуков, там распайка точно та же, но 44 штырька, т.к питание подается через тот же разъём).

А Вы говорите о командах для micro-SD, которые используют совсем другой - SPI-интерфейс. У меня есть свободные micro-SD на 1 мб и 4 мб и крошечные разъёмчики, куда они втыкаются. Видел и схему контроллера, который использовал для связи с ними напрямую из 8-ми разрядки error404. Спаять несложно. Потому я пытался почитать о SPI, но ничего не понял. И потому не могу написать процедуры нужные для использования micro-SD.

Если бы у меня были подпрограммы чтения/записи сектора с micro-SD, то я бы использовал и их. Но пока у меня есть лишь мой простой контроллер IDE-винчестера и подпрограммы для его использования. Потому мне на порядки проще не трахаться, чтобы разобраться в последовательных протоколах обмена с micro-SD и не паять контроллер micro-SD, а без хлопот подключить старый винчестер.

Ещё у меня есть от дохлого ноутбука совсем маленький (винчестер 250 Гб с SATA интерфейсом). Вопрос. Его можно как нибудь использовать для 8-ми разрядки?
avatar
barsik
Мастер

Сообщения : 220
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: РК86: подключение винчестера IDE (или CF-карты)

Сообщение  bug19 в Ср Янв 09 2019, 02:22

Контроллер винчестера IDE уже существует для Суры (ПК8000), на форуме, о котором нельзя говорить. Smile
Автор сего чуда - DemonId7.

Интерфейс Суры, это подключение к ША, ШД и сигнал выбора банка (разьема), на который надо отреагировать. То есть, плата представляет из себя ПЗУ, с дополнительными портами В/В. То есть, автономное устройство, на железном уровне готовое для любой архитектуры. Разве что, содержимое ПЗУ придется адаптировать.

_________________
Электронный и иной шпионаж. Приближая мировую революцию. cat
avatar
bug19
новичёк

Сообщения : 3
Дата регистрации : 2019-01-09
Откуда : СССР

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Ср Янв 09 2019, 03:02

bug19 пишет:Контроллер винчестера IDE уже существует для Суры
Спасибо за наводку, жаль, что без ссылки. Рад появлению на форуме новых и компетентных любителей ретро техники. Попробую сегодня поискать в теме Корвета на ZX-PK информацию о контроллере IDE для Суры. Ещё бы интересно посмотреть на схемы контроллеров IDE для 8-ми разрядок с 16-ти битовым обменом.

Начал думать о 16-ти разрядном обмене. Можно затратить всего две ИР22 / ИР23. Одна ИР22 для защелки одного (младшего) байта при записи в винт, второй (старший) байт пишется в винчестер прямо с шины процессора. Можно задействовать команду работы со словами LD (port),HL. Это вероятно ускорит обмен. При чтении тоже можно читать словом. Тогда уже младший байт читается напрямую с винта, а старший байт при этом защёлкивается в регистре ИР22 и считывается отдельной командой процессора позднее.

_________________
***
avatar
barsik
Мастер

Сообщения : 220
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: РК86: подключение винчестера IDE (или CF-карты)

Сообщение  bug19 в Ср Янв 09 2019, 05:04

Вот, пожалуйста https://zx-pk.ru/threads/23229-pk8000-zagruzka-s-vneshnikh-nositelej.html

barsik пишет:
bug19 пишет:Контроллер винчестера IDE уже существует для Суры
Спасибо за наводку, жаль, что без ссылки.

_________________
Электронный и иной шпионаж. Приближая мировую революцию. cat
avatar
bug19
новичёк

Сообщения : 3
Дата регистрации : 2019-01-09
Откуда : СССР

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: РК86: подключение винчестера IDE (или CF-карты)

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения