- Пуск ВМ1
-
? Kisser - 06.11.2009 15:40
В теме про ВМ2 этот вопрос уже поднимался, но ответа так и не было.
Ситуация следующая - ВМ1 не пускается (DCLO/ACLO выставляются, SEL1 - низкий, INIT - высокий, остальные - высокий). По идее INIT должен вместе с DCLO в низкий переходить, ан нет.
Так вот, все-таки какая задержка ACLO от DCLO в БК? По описанию процессора должна быть в 70 мс, а по схеме БК - вообще никакой (20 кОм*47пФ=0,9мкс). Ставил и 47 пФ, и 10 мКф и промежуточные, чтото не пускается... Где же справедливость???
-
? Kisser - 06.11.2009 16:05
В догонку еще.
Каковы вообще погрешности +/- таймингов ACLO/DCLO (написано не менее 70мс, что будет если например через 1 с появится ACLO)?
Процессор вот такой:
http://s58.radikal.ru/i159/0911/92/0cd09407738a.jpg
В керамическом корпусе. Можно ли его спалить паяльником 220В (в плане статики, не температуры)? Хотя я замыкал ему выводы проволочкой...
И по фотке - где у него 1й вывод? у треугольника, или справа от надписи (по фотке - в левом нижнем углу)?
-
? Anonymous - 06.11.2009 16:07
Я вас уже боюсь! Ну как вам удается не суметь запустить процессоры? Вот сделайте схемку, которая гарантированно работает со всеми процами 1801/1806/1831: две микросхемки TL7705, между 1 ножкой и землей каждой 0.1 мкф керамический конденсатор, между 3 ногой и землей - на одну микросхему 2.2 мкф, на другую 4.7 мкф, ноги номер 2 обеих соединяются и подтягиваются на 5в через резистор и идут на кнопку, замыкающую их на землю - это reset. 7 и 8 ноги обех идут на питание, 4 нога обеих - на землю, 5 ноги подтянуты на 5в резистором и с м/с с конд. 2.2 мкф идет сигнал на dclo, а с другой, где 4.7 - на aclo. Не может не работать, лошадиные запасы по временам будут.
-
? Kisser - 06.11.2009 19:13
Да не, наверное спалил его, или уже не рабочий был. Второй запаял - SYNCи поползли, чтото уже хочет... Буду дальше копать...
Кстати он запустился и при 10 мкФ, и 1 мкФ и 68 нФ. Так что 70 мс - понятие растяжимое )))
-
? Kisser - 07.11.2009 18:21
Запустил, попробывал в пошаговом режиме. Опять та же петрушка что и с БК-11 когда ремонтировал - в пошаговом все нормально, все читается, ну во всяком случае 5 минут долбил на кнопку - все инструкции нормально исполняются. Но в итоге начинает долбиться в пульт по 177767. Нужно попробывать протестировать железо. Попробую спросить у местных программеров, может помогут с программой отладки...
-
? kisser - 08.11.2009 18:14
После долгих экспериментов разобрался кажись - проц заработал на... строчной синхре от монитора. Быстрее никак не получается. У меня правда не все конденсаторы установлены еще. Но теперь кажется понятно что делать - установить большей емкости, увеличить сечение питания.
Вообще, какие мероприятия по помехозащищенности? Буду ставить по 0,1 мкФ на м/с, этого достаточно? Вот по ВМ2 гдето было написано что соединить вывод подложки с землей через конденсатор в несколько десятков пФ. С ВМ1 можно чтото сделать подобное? Работать планирую на 6 МГц, если повезет - на 8.
-
? anonymous - 08.11.2009 19:44
Это не помехозащищенность, это вы где-то с логикой/времянкой/типом сигналов напутали, похоже.
-
? anonymous - 08.11.2009 19:59
С ВМ2 у меня есть занятные процессорные платы от станков с ЧПУ, в которых он тактируется от ГУН, управляемого смещением с подложки. :)
А вообще множество моих макеток экспериментальных, не являющихся целевыми постоянными устройствами, устойчиво работают вообще без блокировочных конденсаторов, в том числе и на вм1/вм2/вм3. Сама по себе терминированная резисторами и имеющая только выходы с открытым стоком шина уже весьма неплохой помехозащищенностью и невозможностью создания электрических конфликтов отличается.
-
? Kisser - 11.11.2009 22:34
anonymous, наверное опять буду Вас пугать, но в бреду возникли некоторые идеи по поводу работы моей железяки.
Начал я с того, что писал чтото типа
MOV #177777,@#1000
MOV @#1000,R1
и так по адресам 42000, 103000, потом переключал страницы и по-новой. Везде был ответ, все нормально. значения сохранялись, страницы тоже переключались.
А потом написал следующее (за программу не бить, это было давно и не правда, главное - результат же):
MOV #17400,@#177716
MOV #140000,@#177662 (у меня по умолчанию другой буфер встает)
SCREEN: MOV #40000, R1
MOV #77777,R2
MOV #177777,R3
CLK: MOV R3,(R1)+
CMP R1,R2
BNE CLK
и далее тоже самое для второго буфера с переключением страницы.
Так вот, именно эта программа и заработала на строчной синхре - потому что сразу был виден результат - по экрану поползли полосы. НО! при включении даже на 3 МГц не проходило НИЧЕГО, даже переключения экранов (это заметно, при пуске у них разная "картинка". Получается, процессор не выполняет НИ ОДНОЙ команды из ПЗУ даже при 3х МГц. На этом я и успокоился. Но Ваши слова не шли у меня из головы про времянки.
Теперь собственно вопросы.
1. На какое время после переднего фронта DIN должно сохраняться значение на шине, чтобы процессор схватил данные? или он их УЖЕ схватил, и после этого сбрасывает DIN. Почему спрашиваю - ПЗУ - W27C512
http://www.alldatasheet.com/datasheet-pdf/pdf/47653/WINBOND/W27C512.html
там есть такой параметр TOH - так вот по описанию он равен 0 ns. Может так и не бывает, но видимо время достаточно мало. А для медлительного ВМ1 это может быть критично. А CE ведь формируется из DIN и WTBT, т.е. по времени в лучшем случае на 15 ns они будут отличаться, если вообще будут.
2. Я правильно понимаю, что процесс чтения (передний фронт DIN) для "пошаговой приставки" и без нее, на нормальной частоте - это одно и тоже, ведь мы же на это время пускаем тактовую на процессор, и он работает сам по себе, но тогда п.1. нас не волнует получается и можно там не "копать"?
3. Если во время действия RPLY он вдруг возьмет и прервется, процесс снятия DIN/DOUT прекратится? или в какой то момент времени проц схватывает наличие RPLY и дальше уже все делает автоматом без проверки наличия RPLY до конца обмена?
Пока вроде все. Если что, не серчайте сильно, мыж чайники...
-
? Anonymous - 11.11.2009 22:50
1) Программа работать не будет, т.к. записав экран она пойдет далее, пока не наткнется на пустые адреса, после чего возникнет прерывание по 4му вектору, которое, вероятно, и дает полосы. Условие у вас никогда не будет выполнено, ибо после значения 077776 R1 станет равен 0100000, 077777 там не окажется никогда.
2) Данные должны убираться одновременно с RPLY, т.е. только на следующем такте процессора, учитывая привязку RPLY к тактовой.
3) Пропадание RPLY на время, пока его держит триггер стробирования, естественно, процессор не заметит, но если он пропадет на процессоре, то как правило процессор зависает и не пытается даже в halt выйти, перезапускается только сбросом.
3.а) А вы не забыли резистор поставить между выходом стробирующего rply триггера и входом rply процессора? А то блок регистров процессора будет оказываться в некоторые моменты времени недоступным самому процессору.
-
? Kisser - 11.11.2009 23:11
1. Ну это я идиот (про 77777), но она и не дошла до конца, т.к. при тактовой в 60 кГц заполнение - 1 полоска в 3 секунды + косяк с адресацией (полоски 1 через 3 както идут), но его буду позже исправлять. В данном случае мне главное было что он писал вообще в видео ОЗУ.
2. Так вот наверное где собака и порылась. даже учитывая время доступа в 70 нс это может оказаться решающим, конечно же... Можно както малой кровью (без перепрошивки ПЛИС) это дело локализовать? например задержав... DIN (DOUT насколько понимаю не важен, т.к. данные будут сниматься позже него)? Задний фронт все равно никому не нужен, быстрая логика на него сразу среагирует, а вот передний как раз даст необходимую задержку для отработки RPLY+1CLK????
3. Тут надо думать...
3а - не забыл, все что не знал - содрал со схемы БК ))) 75 Ом там, если есть - то значит нужно, особо не выделывался )))
Спасибо!!! пойду дальше думать...
-
? anonymous - 12.11.2009 01:01
Для задержки OE вместе с RPLY можно OE на ПЗУ тоже через триггер попробовать пустить, например.
-
? Kisser - 12.11.2009 21:16
А можно данные на шине оставить до окончания действия SYNCa? Или до DOUT, при цикле с модификацией? тогда бы не пришлось привязываться к тактовой процессора и обойтись одним триггером действительно.
-
? anonymous - 12.11.2009 22:03
Данные снимаются одновременно с RPLY, после пропажи которого активное устройство снимает SYNC или ставит DOUT, во втором случае данные процессором имеют право выставляться до DOUT, а поскольку у вас на ПЗУ выход не с открытым стоком, а тристейтовый, то будут возникать короткие замыкания питания ПЗУ через шину и процессор на землю.
-
? Kisser - 13.11.2009 21:03
Ну не знаю тогда... может RPLY снять с ноги процессора и по нему снимать данные? Будет так сказать RPLY-IN и RPLY-OUT. Так все-таки есть нормы по времени сколько данные должны после фронта RPLY существовать на шине? Для указанных ПЗУ данные от фронта OE еще есть в течении 20 нс. Этого хватит?
-
? Anonymous - 13.11.2009 22:49
От переднего фронта RPLY - 0, снимаются одновременно.
-
? anonymous - 14.11.2009 00:38
Вот открыл описание, DIN снимается процессором, когда он заберет уже данные, по переднему фронту тактового импульса, RPLY после снятия DIN можно снимать по заднему фронту того же тактового импульса. Если DIN ушел, то данные гарантированно забраны процессором, на это есть 250нс (при 5МГц) интервал между установкой RPLY и снятием DIN.
-
? Kisser - 15.11.2009 19:57
Так получается ничего задерживать не нужно? В чем же тогда может быть дело?
И еще, в БК-11 схема привязки RPLY сделана на JK-триггере. Она такая хитрая и должна быть, или было бы достаточно D триггера, а использовали уже имеющиеся в схеме элементы?
-
? sav - 17.11.2009 17:39
схема сделана на D-триггере, который реализован на JK-триггере - (там же инвертор стоит между JK). Поищите схемы преобразования триггеров друг в друга.
-
? Kisser - 17.11.2009 18:18
Есть только разница - D триггер переключается при CLK из 0 в 1, а указанная схема - из 1 в 0. Учитывая, что anonymous писал: "RPLY после снятия DIN можно снимать по заднему фронту того же тактового импульса", в будущем хотелось бы заменить эту схему например D-триггером с тем же инвертером на тактовой.
-
? anonymous - 17.11.2009 18:35
Ну посмотрите схему 11й и 10й машин, в последней подается на триггер тактовый сигнал в противофазе с процессорным, а в 11х - тот же, что и на процессор.
-
? anonymous - 19.11.2009 03:17
Kisser, ну как дела? Что-нибудь накопали?
Я вот тут озадачился немного иной проблемой, касательно экрана МК90, обсуждавшегося в соответствующем треде. Подцепив ЖК-матрицу с таким же интерфейсом, но 640х400, я получаю ошибку позиционирования одной строки, последней, т.е. 199я строка каждой половины экрана отображается в 0й строке той же половины, мне это напомнило вопрос "почему именно 01330?" Описания на матрицу конкретную нет, но есть описание на ее "половину" - аналогичную по схеме, но 640х200 и не разделенную на половины, завтра ее подцеплю и проверю с ней. Кстати весьма приятный экран получается для БК с этой 640х400, занимает 31.25кб, если не делать цветным. Кстати опрос адресов, принадлежащих к разным половинам, соответственно смещенных на 768 байт, чтоб не иметь адресной "дырки" между точками нижней строки верхней половины и нижней половиной, производится с коррекцией сумматором, что гораздо проще, экономичнее и шустрее, чем использование ПЗУ с таблицами для исправления БКшного 01330 в рулоне - поставьте тоже сумматор туда с известным индексом!
-
? anonymous - 19.11.2009 04:47
Великолепное открытие, не думал, что такой маразм бывает! В этой матрице - действительно строки нумеруются при загрузке кодов со сдвигом, начинать надо выдвижение с 1й строки, дойти до 199й и последней выдвинуть нулевую! :) Поставил в счетчике строк коррекцию, чтоб по коду 0311 загружался значением 1, а при значении 0310 блокировались выходы в нулевое состояние, остальные коды проходят без изменений на сумматор адресов.
-
? Kisser - 19.11.2009 16:32
Копал, да, от забора и до обеда )))
По поводу сумматора - в принципе оно в ПЛИСе так и реализовано. Функция там вот такая
if SCR='1' or SCR='H' then QRL<=63;
elsif (conv_integer(Droll)>39) and (SCR='0' or SCR='L') then QRL<=(conv_integer(Droll)-40);
elsif (conv_integer(Droll)<=39) and (SCR='0' or SCR='L') then QRL<=(conv_integer(Droll)+216);
end if;
Где SCR - бит "расширенной памяти". Как оно там реализовано - наверное на сумматоре.
Кстати формула ошибочна - получается разница в 2 строки, это заметно, когда программа по заполнению экрана работает.
Теперь что нарыл. Все тайминги вроде в норме - дешифратор адреса срабатывает через 20-30 нс от SYNCa. CE на ПЗУ подается также через 20-30 нс. Вообщем не знаю, что ему нужно. Могу только сказать, что его поведение такое же, как если не подавать RPLY. А вообще есть какойто обозримый перечень "ошибок", по которым процессор выходит в пульт?
и еще, в существующей схеме по адресу 177716 (и 14 тоже) вырабатывается RPLY. Как бы он и процессором же вырабатывается на эти адреса, но ПЛИС явно быстрее. Не может быть тут конфликта?
-
? anonymous - 19.11.2009 17:12
Процессор выходит в пульт по 4 событиям, 1) двойное зависание, т.е. когда указатель стека смотрит на несуществующую память 2) по зависанию при приеме вектора прерывания 3) по команде HALT 4) по сигналу IRQ1
Ваша схема не должна вырабатывать никаких сигналов в области 0177700..0177717, это делает сам процессор, вернее отдельный блок на кристалле его, фактически являющийся самостоятельным устройством.
-
? Kisser - 19.11.2009 18:01
Понятно что не должна, но а если вырабатывает - это может являться причиной?
-
? Kisser - 19.11.2009 19:09
Дело все-таки в RPLY. Пока не понял как, но где-то очень близко. Сделал схемку из двух 2и-не с ОК, которая блокировала бы RPLY при SEL1. На 3 МГц не запустилась, но теперь, во-первых, экран встал куда нужно (с верхней строки), и его заполнение идет без пропусков (на строчной частоте опять же). Причем отключил SEL1, т.е. как повторитель схема работала - все точно также. Т.е. работа стабильнее на порядок. Наверное нужно уровни подгонять между ПЛИС и 555ТВ9.
-
? anonymous - 19.11.2009 19:14
Откровенно говоря, никогда не озадачивался экспериментированием в этом направлении, а на практике с таким вариантом не встречался. Его встроенный цикл обращения к регистрам весьма длинный, это сделано на случай подключения внешних устройств на медленных на год разработки процессора микросхемах малопотребляющих серий, потому вполне может оказаться, что ответ от плис процессор хватает и заканчивает цикл, а затем получает лишний собственный ответ. Прошейте в пзу зацикливание обращения к 0177714 и понаблюдайте засинхронизировав лучи по SYNC, чтоб видеть цикл с самого начала и захватывая то, что остается после него без мерцаний и дергания.
-
? anonymous - 19.11.2009 19:18
Вместо 555ТВ9 ставьте 74HC(T)112, для работы серии самой 1801 желательны уровни от питания до земли, кстати 1801ВМ3 и 1801ВМ4 гонятся выше своих 8МГц только если все сигналы обеспечены уровнями КМОП-микросхем.
-
? Kisser - 19.11.2009 22:34
Обвязка вся на HC выполнена, кроме ТВ9 (112) - не нашел я ее. Да дело видимо не в ней. Почитал в инете про общий коллектор на КМОПах - оказывается это штука та еще. Посмотрел RPLY от ПЛИС - при подтягивающем резисторе в 2,2 кОм фронты были затянуты на несколько сот (!) нс. Пришлось уменьшить до 100 Ом. Дальше, если не убирать RPLY при SEL1, на 39 ноге ВМ1 образуется ступенька в половину напряжения и длительностью в 100-200 нс. Думаю это не есть хорошо. Убрал RPLY при SEL1. все без изменений, кстати даже при тактовой строчной добиться стабильной работы как выше писал больше не получалось.
Теперь думаю уменьшить подтягивающие резисторы на DIN и DOUT, чтото они мне не нравятся. Вообще есть ограничение по минимальному сопротивлению? Потом наверное можно будет уменьшить резисторы на шине. Ну я уже не знаю что думать.
-
? anonymous - 20.11.2009 01:57
Такого быть не может, я вообще 3.3к обычно ставлю, выходы с opendrain дают прямые фронты вплоть до десятков мегагерц на нем, главное, чтоб емкость шины была минимальной. Минимальное сопротивление, которое можно навесить на сигнал процессора 1.3к, тогда к нему не может быть подключено никаких ТТЛ/ТТЛШ входов, ибо резистор поест весь его максимальный выходной ток, равный 4mA. Потому платы ДВК усыпаны шинными формирователями столь обильно: там буферизованы все линии между процессором и местными устройствами ввода-вывода на БИС и, естественно, внешняя шина, т.е. непосредственно на процессоре никто не висит кроме памяти, она сидит непосредственно на нем для уменьшения задержек сигнала, но в старших моделях с блоком памяти на РУ5/РУ7/РУ9 и она буферизована. (на РУ9 серийно процессоры ДВК так и не успели начать выпускать, т.к. слишком велик был процент брака самих РУ9 при изготовлении, и они были на вес золота)
-
? Kisser - 20.11.2009 18:20
Если трогать шину нельзя, тогда пора паниковать...
Сделал схему пуска на ЛН1 и ЛА9, почти как в БК, специально на 555й серии чтобы задержки побольше, результат тот же. Хотя что собственно должно измениться было?
Вот осциллограммы при входе в пульт:
http://i003.radikal.ru/0911/15/ebd78e9bf319.jpg
Вверху - DIN, внизу - AD15. Вот затягивание переднего фронта меня напрягает (и в DIN он тоже какойто "ступенчатый". Понимаю конечно, что он все равно на низкий уровень должен реагировать, но все-таки. Очень хорошо видно, что некоторые пики не успевают дойти даже до половины Vcc (и это при 2 мкс/дел!). При подключении параллельно 3,3 кОм второго резистора 3,3 кОм ситуация улучшается, но не кардинально. Меньше не стал, боюсь попалить процессор, у меня их больше нет.
-
? Anonymous - 20.11.2009 21:11
Конечно здоровенная емкость провода осцилографа сильно влияет еще, но они у вас действительно какие-то слишком пологие, странно, а сколько нагрузок на линии той же ад15 и какова ее длина по плате?
-
? kisser - 20.11.2009 22:25
Врядли дело в осциллографе, тем же щупом наблюдал намного более крутые фронты. Емкость осциллографа - 40 пФ, шнура - не знаю, длина его ок. 50 см.
Длина AD15 - 61.04 см. ширина дорожки Т12 - видимо 0,3 мм. Толщина - 0,18 мм вроде. Тот же DIN имеет длину 44,7 см.
К АД15 подключено:
EPM7128 - емкость не знаю, в описании чтото про 35 пФ говорится, но вроде это нагрузка, а не емкость
EPM7160 - тоже самое
Резисторная сборка 3,3 кОм
ОЗУ 431000 - 10 пФ (вытащено на данный момент)
ПЗУ W27c512 - 12 пФ
74hc245 - 10 пФ
74hc04 - 3,5 пФ (в блоке со светодиодами, + 3-4 см удлинение линии)
+ еще незадействованные разъемы и пара неустановленных м/с (длина до них посчитана). К DIN подключено столько же, включая светодиод, кроме hc245.
Во, щас попробую вытащить все, что можно, и понаблюдать за поведением.
-
? Anonymous - 20.11.2009 22:29
Длина колоссальная, надо сказать, я длиннее 5-8см небуферизованные шины никогда не тянул... :)
-
? Anonymous - 20.11.2009 22:32
Да, а у 1801ВМ1 емкость на любой линии шины до 100пик - норма, в предельных значениях 150п указано и 100п для ВМ2.
-
? kisser - 20.11.2009 23:04
Да ладно, а в БК разве длины меньше? Плата почти 30 см длиной, и идут от одного края до другого...
Вынул все что можно (кроме резисторов), даже ПЛИС памяти. без изменений. так что или действительно длины, или процессор тупит. Но это всего 3 МГц...
-
? L - 20.11.2009 23:43
У шнура осциллографа может быть "офигенная" емкость (для БК) если в самом щупе не стоит развязка-повторитель. То что где-то показываются крутые фронты (не в БК) то это сигналы предполагающие 50-омную нагрузку по ВЧ (это входное сопротивление экранированного кабеля осциллографа). В шнуре сигнал и общий идут на расстоянии может быть ~1мм - но представьте этот "общий" (т.е. "экран" вокруг сигнального провода) длиной хотя-бы 1м.
В БК ни один сигнал не идет параллельно с общим(экраном) и соответственно на шине не нужны 50 ом и куча повторителей как в ДВК.
-
? Kisser - 21.11.2009 12:17
Да теже самые сигналы (на той же самой плате) смотрел, и с фронтами все было ок. Даже 12 МГц нормально наблюдается (при полосе усилителей в 10). Единственный косяк был, когда пытался прощупать цепи с 24 МГц - при выводе на экран изображение дергалось когда касался осциллографом.
Думаю отключить тот же АД15 от шины, и подать вместо него 6-8-12 МГц, посмотреть на крутизну фронтов. А после этого АД15 от процессора подключить через два инвертора из HC серии к шине. Если будет реальное изменение - значит придется буферизировать, если же нет - тогда кирдык.
-
? anonymous - 21.11.2009 15:35
Грубо прикинул ад15 в новой переразведенной плате 10ки, которая под новую клавиатуру и вешается и глюкает при разгоне (успешно турбировалась каждая 2-3) и при установке более 2 блоков в МПИ, там ~40см. В старой плате БК, куда без проблем навешивается 4 блока через разветвитель на 6МГц и турбируется каждая машина (не желали работать единицы, но это лечилось устранением связи по din/dout с вп1 через линии задержки оригинальной счемы и пробрасыванием din/dout до них напрямую) - там приблизительная длина ад15 - ~30см.
-
? Kisser - 22.11.2009 12:49
Думаете из-за лишних 20 см такая ерунда? Вот что еще нарыл. Все замечательно, если не использовать ОК. При подключении HC04 в нагрузку на АД15, нормальные картины и при 12 МГц (и при питании от Ад15 ВМ1 тоже). Но стоит включить HC03 - то те же самые пологие фронты. Сборки резисторные нормально питаются, в точке их питания особых пульсаций не наблюдается.
-
? anonymous - 22.11.2009 13:07
Я же как раз заметил выше, что увеличение всего до 40см приводит к фатальным последствиям для турбирования, так ничего нельзя сказать не имея железяки на руках. Но правило, длиннее 10см не делать ни одну локальную шину, мне удается соблюдать последние 20 лет, особенно теперь, когда поднялись частоты и почти все микросхемы доступны в BGA-корпусах. Вот несколько лет назад я столкнулся с проблемой на работе, что не удавалось выйти на 66мгц в плате, хотя на 50 она работала стабильно - потребовалась переразводка платы с уменьшением длины проводников между процессором и памятью всего на 2см (из 7). Потому и всю логику я со времен появления PLD/PAL/GAL прячу в плиски. Кстати вчера умер один Xilinx геройски, на него попало 600вольт от подсветки монитора. Внутри он даже жив и x-checkerom загружается, но стоит в прошивке разрешить выходы, как сопротивление по питанию падает до 37 Ом и он раскаляется... :(
-
? Kisser - 22.11.2009 13:29
жестоко вы с ними... 600В даже человек не выдержит )))
Расскажите пожалуйста, как буферизовывать шину... Подключил НС245, все как нужно теперь (правда, только на АД15 одной попробывал, но не вижу причин чтобы все 16 линий не работали). Даже со всеми м/с и светодиодной приставкой. С шиной более менее ясно - переключение вход/выход к DIN подключить, хотя вы же говорили что при установке DIN еще адрес может не сниматься, как тут с КЗ будут дела обстоять? А вот с SYNCами и прочим как бытЬ? Понятно, что для БК процессор является единственным задатчиком на шине, но, вдруг доживем до DMA и прочих штуковин, хотелось бы уже сейчас все это хозяйство разрулить, как вариант - подключить СЕ к BSY.
-
? anonymous - 22.11.2009 18:05
Буферизовать - элементарно, на вход OE буферов подается сигнал BSY с процессора, а на вход DIR подается DIN, включаются буфера так, чтоб при 1 на DIN они передавали от процессора в шину, таким образом и адрес, и данные с процессора будут выходить просто через открытые буфера, обеспечивая минимальные задержки без переключения, а когда ему потребуется данные забрать, они будут перекидываться на время приема в обратную сторону.
-
? anonymous - 22.11.2009 18:17
От КЗ/"гонок сигнала" избавляют проходные резисторные сборки, т.е. не с общим выводом, а сквозные, либо куча резисторов. Если хочется DMA, то городить огород с переключением направления буферов по функции DATA_DIR=/DIN*/SACK+/DIN*SACK и направление SYNC/DIN/DOUT/RPLY/WTBT задавать тоже по SACK. А вообще лучше сразу озаботиться установкой мощных буферов с открытым стоком, например ABTE16246 или 74ALS641-1N, первые держат ток до 96мА, вторые - 48мА.
-
? anonymous - 22.11.2009 18:24
ой, лишнюю инверсию влепил, конечно же DIN*/SACK+/DIN*SACK
-
? kisser - 22.11.2009 19:07
Наверное скажу какую-нить глупость, но
а) учитывая что открытый сток в НС03 мало помог, то и буферы с открытым стоком также не пойдут. Кроме того, учитывая совеременную КМОП-логику, 20 мА от НС245 наверное будет достаточно. Кроме того, в свободной продаже такие м/с не видел.
в) а разве при DMA BSY не снимается? соответственно работать буферы на шине не будут, и SYNC, din и прочее задаваться будут внешним устройством.
г) а RPLY тоже требуется в обе стороны буферизировать? DMA теоретически может писать в процессор в принципе...
д) DIN*/SACK+/DIN*SACK вроде как тоже самое что din(+)sack
Вывод - ну его нафиг пока с DMA, Пусть так хотя бы заработает )))
-
? Kisser - 22.11.2009 19:33
А посмотрите пож-та
http://i069.radikal.ru/0911/ac/021777d774b5.gif
выводы вразнобой, чтобы разводку на плате упростить. Главное - питание СЕ, DIR. И номиналы резисторов (взял 75 Ом по аналогии с RPLY).
-
? anonymous - 22.11.2009 20:34
Про CE командного буфера не забудьте. А про драйвера с открытым стоком - с ними по стандарту на МПИ тогда терминировать шину можно и тянуть ее хоть на 2 метра, там 330/680 терминаторы ставятся с каждого конца, а если длинная - то и в середине, т.е. резюки выходят 110/225 Ом всего и крутые фронты. 641-1N & 642-1N в чипе-дипе заказываются от 20 штук, 16246 - очень распостраненная микросхема, ей много кто торгует.
-
? Kisser - 22.11.2009 21:09
сейчас посмотрел в чип-и-дипе есть сборки только 100 Ом. Какой разброс допустим? Выбирать особо не придется, если конечно не по одному покупать
-
? anonymous - 23.11.2009 01:46
Вообще от рабочей частоты зависит, так на 30-50МГц ставят обычно 33ома, выше - 10ом, так что частота БКшки вполне 100ом приемлет.
-
? kisser - 23.11.2009 22:28
Чтото они лиху дали. 50 р за 8 резисторов даже в красивом дип-корпусе - это слишком. Гламур не пройдет. Лучше взять по 20 коп одиночных в Кварце, или вообще SMD, и места меньше съедят, и дырок меньше сверлить.
-
? anonymous - 24.11.2009 03:45
В чипе-дипе одиночные резисторы уже по 8..14 рублей за штуку :)
-
? a214 - 24.11.2009 16:36
они наверное за нами подглядывают... :)
-
? x - 29.11.2009 22:45
Не подскажете, что из этого можно тспользовать?
http://i052.radikal.ru/0911/81/cc7aa8d3928b.jpg
-
? x - 30.11.2009 02:29
:) прикольные чипы...
http://www.chips.5u.com/idxodd.html
-
? anonymous - 30.11.2009 04:08
「? x - 29.11.2009 22:45 Не подскажете, что из этого можно тспользовать? http://i052.radikal.ru/0911/81/cc7aa8d3928b.jpg」
¤
MC68000 - Хорощий 32-разрядный процессор с 16-битовой шиной, ассемблер практически идентичен БКшному, для создания интеллектуальных контроллеров с обработкой больших объемов информации - самое то, ибо прямо адресует 4Мб памяти. К нему можно найти диспетчер памяти 68450 и запускать UNIX SystemV. Математического сопроцессора, увы, штатно не поддерживает, можно использовать сопроцессор в качестве адресуемого программно арифметического расширителя.
Z08530006 - двухканальный последовательный порт, rs232/rs422.
TMS4c1024 - динамическая память с раздельными входами и выходами, как и у БК, организация - 1мбит на 1 разряд (соответствует отечественной К565РУ9)
AM29LS30 - дифференциальный 4-разрядный шинный формирователь, обычно для последовательного порта в режиме RS422 используется.
R65NC22 - многофункциональная периферийная микросхема, содержит два 8-битовых параллельных порта, регистр сдвига, который можно использовать в качестве примитивного последовательного порта и два программируемых 16-разрядных таймера.
[10 16v] и [156 20v] - танталовые электролитические конденсаторы на 10 и 15мкф.
NECB708 - мощный полевой транзистор с каналом N-типа и встроенным защитным диодом.
- вот это можно использовать, остальное - в помойку/коллекцию.
¤
「? x - 30.11.2009 02:29 :) прикольные чипы... http://www.chips.5u.com/idxodd.html」
На фотках номер 3 и 4, считая сверху, "пирожок" J11 (отечественный аналог Н1831*), моя мечта, но нигде не удается живой достать. :)
На 8й сверху фотке, если не изменяет память, микропрограммное ПЗУ для PDP11 с поддержкой кода, порождаемого компилятором DIBOLа на уровне команд процессора, т.е. кроме основного набора команд и плавающей арифметики, добавляет инструкции для работы со строками и массивами, которые компилятор DIBOLa использует, ну и самописные программы ассемблерные некоторые, а для обычных ОС/софта оно не нужно - штука была редкая и никто не писал код с использованием этих инструкций, чтоб не было проблем с совместимостью.
-
? x - 30.11.2009 09:38
Посоветуйте, как 68-й использовать?
Можно ли в 11-ю, вместо ВМ1 или как по другому БК подапгрейдить - приставку на шину через МПИ?
Как скажите, так и сделаю =)
-
? anonymous - 30.11.2009 14:57
В принципе можно, кто-то даже о таком рассказывал в середине 90хх и это было высмеяно в одной из статей в журнале БК, где говорилось о том, что далеко не все еще программные фокусы, на которые БК способен, народ реализовал, а уже считается не престижным, если аппаратура БК не проапгрейжена, фраза была типа "...можно конечно к клавиатуре БК прицепить плату с Моторолой и наслаждаться новыми графическими возможностями..." но это будет уже не БК, а Мак. Кстати, если у вас корпус 68000 не "короткий", т.е. не с ограниченным количеством ног, а с 64 или 68, то он будет адресовать 16Мб, в 52-ногом корпусе - 4Мб, а в 48-ногом - 1Мб, это экономия на количестве выводов такая неприятная в отношении адресного пространства. Чтоб прицепить его к БК, потребуется весьма много усилий
1) шина адресов и шина данных разнесены, их придется мультиплексировать.
2) коды управления обменом данными надо конвертировать, например по функциям SYNC=AS, RPLY=DTACK, /DIN=RW*/LDS+RW*/UDS, /DOUT=/RW*/LDS+/RW*/UDS, /WTBT=/RW*/LDS*UDS+/RW*LDS*/UDS, A0=UDS при этом адрес надо фиксировать и оставлять на шине, не опуская SYNC, уже после падения AS, до тех пор, пока не появятся LDS/UDS, сформировать из них A0 и затем опустить SYNC, потом транслировать DIN/DOUT/WTBT, к тому же WTBT следует выставить при SYNC=1 с линии RW непосредственно для указания на тип следующего цикла, т.к. это требуется некоторым МПИ-микросхемам, например тот же 588ВГ2 без WTBT корректно цикл записи не выполняет.
3) моторола стартует всегда через 0й вектор, потому после сброса в адрес 0 надо подставлять адрес старта и исходное значение регистра состояния.
4) обработка 4го вектора реализуется внешней схемой, т.к. расчитана на то, что это прерывание будет вырабатывать диспетчер памяти или арбитр системной шины.
5) запрос прерывания осуществляется подачей кода приоритета IPL, как и у T11, радиальных прерываний, как у ВМ1, у него нет, т.е. и таймер, и запрос от параллельного порта надо сделать векторными.
6) несмотря на схожесть ассемблеров и простоту конвертирования исходников программ PDP<->M68k, бинарный код у него сильно отличается, исполняемые программы БК сами по себе работать уже не будут, хотя возможен вариант с перекомпиляцией на лету, но это все равно довольно хитрое программное обеспечение придется писать, и, естественно, в любом случае - писать свое стартовое пзу монитора.
-
? x - 30.11.2009 20:47
Ног - 68... понял, что менять ВМ1 - смысла нет, а имеет ли смысл использовать 2МБ памяти и 68-й для обработки и формирования видео изображения отдельным устройством на МПИ?
-
? anonymous - 01.12.2009 00:09
Это вам решать, что вам хотелось бы сделать и что для вас имеет смысл.
-
? Валерий@ - 03.12.2009 22:00
Доброго времени суток !
¤
У моторолы есть еще одна особенность: расположение байт в памяти не младший старший а наоборот. По крайне мере в 68020. Так что если в БК поставить моторолу - то это будет не совсем БК а точнее совсем не БК. А если еще подправить переферию - то получится Apple Macintosh Classic :)
-
? Александр...@ - 04.12.2009 03:22
Вот за фак из ADOBESYS L1A2274!? Это вобще из какой железяки вытащено? Гугл ответа не дает, но сдается мне, что это вытащено из какого-нибудь мака или принтера. А L1A2274 - это... хардверный процессор Postscript'а? Я хухею! Adobe, оказывается, чипы делала. :) Надо бдет Джанис Киндалл спросить, она еще в Адоби работает и была одной из нескольких человек, которые Postscript и потом PDF разработали.
-
? anonymous - 04.12.2009 06:00
Валерий, так у всей MC68 линейки, я работал с 68000/68010/68020/68030, с более старшими не довелось повозиться, но и 40й, и 60й, тот же стандарт соблюдают. Однако при чтении диска ничто не мешает драйверу раскладывать байты в верном порядке. Кстати у 68020 и более старших моделей вопрос обмена байтами с шиной решается куда проще: там можно процессору сообщить, что мы за раз принимаем не целиком слово, а полуслово или всего байт, тогда включается счетчик, который указывает сколько байт осталось и процессор повторяет цикл, сдвинув оставшиеся байты на обслуживаемую памятью или устройством длину. При этом очередность физического расположения можно перетасовать любым образом, например, оставив стандартный короткий полный цикл с памятью общего назначения, но перестраивая байты в экранной области.
-
? x - 05.12.2009 00:14
http://s56.radikal.ru/i154/0912/12/d4d700fbd883.jpg
=) выдрано из старого лазерника...
-
? Александр...@ - 05.12.2009 00:30
Ну это понятно, firmware. Adobe до сих пор что-то типа 50млн в квартал получает за лицензию. В некоторых новых принтерах крутится код, написанный на коленке на ассемеблере еще в 80-х годах. :) Первые Postscript принтеры от Apple и HP были по сути персоналкой на 68xxx Мотороле с firmware от Adobe. А вот микросхема с ADOBESYS брендом меня позабавила. Неужели они еще и ПЛМ какие-то фигачили...
-
? x - 06.12.2009 20:19
Извините если не в тему, а это потожет БК к монитору с S-Video подключить?
http://www.nedopc.com/PALCODER/coderCsch.png
-
? Kisser - 06.12.2009 22:16
Поможет. Если не нужен цвет, то можно ТВ-выход на БК соединить с низкочастотным входом (тюльпан) безо всяких схем (на моем шарпе так работает без проблем). + еще есть переходники тюльпан/с-видео. Так же в скарте есть цветовые компонентные входы, но, скорее всего, нужно уровни будет подгонять (не пробывал).
-
? anonymous - 06.12.2009 22:33
Если машина 10я, то лучше без цветов, цвета у десятки - только глаза калечить пригодны, всегда на 10ке только в ч/б 512х256 работал.
-
? Александр...@ - 06.12.2009 23:11
Как раз в 256х256 глаза меньше страдали. А если еще вспомнить разрешение отечественных "мониторов", то вобще грустно должно быть. Цвет, насыщение, контраст и яркость можно подрегулировать на самом ТВ.
-
? x - 06.12.2009 23:57
А какая модель монитора Шарп?
У меня на мониторе нет скарта, но есто S-Video и RCA-композитный входы, а так же VGA и DVI-I кажется...
-
? anonymous - 07.12.2009 02:11
Александр, у меня всегда с текстами была работа, а мониторы были от 85-ки, 512 точек показывали хорошо, да и в 256х256 ничего не попишешь особо, кстати от больших символов глаза устают гораздо быстрее, по крайней мере у меня (вообще и на современных машинах разрешения меньше 1600х1200 быстро утомляют, сижу на 2048х1536). Сейчас осталось три почти живых МС6105 - после прогрева начинаются искажения, уплывания яркости, размеров - надо высохшие К50-6 заменять.
-
? Александр...@ - 07.12.2009 02:56
Если монитор Э85, то вопросов нет. А с обычным ТВ 256x256 - то, что доктор прописал. Если про писание вы иммеете в виду программы, то длинна строки в ассемблере в БК не важна, очевидно. Для обычных текстов... Ну не знаю, писал я на цветном мониторе всю жизнь и рефераты и даже статьи, ничего. Для меня основная проблема была с пропорцией разрешения и экрана.
-
? anonymous - 07.12.2009 03:51
Пропорции мне нравились, кстати у меня в записной книжке сейчас как раз такой же экран - 1024х512. Я как-то делал на БК0010 японофикатор с подключением 256кб пзу со шрифтом, и еще остаток шрифта с драйвером около 7кб озу занимал, иероглифы печатались в знакоместо 16х16, а латиница, кирилица и ханкаку-катакана в 8х16, вот там сильно не хватало разрешения, всего 16 строк по 32 символа умещалось, естественно от служебной строки отказаться пришлось, а в знакоместо менее, чем 16-точечное, уже не вписать многие символы без потери однозначной узнаваемости. Вот недавно отыскивал куски сего безобразия и приятелю из Польши давал, ему нужно было дисплей микроконтроллера модифицировать под японский вывод. http://qbus.narod.ru/JIS932LCD.ZIP - там самая первая отладочная пробная версия, содержимое файлов dbcs.bkd & dbcs.fnt взято у Micro$oft из DOS/V ver. 6.20, есть такие же 16х16 шрифты от AdoЬe, но сразу я их не смогу шустро откопать.
-
? Kisser - 13.12.2009 15:44
Поставил НС245. Вывод отличный, ввод в принципе тоже. пологий фронт только когда шина переходит в Z-состояние. Думал оно влияет на ввод, но к моменту снятия DIN все нормально. Вот когда DIN отпускается, тогда этот пологий фронт и нарастает. Однако не работает и на 3 МГц, и при пошаговом режиме тоже нестабильно (во всяком случае обращение к видеопамяти). Ну не знаю я уже что нужно. Пробывал уменьшить резисторы на шине, но они не на что не влияют, фронт становится более крутым, а толку 0.
-
? anonymous - 13.12.2009 16:49
Цепляйте логический анализатор и исследуйте времянку циклов, что еще остается...
-
? Kisser - 13.12.2009 20:57
Да уж, в домашних условиях 16ти канальный как минимум анализатор...
Надо еще подумать. Вот не понятно, БК работает с медленной логикой, и все хорошо, а тут вроде всем должно быть хорошо - и нагрузки меньше, и фронты круче, но не работает.
Да, кажись, нужно делать все в пределах одной ПЛИСины - и проц, и перифирию. Но тут уже другая история, и, видимо, без меня.
-
? anonymous - 13.12.2009 23:20
У меня не глючат никогда и на рассыпных плисках поделки к БК, вы напортачили где-то, иначе бы все работало. Ищите...
-
? a214 - 14.12.2009 00:47
Вот тут я согласен - где не то в проекте. Частота БК-0010 в 3МГц - и 300тыс оп/сек
в БК...(это для процессора ВМ1 с операциями между регистрами без ВП1-037 -
в реальной БК с ЕМТ-да там и 30тыс не будет). И зачем выдумавать какой-то ПЛИС c хххМГц - просто поставьте "железкный" 1801ВМ1А c радиатором (какой-то из заводов это делал-в старые времена это наверное была Прибалтика-Шауляй наверное) - они все работают на 6МГц-просто память нужна нормальная, а не РУ6(РУ5)-Ё-К-Л-М-н(у меня и у других естественно стояли дешевые РУ6 с тремя-двумя точками - это что-то типа Г(буквы А у них в принципе не было даже для спец - были Б или "золото")
...Не вытягивал вовсе не ВП1-037(у ВП1 вроде как по ТУ 8МГц - на 12МГц 50% точно бы работали при хорошем радиаторе снизу(там подложка и кристалл) а не сверху - просто не "тянула" память
-
? anonymous - 14.12.2009 03:04
Нет, у ВП1-037 срывается регенерация, просто залипают некоторые адресные выходы в произвольном состоянии на 12МГц, надо из большой коробки подбирать, работает очень малый процент, на 8 - работают все.
-
? Александр Тишин@ - 14.12.2009 06:02
Kisser: В современных ПЛИС (Altera Cyclone, например), есть функция встроенного логического анализатора. Правда, не бесплатная - кушает немного ячеек и блочную память под буфер отсчётов.
-
? Kisser - 20.12.2009 12:17
Еще раз проверил монтаж, замыканий не нашел. Я пас. Если еще придет вдохновение, попробую продолжить, а пока - ну его нафиг.
-
? anonymous - 20.12.2009 12:55
Да не про монтаж мы, а про глюки в дизайне, в vhdl, в самой схеме где-то что-то не так, вероятно...
- << Форум