ISA-8 SD-контроллер (SPI) на CPLD

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

ISA-8 SD-контроллер (SPI) на CPLD

Post by Tronix »

В принципе, проблемы как таковой нет. Есть XT-IDE и есть китай-переходники IDE->SD. Вот и все что нужно для работы с SD-картой на XT. У меня оно так и работает.

Когда для Поиска (первый, моноблок который) еще не было XT-IDE с разъемом СНП, была робкая попытка создания SD-контроллера с помощью микроконтроллера PIC18.

 
Image

Image

Оно даже вроде бы уже начало читать сектора, но тут подоспел XT-IDE с СНП и я забил.

Но тут недавно приглянулась мне схема, которую обсуждали на соседнем форуме от Ориона:

Image

Вот думаю, а не повторить ли на макетке?
И вопрос newold86 - не поделитесь своим исходником SD-биоса?
Last edited by Tronix on 03 Dec 2017 08:16, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by PVV »

Tronix wrote:Но тут недавно приглянулась мне схема, которую обсуждали на соседнем форуме от Ориона:
Вот думаю, а не повторить ли на макетке?
Обсуждение схемы 'там' началось здесь. SPEC_SD3.pdf это полная версия интерфейса с поддержкой переключения скорости и чтением статуса занятости передачи. Есть вариант с упрощением, в той же теме, постом выше - spec_ie10_10_SD9.pdsprj.pdf - только пониженная скорость и без контроля сигнала занятости. Для 'ретро пк' упрощенная схема вполне приемлема, но для х86 надо бы полную версию.

во вложении еще вариант 'полной' схемы, но с использованием 155ИР13 (74198), можно промоделировать замену ИР13 на ИР24, в этой схеме, тогда можно избавиться от одной из двух КП11 (74ls257), тк ИР24 может свой выход переводить в Z состояние.

Ну и само собой, всю эту рассыпуху можно в простую ПЛИС засунуть...
You do not have the required permissions to view the files attached to this post.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

PVV wrote:Обсуждение схемы 'там' началось здесь. SPEC_SD3.pdf это полная версия интерфейса с поддержкой переключения скорости и чтением статуса занятости передачи.
Спасибо. Только немного не понял, откуда берется второй клок? И как происходит чтение занятости передачи.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by PVV »

что есть второй клок? если пониженная и повышенная скорости, то стоит ИЕ19 (U7:B), с 11 и 9 ног идет 2Мгц и 0.5Мгц соотв. Сигнал занятость BUSY U8:A ножка 6. чтение ее состояния через мультиплексор U6 ножка 10.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

PVV wrote:что есть второй клок? если пониженная и повышенная скорости, то стоит ИЕ19 (U7:B), с 11 и 9 ног идет 2Мгц и 0.5Мгц соотв. Сигнал занятость BUSY U8:A ножка 6. чтение ее состояния через мультиплексор U6 ножка 10.
Да, я это имел ввиду, повышенная и пониженная скорости. А чем обусловлен выбор 7405 инверторов с ОК и подтяжками резисторами? Можно заменить на простые инверторы (для упихивания в CPLD)?
И можете сказать, что на ваш взгляд не так со схемой в первом посте? Мне она кажется попроще. Я просто не очень понимаю, как вашей схемой управлять. Что посылать для переключения скорости, что посылать для CS на карту.... Извиняюсь за дурацкие вопросы :(
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by PVV »

Tronix wrote:А чем обусловлен выбор 7405 инверторов с ОК и подтяжками резисторами? Можно заменить на простые инверторы (для упихивания в CPLD)?
Элементы с ОК использованы для удобства преобразования 5В в 3.3В для SD. fifan использовал резисторные делители и все работало, так что - без проблем можно менять.
Tronix wrote: И можете сказать, что на ваш взгляд не так со схемой в первом посте? Мне она кажется попроще. Я просто не очень понимаю, как вашей схемой управлять. Что посылать для переключения скорости, что посылать для CS на карту.... Извиняюсь за дурацкие вопросы :(
Это лишь набросок идеи, я же привел законченную схему, у меня именно она собрана. Я ее подключал к Специалисту, Галаксии, и слегка модифицированную(упрощенную) к РК-86.
В этой схеме обрабатывается CS_SD, WR и A0.
По CS_SD выбирается сам интерфейс, в зависимости от обращения по четному или не четному адресу (А0) идет работа или с портом сдвига или с портом состояния. Порт состояния содержит - главное это бит занятости SD интерфейса, те передача байта еще не завершена все остальное это 'довесок' - вставлена ли карта, на какой скорости сейчас работает карта, активирован ли SD интерфейс и состояние светодиодов :). И почти эти же биты можно записать в этот порт.
Порт сдвига же работает так - нужно просто записать данные на передачу и все. Для чтения из порта нужно вначале записать в него 0xFF, дождаться завершения (чтение бита занятости SD интерфейса), прочитать принятый байт.

здесь биты расписаны, дабы не повторяться, я на это опирался.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

Спасибо. Вроде более менее понятно. Но к сожалению, не влезла в EPM3032. А я в нее хотел уложиться - толерантна к 5В, не нужно конвертеров на ISA шину; в то же время она 3.3В - не нужно конвертеров на SD-карту. Из схемы убрал делитель клока, сделав их (клоки) внешними - все равно 36 ячеек занято из 32 возможных.

Паять на рассыпухе... Пока не нахожу в себе моральных сил + нет хитрых регистров, типа ИР9. То есть даже не из чего паять.

Попробовать все-таки схему из первого поста, выкинув дешифратор? Мож зайдет....
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by PVV »

Я с ПЛИС на 'ВЫ', так что не подскажу, но вот здесь в EPM7032SLC уместили этот SD интерфейс.
А можно на схему посмотреть внутрянки ПЛИС, если она в схемном вводе? а то может гибрид сделать ПЛИС + ИЕ5 :)
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by fifan »

PVV wrote:вот здесь в EPM7032SLC уместили этот SD интерфейс.
А можно на схему посмотреть внутрянки ПЛИС, если она в схемном вводе?
Можно. Держите. http://zx-pk.ru/attachment.php?attachme ... 1512013159
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

PVV wrote:Я с ПЛИС на 'ВЫ', так что не подскажу, но вот здесь в EPM7032SLC уместили этот SD интерфейс.
Хм, действительно лезет в 3032. Спасибо за наводку.
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by fifan »

Влезет вот этот код на vhdl - http://zx-pk.ru/threads/27418-rabota-s- ... post901946 .
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

Спасибо всем за подсказки, взял этот код, как основной: http://zx-pk.ru/threads/27418-rabota-s- ... post901946 Действительно без проблем лезет в epm3032.

Частоту хочу взять с OSC 14,31818 МГц. Убрал из кода управление зеленым светодиодом, чтобы добавить еще один бит в делитель, сократив Ctrl[3:0] до Ctrl[2:0]. Итого 14,31818 МГц должен делится на 32 для low speed и на 2 для high speed.
Интересно, на 447 KHz, вместо положенных <= 400 KHz будут инициализироваться SD-шки? Добавить еще бит в делитель не получается - не лезет.

Красный светодиод трогать не хочу, так как в планах использовать этот выход не как светодиод, а как второй CS для второго SPI устройства. Например, для SPI RTC.

Светодиод, как светодиод обращения с картой, просто через транзистор повесить на что-нибуть вроде CS карты или куда-то туда.

Попробую сегодня запаяться. Фигово, что USB бластер мой заказанный уже месяц едет и трек не чекается. Придется опять LPT колхозить, да тут еще и 3.3В... Но решаемо.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Lavr »

Tronix wrote:USB бластер мой заказанный уже месяц едет ...
Придется опять LPT колхозить, да тут еще и 3.3В... Но решаемо.
Нормально колхозится по вот этой схеме:
viewtopic.php?p=124737#p124737

И с 3.3В всё чЮдно совместимо... :kruto:

Я как наколхозил этот ByteBlasterMV, так прошиваю пока только им...
Image

Хотя и приобрел 5 штук USB-бластеров, но они так в пакетиках и лежат пока...
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Tronix »

Не, что-то прикинув решил все-таки уйти от LPT. На основном компе у меня выкидыш разъема с мамки на работе, пришлось бы ноут включать стародавний, у которого подсветка экрана мертвая. Туда-сюда бегать с флешкой.. Да ну нафиг. Сделал на основе японца с пик18f2550. Благо лежал давно пылился:

Image
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ISA-8 SD-контроллер (SPI) на дискретных элементах

Post by Lavr »

Tronix wrote:Не, что-то прикинув решил все-таки уйти от LPT. На основном компе у меня выкидыш разъема с мамки на работе...
А мне дома под Вендой 98 наоборот с LPT удобнее со старого ноута.
Пробовал на работе под ХР - тоже работает...
USB-бластер это я под Вынь7 и новый ноут купил, хотя еще не пробовал их.

Кстати, на LPT-бластер я как раз сразу заложился, если меня почта или
те же китайцы с USB-бластером динамить начнут... :wink:
iLavr