Например TDA7294

РадиоКот >Статьи >

Теги статьи: Добавить тег

Реверсим код из MSP430

Автор: Dismas
Опубликовано 09.06.2021
Создано при помощи КотоРед.

Приветствую вас друзья.
На днях разбирая завалы в своих закромах, наткнулся на счётчик Меркурий 231АМ-Ш.
В своё время мне его презентовал кто то из знакомых на запчасти. На борту имеется микроконтролер MSP430i2031.
Решил поверить, можно ли его куда применить в своих поделках.
Полистав описание выяснил, что у этих контролеров есть интерфейс SBW (Spy-Bi-Wire) разъём которого видно на фото.

Прозвонкой установил назначение выводов, получилось так.
Далее оставалось подключиться к нему и выяснить, установлена ли защита ? Использовал недорогую плату
MSP-EXP430F5529LP на которой есть свой собственный программатор/дебагер.


Запускаем программу FET-Pro430 выбираем в ней нужный контролер, тип соединения и пробуем читать...


Как видим - всё прекрасно прочиталось, и значит бит защиты не установлен. А это значит контролер можно оставить
для своих поделок. Но мне стало интересно, как эта система работает ? Как учитывает наши денежки ?

Тогда, сохранив файл в ххх.hex, решил его дизассемблировать. Для этого использовал хорошо известную прогу IDA.
Открыв в ней сохранённый файл, отправился по адресу 0x0FFFE, потому как именно там находится адрес вектора сброса.


После старта, контролер загружает в РС адрес 0x0C012 и с него начинает выполнять пограмму, что же - идём туда.


Для сборки своего проекта, установил IAR IDE for msp430 и в нём стал собирать прошивку. Собственно это свелось
к копированию листинга из IDA в окно проекта в IAR и некоторыми правками самого текста для лучшего понимания
работы программы. Получилось вот так:
Откомпилировав проект, зашил полученный дамп обратно в контролер и подключл счётчик в сеть. Всё заработало.
Срисовав с платы часть схемы,  узнал откуда и куда поступают сигналы учёта.


Сигнал с шунтов каждой из фаз А В С поступают на свои счётчики AD71056, откуда через опторазвязки поступают в виде
импульсов прерываний на вход порта P1.5-A, P1.6-B, P1.7-C. Дальнейшая обработака происходит в цикле прерывания от порта Р1.
Сигналы управления для шагового двигателя механизма счёта, формируются на выходах Imp1 и Imp2.
Рассказ о дальнейших изысканиях, с удовольствием продолжу, если кому то будет интересно.
А на этом позвольте закончить, и не судите строго, это моя первая статья. Все данные приведённые тут даны в целях самообразования.
С уважением Dismas.



Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

20 1 6