Важная информация

User Tag List

Страница 4 из 16 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 154

Тема: Гибридный электронный диск для ПРК ОРИОН

  1. #31
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уже разрисовал лейку под МГТФ'инг, хотел включать паяльник... и внезапно понял, что есть серьёзный косяк! У ВВ55'ой есть противная особенность: при установке режима она принудительно все порты, настроенные на вывод, устанавливает в лог."0". Тобишь хотим мы записать байт в RAM-диск, выдаём команду "11" (StandBy), переводим линию порта данных на вывод и у нас автоматом на ША выставляются лог."0", т.е. выдаётся команда "00" (чтение ROM-диска), т.о. получается конфликт на ШД - выходы ПЗУ подключаются к выходам ВВ55'ой.

    В результате мозгового штурма, пришёл к выводу, что проще всего немного изменить логику работы и добавить триггер защёлки команд (ТМ2). Получается плюс ещё один корпус. По фронту бита C7 будет защёлкиваться старшая часть адреса в ТМ9, а по фронту бита C8 - команда в ТМ2. При изменении режима порта принудительная установка в лог."0" даст спад, который никак не изменит состояния триггеров, следовательно режим "StandBy" не изменится и конфликта на ШД не будет.

    Схему перерисую позже и обновлю в заглавном посте.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати да, ВВ55 этим грешит конкретно. Более того, НП ЛК на этом основаны (вход по сбросу как лог.1).

  4. #33
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,441
    Спасибо Благодарностей отдано 
    192
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Схема заработала?

    ---------- Post added at 18:47 ---------- Previous post was at 18:29 ----------

    Кстати где взять DS1210? В чип и дипе и терре она по 400р.
    На алиэкспрессе по 50р, но ждать месяц.

  5. #34
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Post

    Цитата Сообщение от newart Посмотреть сообщение
    Схема заработала?
    Полная беда со свободным временем (( Пока распаял только шины питания и пару-тройку сигнальных линий:





    Семья-дети-гитаризм-халтуры-работа - это полный досвидос для хобби ((


    Цитата Сообщение от newart Посмотреть сообщение
    Кстати где взять DS1210? В чип и дипе и терре она по 400р.
    На алиэкспрессе по 50р, но ждать месяц.
    Я придушил жабу и взял по 190 руб/шт. тут - http://platan.ru/cgi-bin/qwery.pl/id=1817
    (сейчас у них уже по 210 руб)...

    А ЧиД как всегда неадекватит со своими ценами.

    П.С. если кому-то интересно, то макетка эта - http://www.radetali.ru/catalog/produ...a-dpp-50kh100/
    Последний раз редактировалось Denn; 16.12.2017 в 21:28. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #35
    Junior
    Регистрация
    04.08.2009
    Адрес
    Йошкар-Ола
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно глянуть DS1215, DS1314, DS1315...
    Первый и последний ещё и с часами (RTC)...
    Но эти, я думаю, подороже будут...

  7. #36
    Activist Аватар для Stampmaker
    Регистрация
    08.02.2015
    Адрес
    г. Санкт-Петербург
    Сообщений
    240
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    из даташита:

    NOTES:
    ...
    2. Only one battery input is required. Unused battery inputs must be grounded
    ....

    по схеме из первого поста на вывод 2 DS1210 подключена батарейка.
    а зачем при этом на вывод 7 заведено ещё 3,6в?
    ведь согласно даташиту, выв.7 должен быть подключен на землю.

  8. #37
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Stampmaker, идея в запитывании от "дежурки", т.е. от сетевого резервного питания. А батарейка на случай отключения от сети или при физическом переносе диска на другой ПК. Т.о. в конструкции задействованы оба входа резервного питания DS1210.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #38
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наконец-то удалось выделить время и спаять девайс. Схемотехника чуть-чуть была изменена, в результате удалось обойтись без дополнительного триггера-защёлки режима, получить более быстрый доступ к программированию режима, получить полную совместимость со стандарнтой 64-килобайтной версией родного ROM-диска Ориона (!), но для всех этих "плюшек" пришлось задействовать дополнительную свободную линию [C2] порта клавиатуры (#F402).

    Обновлённый вариант схемы:




    Фотосессия процесса сборки:


















    В результате обнаружилась проблема с работой супервайзора DS1210: в варианте с трансляцией его сигнала CEO на две микросхемы ОЗУ через сепаратор на ЛЛ1, в режиме "спячки" по непонятным причинам получается дикое потребление энергии, в результате батарейка просаживается с 3 Вольт до 1,14! Без установленных микросхем ОЗУ просадки нет и все необходимые для "спячки" сигналы на контактах ОЗУ в норме.
    С супервайзором придётся разбираться отдельно, на макете.

    В остальном схемотехника отрабатывает функционал верно. Теперь дело за "малым" - нужно написать программную поддержку этого монстра
    Последний раз редактировалось Denn; 24.01.2018 в 17:02. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  10. #39
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up ЭД заработал!

    И года не прошло, как я добрался и наконец-то "добил" ЭД

    Схему пришлось чуть-чуть доработать, совсем чуть-чуть:



    Изменения отмечены красным цветом. А именно, пришлось взять с порта клавиатуры ещё одну неиспользованную линию (С1, выв. 15 DD53 или он же контакт С1 разъёма клавиатуры) - для стробирования процесса записи в СОЗУ (факин' ВВ55 с её сбросом линий портов при смене режима IN/OUT ).
    Т.о. от программного режима "StandBy" (D7=D6="1") СОЗУ отказался. Высвободился один ЛЭ от ЛАЗ, его можно задействовать например для буферизации светодиода индикации обращений к ЭД

    Программная поддержка пока сделана в виде отдельного загружаемого драйвера в DSDOS v3.84 - EDISK$. В настоящий момент ведутся работы по оптимизации кода чтения/записи в RAM-часть ЭД, как всегда хочется выжать максимум скорости.

    Проблема с супервайзором в реальности оказалась проблемой неудачно выбранного типа м/сх СОЗУ Микросхемы CY7C1049D-10VXI заточены под быструю скорость работы, а не под малое потребление в "спячке", у них StandBy Power аж целых 10 мА на один чип, итого оба чипа в "спячке" кушают 20 мА ! Батарейка CR2032 физически не тянет такой ток и питание "проваливается" до 1,14в. Ни о каком резервном хранении с этим типом СОЗУ речи нет, разве что только от "дежурки" ИБП.

    Позже перерисую схему с учётом исправлений и с другими м/сх СОЗУ - K6T4008C1B-DB70 (корпус DIP32), а также выложу код процедур чтения/записи RAM-части.
    Последний раз редактировалось Denn; 16.12.2017 в 21:31.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  11. #40
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,222
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Программная поддержка RAM-диска ЭД

    Программная поддержка RAM-диска ЭД:

    Код:
    ; *** Процедуры работы с RAM-диском ЭД ***
    ; (C) Denn /St.-Petersburg/,    05.08.2016
    
    ; Порт ROM/RAM-диска:
    PT_CFG:EQU 0F503H
    PT_ADR:EQU 0F501H
    PT_DAT:EQU 0F500H
    PT_KBD:EQU 0F402H; порт банка ROM/RAM и CE RAM-диска
    
    LDRAMD:
    ; Чтение блока из RAM-диска
    ; Вх: [A]-номер банка в RAM-диске (0..15), [HL]-а/н блока в RAM-диске,
    ;     [DE]-а/н буфера загрузки блока, [BC]-длина блока
    ANI 0FH; защита блока выбора режима ЭД
    
    ; включить режим "RD RAM"
    ORI 80H; режим "01" + выбор банка
    STA PT_ADR+1
    LDA PT_KBD
    ORI 04H
    STA PT_KBD
    XRI 06H; = XRI 04h & ORI 02h
    STA PT_KBD
    
    LDRAM0:
    SHLD PT_ADR
    INX H
    DCX B
    LDA PT_DAT
    STAX D
    INX D
    MOV A,C
    ORA B
    JNZ LDRAM0
    
    ROM_ON:
    ; Вкл. режима "RD ROM"
    LDA PT_KBD
    ORI 06H
    XRI 06H
    STA PT_KBD
    
    ; сброс банка на нулевой (для доступности ROM-диска после HW-RESET)
    XRA A
    
    SVBANK:
    STA PT_ADR+1
    LDA PT_KBD
    ORI 04H
    STA PT_KBD
    XRI 04H
    STA PT_KBD
    RET
    
    
    SVRAMD:
    ; Запись блока в RAM-диск
    ; Вх: [A]-номер банка в RAM-диске (0..15), [HL]-а/н блока в RAM-диске,
    ;     [DE]-а/н буфера записываемого блока, [BC]-длина блока
    ANI 0FH; защита блока выбора режима ЭД
    
    ; включить режим "WR RAM"
    ORI 40H; режим "10" + выбор банка
    CALL SVBANK
    
    ; перепрограммируем порт на запись данных
    MVI A,80H
    STA PT_CFG
    
    SVRAM0:
    ; выставляем адрес и байт данных
    SHLD PT_ADR
    LDAX D
    STA PT_DAT
    
    ; импульс записи байта в RAM-диск
    ; бит C1: CS_RAM "0" -> "1" -> "0"
    LDA PT_KBD
    ORI 02H
    STA PT_KBD
    XRI 02H
    INX D
    INX H
    DCX B
    STA PT_KBD
    MOV A,C
    ORA B
    JNZ SVRAM0
    
    ; перепрограммируем порт на чтение данных
    MVI A,90H
    STA PT_CFG
    
    ; Вкл. режима "RD ROM", банк 0
    JMP ROM_ON
    
    END
    Некоторые пояснения. Работа с RAM-диском предполагается не в т.н. линейном, а в кластерном варианте, т.е. ПО заранее рассчитывает целевой кластер (номер банка и адрес блока внутри банка). Т.о. считается, что при чтении/записи блока мы не выйдем за границу банка, в противном случае, в данном варианте процедур произойдёт "заворачивание" адреса на начало текущего банка. Этот момент должен контролировать программист самостоятельно.
    В конце каждой процедуры делается перевод ЭД в режим "RD ROM" и выборка нулевого банка. Это делается потому, что режим ЭД переключается программно и аппаратный сброс его не меняет (не сбрасывает на ROM-диск), а загрузчик ПЗУ "Монитора" не "знает" ничего про банки и ЭД, и соответственно не сможет загрузиться с ROM-диска, если его режим будет в каком-то произвольном состоянии.

    При использовании блоков данных (кластеров) размером 256 байт процедуры обмена можно ощутимо "ускорить", что и сделано в реализации под DSDOS.

    П.С. Немного цифр. Копирование 35 файлов суммарным объёмом около 64 Кб с RAM-диска на квазидиск, с процессором ВМ80 (CLK=2,5МГц) у меня занимает 13 секунд. Для сравнения, на этой же системе копирование этих же файлов с ROM-диска в квазидиск происходит за 9,8 секунд. Оптимизацию кода вполне можно считать успешной
    Последний раз редактировалось Denn; 16.12.2017 в 21:32.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 4 из 16 ПерваяПервая 12345678 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 12
    Последнее: 22.02.2012, 00:05
  2. Электронный диск в Spectrum 128
    от Helloween в разделе Программирование
    Ответов: 3
    Последнее: 22.08.2010, 14:34
  3. Куплю электронный диск и кассеты ПЗУ для УКНЦ
    от dk_spb в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 16.08.2010, 22:15
  4. Ответов: 3
    Последнее: 25.11.2007, 01:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •