Jump to content
    

Как можно изменить значения в TMS320F28335 или в его FRAM FM24W256

Я начинающий! И прошу меня подтолкнуть в нужном направлении.

Имеются контроллеры по заряду/разряду АКБ (аккумуляторов) на базе TMS320F28335 и его F RAM FM24W256. Принцип такой: контроллер загружает в себя рецепт (инструкции) с компьютера и с этими инструкциями управляет базами групп транзисторов, тем самым заряжая или разрежая АКБ, при этом меряет ток с шунта и снимает замеры напряжения с клейм АКБ.

Проблема такова: одна ячейка рассчитанная на ток в 2000Ампер с таким контроллером изначально не работала (с шунтом 2000А/75mV). Но если поставлю в эту ячейку рабочий контроллер от 300Ампер (её шунт 300А/75mV), ячейка работает, но неправильно считывает ток от шунта соответственно. Я снял дампы в BIN формате с этих 2х контроллеров с адреса 0х300000 по 0х33FFFF получилось 512кб. Сравнил эти 2 дампа HEX редактором, они идентичны. Считал с них F RAM, на них дампы разные. 

Флэш с TMS320F28335 считал через CCStudio UniFlash 9.5.0 и через Code Composer Studio 9.2.0 прогером XDS100V3 (c алика). Dump FM24W256 снял с 2х программаторов, через Iprog + (китайский клон) и через SVOD4 оригинал по I2C.

Вопрос: как мне отредактировать данные шунтов и правильно ли я мыслю что данные шунтов хранятся в FM24W256? в этих бинарниках у меня не получается ничего понять.

Я ищу значения привычные для чтения. Пытался сравнивать дампы программой imhex и декомпилировать  их. Но у меня уже 3й день ничего не выходит) Могу отправить дампы если нужно.

Share this post


Link to post
Share on other sites

30 минут назад, Daydya_vanya91 сказал:

Вопрос: как мне отредактировать данные шунтов и правильно ли я мыслю что данные шунтов хранятся в FM24W256? в этих бинарниках у меня не получается ничего понять.

Вобщем случае - дизассемблировать код прошивки и разобраться в нём. Найти в нём участки, которые обрабатывают считанные данные АЦП.

Без навыков программирования МК тут никак.

И это ещё при условии, что у вас действительно есть код прошивки, а не пустышка.

30 минут назад, Daydya_vanya91 сказал:

Я ищу значения привычные для чтения.

И зря.

Share this post


Link to post
Share on other sites

33 минуты назад, jcxz сказал:

Вобщем случае - дизассемблировать код прошивки и разобраться в нём. Найти в нём участки, которые обрабатывают считанные данные АЦП.

подскажите хотябы чем дизассемблировать. Я пробывал IDA Free 9.0 и ghidra но в них нет поддежки TMS320F28335. А FM24W256 вообще незнаю какой программой понять код. Я упорный, просто пните и все получиться). Может есть какие нибудь учебники. по моей теме с них и начну! В ПЛК тоже ничего непонимал, но теперь хоть могу решить множество проблемм на работе.

Share this post


Link to post
Share on other sites

26 минут назад, Daydya_vanya91 сказал:

Я пробывал IDA Free 9.0 и ghidra но в них нет поддежки TMS320F28335.

Зачем дизассемблеру поддержка конкретного микроконтроллера? Дизассемблер должен поддерживать ядро. На котором МК сделан. TMS320F28335 видимо построен на ядре C2000. Точно убедиться - прочитать даташит на него.

26 минут назад, Daydya_vanya91 сказал:

А вообще незнаю какой программой понять код.

Какой вы там "код" ожидаете? :biggrin:  Это чип FRAM-памяти. В котором очевидно хранится какой-то конфиг, установки. Возможно что и установки для шунта там есть (но тоже не факт).

26 минут назад, Daydya_vanya91 сказал:

Я упорный, просто пните и все получиться). Может есть какие нибудь учебники.

Начинать с того же, с чего и изучение любого МК: Зайти на сайт производителя, ввести в поиске название МК и скачать всю инфу по нему. И изучать её.

Конкретно по вашему - всё находится с полпинка:  https://www.ti.com/product/TMS320F28335

Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд).

 

PS:

26 минут назад, Daydya_vanya91 сказал:

Я пробывал

Что это за модное поветрие ныне??? "пробывал"... или просто безграмотность?  :fool:

Share this post


Link to post
Share on other sites

Спасибо за ваш откровенный ответ. Я думаю он мне очень поможет.  

15 минут назад, jcxz сказал:

Начинать с того же, с чего и изучение любого МК: Зайти на сайт производителя, ввести в поиске название МК и скачать всю инфу по нему. И изучать её.

Конкретно по вашему - всё находится с полпинка:  https://www.ti.com/product/TMS320F28335

Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд).

именно с этого и начну.

 

15 минут назад, jcxz сказал:

Что это за модное поветрие ныне??? "пробывал"... или просто безграмотность?  :fool:

Вы правы безграмотность! У меня нет высшего образования. Я самоучка. Есть только свои пути к развитию. Так что извените)

Share this post


Link to post
Share on other sites

23 minutes ago, jcxz said:

Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд).

И "Understanding Security Features for C2000 Real-Time Control MCUs" изучить тоже не помешает.

Что-то не верится что в контроллере не установлена защита от считывания флеш-памяти.

Что читается по адресам 0x33 FFF8 - 0x33 FFFF ?

 

Share this post


Link to post
Share on other sites

13 минут назад, SSerge сказал:

Что-то не верится что в контроллере не установлена защита от считывания флеш-памяти.

Вы правы. Но не будем пока разочаровывать ТСа. Пусть надеется что 

2 часа назад, Daydya_vanya91 сказал:

дампы в BIN формате с этих 2х контроллеров с адреса 0х300000 по 0х33FFFF получилось 512кб

это не мусор. :wink:

Может он действительно

1 час назад, Daydya_vanya91 сказал:

Я упорный

и обнаружив, что его 512КБ состоят из одних 0xFF или 0x00, сам с нуля напишет прошивку.  :biggrin:

 

PS: 512КБ это как-то запредельно много для простого "контроллера заряда". Даже 128КБ - много.

Share this post


Link to post
Share on other sites

может я чегото недопонимаю но открыв дамп 512кб данные встречаються в 3х местах

с 00040000 по 00046475

с 00050000 по 0005fffd

с 00070000 по 0007ffef

а на 24w256 вообще мало данных

 

Снимок экрана (1).png

2000.bin 24w256.bin

может я чегото недопонимаю но открыв дамп 512кб данные встречаються в 3х местах

с 00040000 по 00046475

с 00050000 по 0005fffd

с 00070000 по 0007ffef

а на 24w256 вообще мало данных

Забыл добавить по адресам 

30 минут назад, SSerge сказал:

Что читается по адресам 0x33 FFF8 - 0x33 FFFF ?

тут пусто. одни F-ки

Share this post


Link to post
Share on other sites

12 минут назад, Daydya_vanya91 сказал:

открыв дамп 512кб данные встречаються в 3х местах

с 00040000 по 00046475

с 00050000 по 0005fffd

с 00070000 по 0007ffef

Ну вот - теперь, скачав даташит/TRM, из них выясняете стартовый адрес и дизассемблируете нужный участок вашего 2000.bin. И разбираетесь в нём. В первую очередь - отделяете данные от кода.

Share this post


Link to post
Share on other sites

16 минут назад, Daydya_vanya91 сказал:

тут пусто. одни F-ки

Я же писал, что 512КБ и даже 128КБ - запредельно много для вашего зарядника. А значит там используется малая часть из ваших 512КБ.

Да и в 512КБ кода вы бы утонули на неск.лет.  :biggrin:

Share this post


Link to post
Share on other sites

Только что, jcxz сказал:

Ну вот - теперь, скачав даташит/TRM, из них выясняете стартовый адрес и дизассемблируете нужный участок вашего 2000.bin. И разбираетесь в нём. В первую очередь - отделяете данные от кода.

Проблемма в том что все дампы с этих МК одинаковы. 3 разных контроллера у всех разные шунты. Но дампы одинаковы. Поэтому я подумал что данные шунтов в F RAM, только они разные. Или может эти данные в одугой области МК могут находиться??

Share this post


Link to post
Share on other sites

2 часа назад, Daydya_vanya91 сказал:

Проблема такова: одна ячейка рассчитанная на ток в 2000Ампер с таким контроллером изначально не работала (с шунтом 2000А/75mV). Но если поставлю в эту ячейку рабочий контроллер от 300Ампер (её шунт 300А/75mV), ячейка работает, но неправильно считывает ток от шунта соответственно.

Как именно "изначально не работала"? Может быть - дело в "аналоге", а не в "цифре".

Указание наименований и комплектаций - также может помочь. Может быть - кто-то уже имел дело с этими зарядниками.

Share this post


Link to post
Share on other sites

Связи с установщиками этого оборудования у нас нет. Но как я уже писал ранее. Если я вместо нерабочего контроллера ставлю рабочий с другой ячейки, то он работает! Но приходится пересчитывать ток в рецепте к шунту от трехсотой ячейки по формуле (300/75× на показания мультиметра с шунта в mV DC) и тогда данные по току совпадают. 

Share this post


Link to post
Share on other sites

33 minutes ago, Daydya_vanya91 said:

Однако, по адресам 0x33 FFF8 - 0x33 FFFF читаются FFFF. 

А это значит что защита от чтения, от трассировки и прочего не установлена. Поздравляю!

 

PS. С этим контроллером живьем я дела не имел, только читал про него.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...