-
- ? dima83
- 26.12.2017 10:36
Понимаю... У меня БК0010-01. Если есть подробное описание протокола буду рад ссылке.
- ? dima83
- 26.12.2017 10:04
Да, спасибо. Руководство системного программиста я читал. Там сказано, что для организации работы по ТЛГ каналу необходимо доработать БК (как именно не сказано). Далее описываются команды ЕМТ40, ЕМТ42, ЕМТ14, ЕМТ46, ЕМТ50. Не очень понятно что именно нужно сделать для загрузки какой либо программы с линии, т.е. что вводить, откуда и в какой последовательности. Так же интересует вопрос автозагрузки с линии при включении БК (если это конечно возможно).
- ? dima83
- 25.12.2017 15:11
Тут недавно поднимался вопрос об использовании последовательного (телеграфного) канала БК для загрузки файлов с линии. Можно как то более подробно описать как это происходит и что для этого нужно?
- ? dima83
- 25.12.2017 10:33
имея все вышесказанное, можно обрисовать схемотехнику устройства:
¤
оно должно иметь:
¤
- полноценный 16ти разрядный порт ввода-вывода с z-состоянием
- 4 порта для работы с сигнала управления шиной (синхр, чтен, запись, ответ)
- 4 порта для работы с CD-картой
¤
такое количество портов имеется только у микроконтроллеров старшего семейства, либо придется объединять несколько пиков среднего сесмейства....
- ? dima83
- 25.12.2017 10:02
Понятно. В любом случае проще проще загонять прогу в озу. И как я понимаю размер файла и адрес его начальной загрузки используются только загрузчиком для правильного размещения проги в ОЗУ?
- ? dima83
- 22.12.2017 15:45
Теперь поясните мне как как загнать в нашу "виртуальную" ПЗУ с адреса 120000 какую нибудь программу в машинном коде что бы она выполнялась прямо из ПЗУ. Насколько я понимаю при ассемблировании программы мы получаем бинарный файл, у которого первым словом идёт адрес загрузки, вторым - размер файла, совместимый с эмуляторами. Я так понима, что эти два слова нам не нужны и зашивать наше ПЗУ мы будем только самой программой? Далее, если в программе имеются метки и переходы, то насколько коррекно они будут отрабатываться ведь ассемблер "думает", что мы поместим нашу программу в ОЗУ, не в ПЗУ!?
- ? dima83
- 22.12.2017 15:07
Бейсик БК-0011, первая микросхема 010
Бейсик БК-0011, вторая микросхема 001
Бейсик БК-0011, третья микросхема 000
¤
Значит имеем на системной шине соответственно:
¤
120000 - 101000000000000
140000 - 110000000000000
160000 - 111000000000000
¤
теперь правильно?
- ? dima83
- 22.12.2017 11:58
Значит первая ПЗУ (120000) Бейсик имеет адрес кристала: 101
вторая ПЗУ (140000) : 110
а третья ПзУ (160000) : ???
- ? dima83
- 22.12.2017 09:05
На счет адреса это либо ошибка в статье либо уже не знаю что. Сказано же, что "... на схеме показано ее включение для адресов 120000 - 137777...) по схеме дешифратор к555ид5 имеет инверсный выход с 6го разряда, а значит будет работать только в случае записи в его двоичные разряды числа 110 (бин) !
- ? dima83
- 22.12.2017 08:57
Говоря об адресе 100000 вы имеете в виду пусковой монитор, но после его загрузки он передаст управление бейсику (я это имел в виду)?
- ? dima83
- 21.12.2017 16:07
т.е. программа будет выполняться непосредственно из ПЗУ?
- ? dima83
- 21.12.2017 16:05
по логике я понимаю, что процессор начиная с 120000 начнет "шагать" все глубже и глубже в пзу выполняя одну команду за другой? так?
- ? dima83
- 21.12.2017 15:59
теперь если мы, например, прошили ПЗУ и записали в 0 адрес какую нибудь команду, типа mov R0,R1
¤
и подключили эту пзу к шине с заблокированным бейсиком, то что будет дальше?
¤
при включении бк она обратится к этой ПЗУ по этому адресу и выполнить эту команду
¤
а дальше?
- ? dima83
- 21.12.2017 15:58
R15-R1, нулевой разряд в дешифрации адреса участвовать не будет, но будет участвовать при выдаче слова от ПЗУ
- ? dima83
- 21.12.2017 15:57
Судя по тем материалам, которые я прочитал, при обращении процессора к области 120000 на системной шине сформируется вот такая картина:
110000000000000
- ? dima83
- 21.12.2017 15:34
теперь если можно давайте разберем сигналы управления. На диаграмме уж очень все смещено и непонятно
- ? dima83
- 21.12.2017 14:22
Ну в общем правильно - обратившись к адресу 120000, мы попадаем в нулевую ячейку ПЗУ, к 120001 - к в первую и т.д.
- ? dima83
- 21.12.2017 14:19
? BD@ - 21.12.2017 13:47
офф. черкни e-mail на bdv01(собака)bk.ru
СДЭК возит к вам ))
я вам написал в агент
- ? dima83
- 21.12.2017 14:14
стоп-стоп! Почему шина инверсная???
Входы регистров-защелок - прямые!
Входы-выходы ПЗУ тоже прямые!
Единственно, что может быть инверсным это сигналы управления: Синхр, чтение, запись, ответ.
- ? dima83
- 21.12.2017 13:37
Внимательно узучив схему дешифрции в статье "Кассете ОЗУ-ПЗУ для БК 0010", выяснил, что адрес 1й - ПЗУ Бейсик составляет "110" - "А15-А13". Примечательно, что разряд А12 так же участвует в дешифрации, поскольку с него начинается обращение ко второй группе ПЗУ, т.е. к следующим 4м килобайтам информации. В схеме использованы ИС ПЗУ К537 РФ5 по 2 КБайта каждая.
- ? dima83
- 21.12.2017 12:22
И почему тогда ПЗУ блока МСТД, которые подменяют ПЗУ Бейсика имеют другие обозначения - 019 и 018 ведь накакой другой дешифрации более не происходит ?
- ? dima83
- 21.12.2017 12:19
ПЗУ Бейсика имеют обозначение: КР1801 РЕ2А - 106, 108 и 107. Так чему равен из внутренний адрес "А13-А15"?
- ? dima83
- 21.12.2017 12:16
Соответственно, при обращении ко второму ПЗУ Бейсик, шинный адрес которого 140000 всепроизвойдет аналогично, лишь с той разницей, что в разряды "А13-А15" будет записан другой адрес.
- ? dima83
- 21.12.2017 12:10
Так вот теперь давайте по порядку:
120000 - это адрес 1й МС ПЗУ Бейсик согласно системной шины, но ведь ведь обращаться то нужно непосредственно к адресному пространству самой МС?! Стало быть в любом случае первоначальное обращение начнется с адреса "А1 - А12" т.е. "000000000000", а в разряды "А13-А15" должен быть занесен код данной микросхемы (кстати чему он равен?). Иными словами произвойдет дешифрация адреса.
- ? dima83
- 21.12.2017 10:38
? Alexander Tishin@ - 20.12.2017 00:13
Ну тогда скажите пожалуйста что будет на шине при обращении к первой МС ПЗУ Бейсика по адресу 120000?
- ? dima83
- 21.12.2017 10:33
Да я уже скачал журналы по БК и ГОСТ по шине и несколько других журналов... Но вопросы все же остаются. Надеюсь, что Вы мне поможите в них разобраться.
- ? dima83
- 18.12.2017 15:46
http://ruecm.forum2x2.ru/t369p25-topic
- ? dima83
- 18.12.2017 15:45
Нашел еще информацию по данному вопросу (может кому интересно): Журнал "Вычислительная техника и ее пременение" 1991 г. №11 "Кассета ОЗУ-ПЗУ" для БК 0010 (стр.41). Схема хорошо читаема.
- ? dima83
- 18.12.2017 15:16
или же например при выполнении како либо команды (например из бейсика) может "проскочить" по шине цифра 120000, значит она тоже отобразиться на шине? т.е. как понять это просто информация "бегущая" по шине или это запрос на периферийный модуль подключенный к шине?
- ? dima83
- 18.12.2017 14:43
Вот смотрите, я думал, что повешу на шину свои регистры сдвига, но они ведь, получается, будут мешать прохождению информации от других внутренних устройств? Т.е., например, если я загоню в регистры все одиницы (лог 1) равно как и нули (лог 0), то у меня шина "сядет", т.е. проц уже не сможет никому и ни куда передать, пока не введу свои регистры в стостояние "Z"?
- ? dima83
- 18.12.2017 14:38
Ну просто порт системной шины 16 разрядный, для обращения к адресу 120000 нужно задействовать все 16 разрядов. Ведь мы имеем дело не простым портом ввода-вывода, а с системной шиной. Тут еще и другой вопрос возникает: если шина системная, то все комманды БК (запись в память, в регистры, в драйверы) так же должны отображаться на этой шине т.е. на разъеме МПИ? Я, в принципе, не программист, а электронщик, поэтому мне нужно знать не просто какая команда загоняется в системную шину, а каково состояние каждого пина этой шины в каждый момент времени.
- ? dima83
- 18.12.2017 12:34
Если я правильно понимаю, то сформируется такое состояние порта:
1010000000000000
что произойдет на линиях А23(ввод Н), В20 (СИП Н), В22 (СИА Н), А30 (ВБ Н) и А29 (ЕН) ?
- ? dima83
- 18.12.2017 12:28
Ну слава Богу контроллер я знаю лучше, чем БК. Там в системной шине не нужно особо разбираться)
Скажите, а что на портах ДА15Н-ДА00Н формирует эта команда? Просто адрес или код команды + адрес? Если можно подробно.
- ? dima83
- 18.12.2017 11:34
И еще мне очень непонятен такой момент, если в сисемной области ПЗУ бейсика начинаются с адреса 12000 (по 17760), то какой адрес появится на шинах ДА00Н-ДА15Н при подключенном МСТД в момент включения питания БК?
- ? dima83
- 18.12.2017 10:44
А можно по подробнее о программе-загрузчике? Чем она отличается от обычных программ?
По идее это машинный код, при получении которого проц должен выполнять некоторые инструкции так?
Значит он должен последовательно давать команды на загрузку нашего файла (программы) в оперативу бк и последней должна быть команда на исполнение. Так?
- ? dima83
- 18.12.2017 10:01
единственно что я пока не очень понимаю протокол обмена кб с внешним пзу. если можно разнисните мне это пожалуйста
- ? dima83
- 18.12.2017 07:40
Если я все правильно понял, то при подключении блока и включении питания происходит считывание двух МС ПЗУ блока МСТД последовательно, т.е. в сумме 16 КБайт?
- ? dima83
- 18.12.2017 07:37
А мысль довольно простая - загнать с помощью пика и двух сдвиговых регистров самую примитивную программу в машинном коде в БК. Да еще так, что бы она запускалась автоматом при включении питания.
- ? dima83
- 18.12.2017 07:28
? BD@ - 17.12.2017 22:13
Спасибо Вам огромное за предложение, но к сожалению, наши "сумы" ни один банк мира не приинмает)
Вы совершенно верно подметили, я хочу поговорить именно о дешифраторе на пике.
- ? dima83
- 17.12.2017 15:52
и еще один нюанс: при параллельном включении 1801 РЕ2 под адресные входя используются разряды с D1 по D12, а разряды с D13 по D15 используются для выбора самой ИС (их может быть до 8 соединенных впараллель). По логике получается, что если бы в МСТД была установлена всего лишь одна МС, то для дешифрации адреса хватило бы всего 12 разрядов?
- ? dima83
- 17.12.2017 13:33
Выяснил, что выводы 21 и 22 (А16 и А17) это дополнительные выводы ИС1801 РЕ1. Я так понимаю, что они в работе не участвуют и поэтому притянуты к питанию.
- ? dima83
- 17.12.2017 12:40
пардон не к земле, а к питанию
- ? dima83
- 17.12.2017 12:19
да, и самое главное, А14 БЛК притянут к земле и блокирует чтение ПЗУ Бейсик с адреса 16000 так?
- ? dima83
- 17.12.2017 12:17
Это понятно. Давайте теперь разберем схемотехнику блока МСТД:
¤
16ти разрядный порт системной магистрали ДА00Н - ДА15Н включаются параллельно разрядам 2х ПЗУ КР1801РЕ2А
¤
выводы CS (CE) - притянуты к земле (т.е. мс работаю в параллельном режиме) (тут тоже есть вопрос - как они друг другу не мешают)
¤
вывод 1 DIN (по даташиту RD - сигнал "чтение") подключениы к А30 ВБ Н (ИС D1) и А23 ВВОд Н (ИС D2)
¤
вывод 3 SYN (синхронизация) на обоих ИС к выводу В22 СИА Н
¤
вывод 21 (непонятно что это) - притянут по питанию
¤
вывод 22 (тоже непонятно что это... WE, но по даташиту ее вообще нет) - притянут по питанию
¤
вывод 2 (RPLY) - оба на В20 СИП Н
¤
разъясните пробелы в подключении
- ? dima83
- 17.12.2017 07:32
Давайте будем во всем последовательны:
1. Я не говорю о програмной совместимости fat32 и бк. Пусть это будет проблеммой пик-контроллера, который будет выступать посредником при передачи файла от флешки к бк (и наоборот).
2. Я уже упонминал статью про электронный звонок, где файловая система как раз таки fat32. Значит пику под силу обмениваться информацией с флешкой в данном формате.
¤
BD@ - 14.12.2017 16:29
А драйвер, прогу которая писать\читать будет на SD, предлагается каждый раз грузить с магнитофона? и куда? Так что надо ПЗУ, например 2 шт. РФ5 или одну 1801РР1. Прошивку ты напишешь сам? ОС поддерживающую FAT32 тоже?
Велосипед уже изобретен ))
Зачем все усложнять? Сейчас мало кто будет возиться с РФшками и РРками всякими! Небольшой драйвер будет зашит в самом пик контроллере. Вспомните про статью об электронном ROM-диске. Там прога всего 11 слов! Далее управление будет передоваться меню списка файлов (тело загрузчика), которое тоже будет находится на флешке.
¤
Вопросы есть касаемо дислокации бин файлов на SD-карте. Т.е. при простом копировании файла на флешку, возможна ли его коректная загрузка в бк? И еще, когда мы вставляем блок МСТД в системный разъем, то фокал загружается по умолчанию. Так? Значит есть возможность загрузить и нашу приблуду безо всяких команд.
- ? dima83
- 14.12.2017 16:12
да и самое главное, это совместимость файловой системы (допустим FAT32) с обычным копьютером, дабы иметь воозможность перекидывать скомпелированные ассемблеровские проги
- ? dima83
- 14.12.2017 16:09
пожелания к устройству следующие (по мере возможности конечно):
чтение программ в машинных кодах (bin файлы) и в среде бейсик
¤
то, что желательно:
автоматический запуск (безо всяких команд типа S16000)
интерфейс с выводом списка файлов, хранящихся в ПЗУ (SD-карта)
возможность не только запускать уже имеющиеся файлы, но и сохранять написанные программы на БК
(конечно ассемблер бк-0010-01 не потянет или нет?)если что то можно еще, то предложите...
- ? dima83
- 14.12.2017 16:03
ну вот давайте прикинем минимальный набор деталей что бы собрать что то подобное
-контроллер (рic16f628)
-пара регистров
-i2c схема памяти
-телефонная micro SD карта (допустим 512 кб)
этого достаточно?
и что дальше делать?
- ? dima83
- 14.12.2017 13:20
Блок МСТД ведь по такому же принципу работает - с него напрямую загружается фокал.
- ? dima83
- 14.12.2017 12:21
? a214 - 14.12.2017 08:26
может сначала упростить задачу и загнать небольшую прогу на ассемблере - воткнул модуль и она сама загрузилась минуя бейсик?
-
«
1 | ... | 4 | 5 | 6 | 7 | 8 | »
?