Форум владельцев и любителей БМВ

Форум владельцев и любителей БМВ (http://bmwpost.ru/forum/index.php)
-   Инструкции, Мануалы BMW (http://bmwpost.ru/forum/forumdisplay.php?f=44)
-   -   BMW M35080 (http://bmwpost.ru/forum/showthread.php?t=18020)

Tyler 19.02.2012 21:23

BMW M35080
 
Вложений: 1
Цены актуальны.
Комментарий администратора
Tyler:
В наличии! Если Вы хотите купить BMW M35080 звоните 8-9О3-О16-18-53 или пишите: сюда. Цена 300руб. за 1шт. Продажа от 5 штук. Отправка в регионы (из Москвы): почта России, EMS или транспортная компания.


Откопал старую статью от PASoft.

Тема данной статьи - микросхемы M35080 (разработчик и производитель - ST Microelectronics), которая в течение последних трех лет применяется в панелях приборов автомобилей BMW.

Данное изделие представляет собой EEPROM с организацией 1024*8, работающий по SPI-протоколу.

Особенность данного девайса заключается с том, что в адресном пространстве выделена область (Incremental Area, адреса 000h-01Fh), управление данными в которой осуществляется по нестандартному протоколу.

Во-первых, данные в этой области должны представляться в формате 8*16, как восемь 16-разрядных регистров. При этом чтение из инкрементной области можно осуществлять стандартными для SPI-протокола командами (8 бит инструкции - 16 бит адреса - чтение 8 бит данных), а запись должна осуществляться только по четным адресам в формате: 8 бит инструкции - 16 бит адреса - 16 бит записываемых данных.

Столь своеобразная организация чипа - это не прихоть разработчика. Она была продиктована необходимостью реализации второй, и главной особенности M35080. Ее суть заключается в том, что запись в инкрементную область возможна только в сторону увеличения. Т.е. запись будет произведена только в том случае, когда значение записываемого 16-разрядного слова больше, чем уже записанное в соответствующей паре ячеек. В противном случае команда записи игнорируется, а в ячейках памяти сохраняются исходные данные.

Вот, в общих чертах, необходимый минимум информации о M35080.

Если кто-то после прочтения всего вышеизложенного остался неудовлетворен тем, что не дозрел до полного понимания вопроса, рекомендую внимательно изучить документацию производителя. Как только вы обнаружите в ней две-три неточности и одну явную ошибку в описании протокола - можете быть уверены, что вы готовы к работе. Дока для изучения прилагается.

Однако вернемся к тому, ради чего эта микросхема разрабатывалась.

Совершенно очевидно, что инкрементная область становится идеальным местом для хранения и защиты данных, которые не должны изменяться в меньшую сторону. Каковыми являются, например, данные о пробеге автомобиля.

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

Надо полагать, что причина столь легкомысленного поведения конструкторов из Баварии - совершенная уверенность в эффективности такого метода защиты данных. Еще одно подтверждение того, как вредно быть идеалистом...

Первая брешь в защите была пробита, когда был найден метод, позволяющий стирать записанные в инкрементную область данные. Однако игра питанием - прием проверенный и отработанный, но имеющий ряд издержек.

Речь не о том, что есть перспектива вывести микросхему из строя - реальный риск минимален. И даже не о том, что в результате теряются данные - никто не мешает сделать резервную копию перед стиранием.

Основная проблема в том, что для стирания данных необходимо выпаять микросхему из платы. И вот тут, как всегда, срабатывает правило бутерброда, и микросхема оказывается на недоступной стороне платы. Поэтому логическим продолжением покупки девайса для стирания M35080 будет покупка специального сьемника для снятия стрелок. Вам это ничего не напоминает...? :-)

Есть и еще один нюанс. Практика показывает, что стирание данных не всегда проходит достаточно быстро. Как правило, весь процесс занимает несколько секунд, но приходилось видеть случаи, когда "стиратель" трудился и мигал светодиодами полный рабочий день, от звонка до звонка, и без малейшего результата. До тех пор, пока излишне стойкую микросхему не "уговорили" другим способом, о котором пойдет речь ниже.

Попытки найти "дыру" в протоколе M35080 и использовать ее для внутрисхемного программирования инкрементной области предпринимались неоднократно и мной, и многими моими коллегами по профессии.

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

Что касается софта, то он не нуждается в каких-либо подробных комментариях, ибо это обычный программатор под DOS, и в нем все достаточно очевидно.

Однако имеет смысл дать несколько практических рекомендаций.

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

При внутрисхемном программировании M35080 надо готовиться к тому, что схема запитки без подачи штатного питания +12V на панель (+5V от внешнего источника - на вход питания адаптера - через соединительный кабель - на +5V панели) наверняка не проходит. Эксперименты показывают, что вне зависимости от типа применяемой в адаптере микросхемы (74LS/ALS/HC244), ее выходы не способны "дожать" контроллер в панели и обеспечить сигналы необходимых уровней.

Более верной является схема запитки: +12V на панель - +5V внутреннего стабилизатора панели - через соединительный кабель - на +5V питания адаптера. При этом следует проконтролировать уровень сигнала на входе W (Write Protect - "0") M35080. Если уровень меньше 3,0V, то необходимо разрезать дорожку, соединяющую этот вывод с контроллером.

Другой метод, который якобы напрашивается при рассмотрении схемы адаптера - уменьшение номинала резистора R2 - может привести к неприятностям. Для тех, кто еще не забыл закон Ома, очевидно, что номинал выбран критический. При распределении напряжения 50/50 втекающий ток равен 17 mA. Это разумный предел, превышать который опасно.

И последняя рекомендация. Не забывайте после разборки панели, снятия стрелок и всего последующего секса вызванивать выводы M35080 на доступную сторону платы. Пару снимков, сделанных цифровой камерой и 10 минут работы в PhotoShop сэкономят вам много времени и нервов в будущем.

В приложенном файле даташит на M35080.


Часовой пояс GMT +3, время: 06:47.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

Перевод: zCarot

Форум BMW (БМВ)