Еще один "Специалист" в Proteus

Обсуждение советского компьютера Фахiвець / Специалист и его развитие

Moderator: Lavr

User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Еще один "Специалист" в Proteus

Post by fifan »

Не большой фотоотчёт. Перепаял на новый холдер резисторы, подвёл питание, цепи проверил по схеме. Скажу сразу добиться работы SD контроллера не удаётся.

На первом фото - по директиве X должен быть переход в RAMFOS, экран становится синим, комп зависает.
Image

на втором фото - по директиве U загораются два светодиода, надпись на экране - инициализация.
Image

на третьем фото - если вытащить карту, то высвечивается соответствующая надпись. Если вставить карту - инициализация.
Image
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Еще один "Специалист" в Proteus

Post by fifan »

Так как симуляция этой схемы также проверялось в Протеусе, то я продолжаю писать в эту тему. Вот исправленная мною схема SD интерфейса, собранного на плате Специалиста_МХ2. SD холдер и резисторы преобразователей уровня и подтяжки распаяны на монтажном поле, это кстати видно на фотографиях.

Image
Last edited by fifan on 12 Feb 2017 08:19, edited 2 times in total.
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Еще один "Специалист" в Proteus

Post by fifan »

Схему заменил. С моего сайта.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Еще один "Специалист" в Proteus

Post by PVV »

Повторять то, что я писал в теме о подключении SD к РК86 я не буду, а продолжу проработку подключения SD интерфейса применительно к 'Специалисту' здесь. Подключение SD на шину данных ПК весьма скоростное, но это же и делает проблемы... длительность сигнала WR очень маленькая, особенно это создает проблемы при малых частотах тактирования SD в момент начальной инициализации, и тот 'фокус', который сработал в РК86, здесь не проходит. WR нужно удлинить, и сформировать в нужный момент относительно CLK для записи в сдвиговый регистр, но к тому времени, как этот новый сигнал записи будет сформирован, на шине данных данных то уже не будет... процессор ведь дальше работает... значит эти данные нужно где-то запомнить - пришлось добавить еще и регистр на запоминание того, что же мы пишем в сдвиговый регистр. В процессе отработки увидел, что ТМ7 здесь лишняя, а формирование CLK_SD карты можно сделать гораздо проще, на основе уже имеющихся в схеме сигналов и возможностей самой ИР9.
во общем, вот такая схема у меня получилась на этот момент -
Такой вариант схемы должен работать независимо от процессорного такта. На 1ю ножку U16 надо подавать 2.5Мгц, меньше нельзя, тк в текущей версии sd_dos нет анализа состояния сигнала busy и при меньших частотах происходит 'переполнение запросов' на запись на этапе начальной инициализации.
'В железе' я эту схему еще не повторял, но планирую это сделать...
You do not have the required permissions to view the files attached to this post.
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Еще один "Специалист" в Proteus

Post by Error404 »

А насколько необходим этап начальной инициализации (ЕМНИП 400кгц? растущие еще из ММС) с современными картами SD, тактирование которых в UHS режиме в "больших устройствах" уже идет на сотни(!) мегагерц? Спрашиваю сугубо из соображений того, что схему можно было бы на треть уменьшить, будь это требование инициализации пережитком. В ПЛИС то понятно что пофиг, а вот кому на рассыпухе собирать - имеет смысл сократить кусок.
Всем добра!
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Еще один "Специалист" в Proteus

Post by jdigreze »

На мою "старческую" память, даже старые эСДишки "заводились" на мегагерце.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Еще один "Специалист" в Proteus

Post by PVV »

Error404 wrote:А насколько необходим этап начальной инициализации (ЕМНИП 400кгц? растущие еще из ММС) с современными картами SD...
В своих экспериментах я делал инициализацию на 2 и 2.5Мгц, как минимум с двумя картами microSD на 2ГБ и с одной картой microSD на 512МБ, все работало без проблем, так что вполне можно упростить схему и не делать переключение скорости, однако, а что мы экономим? один корпус ЛЕ1? В схеме выше есть 'глупость' - регистр-защелка для данных - ИР23 перед ИР9 - зачем?, и никто меня не поправил, в ИР9 ведь эта защелка и так есть, так что ИР23 лишняя... вот это упрощение нужное. Если постараться и перейти на диодную логику кое-где, то, вероятно, можно выбросить еще один корпус ЛА3, с заменой ЛН2 на ЛН1, но вряд ли это будет оправданное упрощение.
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Еще один "Специалист" в Proteus

Post by Error404 »

А что скажете на счет 1533ИР24 или ее аналога 74ALS299?
http://www.datasheet-pdf.ru/1533/1533pdf/1533IR24.pdf
http://www.farnell.com/datasheets/7830.pdf

Микросхема как будто спецом создана для SPI (объединяет в себе оба куска: serial-to-parallel и parallel-to-serial) и к ней остается только добавить схему тактирования и дешифратор выборки. SD-карта при этом обоими ножками MISO/MOSI поключается к ИР24 (к выводам 8/17 и 11/18 в зависимости от направления сдвига), и шина ПК тоже непосредственно подключается к ИР24 (там есть режим параллельного двунаправленного обмена с регистром сдвига - с защелкой и Z-состоянием), сдвиг делаем только в одну сторону (микра умеет в обе), остальное решатся драйвером на хосте.

Микруха вполне себе продается, в наличии, стоит порядка 10 рублей (15центов).
Контроллер сразу вдвое проще станет.
Всем добра!
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Еще один "Специалист" в Proteus

Post by PVV »

Никогда раньше с ИР24 дела не имел, да и сейчас глянул на страничке магазина у меня под боком, ее нет, ну да ладно... Судя по даташиту ее можно применить, надо подумать. Только она заменит ИР8 и ИР9, а вот ее обвязка не факт, что уменьшится, и выгоды в корпусах не будет. Однако, если отказаться от чтения сигналов занятости и наличия карты(что я сделал в РК86), используя ее выход с Z состоянием, то можно выбросить две КП11, а это уже существеннее, даже просто заменив ИР8 на ИР24 в нынешней схеме.

PS: to Shaos может обсуждение аппаратной реализации SD интерфейса вынести в отдельную тему? или можно здесь продолжать?
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Еще один "Специалист" в Proteus

Post by newold86 »

Error404 wrote:А насколько необходим этап начальной инициализации (ЕМНИП 400кгц? растущие еще из ММС)
С какого-то момента я вообще перестал париться с пониженной частотой инициализации, хотя на FPGA это реализовывается парой лишних строчек. У меня SD карты даже первого поколения инициализируются и работают толи на 10, толи на 20 МГц (смотреть лень, а точно уже забыл).
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Еще один "Специалист" в Proteus

Post by fifan »

PVV, не мог бы ты выложить откомпилированный файл твоей SDDOS под режим Стандарт Специалиста_МХ2? Адреса интерфейса:
SPIData equ #f010 ; /U3 для режима STD Специалиста_МХ2
SPICtrl equ #f011 ; /U3 для режима STD Специалиста_МХ2

Хочу встроить в прошивку Специалиста_МХ2 для работы с RKS файлами.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Еще один "Специалист" в Proteus

Post by PVV »

Посмотрел я, что можно сделать с ИР24- применить ее можно, но не по 'полной'. ИР24 регистр синхронный, а у нас сигнал записи асинхронный по отношению к CLK, так что применить ИР24 в передающей части весьма проблематично, а вот поставить его в приемной части можно, использовав его возможность по отключению выходной шины в Z состояние, соотв можно исключить из схемы две КП11 при использовании этой схемы с sddos. Замечу, что изначально я делал аналог SD интерфейса для СпециалистMX2, а там эти КП11(по крайней мере одна точно) нужны для чтения состояния busy в частности. В принципе можно и в такой схеме сигнал busy 'вытащить' - посадить элемент с ОК на D6, который будет в нуле когда идет чтение SD, А0=1 и активен busy, но это опять получится дополнительный корпус мс, а речь то идет об уменьшении корпусов, как я понимаю.
Подытожу - при использовании ИР24 можно уменьшить всю схему SD интерфейса с 12 до 10 корпусов, при не ухудшении возможностей интерфейса при работе с sddos, но с ограничениями для LoaderV5 Специалист_а_MX2(нужно подтянуть шину D6 и D7 к +, ну и работать с тактовой от 2Мгц только и там и там).
схема подключения ИР24 во вложении.

to fifan - нужна информация,с каких адресов размещать sddos и буфер для fat?
You do not have the required permissions to view the files attached to this post.
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Еще один "Специалист" в Proteus

Post by Error404 »

PVV wrote: ИР24 регистр синхронный, а у нас сигнал записи асинхронный по отношению к CLK, так что применить ИР24 в передающей части весьма проблематично
А можешь подробнее пояснить что тут имеется ввиду. А то я в схемотехнике не самый дока, может что-то упускаю. Я вот тут накидал как мне видится универсальный вариант (естессно безо всяких моделирований). В нем прием и отправка последовательного пакета не завязаны на чтение и запись хостом в саму ИР24 (это отдельная команда), а делается по соседнему порту. Может тут не будет проблемы с асинхронным CLK?

В полном варианте схемы 9 корпусов с полным дешифратором (2 корпуса, в принципе у кого-то сократится на уже имеющийся) и 2 чипа на регистр выбирающий длину пакета и SPI-устройство от одного до трех (регистр дает выбрать длину пакета менее 8 бит, чтобы подключать устройства с пакетом не кратным 8 битам, например SPI-часы и датчики почти все такие). Если ограничиться только одной SD-картой (и на ИЕ7 фиксированно поставить предустановку в 7 ) и условно выкинуть дешифратор портов, то в контроллере остается 5 корпусов (против 10 в варианте с двумя регистрами - там же тоже нет дешифратора?).
Image

ЗЫ. Какой нормальный редактор схем есть с библиотекой по ГОСТу, а не только с ужасными импортными безликими элементами?

Upd. Поправил схему - чуть оптимизировал и на освободившихся элементах и разряде регистра управления ТМ9 сделал селектор скорости тактирования. Подпрограмму spi_sel надо переписать - инициализацию ИЕ7 (холостой прогон клоков чтобы сработал перенос и защелка предустановки из регистра) делать при невыбранных устройствах, но 2 лишние строчки кода не лезли в катинку. :)
Last edited by Error404 on 03 Mar 2017 07:54, edited 1 time in total.
Всем добра!
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Еще один "Специалист" в Proteus

Post by PVV »

Error404 wrote:
PVV wrote: ИР24 регистр синхронный, а у нас сигнал записи асинхронный по отношению к CLK, так что применить ИР24 в передающей части весьма проблематично
А можешь подробнее пояснить что тут имеется ввиду.
Синхронный в данном случае, имеется ввиду, что надо установить на входах S0 и S1 режим записи с шины данных, а затем дождаться положительного перепада на входе CLK, только тогда произойдет сама запись, те синхронно. Как пример синхронного регистра - ИР10, а почти такой же ИР9 это асинхронный, те защелкивание у него происходит как только дергаем PL, вне зависимости от состояния CLK входа, чем я и пользуюсь в своей схеме.
В схеме выше, похоже, организована цепи 'дерганья' CLK при установке режима записи, так что, возможно, это будет работать. Надо в протеусе моделировать, ничего сложного в нем нет, надо лишь захотеть в нем работать.

ЗЫ по ГОСТовским библиотекам подсказать не могу, раньше в OrCad были свои, самосозданные, сейчас Altium, у него они есть, но не пользуюсь, устраивают 'буржуйские'.
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Еще один "Специалист" в Proteus

Post by Error404 »

PVV wrote: ЗЫ по ГОСТовским библиотекам подсказать не могу, раньше в OrCad были свои, самосозданные, сейчас Altium, у него они есть, но не пользуюсь, устраивают 'буржуйские'.
Я в принципе читаю схемы "на буржуйском", но мозг противится, т.к. имеет возможность сравнивать с тем что легче читается (в мозг генетически и эволюционно заложена директива выбирать менее энергозатратный способ). Обозначение элементов спецсимволами (1, & ,=1, T, СТ, DC, и т.п.) куда как нагляднее чем вогнутый краешек (тут матюгаюсь) или все на один манер кубики с однотипными же подписями на входах-выходах.
Всем добра!