User Tag List

Страница 38 из 162 ПерваяПервая ... 343536373839404142 ... ПоследняяПоследняя
Показано с 371 по 380 из 1612

Тема: ZX_Multi_Card

  1. #371

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Как проявляется, и на чем.
    Проявляется на любом спектруме с ZX-BUS в виде конфликтов с портами ввода-вывода.

    Цитата Сообщение от caro Посмотреть сообщение
    Судя по всему это проявляется именно при совместной работе нескольких устройств с формирователями /IORQGE.
    Так и есть.

    Цитата Сообщение от caro Посмотреть сообщение
    Можно попробовать вылечить, установив на выходах дешифратора ZXMC (на входах прерываний) небольшие конденсаторы порядка 100 пф.
    Хотя честно говоря не вижу чем иголки могут в ZXMC нарушить работы выходных буферов.
    Ну понятное дело, что сама по себе ZXMC своих же иголок не боится, эти иголки проходят через все слоты и затем в плату компьютера.
    Они могут нагадить в любом периферийном устройстве и в самой плате.

    Цитата Сообщение от caro Посмотреть сообщение
    тогда можно уверенно заявлять правильно или не правильно сделана схема.
    Пока это скорее подозрение, а не уверенность.
    Я прямо сейчас уверенно заявляю, что IORQGE сформирован неправильно, если есть сомнения, открываем доку по Z80 и смотрим временные диаграммы циклов чтения/записи из портов/в порты. Видим, что IORQ появляется во 2-м такте. А адрес потра - в 1-м.

    Цитата Сообщение от Vitron Посмотреть сообщение
    так как я писал КОЕ о таком дефекте , у него проблем небыло изначально, только он как и я по его схемке доработал GS по сигналу iorqce (вроде так написал), а ZXMC у него нет, пользуется вроде собственным контроллером или механической клавиатурой...
    ZXMC у меня есть, но есть в Ногинске, а я сейчас нахожусь в Москве. В Ногинске буду через неделю, тогда и проверю все вместе с ZXMC.

    Цитата Сообщение от caro Посмотреть сообщение
    Посмотрел сейчас схему GS.
    Если я правильно понял со стороны Спектрума используется всего два порта
    с адресами 0xB3 и 0xBB, оба и на чтение и на запись.
    У ZXMC, даже при не полной дешифрации (тоесть без доработки под Скорпион)
    такие адреса не выбираются, соответственно и дешифратор портов GS не
    ловит порты ZXMC. Тоесть ни о каких иголках и ложных срабатываниях
    говорить не приходится - их просто не может быть.
    А ZXMC ловит порты GS?

    Цитата Сообщение от caro Посмотреть сообщение
    Не понравилось в схеме GS:
    1) - упрощенная схема дешифрации портов чтения GS.
    Практически вместо сигнала /RD используется факт отсутствия сигнала /WR,
    что может приводить к наличию на шине данных процессора конфликтных ситуаций.
    Хорошо бы конечно осцилографом посмотреть, что там на шине делается.
    2) - блокировка сигналом /IORQE только портов чтения;
    В оригинальной схеме GS (также, как и в ZXMC) IORQE ничего не блокирует, т.к. неправильно сформирован.
    Цитата Сообщение от caro Посмотреть сообщение
    3) - сама схема блокировки с PNP-транзистором.
    Не вижу особых проблем с этим, эффекты насыщения транзистора и конечного времени рассасывания заряда не проявляются даже в турбе.
    Последний раз редактировалось KingOfEvil; 25.06.2007 в 19:31. Причина: Добавлено сообщение
    KOE ** Pentagon-1024SL 2.2+1024k RAM+384x304+16 colour+HDD+CD-ROM+PS2 Keyboard+Turbo Sound FM + GS 512 bugFixed

  2. #372

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KingOfEvil Посмотреть сообщение
    А ZXMC ловит порты GS?
    Нет.
    Цитата Сообщение от KingOfEvil Посмотреть сообщение
    В оригинальной схеме GS (также, как и в ZXMC) IORQE ничего не блокирует, т.к. неправильно сформирован.
    Для правильно спроектированной системы дешифрации портов ввода/вывода,
    где окончательное стробирование данных производится сигналами /WR и /RD,
    такая схема блокировки прекрасно работает.
    Посмотри внимательно времянки процессора:
    Вначале идет дешифрация устройств, а затем либо чтение, либо запись установившихся
    на шине данных, либо памяти, либо устройств ввода/вывода.
    Причем тут иголки, мы же о синхронном устройстве говорим.
    Последний раз редактировалось caro; 25.06.2007 в 21:57.

  3. #373

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Для правильно спроектированной системы дешифрации портов ввода/вывода,
    где окончательное стробирование данных производится сигналами /WR и /RD,
    такая схема блокировки прекрасно работает.
    Посмотри внимательно времянки процессора:
    Вначале идет дешифрация устройств, а затем либо чтение, либо запись установившихся
    на шине данных, либо памяти, либо устройств ввода/вывода.
    Вот смотрю диаграммы. Вижу,что WR и RD появляются одновременно с IORQ. Отсюда вывод, что если защелкивать данные по WR будут те же глюки (в 50% случаев, т.к. нигде не написано, что данные при записи в порт устройство должно схватывать именно по фронту WR, а я вот хочу защелкивать по спаду и никто мне не запретит).
    При при чтении данных процессором иная ситуация, но процессор схватывает данные вовсе не по фронту RD, а по спаду третьего тактового импульса CLK в цикле чтения из порта.

    Цитата Сообщение от caro Посмотреть сообщение
    Причем тут иголки, мы же о синхронном устройстве говорим.
    Речь вот о чем. Как в ZXMC сделана блокировка IORQ: дешифрируется адрес и факт обращения к портам (IORQ). После этого формируется IORQE. Но он только начинает формироваться уже после того, как процессор выдал IORQ. Это значит, что IORQ будет заблокирован не полностью, а только частично, т.е. в плату проскочит иголка (обрывок IORQ), длительность которой равна времени задержки прохождения сигналов в ZXMC через DD3, DD2, DD7, VT1. Я точно не знаю, сколько там получится, но порядка 50 нс будет точно. А этого достаточно для того, чтобы иголка натворила кучу бед. От типа дешифратора ничего не зависит, т.к. иголка появится синхронно с WR/RD.

    Можно легко и просто избежать всех этих глюков. Просто формируем IORQE только с учетом адреса порта, не дожидаясь ни IORQ, ни WR, ни RD. ТОгда IORQE будет сформирован за 1 такт до появления IORQ, не будет никаких иголок. Не надо пугаться отсутствия IORQ в блокираторе, ну подумаешь, заблокируем порты при обращении в память, никому от этого хуже не станет, зато все будет работать и без глюков.
    Последний раз редактировалось KingOfEvil; 25.06.2007 в 22:41.
    KOE ** Pentagon-1024SL 2.2+1024k RAM+384x304+16 colour+HDD+CD-ROM+PS2 Keyboard+Turbo Sound FM + GS 512 bugFixed

  4. #374

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KingOfEvil Посмотреть сообщение
    А этого достаточно для того, чтобы иголка натворила кучу бед. От типа дешифратора ничего не зависит, т.к. иголка появится синхронно с WR/RD.
    Ну вы батенька и упрямы.
    Почему то ZXMC прекрасно уживается в Скорпионе со СМУК, при том, что
    у них то как раз куча перекрестных портов.
    И ничего, блокировка прекрасно отрабатывается.
    К сожалению нет у меня ни вашего Пентагона, ни GS, а то бы глянул в чем там дело.
    А так на словах бодаться только ветер поднимать. Предлагаю эти дебаты прекратить.
    Последний раз редактировалось caro; 25.06.2007 в 22:45.

  5. #375

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Ну вы батенька и упрямы.
    Почему то ZXMC прекрасно уживается в Скорпионе со СМУК, при том, что
    у них то как раз куча перекрестных портов.
    Не знаю, почему. Надо смотреть. Вот дособеру скорпиЁн, тогда скажу, почему.
    А вообще, все вышесказанное можно учитывать, можно не учитывать, надо это расценивать просто как дополнительную информацию и обмен опытом.

    Цитата Сообщение от caro Посмотреть сообщение
    К сожалению нет у меня ни вашего Пентагона, ни GS
    По поводу GS ничем помочь не могу, а то, что нет пентагона, это проблема решаемая
    Последний раз редактировалось KingOfEvil; 26.06.2007 в 00:51. Причина: Добавлено сообщение
    KOE ** Pentagon-1024SL 2.2+1024k RAM+384x304+16 colour+HDD+CD-ROM+PS2 Keyboard+Turbo Sound FM + GS 512 bugFixed

  6. #376

    Регистрация
    28.03.2007
    Адрес
    Новая Московия, пос. Ватутинки
    Сообщений
    103
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMC в дипах на цангах, на макетке сваренная (как сказал KingOfEvil) килограммо-километром МГТФа
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.JPG 
Просмотров:	625 
Размер:	71.6 Кб 
ID:	5497   Нажмите на изображение для увеличения. 

Название:	2.JPG 
Просмотров:	556 
Размер:	68.6 Кб 
ID:	5498   Нажмите на изображение для увеличения. 

Название:	3.JPG 
Просмотров:	536 
Размер:	76.7 Кб 
ID:	5499  

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

  8. #377

    Регистрация
    16.06.2005
    Адрес
    Москва, Ногинск
    Сообщений
    708
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не поленился, собрал сегодня 2-й экземпляр ZXMC (всю ночь паял). С GS работает, GS вставлена в 1-й слот. Но все равно IORQGE надо делать без учета IORQ ...
    KOE ** Pentagon-1024SL 2.2+1024k RAM+384x304+16 colour+HDD+CD-ROM+PS2 Keyboard+Turbo Sound FM + GS 512 bugFixed

  9. #378

    Регистрация
    21.04.2006
    Адрес
    город Черняховск
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Камиль, а контроллер в ZXMC можно перешить через ISP-интерфейс как обычно оно делается с AVR-ами в схеме?
    А то я всё никак не могу обновить прошивку твоей карточки, потому мышка в Глюке появляется только после ПринСкреена после включения компа. Но это фигня, главное же то что ты передалал RTC-часы... А AVR-прог который через нуль-модем шьёт карточку у меня не запускается на том РС где есть СОМ порт. Хотя нульмодем есть уже достаточно давно.

    И ещё, а не мог бы ты сделать файл-модификатор прошивки который при запуске на ZX сам бы перешивал карточку? А то это было-бы оптимально... Правда желательно чтобы он умел модифицировать даже древние версии прошивок...

  10. #379

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от falanger Посмотреть сообщение
    Камиль, а контроллер в ZXMC можно перешить через ISP-интерфейс как обычно оно делается с AVR-ами в схеме?
    Конечно, на плате предусмотрено подключение ISP-программатора.
    По моему в инструкции к программированию ZXMC я упоминал об этом (см. boot_ld.txt).
    Код:
    ***************************************************************
    
    Q:  Как запрограммировать микроконтроллер ISP программатором.
    
        Такой способ нужен при программировании нового
    микроконтроллера, либо если в результате сбоя
    "полетел" внутренний загрузчик.
        
        Удобней всего воспользоватся программой UNIPROF,
    которую можно скачать с сайтов:
         http://avr.nikolaew.org/
         http://nikolaew.org/
         http://nikolaew.photofile.ru/
        Программировать можно простейшим кабелем через
    LPT или RS232 порт IBM-ки, подключившись к разьему
    SPI (X4) мульткарты.
        В HELPe к программе UNIPROF есть схемы кабелей.
        Я рекомендую вариант программирования через LPT
    кабель, собранный по такой схеме:
    
         LPT                   ZXMC X4
      +------+----+          +---+------+
      !  D0  ! 2  !----------! 5 ! /RES !
      +------+----+          +---+------+
      !  D1  ! 3  !----------! 4 ! MOSI !
      +------+----+          +---+------+
      !  D2  ! 4  !----------! 2 ! SCK  !
      +------+----+          +---+------+
      ! BISY ! 10 !----------! 3 ! MISO !
      +------+----+          +---+------+
      ! GND  ! 25 !----------! 6 ! GND  !
      +------+----+          +---+------+
    
        Программирование производится при включенной
    Мультикарте, лучше если она стоит в компьютере.
        В начале надо проверить состояние FUSES
    микроконтроллера и при необходимости установить
    их в нужное состояние.
    
    Для UNIPROF FUSES надо установить так:
    
    [v] CKSEL0	;\      
    [v] CKSEL1	; \
    [v] CKSEL2	; / - внешний кварц на 11.0592 Мгц
    [v] CKSEL3      ;/
    [v] SUT0
    [ ] SUT1
    [v] BODEN
    [v] BODLEVEL
    [ ] BOOTRST	;Запуск с адреса 1E00h
    [ ] BOOTSZ0	;\
    [v] BOOTSZ1     ;/ Boot Size = 512 байт
    [v] EESAVE
    [ ] CKOPT
    [ ] SPIEN
    [v] WDTON
    [v] S8515C
    
        Если программировать только основной программный 
    блок и не использовать boot_loader, то бит BOOTRST
    надо сбросить (запуск программы будет с 0 адреса).
        Если необходимо оставить возможность модификации
    прошивки через нуль-модемный кабель, то BOOTRST
    надо установить и зашить в микроконтроллер файл
    zxmc_ld.hex. Затем залить основной блок программой
    AVRProg, как указано ниже. Перемычку при этом можно
    не ставить, поскольку пока основной блок отсутствует
    микроконтроллер стоит в режиме ожидания AVRProg.
        В принципе зашить можно сразу и boot_ld и
    основной блок программы. Для этого:
        Любым текстовым редактором склеиваем файл 
    zxmc_ld.hex с файлом основной прошивки, удалив
    из него последнюю строку :00000001FF
        Эта строка должна остаться в конце получившегося
    суммарного файла прошивки.
        Сохранив получившийся файл, используем его
    при записи в микроконтроллер.
    
    ПРИМЕЧАНИЕ:
    Надо учитывать, что в разных программаторах 
    состояние битов FUSES отображается разным 
    способом. Так например в UNIPROF единичное 
    состояние бита отображается галочкой (FUSES=1),
    а нулевое состояние - отсутствием галочки.
    В выше указанном состоянии FUSES, пустая 
    клетка означает не запрограммированное состояние 
    бита (FUSES=1), а звездочка - установленное 
    в 0 состояние бита. Тоесть обозначение
    сделано с точностью до наоборот :)
    Обязательно обратите на это внимание.
    
    ;*****************************************************
        
    Q: Как перепрошить микроконтроллер ATMega8515
       в ZXMC внутренним загрузчиком?
    
       Это очень просто :)
    
       Для начала нада спаять или купить нуль-модемный кабель.
       Это два разьема типа DB9F (девятиконтактная розетка - "мама")
       И как минимум 3-х жильный кабель (или 3-и отдельных провода).
       Лучше всего сразу сделать 5-и жильный кабель, что позволит
       работать с IBM-кой на максимально возможной скорости.
       Длиной можно делать до 3 метров (даже больше).
    Соединить надо так:
    (упрощенный)
       2 ------ 3
       3 ------ 2
       5 ------ 5
     +-4        4-+
     +-6        6-+
    (полный)
       7 ------ 8
       8 ------ 7
       
       На обоих разьемах 4 и 6 контакты соедините перемычкой.
    
       Для прошивки используется программа AVRProg.exe из комплекта
       разработчика для AVR-контроллеров ASTUDIO версии не ниже 1.4
       Инструкция к прошивке такая:
         1) Подсоедини нуль-модемный кабель к карте при выключенном питании
            Спектрума.(IBM-ка при этом может быть включена либо выключена без
            разницы).
        2) Включи питание Спектрума (и IBM-ки если надо).
        Возможно два варианта перехода в режим программирования:
        2.1) Если текущая прошивка нормально работает с клавиатурой.
             Нажми на клавиатуре Спектрума клавиши <WinMenu>+<Pause/Break>.
             Проверь, что нажатие клавиш Спектрума уже никак не влияет на
             ввод кодов. Это означает, что карта ждет команды от AVRProg.
        2.2) Если случайно залита не рабочая прошивка (клавиатура не
             работает). То перевести контроллер в режим программирования
             надо подачей на вывод 29 (это бит 2 порта E) НУЛЯ.
             Для этого надо установить перемычку между выводами 1 и 2
             разьема X5. На плате этот разьем совмещен с разьемом X8,
             поэтому лучше ориентироваться по выводам микроконтроллера.
    
                            1           1
                         X4 + + + + + + + + + X3
          _____________________________________
         |                                    _|
         |        ATMEGA8515                 |_
         |_____________________________________|
                1           1 
             X8 + + + + - - + + + + X5
                            |_| - здесь перемычка
                            
        3) После перевода микроконтроллера в режим программирования одним
        из указанных способов надо запустить AVRProg.
    
        Для начала проверим правильно ли AVRProg распознает 
        подключенное устройство:
            После запуска программы, если ZXMC стоит в режиме
        программирования, на экране меню программы AVRProg.
        В окне Device серым цветом должно быть написано
         [ ATMEGA8515 BOOT ]
            Щелкни по кнопке [ Advanced... ]
        В окошке:
        Device signature   [ 06 93 1E ]
        Target board       [ AVRBOOT  ]
        Target SW rev.     [ 1.0      ]
        Calibration byte   [No_support]
    
        Остальное не имеет значения.
        Если все так, щелкни [ Close ]
    
        Если все так, как описано выше можно приступать к прошивке.
        Если при запуске AVRProg выдает окно с сообщением:
        [ No supported board found! ]
        значит карта не переключена в режим программирования.
        Проверьте перемычку или снова нажмите <WinMenu>+<Pause> на
        клавиатуре подключенной к Спектруму и перезапустите AVRProg.
    
         Если распознавание прошло успешно:
        4) В окне HEX file установите путь к имени файла прошивки.
        
        5) Щелкните кнопку [ Programm ] в подменю Flash
        Начнется процесс заливки новой прошивки в карту.
    
        EEPROM пока не программируется.
        FUSESы программируются при заливке начального загрузчика
        и в дальнейшем их не надо менять.
        
        После программирования, закрыть окно AVRProg и выключить, а
        затем снова включить питание на Спектруме.
        Теперь можно проверить работоспособность новой прошивки :)
    
    ;*************************************************************
           Желаю удачи.
    
    Kamil Karimov k2k@list.ru
    Последняя редакция: 23.03.07
    Последний раз редактировалось caro; 02.07.2007 в 14:10.

  11. #380

    Регистрация
    24.06.2005
    Адрес
    Лысьва
    Сообщений
    1,205
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос Камилю: можно как-то отключить клавиатуру, не отключая всего остального? Или если не определилась клава, то и в порт ничего не выдаем и не тормозим процессор. Пока повесил тумблер на А0, но при этом и СОМ отключается...
    И еще: со СПИ какие-то продвижки есть?

Страница 38 из 162 ПерваяПервая ... 343536373839404142 ... ПоследняяПоследняя

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

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

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

Ваши права

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