Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Котуинко

Сб авг 28, 2021 14:45:57

...атмега8515/162 под ассемблером....?
или таки ардуино-мега как более универсально-избыточный вариант (с внешней платкой расширения)...?
:roll:

Ни того, ни другого нет. Но. На производстве таки был найден человек с программатором Тритон. Он за условую "бутылку" прошил загрузчик во все мои МК. Так что я пока задвигаю идею собрать свой параллельный программатор в долгий ящик.
Скриншот после определения прилагаю. На максимальной скорости (115200) не хотело стабильно записывать HEX на "железном" СОМ-порту, только считывало. Уменьшил до 57600, стало немного тормознее на записи/считывании больших файлов, но зато стабильно-надежно.
Из Flip невозможно "убить" загрузчик, он работает только с первыми 63КБ памяти МК, проверял, даже Erase оставляет его нетронутым. Получается, его убили, записав туда прошивку каким-то параллельным программатором.
Вложения
Снимок.JPG
(51.55 KiB) Скачиваний: 140

Re: Котуинко

Сб авг 28, 2021 17:13:36

Пока_без_кота

Такое счастье кишмя кишит по мусоркам.
Можно целый мешок набрать.
Какая проблема? :)

Re: Котуинко

Сб авг 28, 2021 18:06:35

С параллельным режимом надо быть особо осторожным...
Я вот за время последних экспериментов "убил" сигнатуру на АТ89С51 - просто подал +12 на кристалл при наличии единиц на всех входах... ну и копался в тот момент с тестером глядя на номинал +12... может чего щупом и подкоротил..
Как вариант - отключение питания при процессе прошивки гарантированно "подарочки" подкинет (в том числе и на ISP варианте).
Добавим "недокументированные" особенности (коими часто "козыряют" нехорошие редиски от разработки).
Вобщем гадать можно много - главное что удалось благополучно запустить!
:beer:
Кстати... Пока_без_кота возможно где у Вас еще попадутся в лапы AT89C51RC-24JI ...
Для Вас ссылка:
http://radioled.com/news/
RDшки (как и атмега128) были на старых кассовых аппаратах - но там перепайка нужна, а это лишний термоудар...
:roll:

Re: Котуинко

Вс авг 29, 2021 02:23:40

... возможно где у Вас еще попадутся в лапы AT89C51RC-24JI ...
Для Вас ссылка...

Благодарю, ссылка годная, местами есть "вкусные" предложения.
А чем хороши именно AT89C51RC ?

Re: Котуинко

Вс авг 29, 2021 08:43:40

Последние из относительно дешевых на радиорынке были, да в документации протокол параллельной прошивки есть.
В остальном... корпусировка досталась из "нелюбимых" (44J-PLCC), хотя к счастью хоть в стандартную панельку втискиваются, не требуя пайки.
Давненько то уже было - так пока и вылеживаются из-за корпусировки да вопроса "куда приткнуть?" ибо там аж 32к ПЗУ да 512 ОЗУ с несколько специфичным по отношении к "стандартному" размещением - 256 байт в области веншней памяти данных.
Под котуинку такой вариант не пригоден - тут мне наоборот надо как можно меньше перекрытия с областью ВПД/ВПП.
Чуток позже подоспела ардуина со своей "мультиплатформенностью" под Си/С++.
А 51ю пока еще только под SDCC можно использовать да под ассемблером...
Лезть в дебри SDCC весьма ЛЕНЬ...
8)
Кстати...
При работе с "распределенной платкой" подтвердилась "скрытая особенность" для АТ89S/C51_52 (??и вероятно всей группы mcs51??)- при подаче питания наблюдается проброс 0 на всех выводах на некоторое время с момента подачи питания.
Причем более явно заметно только при увеличении площади и "нашпигованности" макета.
При "малоформатной" конструкции в две-пять микросхем в рамках единой платки такой эффект практически незаметен.
Раньше с таким или не сталкивался или не обращал внимания из-за отсутствия видимых проявлений... А на котуинке при работе с UART основательно поморочился, да сейчас в программаторе (модуль fb4012) ежли во мраке присмотреться заметно "промаргивание" светика у ключа +12 (там "шинный расширитель" на АТ89С51 в качестве управления стоит) при первичной подаче питания. Но... поскольку тот импульс крайне короткий и МК в панельку до подачи питания не ставится - оставил "как есть".
Просто следует "принять к сведению" - меры подавления зависят от конкретной конструкции.
Вариант версии причины и следствия описывался у китайцев в документации по STC.
:write:

Re: Котуинко

Вс авг 29, 2021 10:27:58

Кстати...
При работе с "распределенной платкой" подтвердилась "скрытая особенность" для АТ89S/C51_52 (??и вероятно всей группы mcs51??)- при подаче питания наблюдается проброс 0 на всех выводах на некоторое время с момента подачи питания.

эта "особенность" описана в документе Atmel AT89 Series Hardware Description
см. раздел
Power-On Reset
Note: The port pins will be in a random state until the oscillator
has started and the internal reset algorithm has written
1s to them.

после сброса в защелки порта запишется FF
The internal reset algorithm writes 0s to all the SFRs
except the port latches, the Stack Pointer, and SBUF. The
port latches are initialized to FFH, the Stack Pointer to 07H,
and SBUF is indeterminate. Table 3 lists the SFRs and
their reset values.

The internal RAM is not affected by reset. On power-up the
RAM content is indeterminate.

Re: Котуинко

Вс авг 29, 2021 11:02:31

Это в старой версии - 0499B-B-12/97
а я ее давно в архив отложил.
В более новом варианте Rev. 4316E-8051-01/07 упоминание отсутствует.
В то же время у intel
"A reset is accomplishedby holding the RST pin high
for at least two machinecycles(24 oscillatorperiods),
while the asciIlator is running. The CPU respondsby
generatingan internal reset with the timing shownin
Figure25.
The external reset signal is asynchronous to the internal
clock.The RST pin is sampledduring State 5 Phase 2
of every machine cycle. The port pins will maintain
their current activities for 19 oscillator periods after a
logic 1 has been sampled at the RST pin
; that is, for 19
to 31 oscillator periods after the external reset signal
has beenapplied to the RST pin
..."
8)

Re: Котуинко

Вс авг 29, 2021 11:12:29

Это разные документы. Разница в названиях документов разве не видна?
AT89 Series Hardware Description и Atmel 8051 Microcontrollers Hardware Manual
По гуглопереводу:
Description = Описание
Manual = Руководство по эксплуатации

Re: Котуинко

Вс авг 29, 2021 11:40:11

По факту более поздний заменил предыдущий, совместив и описание железа и описание команд в одном документе (с учетом обновлений, появившихся на то время).
А вот вопрос сброса "остался за кадром", хотя в аннотации имеется - в самом документе его нету.
"2.1 Introduction This chapter presents a comprehensive description of the on-chip hardware features of
the Atmel 8051 microcontrollers. Included in this description are:
⵼ The port drivers and how they function both as ports and, for Ports 0 and 2, in bus
operations
⵼ The Timer/Counters
⵼ The serial Interface
⵼ The Interrupt System
⵼ Reset
⵼ The reduced Power Modes
..."
только вот сколь не пересматривал о Reset ни слова...
Наверно снова "ерраты"....
8)

Re: Котуинко

Вс авг 29, 2021 12:05:30

По факту более поздний заменил предыдущий

не увидел информации на сайте Микрочипа о таком факте, пруф пожалуйста или это опять домыслы.
Так же похоже по упомянутой дате 01/07 в это время уже именно AT89C51 не выпускаются - поэтому в архив складывать старый документ не правильно. О том что порты поправили при сбросе - тоже факта не видел.
Изображение

Re: Котуинко

Вс авг 29, 2021 13:49:11

BOB51 писал(а):Кстати...
При работе с "распределенной платкой" подтвердилась "скрытая особенность" для АТ89S/C51_52 (??и вероятно всей группы mcs51??)- при подаче питания наблюдается проброс 0 на всех выводах на некоторое время с момента подачи питания.
Причем более явно заметно только при увеличении площади и "нашпигованности" макета.

Я тоже это заметил, и меня это озадачило - как поведет себя подключенное к выводам МК исполнительное устройство. Причем, я пробовал и выяснил, что ни зажатый "сброс", ни отсутствующий кварц на это поведение не влияют

Re: Котуинко

Вс авг 29, 2021 18:39:43

"All the port latches in the 80C51 have 1’s written to them by the reset function. If a 0 is
subsequently written to a port latch, it can be re configured as an input by writing a 1 to
it."
Это страница 2-74 у 4316E-8051-01/07
В принципе считается, что при подаче питания порты находятся или в 1 или в Z-состоянии (по книгам и большинству даташитов).
Да и для большинства "малых" конструкций с небольшим количеством элементов и достаточно мощным источником питания этот эфект "проброса 0" практически незаметен - если не знать, что "с пристрастием" высматривать.
У китаяцев вроде поинтереснее объяснение было (где-то в теме ранее уже выкладывал).
Ну да как уже выше сказано просто примем к сведению возможный источник глюков.
Первый комплект документации для MCS51 у атмела вообще из трех буклетиков состоял (0497-B-B-12/97 - architectural overview; 0498B-B-12/97 - memory organization; и 0499B-B-97 - hardware description) да вроде еще отдельно было что-то по системе команд... более позднее согнали в один. Тогда же и "расширенные" Sки и LPшки появились. Плюс у каждого МК в даташите свои особенности и "в хвосте" ерраты (но не у всех таки были).
Далее...
Первая версия описания (0499B-B-97) касалась только АТ89с1051, at89с2051, at89с51, at89с52, at89с55, at89s8252 и at89s53 (стр.2-37 с которой сей документ начинается).
Далее ессно появились и новые МК с модернизированной начинкой и модифицированная система команд - вот для них уже была издана 4316E-8051-01/07.
Кстати...
штампик на спинке на одном из моих подопытных
"логотип атмел
at89c51
24pc
0128"
8)
Пы.Сы.
Все те модификации с документацией еще до проглотства атмеля микрощипом были - чего там сейчас на сайте у микрощипа накопать можно - сказать сложно - у атмеля и микрощипа совершенно разный стиль оформления документации...
Да и архивы выкапывать сложновато.
:roll:

Re: Котуинко

Вс авг 29, 2021 19:50:25

Да и для большинства "малых" конструкций с небольшим количеством элементов и достаточно мощным источником питания этот эфект "проброса 0" практически незаметен

да ужжж...
Раньше с таким или не сталкивался или не обращал внимания из-за отсутствия видимых проявлений... А на котуинке при работе с UART основательно поморочился, да сейчас в программаторе (модуль fb4012) ежли во мраке присмотреться заметно "промаргивание" светика

"незаметен" или "ежли во мраке присмотреться заметно" - to be, or not to be...(c) :)))

Re: Котуинко

Вс авг 29, 2021 20:44:05

Сарказм oleg110592 как всегда.
8)
В том и фокус, что в пределах "малой конструкции" сталкиваться с подобным явлением раньше не приходилось.
Если б не проявление эффекта , обнаруживаемое приемником RS232 в ПК при помощи терминала (получение случайных данных при подаче питания на макет), то и с защитой TxD линии от МК я б не стал заморачиваться.
Да и проявление проброса напрямую зависит от сложности периферийной обвязки макета.
Так что есть вероятность привязки проявления в том числе и к скорости наростания напряжения питания при включении.
Задача любителя-потребителя не исследованиями причин и документации заниматься (ибо ни соответствующего оборудования ни необходимой документации любитель не имеет), а принять надлежащие меры к блокировке возможного влияния случайно обнаруженного эффекта на работоспособность схем.
Причем в большей части это или теоретические изыски "с потолка" или результат макетных испытаний.
Пока могу предположить как одну из мер - сквозную шину аппаратного сброса как для МК, так и для ответственной периферии.
Влияние таки ослабевает, но сказать, что абсолютно устраняется я не могу... заметна зависимость от длины шлейфов и сложности периферии макета (в том числе и емкостных характеристик нагрузки линий портов). В одном случае успешно подавленное проявление снова обнаруживается при изменении конфигурации устройства в сторону усложнения периферии и исчезает при упрощении (возврату к более простой конфигурации макета).
Опять же требуется многократная проверка на действующих макетах.
8)

Re: Котуинко

Вс авг 29, 2021 21:07:36

пруфа на конкретно "сарказм" опять, как всегда, не будет?
Если б не проявление эффекта , обнаруживаемое приемником RS232 в ПК при помощи терминала (получение случайных данных при подаче питания на макет), то и с защитой TxD линии от МК я б не стал заморачиваться.

для борьбы с "эффектами" можно поискать инфу в интернете типа:
Рекомендации по организации протокола связи

Re: Котуинко

Пн авг 30, 2021 09:41:40

Как всегда попытка зафлудить тему если нечего сказать по конкретному макету.
8)
Речь же не о защите протоколов обмена, а об моменте (и ситуации) явного обнаружения "эффекта проброса 0" была.
При чем тут "Рекомендации по организации протокола связи"?
В данном конкретном случае терминал сыграл роль подобия логического анализатора/канала осциллографа и всего-то.
:wink:

Re: Котуинко

Пн авг 30, 2021 18:17:34

:o какой такой макет, обсуждали ж рандомное состояние портов 89С51 при сбросе. В ответ на то, что это "скрытая особенность", был приведен документ, где есть объяснение - в ответ даже не флуд, а словесный понос, издержки оного приведены даже в цитатах выше. Какое сказочное свинство(с).

Re: Котуинко

Вт авг 31, 2021 08:04:50

Начало -то как раз из обнаруженного на конкретном макете было. Причем весьма дааавно - еще при работе с генплатой котуинки.
Тогда от Вас "ни гу-гу" не поступало. А вот когда уже и макет программатора с менющечным интерактивом появился (при том вполне рабочий
https://radiokot.ru/forum/viewtopic.php ... 5#p4081965
) кое-кто "проснулся, потянулся" и пошла волна споров, отодвигающая описание макета в "глубины темы" (своеобразное противодействие нежелательному результату - Ваша же идея "программатор для АТ89С5х для народа" была частью начала работ с макетом).
:wink:
В Вашей цитате из документации "случайные состояния", а в том, что я видел - стабильный 0 кратковременно на всех выходах.
Причем "заметная длительность" весьма зависит от топологии нагрузки МК и от характеристик источника питания (посему собственно и "незаметна" в большинстве малых одноплатных конструкций).
Единственно при наличии многоканального логического анализатора не помешало бы установить как длительность этого состояния относительно подачи питания, так и длительность относительно импульса сброса.
Дополнительно зависимость от скорости наростания напряжения питания.
Все остальное - разряд предположений и продолжения очередной порции флуда.
:beer:

Re: Котуинко

Вт авг 31, 2021 10:38:14

Макет не интересует, а проблема рандомного состояния портов знакома. С радостью поделился знанием с участниками форума. Кому не надо - проходит мимо.

Re: Котуинко

Вт авг 31, 2021 13:24:57

Там не рандомное состояние...
Собственно речь о чем идет...
Исключительно статус сброса при подаче питания рассматриваем.
Во время действия импульса сброса понятно что у нас все что угодно на шинах портов будет.
Пока запустится генератор, пока внутренний автомат приведет все в соответствие документации - на то и предусматривается импульс сброса.
По его окончанию все регистры должны быть приведены в соответствие начальному состоянию - для mcs51 это 0xFF (смотрим таблицы состояния регистров РСФ после сигнала reset в даташитах на МК).
Это в теории и даташите. На практике для атмелевских АТ89..... вот тут и возникает данный "проброс" - именно после окончания импульса сброса и до определенного случайным стечением обстоятельств момента на шинах портов присутствует 0, а не 1.
Причем от практически незаметного для остальной части схемы до весьма ощутимого (по индикации) времени воздействия.
Меры противодействия к сожалению будут определяться конкретной схемотехникой изделия. От практически никаких - если длительность того нулика не влияет на периферию до достаточно сложных, если длительности нулика будет достаточно для запуска силовых модулей...
Обычно ведь активным сигналом в подавляющем большинстве случаев является 0.
:roll:
Насчет "абсолютно задавить"...
В ситуации с "мусором на TXD" который мне на нерву действовал лишним мусором в окне терминалки я извратился до следующей схемы:
https://img.radiokot.ru/files/20529/2lx9x8dxzz.JPG
на данный момент /sys_res копия reset - генерируется специально для того сделанной схемкой.
А первичный проброс на el_led парируется СПУ триггера и последующим /sys_res, разблокировка шины будет выполнена только полноценным -_- на el_led после запуска программы в МК.
Казалось бы проблема решена терминалка весьма долго не регистрировала "мусор"...
До... добавления в комплект весьма крупной платки, коей является fb4012.
После того снова "хвостик" с грязючкой стал отмечаться - правда с иным визуальным отображением (код ошибочно принятого байта не смотрел).
Собственно к тому же удаленно размещенному блоку питания (5В 2А) добавилась весьма малокушаюшша платка.
Однако на той платке и кондейки по питанию и длина соединительных шлейфов/дорожек имеет место.
Вероятно эти добавки и потянули увеличение длительности "проброса", парировать которую первичная схема противодействия уже не так корректно может.
Но это только мои предположения в данной ситуации по имеющимся наблюдениям.
:solder: :write:
По хорошему надо таки логический анализатор с запуском по подаче питания и отслеживанием как уровня на reset, так и уровней на выводах портов...
Да при разных нагрузках и блоках питания тесты делать.
Как вариант - "сквозной системный сброс", заведенный на ответственную периферию. Только вот для системных устройств он должен быть длиннее чем для МК. А вот насколько - тоже под вопросом...
:roll:
Может еще когда при следующей самоделке тому внимание уделю... Попробую сделать /sys_res монитора питания и сброса на какое-то время длиннее, чем reset для МК - там всего-то подправить чуток прожку в аттини13...
:dont_know:
Стоит добавить еще одну "пагубную привычку" -
за последнее время "всеобщей мобилизации" стало привычным использовать расплодившиеся импульсники...
Собственно понижайки из 220 в 5 - 12 вольт.
Работают они весьма устойчиво, однако имеют очень длинные "хвосты" для низковольтной стороны.
Опять же для устройств с внутренним преобразованием в более низкое напряжение или для простых схем это особого значения не имеет.
Но в случае с достаточно "навороченной" платкой следует отдать предпочтение расположенному в нескольких сантиметрах блоку DC-DC преобразователя, питаемого "удаленным" промежуточным источником относительно низкого напряжения (~/= 9-24вольта).
:roll:
Ответить