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

User Tag List

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 11 по 20 из 43

Тема: Помогите найти основной тест комманд электроники 60

  1. #11
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Речь идёт не о разных устройствах, находящихся на разных платах, а о разных портах (регистрах) одного устройства, схемотехнически реализованных на единой плате (в обсуждаемом случае - о передающем и приёмном портах терминала на плате МС1201 ), выдающих прерывания по разным векторам.
    С точки зрения архитектуры передатчик и приемник это разные устройства сидящие на общей шине, не зависимо от того где они физически находятся.
    Скажите, а тест процессора зацикливается на неправильно отработанной команде?
    Я правильно понял, что тест Т1 это тест процессора и находится он по адресу 167652?

    ---------- Post added at 17:21 ---------- Previous post was at 17:11 ----------
    Последний раз редактировалось Impartial; 10.11.2011 в 17:23.

  2. #12
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    С точки зрения архитектуры передатчик и приемник это разные устройства сидящие на общей шине, не зависимо от того где они физически находятся.
    А с точки зрения теста платы МС1201 - передатчик и приёмник терминала находятся на плате МС1201 и порядок обслуживания их прерываний жёстко и однозначно задан схемотехникой платы МС1201. Поэтому, если данный порядок не соблюдается - тест сообщает об ошибке.

    тест процессора зацикливается на неправильно отработанной команде?
    Выходит с сообщением номера дефекта ( номера дефектов указаны в документации - см. описание платы МС1201 ).

    Я правильно понял, что тест Т1 это тест процессора и находится он по адресу 167652?
    Согласно документу МИКРО-ЭВМ "ЭЛЕКТРОНИКА МС 1201" ТЕХНИЧЕСКОЕ ОПИСАНИЕ И ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ - тест процессора выполняется по команде "T3"

  3. #13
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо!
    Тест команд прошел!
    Буду городить вывод на терминал.

  4. #14
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Partron подскажите.
    Вот трассировка начального старта с адреса 160000 при "1" в регистре 0177716, т,е выход в пультовый режим.

    Input PC =
    Start adr = 160000
    160000 000406 BR .+16
    160016 052737 BIS #10,@#177716
    160024 042737 BIC #4,@#177716
    160032 012706 MOV #177614,SP
    160036 004767 JSR PC,160112
    160112 012700 MOV #177614,R0
    160116 012701 MOV #161330,R1
    160122 012703 MOV #10,R3
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160126 012120 MOV (R1)+,(R0)+
    160130 077302 SOB R3,160126
    160132 000207 RTS PC
    160042 005037 CLR @#177650
    160046 005037 CLR @#177644
    160052 005037 CLR @#177640
    160056 005000 CLR R0
    160060 013701 MOV @#177716,R1
    160064 042701 BIC #177770,R1
    160070 020100 CMP R1,R0
    160072 001402 BEQ 160100
    160074 005200 INC R0
    160076 000774 BR 160070
    160070 020100 CMP R1,R0
    160072 001402 BEQ 160100
    160100 006300 ASL R0
    160102 062700 ADD #161432,R0
    160106 011000 MOV (R0),R0
    160110 000110 JMP (R0)
    160440 000000 HALT
    > PC=160442 PSW=10

    Заканчивается командой HALT
    Что я упустил? Что дальше должно быть?
    При пуске с (177716=0,2) (вектор 24 и начальным загрузчиком НГМД) все заканчивается прерыванием по несуществующей команде (код 012).

  5. #15
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    выход в пультовый режим. Заканчивается командой HALT
    Процессор 1801ВМ1 выполняет команду HALT, как программное прерывание особого типа ( HALT Trap ) по вектору 0160002.

    Алгоритм HALT Trap выглядит так:
    Код:
    void VM1_CPU_Class::HALT_TrapToRomOffset( int nROM_Vector_Offset )
    {
    	WORD(SEL1) |= BIT_3;
    
    	WORD(0177676) = PSW;
    	WORD(0177674) = PC;
    
    	word addr = 0160000 + nROM_Vector_Offset;
    	
    	PC  = WORD(addr);
    	PSW = WORD(addr+2);
    }
    Т.е. по команде HALT (как и по сигналу IRQ1, устанавливаемому переключателем "Пульт") процессор 1801ВМ1 устанавливает бит 3 в регистре SEL1 по адресу 0177716 (подключая ПЗУ пульта в адресное пространство), сохраняет PSW в слове памяти по адресу 0177676, сохраняет PC по адресу 0177674 и считывает вектор (т.е. PC и PSW) программы обработки прерывания HALT по адресу 0160002.

    Цитата Сообщение от Impartial Посмотреть сообщение
    Что дальше должно быть?
    Поскольку по адресу 0160002 записаны 0160446 и 02340, то процессор запишет в PSW значение 02340, установив бит 10 и зафиксировав переход из режима USER в режим HALT, и перейдёт к выполнению программы обработки прерывания HALT по адресу 0160446.

    Цитата Сообщение от Impartial Посмотреть сообщение
    При пуске с (177716=0,2) (вектор 24 и начальным загрузчиком НГМД) все заканчивается прерыванием по несуществующей команде (код 012).
    Это команда START, которая обычно используется для выхода из режима HALT в режим USER.

    Процессор 1801ВМ1 имеет только две дополнительных команды - START и STEP, алгоритм выполнения которых следующий:
    Код:
    // STEP
    case 014:
    case 015:
    case 016:
    case 017:
    	nSTEP_Flag = 1;
    // START
    case 010:
    case 011:
    case 012:
    case 013:
    	WORD(SEL1) = WORD(SEL1)&(~BIT_3);
    
    	PC  = WORD(0177674);
    	PSW = WORD(0177676);
    	PSW &= ~(BIT_9|BIT_8);
    
    	continue;
    Т.е. обе команды делают одно и то же, но STEP дополнительно запрещает прерывания на один шаг.
    Последний раз редактировалось Patron; 13.04.2013 в 01:50.

  6. #16
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за точный и исчерпывающий ответ!

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

  8. #17
    Master
    Регистрация
    22.07.2007
    Адрес
    St.Petersburg
    Сообщений
    593
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    Еще очень хотелось бы найти содержимое ПЗУ Электроники 60 К581РУ1-3.
    И детальное описание К581ИК1,2.
    Довольно детальное описание есть в книжке: Игорь Владимирович Захаров. Техническое обслуживание и эксплуатация МикроЭВМ «Электроника-60М»

    http://bookinist.net/books/bookid-46221.html

    Там же есть описание УПО (Устройство Последовательного Обмена), которое является простейшим СОМ-портом на мелкой логике и годится для консоли 177560. Глава 5.3

    В конце книги есть трасса микрокода 581РУ в момент старта процессора.

    Еще такой тупой вопрос: зачем вам эмулировать пультовой режим К1801ВМ1/2 ? Он очень ракообразный. У Электроники-60 пультовой режим реализован в микрокоде, т.е. исполнение микрокода PDP-11 останавливается и нижний микрокод выходит непосредственно на связь с консолью на 177560. В вашем случае - код ARM-а

  9. #18
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlecV Посмотреть сообщение
    Еще такой тупой вопрос: зачем вам эмулировать пультовой режим К1801ВМ1/2 ? Он очень ракообразный. У Электроники-60 пультовой режим реализован в микрокоде, т.е. исполнение микрокода PDP-11 останавливается и нижний микрокод выходит непосредственно на связь с консолью на 177560. В вашем случае - код ARM-а
    Если бы найти детальное описание 581 комплекта с содержимым ПЗУ, то конечно лучше написать эмулятор основываясь на этой архитектуре.
    Но этого нет. Приходится делать то, на что есть хоть какое то описание.
    Часть пути уже пройдена и начинать с начала уже нет времени.
    А пультовый режим нужен только на этапе отладки и кривой он или нет уже не важно. Процессор это небольшая часть работы, больше проблем с эмуляцией переферии станка.

  10. #19
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    больше проблем с эмуляцией переферии станка.
    Если управляющие сигналы поступают в станок по нестандартным каналам, то помимо программной эмуляции посылающих эти сигналы контроллеров будет осуществлена и их совместимая с PC аппаратная имитация, верно?

    Или стойка ЧПУ общается со станком по какому-то стандартному каналу типа RS-232..
    Последний раз редактировалось Patron; 15.11.2011 в 15:15.

  11. #20
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вся периферия станка общается по кубасу.
    В том то и задумка, чтобы всю периферию запихнуть в АРМ.
    Я пытаюсь это сделать на STM32F103RET6.

    Скажите какой адрес регистра SEL2?

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Основной экран в 24 строки
    от Den Zurin в разделе Для начинающих
    Ответов: 5
    Последнее: 12.12.2010, 09:07
  2. Помогите найти игру
    от RRRoman в разделе Игры
    Ответов: 2
    Последнее: 14.01.2007, 13:26
  3. помогите найти программу-тест
    от John North в разделе Софт
    Ответов: 1
    Последнее: 27.12.2006, 18:57
  4. Помогите найти музон!
    от Darkman007 в разделе Музыка
    Ответов: 12
    Последнее: 11.12.2005, 13:39

Ваши права

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