Заголовок сообщения: Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн май 12, 2025 11:14:58
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19577 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Цитата:
хочется увидеть документальное подтверждение от производителя
Нашёл: Handbook vol. 1 Section II - Periphery Performance написано, что GPIO 1,5...3,3 В КМОП/ТТЛ "способны работать на типичной частоте 200 МГц с нагрузкой 10 пФ".
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Теперь задавший вопрос радостно воскликнет "Ура, 200 МГц. у меня в кармане!", но вряд ли добьётся половины и даже четверти.
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
Заголовок сообщения: Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн май 12, 2025 12:54:22
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19577 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Почему нет?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
хочется увидеть документальное подтверждение от производителя
Нашёл: Handbook vol. 1 Section II - Periphery Performance написано, что GPIO 1,5...3,3 В КМОП/ТТЛ "способны работать на типичной частоте 200 МГц с нагрузкой 10 пФ".
Выложите пожалуйста вашу книгу на какой-нибудь файлообменник, укажите номер страницы.
Вспомнил, откуда число 250 МГц: у квадратурного модулятора AD9957 такая максимальная частота выходного клока (КМОП 3,3 В).
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Уважаемые радиокоты! Недавно столкнулся с проблемой при прошивке ЕС-контроллера. Все подключается и прошивается вроде нормально. Но проблема в том, что один из адресов ни в какую не меняет свое значение при прошивке. Как в нем было "00", так и остается всегда. Остальные адреса меняются как положено, а именно этот нет. Никто не сталкивался? Может такое быть, что этот адрес поврежден, а остальные например нет? Или из-за чего такое может быть еще?
Заголовок сообщения: Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт май 20, 2025 00:00:14
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19577 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Битые байты памяти, почему бы и да?) Что за ЕС-контроллер?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
ЕС-контроллер: IT5570E-128. И кстати, если стереть его полностью, то везде будут FF. То есть из состояния "00" - туда прописываются "FF". Но при записывании любого значения туда - снова только "00" прописывается. Прикол в том, что и верификация проходит успешно. А потом считываю ради эксперимента с него прошивку, а там только в этом адресе всегда неизменно "00" Остальные адреса прописываются как надо. Я вот думаю, наверное может из-за этого и инициализация ПК не проходит...
если стереть его полностью, то везде будут FF. То есть из состояния "00" - туда прописываются "FF". Но при записывании любого значения туда - снова только "00" прописывается
Это не говорит о том, что ячейка памяти исправна. Поищите какими наборами данных тестируют память серьёзные программы-тестеры - вот, например - и не просто так, а чтобы исключить взаимное влияние отдельных бит друг на друга.
И в качестве идеи, может быть и бредовой - нет ли в этом семействе МК защиты отдельных ячеек памяти? Почему бы защите не работать так, чтобы читать было можно, полностью стереть было можно, а вот изменить не получится? Изучайте даташит, если допускаете такую возможность.
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
если стереть его полностью, то везде будут FF. То есть из состояния "00" - туда прописываются "FF". Но при записывании любого значения туда - снова только "00" прописывается. Прикол в том, что и верификация проходит успешно. А потом считываю ради эксперимента с него прошивку, а там только в этом адресе всегда неизменно "00" Остальные адреса прописываются как надо.
[экстрасенс-mode = on] А чего странного? Запускаете вы его, его программа читает эту прошивку, чего-то ей к примеру в ней не нравится - вот она и прописывает туда 0. Или наоборот - нравится, и потому пишет 0.
Может от того, что вы пытаетесь залить какую-то левую (патченную?) прошивку, программа её и не принимает?
Нет она не патченная. Постараюсь описать по подробнее ситуацию: Ноут не проходит инициализацию. Тема ремонта отдельная, поэтому пока ее опустим. В данном ЕС-контроллере реализована выносная микросхема памяти (помимо своей внутренней памяти). Я точно не знаю, для чего так сделано, но предполагаю, что это что-то типа как в случае с "DUAL BIOS" - резервная возможность восстановить поврежденную прошивку. И в той внешней микросхеме памяти точно такой же дамп, как и в ЕС-контроллере, за исключением той "неизменной ячейки" (которая в ЕС контроллере). Я предполагаю, что прошивка в ЕС-контроллере повредилась (или сам контроллер поврежден), и не может в себя скопировать ту, как бы правильную прошивку из внешней микросхемы памяти по причине "неизменности" содержимого той самой ячейки. И вот я принудительно решил попробовать зашить в ЕС-контроллер через программатор ту как бы правильную прошивку, где в том адресе значение не "00", а значение "7F", как в нижней половине рисунка: Все как бы успешно прошивается, проходит верификацию. Но потом я для контрольной проверки (для своего успокоения) считываю дамп из ЕС-контроллера, а там эта ячейка так и не изменилась: как была "00", так и осталась. Пробовал экспериментально в ХЕКС-редакторе менять значения по другим адресам в дампе, потом заливал в ЕС-контроллер, считывал экспериментально, и все значения по другим адресам успешно заменены, как я их и менял, а то с нулями так и остается неизменным... Но самое интересное, что верификация как-то проходит. ЕС-контроллер под замену?
Добавлено after 34 minutes 34 seconds:
Цитата:
И в качестве идеи, может быть и бредовой - нет ли в этом семействе МК защиты отдельных ячеек памяти?
Теоретически наверное такое возможно, но никогда не встречал защит отдельных ячеек. Обычно или весь дамп целиком защищен, или защита только от чтения, или разовая запись, что-то типа такого попадалось. А вот отдельных ячеек ни разу...
Последний раз редактировалось Олегыч1 Вт май 20, 2025 12:21:29, всего редактировалось 1 раз.
Задавая вопрос, автор зачем-то запутывает читателей. Адрес не может не измениться, он задаётся извне. Речь о содержимом ячейки по этому адресу, так и надо говорить, не заставляя решать ребусы. А кто такой ЕС-контроллер - это тайна, которую знают только в самом Европейском Союзе. ---------- https://vlab.su/viewtopic.php?f=4&t=116637&start=30 - оказывается, с этим таинственным дивайсом непонятки уже не впервые.
Jack_A, да, все верно говорите, не адрес, а содержимое ячейки по этому адресу. Сейчас все подправлю.
Цитата:
https://vlab.su/viewtopic.php?f=4&t=116637&start=30 - оказывается, с этим таинственным дивайсом непонятки уже не впервые.
Здесь уже читал, но это не мой случай. Здесь человек вообще не может подключиться и прошить никак, или не умеет. У меня все подключается и шьется, кроме одной ячейки.
Постараюсь описать по подробнее ситуацию: Ноут не проходит инициализацию. Тема ремонта отдельная, поэтому пока ее опустим.
Так надо рассказывать историю с начала, а не с середины. Кто-нить понял - при чём тут какой ноут и его непроход инициализации? У вас ваш "ЕС-контроллер" в каком-то "ноуте" стоит?
Я предполагаю, что прошивка в ЕС-контроллере повредилась (или сам контроллер поврежден), и не может в себя скопировать ту, как бы правильную прошивку из внешней микросхемы памяти по причине "неизменности" содержимого той самой ячейки.
Вы можете как-то внятно описать последовательность своих действий? Без предположений и пр. Типа: 1) держа контроллер под RESET-ом, прошиваю внешнюю флешку; 2) не снимая RESET с контроллера (чтобы программа в нём не запустилась), прошиваю внутреннюю флешку контроллера; 3) не снимая RESET делаю обратное чтение прошивки с обеих флешей и сравниваю; 4) снимаю RESET с контроллера, запускаю программу, а потом делаю повторное обратное чтение прошивок и сравнение.
И вот я принудительно решил попробовать зашить в ЕС-контроллер через программатор ту как бы правильную прошивку, где в том адресе значение не "00", а значение "7F"
Если там реально две копии прошивки (во внешней и внутренней флешь), то, я на месте программиста той прошивки, проверил бы корректность новой прошивки и: 1) или удалил её (записью того же 0 в заголовок прошивки) если она некорректна или совпадает с внутренней или обновление невозможно по каким-то иным причинам; 2) или обновил бы внутреннюю прошивку из внешней флешь и затем её удалил. Ну или возможны другие варианты, если там вообще не прошивка, а например - какой-то набор данных.
Все как бы успешно прошивается, проходит верификацию. Но потом я для контрольной проверки (для своего успокоения) считываю дамп из ЕС-контроллера, а там эта ячейка так и не изменилась: как была "00", так и осталась. Пробовал экспериментально в ХЕКС-редакторе менять значения по другим адресам в дампе, потом заливал в ЕС-контроллер, считывал экспериментально, и все значения по другим адресам успешно заменены, как я их и менял, а то с нулями так и остается неизменным...
Предполагать можно что угодно. Например - что внутренняя флешь-память вашего контроллера защищена ECC. И так просто изменить произвольный её байт - невозможно. ECC для внутренней флешь - обычное дело в современных МК. Многие её имеют. Может и в вашем такое есть.
Но самое интересное, что верификация как-то проходит.
Верификация совсем не обязана выполнять чтение. Даже скорее наоборот - в современных МК верификация как правило делается внутри механизма обновления флешь МК. Без чтения. Так делается для защиты от несанкционированного чтения прошивки.
Теоретически наверное такое возможно, но никогда не встречал защит отдельных ячеек. Обычно или весь дамп целиком защищен, или защита только от чтения, или разовая запись, что-то типа такого попадалось. А вот отдельных ячеек ни разу...
Многие чипы SPI-флешь умеют защищать выбранные отдельные страницы. Выбирается и настраивается это через внутренние регистры защиты. См. даташиты на чипы I2C-/SPI-флешь.
А кто такой ЕС-контроллер - это тайна, которую знают только в самом Европейском Союзе.
Я помню - в ветхозаветные времена были такие монстры: ЕС-1840. И в первый момент подумал, что речь идёт о каком-то контроллере в них. В последнее время много развелось ностальгирующих по старому железу и пытающихся реанимировать или создать клоны-новоделы. Прям эпидемия какая-то...
ЕС-контролдлер (Embedded Controller), его еще называют мультиконтроллер. Это такой микроконтроллер, который устанавливается на всех материнских платах ПК: и в настольных и в ноутбуках. Задача этой микросхемы первоначально опрашивать сигналы из различных узлов ПК, обмениваться разрешающими сигналами, запускать последовательность запуска питающих напряжений, и запускать (или не запускать по причине неисправности каких либо узлов) по итогу систему. Название его я уже писал: IT5570E-128.
Цитата:
У вас ваш "ЕС-контроллер" в каком-то "ноуте" стоит?
Да, в ноутбуке TEHNO T15DA.
Цитата:
Вы можете как-то внятно описать последовательность своих действий? Без предположений и пр. Типа: 1) держа контроллер под RESET-ом, прошиваю внешнюю флешку; 2) не снимая RESET с контроллера (чтобы программа в нём не запустилась), прошиваю внутреннюю флешку контроллера; 3) не снимая RESET делаю обратное чтение прошивки с обеих флешей и сравниваю; 4) снимаю RESET с контроллера, запускаю программу, а потом делаю повторное обратное чтение прошивок и сравнение.
Я подпаивался проводами к мультиконтроллеру прямо на плате к шине данных- SM_BUS. Никаких RESET-ов не снимал. Питание на него подавалось от программатора. Питание на плату пробовал подавать и не подавать. Все читается и шьется и так и так. Флешку внешнюю выпаивал из платы и считывал ее через колодку программатора. И пока эта флешка была выпаяна я производил чтение/запись мультиконтроллера, потом сравнивал прошивки... Одного эксперимента я еще не попробовал. Это идея кстати... Раз мультиконтроллер можно полностью стереть (чтобы в нем были FF везде), то стереть его, а потом просто запустить ПК, чтобы прошивка из внешней памяти подтянулась в память мультиконтроллера. Интересно, что будет с тем адресом с неизменным содержимым ячейки. Предполагаю, что так и останется, но все равно сейчас попробую.
Я подпаивался проводами к мультиконтроллеру прямо на плате к шине данных- SM_BUS. Никаких RESET-ов не снимал. Питание на него подавалось от программатора. Питание на плату пробовал подавать и не подавать. Все читается и шьется и так и так. Флешку внешнюю выпаивал из платы и считывал ее через колодку программатора. И пока эта флешка была выпаяна я производил чтение/запись мультиконтроллера, потом сравнивал прошивки... Одного эксперимента я еще не попробовал.
У него есть какие-то BOOT-пины, которыми можно выбрать - откуда грузиться (из внутренней флешь или из внешней)? В широкораспространнёных МК обычно так делается выбор источника загрузки. Это вариант N1. Вариант N2: Прошивка в вашем МК всегда стартует с внутренней флешь. И сразу после старта читает содержимое внешней флешки и, если там есть update - прошивает его во внутреннюю флешь, стирая затем update во внешней. Во всех моих проектах обновление прошивки реализовано таким образом. Так вот - если вариант N2, то как только вы прошили прошивку во внешнюю флешку, достаточно только кратковременно дёрнуть питание, как прошивка во внутренней флешь рестартанёт, и сделает всё по варианту N2. Может хватить всего нескольких мсек. И тогда должна быть картина похожая на ту, что вы наблюдаете - программа успела прочитать update во внешней флешке и успела его удалить. Я почему и предлагал - держать RESET. И я думал - вы внутреннюю флешь шьёте эмулятором типа J-Link/ST-Link. Если же вариант N1, то должен быть внешний пин выбора - откуда стартовать.
Это идея кстати... Раз мультиконтроллер можно полностью стереть (чтобы в нем были FF везде), то стереть его, а потом просто запустить ПК, чтобы прошивка из внешней памяти подтянулась в память мультиконтроллера. Интересно, что будет с тем адресом с неизменным содержимым ячейки. Предполагаю, что так и останется, но все равно сейчас попробую.
Может и вообще не стартовать. Если вариант N2. Если МК не умеет выполнять код из внешней памяти (или грузить его во внутреннюю ОЗУ на старте и выполнять оттуда).
Вобщем - нужно изучать даташит и юзер.мануал на микроконтроллер...
Это идея кстати... Раз мультиконтроллер можно полностью стереть (чтобы в нем были FF везде), то стереть его, а потом просто запустить ПК, чтобы прошивка из внешней памяти подтянулась в память мультиконтроллера. Интересно, что будет с тем адресом с неизменным содержимым ячейки. Предполагаю, что так и останется, но все равно сейчас попробую.
Не, не прошивается этот "непрошиваемый№ байт. Мудьтиконтроллер буду менять в общем. Загрел я его наверное нижним подогревом... Как придет новый - отпишусь
подскажите как проверить её рабочая или нет закоротил а и в компорт 4 показывает говорят надо в тератерм написат в консоль и нажать энтер но туда ничего не пишется ни буквы ни цыфры
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения