|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Проследил насколько хватило бдительности, что по тексту происходит с портами. На первый взгляд всё примерно соответствует документации от ООО "Ангстрем": Смущает, что программа программатора датирована: File Date: 7 Dec 1999А многие пишут, что алгоритм изменили в 2000-м году... Наверное, надо рискнуть и прожечь одну штуку КР1878ВЕ1. Просто как-то не хочется испортить себе впечатление об этих МК ещё на 5 лет вперёд...
_________________ iLavr
|
16 Nov 2020 20:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Очень я не люблю, когда дизассемблированный код не собирается в копию оригинала побайтно... В этом случае неясно, можно ли коду верить, или есть ошибки декомпиляции. И как избавится от лишних NOP, NOP было понятно сразу - надо было заменить в ассемблерном тексте p386n на p286n. Это не делало код лучше, но позволяло сравнить с оригиналом побитно. Я обычно делаю это утилитой fc.exe ( file compare) с опцией /b - сравнить в бинарном виде. Но замена p386n на p286n вызывала другие ошибки компиляции... Пока я исследовал, как реализован протокол прошивки, исходник постоянно исправлял и корректировал, и в итоге осталось заккомментировать ;p386n и то, что к 386 имеет непосредственное отношение (я пометил ***). После этих исправлений дизассемблированный исходник собрался в *.ехе, идентичный оригиналу! Про прошивку - продолжу здесь... P.S. Если кому-либо надо, утилиту fc.exe и её WIN-аналог я уже весьма давненько выкладывал здесь...
_________________ iLavr
|
21 Nov 2020 08:52 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Про этот документ пишут, что вроде как он описывает "новый", измененный алгоритм прошивки микроконтроллера КР1878ВЕ1. Я разрисовал для себя подробно "старый" алгоритм по документации ООО "Ангстрем": Теперь надо попытаться " найти 10 отличий"... На диаграмме записи - DIA_1878WR.gif - меня что-то смущает " третье состояние" - надо посмотреть, как это реализовали по тексту программатора.
_________________ iLavr
|
24 Nov 2020 07:50 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Что-то мы тут не добрались тогда до ГОСТ В 20.39.402, а я как раз достал свои первые 4 штуки КР1878ВЕ1, чтобы посмотреть их год выпуска, ибо последние 20 штук у меня выпущены заведомо позже 2000 года. Согласно сайту: Кодовая маркировка интегральных микросхем отечественного производства, Так что на этой фоточке: микроконтроллер, действительно, выпущен в 11 неделю 2000 года, с которого и обещаны все траблы с алгоритмом верификации.
_________________ iLavr
|
24 Nov 2020 15:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В общем рискнул, прошил и впечатления себе не испортил, ибо мне этого очень не хотелось. По текстам программатора я не выявил каких-либо заметных отклонений от документации ООО "Ангстрем", поэтому решил прошивать их программой p_wmct.exe, но на всякий случай внёс изменения в схему программатора, чтобы учесть всё, что я прочитал про микроконтроллер КР1878ВЕ1. Также эта схема должна поддерживать ещё две других сторонних программы, поэтому имеет некоторые отличия от имеющихся в сети "стандартных" схем. Но первый блин комом не вышел, p_wmct.exe оригинальный от ООО "Ангстрем" исправно прошил экземпляр КР1878ВЕ1 с датой изготовления 10.08, т.е. изготовленный в 8-ю неделю 2010 года. Замечания по схеме: буфер 74НС244 я поставил с двоякой целью: поберечь сам LPT-порт, ибо они сейчас стали редкостью, и второе - все сигналы в этой схеме подаются на КР1878ВЕ1 только когда включено через LPT-порт питание +5В. Читал, что микроконтроллер не любит подачи сигналов на свои выводы (особенно напряжения программирования +12В), если питание +5В не подано. Второй очень важный момент, который я сам заметил при отладке: LPT-порт должен быть включен в стандартный однонаправленный режим. У меня был включен режим bidirectional - это конкретно мешало. Даже в статике просто при отладке. Прошивал под чистым DOS 7.1 на IBM Thinkpad 600E ( PII 366 MHz). Пишут, что можно из-под Windows 95( 98) прошить, но я не рискнул, хотя у меня и Windows 98, но в процессе отладки видел, что Венда имеет привычку полезть в свой LPT-порт (возможно, это процесс SPOOL32 забавляется, но я не стал экспериментировать). Отлаживал под Windows 98 с помощью вот этой программы: Обратил внимание вот на что - напряжения питания и программирования должны быть близки, на мой взгляд, к номинальным. Поэтому напряжение программирования выставил +12.1В - учесть падение на транзисторе. И 620 Ом в базе VT4 - также, чтобы увеличить ток коллектора. В результате напряжение питания было 4.9В точно ( 142ЕН5А тоже не даёт чистые +5.0В - в моей практике всегда занижает), напряжение программирования было точно +12В на коллекторе VT3. Во время отладки от контактов микроконтроллера PB0, PB1, PB2 прицепил на землю светодиоды FYL-5013URC через 1 К, они яркие, через 1 К вполне прилично светят. При подаче " 1" на выходы D3, D4 включается питание +5В, и горит светодиод HL2. При подаче " 1" на выходы D1, D2 включается питание +12В, и горит светодиод HL1. Если питание +5В не включено, то питание +12В не включится, и светодиод HL1 - не горит. При подаче " 1" на выход D5 - загорится светодиод HL3 - это индикация включения +12В в программе p_wmct.exe и для программирования КР1878ВЕ1 он не нужен. HL1, HL2 индицируют питание. Через программу управления портом подавал " 1"/" 0" на выход /STROBE, при этом изменяется /BUSY, и горит/гаснет светодиод. При подаче " 1"/" 0" на выход /AUTOLF - изменяется ACKNLG, и горит/ гаснет светодиод. При подаче " 1"/" 0" на выход INIT только горит/гаснет светодиод на PB2. Транзисторы VT1, VT2 притянуты через 12К по базам к земле, чтобы не открылись, если потеря контакта в разъёме LPT. С этой же целью - 1К на землю от вывода A1 буфера DD1. Порядок программирования:1. Подсоединяем программатор к LPT при выключенном компьютере и выключенном питании +12.1В. 2. Микроконтроллер КР1878ВЕ1 в панельку НЕ ВСТАВЛЯЕМ! 3. Включаем компьютер, он тестирует порты и светодиоды могут моргать! Питание проходит от выводов порта LPT через защитные диоды 74НС244!!! 4. После процедуры POST на выходах LPT могут быть лог." 1" - надо их сбросить в " 0" любой программой (кто не умеет могу выложить). 5. Вставляем КР1878ВЕ1 в панельку, подаём питание +12.1В. 6. Запускаем программу программатора, к примеру так: C:\TEMP\PROG\p_wmct.exe clock18.sav /c:011 /d:EEPROM.DAT7. Если прошивка прошла удачно, программа программатора сама переводит все сигналы в " 0". 8. Отключаем питание +12.1В, вынимаем КР1878ВЕ1 из панельки. Я не был уверен, что всё закончится успешно, поэтому данная схема может работать со сторонними программами программатора: p_1878.exe, we1.exe - вторая делает прошивку без верификации чтением, поскольку, как пишут, ошибки случаются в основном при верификации чтением. P.S. Если нет нужды априори записывать что-то в EEPROM, то файл EEPROM.DAT - обычный текстовый файл следующего содержания.Если нужно занести что-то в EEPROM, то правим файл EEPROM.DAT в текстовом редакторе.P.S. Следующая утилита сбрасывает в "0" выводы LPT1:И утилита и сама программа программатора p_wmct.exe работают только с LPT1!
_________________ iLavr
Last edited by Lavr on 04 Dec 2020 08:43, edited 1 time in total.
|
04 Dec 2020 07:36 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
... поэтому программатор собрал на беспаечной макетке, чтобы в случае неудачи вносить в схему изменения, учитывая всё то, что уже известно по программированию КР1878ВЕ1. В левом нижнем углу - К155ЛА3, которая не имеет отношения к программатору, но в начале на ней был собран НЧ мультивибратор с частотой примерно 0.5 Гц для тестирования разных элементов в схеме программатора. Если кому нужно оперативно прошить 1...2 КР1878ВЕ1, оставшиеся из древних времён, то - вот расфасовка деталей на макетке для ориентира, на макетке оно - быстрее. Ну и приложу весь пакет программ, которые я приготовил, в процессе подготовки к прошивке:
_________________ iLavr
|
04 Dec 2020 08:33 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Впрочем, прошить КР1878ВЕ1 - это всего лишь пол-дела, поскольку в разных негативных отзывах пишут, что и генератор не запускается у этого микроконтроллера, и порты, бывает, через один не работают... Поэтому, прежде, чем собирать часы (а в прошивке были именно простейшие часы), мне срочно хотелось убедиться, что вся эта возня с прошивкой была не зря, и микроконтроллер всё-таки работает по прошитой программе. С этой целью я прямо на макетке программатора собрал часть часов по следующей схеме: Здесь супервизор питания на транзисторе ( Б.Ю.Семёнов пишет, что эта схема, в отличие от RC-цепи, просто-таки отлично запускает данный микроконтроллер при включении. На выход звука прицеплен высокоомный телефон, ну и кварц с задающими цепями. И всё это прямо сразу и без проблем заработало! Со схемой супервизора Б.Ю.Семёнов, похоже, прав - многократно включал/выключал питание, чтобы услышать стартовый писк часов при включении... Ну и потыкал осциллографом по всем выводам портов - развертка на индикатор АЛС-318 работает! В общем, можно со спокойной совестью простейшие часы собрать... P.S. В разрисовке макетки постом выше есть одна недоработка: эмиттер VT3 должен быть подключен к +12.1В, а он нарисован соединённым с шиной питания +5В.
_________________ iLavr
|
05 Dec 2020 14:01 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
И я их так " со спокойной совестью" сразу же собрал (фотки выложу) но меня как-то смущал вот этот узел, который называют " супервизор питания" или же другие названия у него есть... Я этот узел целиком взял у Б.Ю.Семёнова, лишь уменьшив до 30К сопротивление в цепи коллектора. Номинал 100К для притяжки цепи сброса к 0 В, мне не понравился... И я решил подробнее посмотреть, как в принципе делают такие узлы на рассыпухе. Посмотрел здесь: Супервизоры питания (BOD), и пришел к выводу, что Б.Ю.Семёнов плохому не научил, и, собственно, всё во многом зависит от тока стабилитрона и коэффициента передачи h21 примененного транзистора. А по сути - номиналы резисторов узла можно менять в разумных пределах в весьма широком диапазоне (что я потом и сделал)... Но меня притормозил один момент: фирменные трёхвыводные супервизоры питания содержат в своём составе источник опорного напряжения, компаратор и выходной каскад с открытым коллектором... и тут я подумал, а нельзя ли соорудить супервизор питания на микросхеме таймера 555 (он же 1006ВИ1), вот как мы тут обсуждали? В общем дня три я потратил на поиски в Интернете, и увидел, что никто супервизоров питания на таймере 555 не делает, несмотря на то, что там на входе прецизионные компараторы. И, подумав, я пришел к выводу, что, на мой взгляд, мне понятно почему. Дело в том, что супервизор должен вступать в действие при довольно низких уровнях питания, начиная где-то с 1 В - уже удерживать " 0" на входе микроконтроллера. А таймер 555 кроме компараторов, содержит и цифровую часть: поэтому в НЕ КМОП (стандартной) версии он начинает работать с 4,5 В по даташиту, и в супервизоры питания он явно не годится.
_________________ iLavr
|
19 Dec 2020 17:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну и я из интересу немного поварьировал параметры дискретных супервизоров напряжения питания, выполненных по схемам из предыдущего поста: И пришел я к выводу, что Б.Ю. Семёнов выбрал довольно-таки не самый худший вариант! Кому интересно - можете сами попробовать:
_________________ iLavr
|
19 Dec 2020 17:47 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну и, честно говоря, я совершенно не понял сразу, зачем в цепь сброса включают "токоограничивающий" ( возможно) резистор... Эту схему Б.Ю.Семёнов как раз ругал, как ненадёжную, и рекомендовал супервизор питания... Но посмотрел я: в своих последних документах ( Рекомендации.doc) специалисты ООО "Ангстрем" от этого резистора-таки избавились.
_________________ iLavr
|
19 Dec 2020 20:22 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
| | | | Lavr wrote: и тут я подумал, а нельзя ли соорудить супервизор питания на микросхеме таймера 555 (он же 1006ВИ1), вот как мы тут обсуждали? В общем дня три я потратил на поиски в Интернете, и увидел, что никто супервизоров питания на таймере 555 не делает, несмотря на то, что там на входе прецизионные компараторы. | | | | |
Но попался мне вдруг нежданно-негаданно один такой, который взял и сделал, причем давненько... Таймер у него - NE555, вроде как он не КМОП, но информация к размышлению имеет место быть.
_________________ iLavr
|
01 Apr 2022 01:05 |
|
|
Konstantin18
Maniac
Joined: 15 Jan 2019 15:48 Posts: 325 Location: Украина, Луганская обл.
|
Для создания супервизора питания кроме компаратора потребуется ИОН источник опорого (образцового) напряжения, а с ними в 555 как-то не сложилось. Приведенная выше схема является формирователем импульса сброса, а не супервизором питания так как не имеет порога срабатывания.
|
01 Apr 2022 08:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А вот в подборке схем, приведённой выше, местами и без ИОН-ов вполне обошлись... Прямо-таки, значит, не имеет порога срабатывания? А что там тогда делает вот этот делитель на входе между GND и Vcc ?
_________________ iLavr
|
01 Apr 2022 09:01 |
|
|
Konstantin18
Maniac
Joined: 15 Jan 2019 15:48 Posts: 325 Location: Украина, Луганская обл.
|
Ну понятно что, делитель он это, он ДЕЛИТ. Я имел ввиду что нет определенного уровня ниже которого будет сброс. ПС. Хотя, возможно, добавление в эту схему одного стабилитрона решит эту проблему. Но это не точно.
|
01 Apr 2022 09:41 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну это вам так кажется, молодой человек, в виду вашей поспешности и неопытности... Делитель, естественно, ДЕЛИТ... на самом деле - просто делит, в результате чего компараторы отслеживают напряжение питания - там всегда 1/3 и 2/3 от Vcc. На входе " Порог" ( TRE) - RC-цепь с большой постоянной времени, значит на этом входе напряжение спадает медленнее, нежели само питание Vcc. Так что там без особой надобности прецизионный ИОН - порог переключения четко отслеживается делителем. И в схемах с транзисторами никакой ИОН не нужен... так что как-то "мимо кассы" этот вброс. Меня вот больше беспокоит, что на выходе 555, когда он вне своего диапазона питания... Но, скорее всего, таймер и процессор достигнут своих номинальных напряжений питания практически одновременно, и за счет RC-цепи таймер всё же удержит процессор от старта на сколько там надо тактов.
_________________ iLavr
|
01 Apr 2022 10:03 |
|
|
Who is online |
Users browsing this forum: No registered users and 1 guest |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|