Всё заработало. Был залипон в районе диодов Д34, Д45 и поэтому неправильно формировался сигнал DOSEN. Всем спасибо.
Вид для печати
Всё заработало. Был залипон в районе диодов Д34, Д45 и поэтому неправильно формировался сигнал DOSEN. Всем спасибо.
Всем привет!
Давно (в 2014м) купил у Zorel плату АТМ-ки, долго лежала, руки дошли наконец-то собрать (до этого Пентагон-128 красный собирал неспешно).
Версия 7.18 по этой схеме
Вот так получилось:
Вложение 70383Вложение 70384Вложение 70385Вложение 70386Вложение 70387
Вот ссылки на картинки в максимальном размере, если кому интересно:
Скрытый текст
Собрал все на цанговых панелях (знаю про контакты, но все же)
С первого раза не поехало (то D41 перевернул, то резистор у памяти не впаял), перечитал всю тему вдоль и поперек.
Вишенкой на торте была D15 (1533ИР23) - поставил серию ЭКР1533ИР23 - не стартует и мусор на экране, поменял на просто КР1533ИР23 или даже 555ИР23 - и все поехало (картинка, тесты, BIOS). Причем ЭКР1533ИР23 проверял 2 тестерами микросхем (на AVR-8515 и от Trollsoft) - оба показывают что все ок.
Блок питания лабараторный Rigol DP831A:
Вложение 70388
Пока в таком состоянии:
Тесты памяти из ПЗУ проходит, картинку показывает, в CP/M и TR-DOS заходит, звук играет.
Процессор - Z84C0020PEC 05 12 LK шлифованно-перемаркированный с ebay - холодный и на 7 МГц в турбо поехал, тест говорит что он Z84 (тему про перемаркированные фейковые чипы прочитал всю)
AY-3-8910 тоже шлифованно-перемаркированный с ebay по 1$ за штуку. Все 3 канала играют вроде. Тест на него говорит что он Yamaha YM2149F
Шлифовку на больших картинках видно :)
Клавиатура механическая 8x5 работает.
Клавиатура PS/2 заработала но после танцев с бубнами - только с прошивкой 2.2 (на кварцах 7 и 11.0592) ПЗУ - М2716
На прошивке 3.1 - при старте мусор на экране и не запускается.
С ленты читает (с отключенным турбо)
Встроенный усилитель на динамики работает, но только с отключенным джампером J18-J19
Дисковод 3.5'' NEC FD1231H заработал, но после чтения программы, диск продолжает крутиться не останавливаясь.
Видеовыход - через PAL-кодер на LCD монитор TVS SE17NP2 от видеонаблюдения. В режим Sinclair на некоторых границах знакомест - мелкий мусор.
По питанию: плата + PAL-кодер + 3.5 дисковод потребляют около 2А по +5В и 150-200мА по +12В.
В тепловизор платка интересно выглядит, возможно позже получится картинку сюда сделать :)
В итоге набралась подборка вопросов, ребят, нужна помощь:
1) что делать с все время работающим мотором дисковода ?
2) что за грабли с прошивкой для клавиатуры на 2.2 работает, на 3.1 все виснет ?
3) кто-нибудь победил сильно греющуюся схему преобразователя в -12В (-15В) (не заменой на импульсник или внешний блок) может там ошибки в номиналах
4) Как правильно настроить схему АЦП ? и как потом ее проверить ? Тестовые программы есть какие-то под это ?
5) Как проверить работу СОМ-порта ?
6) Как проверить что подключенный HDD работает как должен на уровне железа и софта ? (ест стопка старых HDD 20-80Gb)
7) что еще нужно в этой плате проверить на глюки/проблемы ? (приборы все есть)
Вот так выглядит вся плата АТМ 7.18 в тепловизоре:
Греется как новогодняя елка:
Вложение 70390
Самые "зажигалки":
- КР531РУ9 (К155РУ2 не хуже светятся)
- КР1556ХЛ8
- К155ИР17
- КР1818ВЕ31
- КР1818ВГ93
- И самое веселье - преобразователь в -12В (-15В) в углу справа
Процессор и ПЗУ - почти холодные
74HC374 (ИР23) и 74HCT244 (АП5) - не греются вообще (КМОП все-таки)
555 и 1533 серии при одинаковых функционалах - ощутимая разница (D51 = 555ИР23, D40 = 74HC374 )
Это угол формирования видео:
Вложение 70392
КР1556ХЛ8 и рядом генератор, счетчики, 2 чипа памяти вертикально:
Вложение 70393
Правый нижний угол с преобразователем питания и усилителями:
Вложение 70391
Центральная часть, процессор, ПЗУ, ВГ93, ИР17, 1108ПА1
Вложение 70394
Правая часть без ХЛ8, чтобы не отсвечивала:
Вложение 70395
В такой конфигурации с подключенным флоповодом на 3.5'' потребляет: по 5.0В 1.75A, по 12.0В 0.18A
Да ничего не надо делать. Пусть работает. Так в АТМках схема устроена.
Основная разница в этих прошивках в плане работы клавиатуры - разные подходы к чтению скан-кодов. Плюс в v3.xx поддержан полноценно COM-порт, чего нет в v2.x. Автор, Камиль Каримов (он, кстати, на форуме тут есть под ником Caro, можно у него консультироваться), столкнувшись с отзывами о нерабочей прошивке, выпустил модифицированную версию прошивки v3.11m, где управление COM-портом осталось, а чтение клавиатуры вернулось на стандарты v2.2. Попробуй прошить именно версию с буквой "m":
http://atmturbo.nedopc.com/download/...s/atm_at3x.zip
Вот как он сам пишет обо всех этих особенностях:
Код:Особенность версии 3.1
======================
В существующей прошивке скан-код клавиатуры
выдается на шину Z80 командой movx @DPTR,A
Длительность сигнала /VWR при тактовой частоте
11.0592 МГц в режиме выдачи по команде movx = 0.5 мксек.
В это время данные из порта P0 микроконтроллера передаются
через регистр на шину данных Z80. При слишком коротком
импульсе (при высокой тактовой частоте МК) этого времени
недостаточно для удержания данных на шине Z80, что
приводит к неустойчивому считыванию скан-кода клавиатуры.
Обьясняется это тем, что с момента снятия /WAIT
процессора, до завершения цикла чтения порта клавиатуры
при тактовой частоте процессора Z80 = 3.5 MHz проходит
от 0.4 до 0.7 мксек (при независимом тактировании Z80
и МК). Этого явно не достаточно для надежного чтения
скан-кода выдаваемого МК на шину данных Z80.
Если управлять битом /VWR на прямую, длительность
при той-же тактовой получилась 1.2 мксек. Этого
вполне достаточно для устойчивой работы системы.
Тоесть сейчас сделано так:
if en_movx
movx @DPTR,A ; Снять /WAIT
else
mov P0,A ; Выдать код клавиатуры
clr VWR ;имитация /WR
setb VWR
endif
В исходнике предусмотрено отключение этой модификации
флагом en_movx
en_movx equ 1 ;1 - разрешена movx
;0 - прямое управление
В архиве вложены результаты компиляции программы
под разные тактовые частоты и с разным значением
флага en_movx.
at31_07.hex - F=7.00 MHz, en_movx = 0
at31_07m.hex - F=7.00 MHz, en_movx = 1
at31_11.hex - F=11.0592 MHz, en_movx = 0
at31_11m.hex - F=11.0592 MHz, en_movx = 1
caro
29/01/2018
И да, все новые прошивки рекомендуется прошивать не на отдельную ПЗУшку, а использовать микроконтроллеры с внутренней памятью (например AT89S5x или AT89C5x), подключив их по схеме:
http://nedopc.com/ATMZAK/atm710re.htm#re12
Стабильнее будет.
Еще зависать может по причине, указанной тут: http://nedopc.com/ATMZAK/atm710re.htm#re16
И если прошивать версию прошивки v3.11, советую сделать вот такую доработку:
http://atmturbo.nedopc.com/dev_kbd.htm
Мне помогло.
ХЗ. Тут некопенгаген.
Есть программа под CP/M "ADC/DAC Converter":
http://atmturbo.nedopc.com/download/...nv/ad_conv.zip
Там в самой программе есть встроенный хелп.
А вообще (в т.ч. и в этой программе) рекомендуют соединить вывод ЦАП (только я пока не понял - сразу с микросхемы сигнал daout брать, или после всех резисторов) с входом любого из восьми каналов АЦП. И далее крутить подстроечные резисторы так, чтобы получилось - при выводе в ЦАП(Covox) #00 на АЦП считывалось бы #00, при выводе #FF считывалось бы #FF, ну и соответствующие промежуточные значения также.
В принципе, это можно попробовать даже на бейсике проверить. Ибо номер канала АЦП - это номер цвета бордюра, вывод на Covox - порт #FB(251 dec), а чтение выбранного канала АЦП - порт #7DFD(32253 dec). Т.е. можно попробовать это все выводить на экран через зацикленные команды бейсика IN, OUT и PRINT.
Я сейчас как раз тоже занимаюсь настройкой АЦП/ЦАП. Есть определенные нюансы в работе ЦАП - нелинейно растет напряжение по мере увеличения значения, выдаваемого в порт ковокса. Но есть большая вероятность, что это я что-то при пайке напутал - потом опишу отдельно. А пока просьба, если у вас есть цифровой тестер (у меня "старый", аналоговый, со стрелочкой и соответсвующими погрешностями) измерить - сколько вольт содержится в сигнале DAOUT при выводе в порт ковокса #00, сколько при #FF, сколько при #80 - в варианте - сигнал "с микросхемы" и сигнал после резисторов при подмешивании к другим сигналам. Хочу отталкиваться от этих значений при настройке АЦП.
Как программировать COM-порт (и вообще клавиатуру). можно прочитать здесь: http://atmturbo.nedopc.com/atmdscr.htm#atm2keyb
Для этого для начала надо все же запустить прошивку контроллера клавиатуры v3.11(m) - поддержка COM-порта реализована на ней.
Для проверки порта под эту прошивку существует специально написанная Камилем Каримовым для тестов примитивная терминалка ZX-Terminal:
http://atmturbo.nedopc.com/download/...erm/zxterm.zip
Подключи АТМ по нульмодемному кабелю к ПиСишке, запусти на последней гипертерминал, а на АТМ - сабж, подбери скорость в бодах (попробуй разные варианты - так, например, в описании к сабжу на АТМ указана была одна дефолтная скорость, а оказалась другая), и при наборе символов с клавы на АТМ на Писи должно приходить их эхо и наоборот. У меня получилось.
Ну, в CP/M берешь загрузочный диск:
http://atmturbo.nedopc.com/download/...t/bootdisk.zip
Там запускаешь утилиту FDISK - она должна показать характеристики винта в CHS.
Можно взять OS TASiS - http://atmturbo.nedopc.com/download/...541_200atm.zip
и запустить первый диск с флопа. Только выйти из инсталлятора в оболочку. А там найти в каталоге RES\ утилиту testide.com и запустить на проверку.
Как третий вариант, можно под TR-DOS скачать программу HDD-Doctor и тоже ее запустить:
http://atmturbo.nedopc.com/download/...r/hddoctor.zip
Про Ковокс я просьбу написал выше.
А так, куча доработок (на плате Zorelа большинство так или иначе сделаны, но все же) описаны тут:
http://nedopc.com/ATMZAK/atm710re.htm
http://atmturbo.nedopc.com/dev_atm2fdd.htm
И да, кстати:
Как добился? Он у тебя читает магнитофон с механикой? Или с подключенной ПиСи-клавиатурой? Последняя же должна сильно вэйтить процессор, и там даже были рекомендации о доработке в виде тумблера, временно блокирующего контроллер.
P.S. Учитывая, что мы живем в одном городе, был бы рад взаимной помощи друг другу в настройке наших АТМок.
Максагор, во-первых спасибо огромное за то, что Ты делаешь, и за такой развернутый ответ в частности!
Часть ответов успел проработать, часть пока нет.
Дальше по пунктам:
#1 Дисковод: все время работающий двигатель - проследил все сигналы от чипов АТМ до чипа на дисководе - оказалось что кабель был не прямой а с переворотом 10-16 пинов, в итоге сигналы включения мотора и выбор диска A, были перепутаны местами.
В дисководе сделал его "Drive-A" (обычно 3.5 дисководы или жестко плата разведена только как диск B, или перемычки установлены, но тоже на диск B) Тестером логика вызванивается довольно просто.
Заодно разобрался с сигналами интерфейса, напаял себе ZX-совместимых дисководов :)
в итоге - диск крутится когда требуется, а лампочка горит все время. Но как я понял в АТМ-ке такая логика работы (мне тут не критично, будет только 1 флоп)
#2 Клавиатура: напаял резисторы на шину данных - не помогло, хотя сигналы на шине данных ВЕ31 стали по-чище и ближе к 5В.
Начал копать дальше - в итоге контроллер клавиатуры 1818ВЕ31 на прошивке 3.1 посылает ресет на всю систему с частотой 25 Гц.
Соотв ничего не успевает подняться за 40мс. Это сигнал с 7й ноги ВЕ31. Насколько я понимаю - чтобы по Ctrl-Alt-DEL сбрасывать АТМ-ку.
Тестировал так: поставил прошивку 2.2, запустил - проверил клаву - все ок. На Ctrl-Alt-DEL реагирует, сброс посылает, все остальные кнопки работают.
Далее поставил прошивку 3.1m (и 3.1 тоже пробовал) - включаю, получаю импульсы ресета каждые 40мс.
Вставляю ВЕ31 с отогнутой 7 ногой, комп грузится, но на клаву не реагирует.
Конденсатор 750пф на 9 и 14 микросхемы D76 (ЛН1) тоже не помог
Печаль...
Что может ВЕ31 заставлять генерить постоянно ресет ?
Еще заметил - на 12й ноге ВЕ31 (CLK_K) такие же импульсы ресета (если ничего не клавиатуре не нажимать) - замыкания нет.
Максагор: И еще уточнить хотелось бы - прошивка "v3.11m" и "v3.1m для 11МГц" это одно и то же ?
Здесь http://atmturbo.nedopc.com/download/...s/atm_at3x.zip только 3.1m есть а 3.11m нет
Про магнитофон: "С ленты читает (с отключенным турбо)"
Только на механике, с остановленным контроллером (снял перемычку, она же R56)Цитата:
Как добился? Он у тебя читает магнитофон с механикой? Или с подключенной ПиСи-клавиатурой? Последняя же должна сильно вэйтить процессор, и там даже были рекомендации о доработке в виде тумблера, временно блокирующего контроллер.
Схему преобразователя напряжения в -12В нарисовал пока в симуляторе (LTSpice) - там тоже много жрет она. Надо думать про параметры деталей.
ЦАП/АЦП, COM, HDD - пока не добрался.
Грех не помочь человеку, столько сделавшему для дела спектрума :) Все что в моих возможностях - без проблем.Цитата:
P.S. Учитывая, что мы живем в одном городе, был бы рад взаимной помощи друг другу в настройке наших АТМок.
А, я перепутал это с постоянно горящим сигналом выбора текущего дисковода, когда отвечал..
Все же настоятельно рекомендую прошить контроллер с внутренней памятью и подключить по схеме как тут:
http://nedopc.com/ATMZAK/atm710re.htm#re12
Прошивка v3.x контроллера может с внешним ПЗУ не работать. Кажется давно об этом Камиль говорил, но точно не помню.
Возможно у меня была описка. Да, в архиве AT31_07m.HEX версия v3.1m под 7МГц, а AT31_11m.HEX версия v3.1m под 11МГц. Версии v3.11 не существует.
Свяжемся на той неделе (эта у меня слишком тяжелая).
Это где такой резюк R56? Что-то не нашел. Ткни носом!
Вообще-то МИкроАРТ рекомендует вот так отрубать клаву для использования магнитофона:
При использовании IBM-клавиатуры работу с магнитофоном можно осуществить с помощью сдвоенного тумблера, при помощи которого надо подать +5V на сигналы KEYRD’ (D100.13 или D103.3) и W_ON (D71.2). Переключать тумблер на +5V надо только во время считывания с магнитофона, восстанавливая положение тумблера в прежнее положение после считывания.
Только это нихрена не работает - отрубается все чтение порта #FE, в т.ч. и сигналы с мафона не доходят.
Все актуально для платы версии 7.18 (за другие - не ручаюсь)
Хорошо, буду иметь ввиду. Но у меня этого чипа пока нет под рукой.
Извини, ошибся, не R56, а R55:
Вложение 70417
это управление входом "!EA/Vpp" (пин31 микроконтроллера ВЕ31) (Вот краткий PDF на контроллер, стр 5)
Если на нем логический 0 (подвешено на землю) - замкнут R55, то контроллер стартует с программной из внешней памяти (РФ2/M2716)
Если на нем логическая 1 (подвешено на +5В) - замкнут R56, то контроллер стартует с программной из внутренней памяти, если она есть а т.к. в 80С31 (он же 1818ВЕ31) внутренней нет, то он тупо стоит и ничего не делает.
Эта история скорее всего сработает для 80С51 контроллера с внутренней памятью наоборот - ему надо сказать "грузись из внешней" а ее нет, и он остановится.
Добрался посмотреть на ЦАП/АЦП - ужас-ужас там какой!
Начиная с разводки питания.
Про ЦАП: у меня стоит 572ПА1 в керамике + 574УД2А операционник в пластике.
Смотрим дальше: если у нас на цифровых входах ЦАП DA1 везде нули, то по и на выходе операционника DA2A (8пин, он же DAOUT) должен быть ноль.
Но нет, там у нас кривой синус на 3.5 МГц. Обложил все питание вокруг керамикой, ибо цепи питания аналога сделаны омерзительно, и на них эпичный срач из помех, которые лезут на вход и потом весело на выход. А уж как колбасит с них компаратор на выходе АЦП - картина маслом :)
Прижал по верхним частотам, чтобы не самовозбуждался - 1нФ с 1го пина DA2A на аналоговую землю ANGR.
Вроде выровнял в ноль выход ЦАПа.
Надо теперь программно проверить.
Плюс пока нерешенная проблема с источником отрицательного напряжения - он у меня вместо -15 дает -10В (не хватает мощи у него), в итоге косое питание операционников, и их бестолку отлаживать пока питание не будет адекватным.