Подписка на RSS

Работа с процессором SPC560P50

Март 23rd, 2014

SPC560P50В новых блоках airbag, устанавливаемых в европейские автомобили автомобилей марки Honda очень часто встречается процессор STMicroelectonics SPC560P50L3  в корпусе QFP100.

 

Немало настрадавшись с этими блоками, нам удалось выяснить, что чтение и запись этих чипов не так проста, как кажется. Несколько программаторов, которыми мы пользовались для считывания Flash и EEPROM этих процессоров, отказались правильно читать и писать их. В некоторых случаях была виновата обвязка процессора, которая весьма не проста. В некоторых случаях – сама программа микроконтроллера, заложенная в блоках Honda.

 

В частности, известный программатор украинского производства смог стереть Flash процессора, но после этого полностью утратил с ним связь. Стало невозможным записать или прочитать любые данные этого процессора с помощью этого программатора. Для дальнейшей работы с ним, нам пришлось соорудить независимую площадку, на которой произвести запуск чипа.

 

SPC560P-STENDЗапуск этого чипа – дело не совсем простое. Дело в том, что чип работает от 3 вольт, в то время как внутренняя логика микроконтроллера работает от 1,2 вольт. Для того чтобы было удобно запитывать внутреннюю логику процессора, в нём предусмотрен свой собственный регулятор напряжения, а чтобы этот регулятор напряжения функционировал, к нему необходимо подключить различные компоненты,  а также связать воедино соответствующие ноги процессора… И так далее, остальное можно прочесть в datasheet процессора.

 

Не вдаваясь в различные детали скажем, что в конечном счёте нам удалось добиться нормального запуска этого процессора на площадке. Один программатор увидел процессор, другой – нет. Это стало наводить на разные мысли. В конечном счёте, путём различного рода шаманств, нам удалось заставить украинский программатор видеть процессор и даже пытаться его писать (процесс записи сопровождался гордым “success“, однако, как выяснилось позднее, ничего на самом деле записано не было ). Вопрос был обращен к автору-разработчику программатора, на что мы получили весьма интересный ответ о том, что программатор вообще не предназначен для чтения или записи Flash процессора, а должен быть использован только для чтения и записи EEPROM процессора. Зачем же, спросите вы, тогда в нём находятся функции записи Flash? Также мы получили сведения, что, вполне возможно, поддержка этого программатора в скором времени будет прекращена…

 

Поэтому нам пришлось сосредоточиться на работе со вторым программатором, с которым тоже было не всё гладко. Выяснилось, что этот программатор уверенно стирает, пишет и читает чистые процессоры. Однако, когда в процессоре находится программа, используемая в блоках Honda, программатор начинает давать сбои и отказывается выполнять операции над этим микроконтроллером. Мы обратились в поддержку этого программатора, в которой нам сначала ответили что, мол, у нас всё очень даже хорошо с этим процессором. Потом же, когда мы выслали программу, выбивающую программатор из колеи, немцы, разрабатывающие этот программатор (и к счастью пока поддерживающие его!), выслали нам патч, исправляющий это недоразумение, благо мы им подсказали направление, куда копать.

 

Это уже не первый случай, когда нам приходится взаимодействовать с разработчиками программаторов и помогать им в решении тех или иных проблем. Немногим больше года назад, нам пришлось участвовать в доработке известного программатора X-Prog, по вопросу чтения 3-ей флеш области процессоров Infineon XC2361A.

 

Пропатченный программатор наконец-то стёр и записал наш процессор! Спасибо оперативным немецким разработчикам. Однако использование этого метода записи (с использованием SRAM) внутрисхемно в блоках Honda оказалось губительным для процессора. Посему на сегодняшний день можно сделать следующее заключение: с помощью украинского программатора возможно чтение и запись EEPROM процессоров внутрисхемно. Если же вам необходимо обновить программу процессора, лучше всего выпаять его, поставить на спец-площадку и записать другим программатором.

 

комментария 2 к “Работа с процессором SPC560P50”

  1. Roman Botan Roman Botan пишет:

    Спасибо! Информативная статья! Очень озадачила информация о возможном прекращении поддержки украинского программатора. Сие творение достаточно дорогостоящее. Альтернатив не много. Умиляет то, что в повседневных задачах обновление микропрограммы процессора STMicroelectonics SPC560P50L3 в большинстве случаев не требуется. Для “лечения” блока нам нужен только EEPROM.

  2. andreyhor andreyhor пишет:

    Я некоторое время думал, публиковать ли эту статью, осознавая, что она может иметь некоторый резонанс. Пока всё это на уровне слухов.
    Идея стереть флешь возникла при возникновении потребности из одного блока сделать другой (аппаратная платформа идентична).

Оставить комментарий:

Вы должны войти, прежде чем комментировать.