Реверсинг китайского FX3U 24MR: шаг 0.

топ 100 блогов eddy_em28.05.2024 Итак, решить проблему чтения/установки значений входов/выходов этой железки вменяемыми средствами "из коробки" не получилось. Заменять простенькую программку на любимой сишечке непонятной фигней — вообще желания нуль (тем паче, что займет это достаточно времени). А тут еще бонусом обозначилось то, что на плате есть разводка под CAN, разве что MCP2551 (или его любые аналоги) не распаян. В общем, поехали…

Неплохое подспорье мне оказали эти две статьи: раз и два на одном из самых отстойных ресурсов рунета. Странно, что у автора "карма" плюсовая и только "рейтинг" меньше нуля, да и статьи выше нуля (обычно там приличные статьи моментально опускают ниже плинтуса, таки основной контингент ресурса это совершенно не понимает из-за своего малолетства и собственно ориентированности ресурса на малолетних дебилов /* где Гоблин? */).
В первой публикации автор выкладывает "отреверсированную" частичную принципиальную схему (полную я в интернетах этих ваших так и не нашел, боюсь, если б и нашел, там бы все было на китайском, даже арабские цифры):
Реверсинг китайского FX3U 24MR: шаг 0.

Меня сразу обнадежило то, что его железяка очень похожа на мою. Разве что у моей немного побольше входов/выходов. ОК. Самое первое и важное — прозвонить SWD. Все в точности, как у автора, только разве что на плате лишь 4 контакта под программатор. Ножка 1 (сверху) помечена, поэтому по нумерации: 1 - GND, 2 - 3v3, 3 - SWDIO, 4 - SWCLK.
Все бы здорово, но тупо подключившись st-link'ом, я ничего не получил. Ну, китайцы бы не были китайцами, если б на 100-ногом МК, когда тебе нужно чуть больше половины ног, не задействовали бы самые нужные. Причем, самым анально-огороженным способом: ладно, пусть нога 76 (SWCLK) пинает !RE/DE преобразователя RS-485, но самая жуть в том, что нога 72 (SWDIO) идет на софтовый I2C. Я уже когда-то писал об этом (много лет назад, когда ковырял пятисимвольный "вольтметр" на STM8 с внешним АЦП, там китайцы как раз I2C софтовый воткнули, но я тогда еще был молод и зелен, и мог, не теряя гордости, говном обмазаться — написал реализацию). В общем, EEPROM вообще мимо кассы получается, но он и не нужен: похоже, ввинтили его, сдирая "ПЛК" от "митшубишы". Но в оригинале, думаю, МК был гораздо дохлей, поэтому и пришлось код "программ" сохранять во внешней EEPROM. Здесь же стоит адский МК (о нем - чуть дальше), где, даже если "программы" будут по 1кБ размером, писать их можно в МК 200×5000=один миллион раз (минимум)!!!1111 Так и вижу вантузоида-пылыкашника, который надрачивает на клавиатуре "код", прошивая его в МК каждые пять минут. Посчитаем: за рабочий день это тело сделает до 80 прошивок (все-таки, нужно иной раз покурить, чай попить и с коллегами потрындеть). В году около 250 рабочих дней. Пусть будет 200 (отпуск + прочее): тело пропишет МК 1600 раз. Боюсь, до миллиона оно просто не доживет…

Ладно, поехали дальше. Первым делом, обнаружив соответствие ног SWDIO, я впаял туда обычную "гребенку" 2.54мм (правда, пришлось долго феном елозить, чтобы провалилась: на стадии лужения отверстия прилично уменьшились). Ну, а т.к. в рабочем положении ноги используются, пришлось активировать бутлоадер: переключатель "RUN" ставим в положение "RUN" (около края платы) — чтобы BOOT1 (опять китайские приколы: посадить на такую ногу тупой переключатель, когда рядом толпа свободных) был в нуле. Затем паяем перемычку к 3v3 на резистор, сажающий на землю ногу BOOT0. Вот, что выходит:
Реверсинг китайского FX3U 24MR: шаг 0.

// Блин, омроновские релюхи! Вы можете себе вообще представить себестоимость этого куска железа? Тупо печатная плата + релюхи выходят значительно за те 3000 рублей, за которые его продают!!1111
// Ну, таки думаю, теперь читатель понимает, почему я не захотел для БТА разрабатывать свой аналог, а попытался что-то выжать из китайского УГ? Разве что китайское УГ не имеет никакой защиты, т.е. менять эти модули после каждой грозы придется.

Кстати, у "ПЛК" есть "на жопе" маленькая батарейка на Vbat и "часовой" кварц. Нафига — вопрос открытый, т.к. там RTC нафиг не нужен.

Еще, проходясь глазом по схеме, я не понял назначения двух подстроечных резисторов, подключенных средними выводами ко входам АЦП. Еще непонятно, зачем стоит чуть выдающийся вверх оптрон левей X00. Прозванивал-прозванивал, единственное предположение — для мониторинга наличия "COM" на входах (хотя это "наличие" проверяется по отношению к "земле": а кто гарантирует, что +24В с концевиков будут иметь такое же смещение к "земле" модуля? Глупая какая-то часть схемы).
Какая-то желтая фигня у питания на варистор похожа — ну, хоть по питанию защита какая-то, правда, защиты от переполюсовки я вообще не увидел. Разве что зачем-то стоят два диода левей релюшек (около разъема программатора). Один из них плюсом подключен к питанию MCP2551, а минусом на "земле" сидит. Другой вообще "земли" "защищает".. Обычные Шоттки, никакие не TVS. TVS, к слову, здесь вообще не видно. В общем, "наговняли, как могли".
"Аналоговые входы" тоже веселые: где-то стоят три "жЫрных" керамических кондера, на глаз микрофарад на 10, а где-то их вообще нет. Дальше идут делители 10кОм вверху и 4700 Ом внизу (к "земле"). Середка — прямиком на входы АЦП, даже никаких диодных защит нет.
Перед выходами ЦАП стоит операционник, потом резисторы-кондеры. Тоже никакой защиты нет.
Ну, хотя бы релюшки включаются дарлингтонами на ULN2003A.
Около разъема RS-232 непонятный выводной резистор на 0.125 Вт (а на схеме там какой-то "бык" нарисован) - ХЗ, зачем.

Что насчет CAN, реально на схеме прямо под надписью "Fx3U-24MR" расположено посадочное место для CAN-конвертера уровней. А справа — что-то похожее на место для резистора-терминатора. Вот только по прозвонке выяснилось, что ноги CAN-Rx/CAN-Tx МК соединены с преобразователем не напрямую, а через резисторы аж в 1кОм (интересно, на каких скоростях фронты начнут сыпаться?), а "терминатор" вместо соединения между CANH и CANL, соединяет CANL и "землю"!!!11
И, что интересно: несмотря на отсутствие выхода на CAN, кондер питания и резисторы на входах запаяны! ОК, будем иметь в виду: резисторы надо выпаять и заменить на 0..100 Ом.

Основная распиновка на удивление совпала с тем, что выкладывал вышеупомянутый автор. Разве что еще прозвонил дополнительные ноги, что у него отсутствовали, опишу лишь их, чтобы еще дольше клаву не топтать.
(Нога-функционал): 15 - AD4, 16 - AD5, 25 - Y11, 31 - Y10, 32 - Y7, 38 - X14, 39 - X15, 40 - X12, 41 - X13, 42 - X10, 43 - X11, 49 - "detect com" (выше писал), 81 - CAN Rx, 82 - CAN Tx.


Подытоживая, могу сказать, что вполне реально за несколько вечеров для этой неюзабельной "из коробки" железяки написать прошивку, чтобы заставить ее работать, как надо. В т.ч. и с управлением по CAN. Разве что, жаль, USB нет, но у убогих F103 проблема в том, что USB и CAN не могут одновременно работать, так что, все равно.

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

Предыдущие записи блогера :
Архив записей в блогах:
Чем хороши изменения в нашу Конституцию? Они придают больше устойчивости государству. Года четыре назад слушал в Бресте одного заезжего политика, большого экстремала: - А мне нравится нынешняя конституция, она многое позволяет решительно изменить. А парламентская система - нет. Депутатов ...
Монахиня Кристина Скуччия стала победительницей итальянской версии шоу «Голос». Восхищение певческим талантом верующей в своем Twitter выразил и министр культуры Ватикана Джанфранко Равази. ЧИТАТЬ ПОДРОБНЕЕ и ВИДЕО ...
В то время, как ОБЭП грозится посадить мужика замылившего 260 миллионов ...
промывать мозги Из Тг Последствия для менталитета от многолетней пропаганды в обществе Из разговора с соратником: "Стало понятно, в чем разница между раскладами в Западной Европе, Франция, Британия и так далее, от Восточной Европой - от Литвы, Польши до Хорватии с Румынией. Население ...
Слова синонимы. Вот недавно радовался один из них. Семга норвежская подорожала за полтора года в два раза. Любят значит европейцы эту рыбу за высокое качество и отменный вкус. А бедные россияне страдают. И цены на нефть падают - какой либерал обойдется без этой злорадной присказки. Итак, ...