ELM327 Шрьодінгера, або історія неймовірно популярного OBDII-адаптера, якого насправді ніхто не виробляв

Опубліковано: 13 вересня 11:08

Напис «ELM327» сьогодні можна знайти на сотнях OBD-адаптерів вартістю від п'яти до тридцяти доларів. Формально він мав би означати, що під кришкою встановлено мікросхему, яку ще 2005 року почала продавати одна відома канадська компанія. Але фактично — абсолютна більшість пристроїв із цим написом не мають до неї жодного стосунку, а номер версії ELM «1.5», за яким усі ганяються, — 100% фейк.


Історія дуже цікава й, щоб зрозуміти, де в ній закінчується правда і починається дешеве китайське клонування, варто розібратися у трьох речах: хто насправді створив ELM327, чому сама компанія-розробник ніколи не виробляла жодного чіпа, і як за майже двадцять років назва перетворилася на загальну позначку для десятків несумісних одна з одною мікросхем.


МАЛЕНЬКА КОНТОРА З КАНАДИ, ЯКА УСІХ ЗРОБИЛА СКАНЕРИСТАМИ


ELM Electronics — це не OEM-гігант з цехами і конвеєрами, а невелика приватна компанія з міста Лондон, провінція Онтаріо, Канада. Заснована 1998 року, вона десятиліттями продавала свої мікросхеми напряму через власний сайт, без жодних дистриб'юторів — просто щоб тримати ціну нижчою за конкурентів. У її каталозі, крім знаменитого OBD-чіпа, були речі, які видають радше майстерню електроніка-ентузіаста, ніж промислового виробника: контролери для таймлапс-зйомки на камкордер, драйвери для LED, термостати, детектори обриву сигналу RS232.


Баннер з офіційного сайту ELM Electronics


І ось тут ми підходимо до головного: ELM Electronics ніколи не виробляла кремній сама. Компанія розробляла лише прошивку — той самий програмний код, що «розуміє» протоколи автомобіля і перекладає їх у зручний текстовий формат. А фізично мікроконтролер, на який ця прошивка заливалася, купувався готовим у канадсько-американської Microchip Technology. Тобто ELM327 — це, по суті, стандартний чіп Microchip PIC18F2480, куди канадці записали власний унікальний софт. Виробник заліза — один, автор мізків — інший.


2005 РІК: НАРОДЖЕННЯ ЛЕГЕНДИ


Саме серійний PIC18F2480 ліг в основу першої версії ELM327, яку компанія випустила 2005 року. Чіп вийшов справді універсальним — підтримував одразу шість протоколів діагностики (SAE J1850, обидва варіанти ISO 9141/14230, CAN, J1939), тому цифра «327» у назві швидко стала синонімом «того самого адаптера, який працює з будь-якою машиною».


Оригінальний PIC18F2480 за 4,37$


Ціна відображала цю унікальність: готовий, запрограмований чіп ELM327 коштував 15–20 доларів роздрібно, тоді як «голий» непрограмований PIC-контролер того ж типу можна було купити доларів за два. Різниця в ціні — це не націнка за штучне виробництво, а саме інтелектуальна власність: роки роботи над прошивкою, яка вміє правильно розмовляти з електронікою десятків марок автомобілів.


Одним із перших, хто виготовив OBDII-адаптер, побудований на оригінальному чіпі ELM327, стала американська ScanTool.net із Фінікса, Аризона. Вона роками продавала прості сканери на попередніх чіпах лінійки — ELM322 та ELM323, кожен з яких тягнув лише один-два протоколи діагностики. Тож коли 2005-го з'явився новий, універсальний ELM327, ScanTool.net одразу оформила його в готовий пристрій — і вже на початку 2006-го випустила сканер ElmScan 5.


ТРІЩИНА, КРІЗЬ ЯКУ ВТІК УВЕСЬ БІЗНЕС


Проблема була проста і фатальна: у перших версіях чіпа не було жодного захисту від копіювання коду. Будь-хто міг купити легальний ELM327, встромити його в програматор мікросхем і зчитати прошивку — той самий пропрієтарний код, за який покупці платили преміум. Власне, це китайські виробники й зробили десь у 2007 році, випустивши перші, доволі криві клони, до яких скопіювали ранню й ще «сиру» версію коду 1.0 — з усіма її дитячими хворобами й багами.


А далі сталася подія, яка й дала назву цій статті. У 2010 році китайські «комерсанти» зчитали вже свіжішу прошивку v1.4b — і присвоїли їй позначку «v1.5». Ось тільки жодної версії 1.5 канадська ELM Electronics не випускала. Реальний список офіційних версій ELM327 виглядає так: 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.3, 1.3a, 1.4, 1.4b, і одразу 2.0, 2.1, 2.2, 2.3. Стрибок через 1.5 не випадковий — цієї сходинки в ієрархії прошивок ELM ніколи не існувало, а напис «v1.5» на китайському адаптері — це чиста вигадка. 


Original VS Clone


Втім, є іронічний поворот. Саме ця перша хвиля «версії 1.5» вважалася одним з найбільш робочих поколінь клонів. Того ж 2010 року Microchip запропонувала новіший і дешевший контролер PIC18F25K80, і на нього виробники дешевих адаптерів почали переносити скопійовану прошивку. Мікросхема була справжньою, «фірмовою» продукцією Microchip (просто без ліцензії ELM на прошивку) — тому такі пристрої дійсно доволі непогано працювали. Багато хто й досі помилково продовжує вважати їх гарним рішенням для свого автомобіля. 


Оригінальні ж канадські чіпи, до речі, і далі трималися старішого PIC18F2480 — виробник просто не бачив потреби змінювати перевірену конструкцію.


ВЕРСІЯ 2.0 І ОСТАТОЧНИЙ КРАХ РЕПУТАЦІЇ КИТАЙ-ELM


На відміну від міфічної «1.5», версія 2.0 — цілком реальна, її справді випустила ELM Electronics, і вона додала підтримку нових протоколів для сучасніших авто. Але тут криється друга пастка: до середини 2010-х деякі китайські виробники почали ліпити наліпки «v2.0» чи «v2.1» на пристрої, які вже не мали жодного стосунку ні до справжнього чіпа Microchip, ні до оригінального коду.


Дослідники, які розбирали такі адаптери (серед яких й автор цього тексту), знаходили всередині зовсім інші мікроконтролери — під виглядом PIC18F25K80 ховався чіп із затертим логотипом і невірною обв'язкою кварцового резонатора. І от тут — ще один важливий нюанс.


У справжніх ELM-сумісних адаптерах та клонах першої хвилі на платі стоїть кварц номіналом 4 МГц, а робочу частоту 16 МГц контролер отримує вже всередині, через вбудований множник PLL. У дешевих підробках цю схему найчастіше спрощують: ставлять кварц одразу на 16 МГц без використання PLL, а подекуди й узагалі обходяться дешевим керамічним резонатором чи внутрішнім RC-генератором без жодного зовнішнього кварца. Це призводить до вкрай нестабільної роботи, особливо при різних температурах навколишнього середовища.


Ще на один крок ближче до дна якості OBDII сканера — коли під наклейкою ховається взагалі лівий контролер на кшталт STM32, запрограмований наспіх скопійованим і недопрацьованим кодом. Такі пристрої не мають взагалі прописаних алгоритмів роботи із командами протоколу ELM, а на базові AT-запити відповідають глухо прописаним «ОК», щоб не викликати підозр. Відповідно, такі адаптери не підтримують вкрай важливі службові команди на кшталт ATPPS чи ATAL, що призводить до втрати даних на складніших протоколах або й більш дивовижні фокуси типу фіксованих, «мертвих» значень замість живих показників із датчиків.


Срібляста штука на платі - кварцовий резонатор


Простими словами: якщо перше покоління клонів («1.5» на справжньому Microchip-чіпі) було непоганою, хоч і неліцензійною копією, то друге покоління — це вже підробка підробки, де економили буквально на всьому, включно з самим кремнієм.


ЯК ПЕРЕВІРИТИ АДАПТЕР НЕ РОЗБИРАЮЧИ ЙОГО


І ось тут я залишу для вас ще одну практичну пораду, яку варто винести з цієї історії. Номер версії прошивки, який показують застосунки на кшталт Car Scanner після команди `ATI`, нічого не гарантує — цю строку виробник пише в коді сам, як йому заманеться (можу показати як — одна команда і ваш адаптер стане ELM1.5). Куди показовіше — перевірити, чи адаптер відповідає на нетипові сервісні команди на кшталт `ATPPS` розгорнутим і осмисленим результатом, а не просто «OK» чи мовчанням.


Вручну перебирати AT-команди через термінал необов'язково — для цього є безкоштовний застосунок ELM327 Identifier (Android/iOS). Він сам надсилає до сотні службових команд із офіційного даташита ELM327 і малює наочну зелено-білу шкалу підтримки — які функції адаптер справді виконує, а на які лише формально відповідає «OK». 


ELM327 Identifier


Це доволі простий та швидкий метод, але його не варто вважати універсальним: китайські виробники не сплять і вже навчили деякі свої клони успішно проходити більшість тестів ELM327 Identifier. Тож якщо купуєте пристрій із можливістю розібрати його (чи хоча б бачити фото плати) — перш за все варто звернути увагу на маркування мікросхеми, чіткість логотипу виробника та номінал кварцового резонатора поруч із нею. Якщо такої можливості немає — хоча б перевірте адаптер у реальній роботі, наприклад під'єднавши його до вже згаданого Car Scanner.


ФІНАЛ ELM ELECTRONICS


І остання деталь, яка все розставляє на місця. У жовтні 2020 року ELM Electronics оголосила про намір закритися, а 30 червня 2022 року — після 24 років роботи, компанія справді припинила діяльність. Офіційно причиною назвали наслідки пандемії covid-19, а засновники додали доволі особисту ноту: мовляв, життя надто коротке й цінне, аби витрачати весь його залишок на бізнес.


Це означає просто і буквально: жодного нового, справжнього чіпа ELM327 із того моменту більше не виробляється — ні на PIC18F2480, ні на будь-якому іншому кремнії. Тобто кожен пристрій із написом «ELM327», який продають сьогодні, за визначенням є клоном. Питання лише в тому, наскільки якісним — зробленим на пристойному Microchip-контролері зі стабільною, хай і запозиченою прошивкою, чи зліпленим із чого попало заради ціни в три долари.


Тим, хто хоче сучасного, гарантовано робочого рішення для діагностики, професійні майстерні й ентузіасти вже давно радять дивитися не на слово «ELM327» узагалі, а на пристрої зовсім іншого сімейства чіпів — власні контролери STN11xx і STN22xx, які випускає та сама ScanTool.net, що двадцять років тому однією з перших поставила ELM327 у готовий сканер.


На практиці для вимогливого софту як от FORScan, Car Scanner чи BimmerCode сьогодні радять або лінійку OBDLink (LX, MX, MX+) від ScanTool, або адаптери vLinker (vLinker MC+, vLinker FD+, vLinker FS) від Vgate. Продукція обох брендів є незалежною розробкою і не має прямого відношення до ELM Electronics. Перелічені адаптери повністю зберігають зворотну сумісність із класичним набором AT-команд ELM327 (тому софт бачить їх без проблем), а ще — мають власний розширений сет ST-команд, більший буфер та значно вищу швидкість обміну даними. Головною перевагою таких пристроїв є стабільність роботи — вони не гублять пакети під час активної діагностики чи прошивки блоків, на відміну від будь-якого китайського клону на PIC чи STM32. Vgate при цьому лишається одним із найдоступніших варіантів на українському ринку, тому саме на нього варто дивитися першим, якщо бюджет обмежений, а надійність усе одно потрібна.


Мультимарочник Vgate vLinker MC+


Тож наступного разу, коли на коробці адаптера побачите гордий напис «ELM327 v1.5» — знайте: ви тримаєте в руках не помилку виробника і не застарілу версію, а факт, що перед вами клон від початку до кінця. Втім, як бачите, це не завжди 100% вирок пристрою — просто чесний привід перевірити, що саме сховане під кришкою.


***


Якщо вам подобається цей блог і є бажання віддячити автора за час витрачений на збір та викладення інформації тут — ви завжди можете зробити це чашечкою запашної львівської кави ❤️|🤝

3 0 2

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.
Бонус до статті:

На фото — приклад дешевого ELM327 з AliExpress, який схемотехнічно взагалі не має нічого спільного із класичними PIC-клонами. Замість PIC18F25K80 або іншого впізнаваного мікроконтролера тут стоїть безіменний 16-вивідний чіп із затертим маркуванням, поруч — компаратор LM393 і кварц на 24 МГц. Дивлячись на плату, неможливо сказати, що це за мікросхема, але очевидно, що це максимально здешевлена апаратна платформа, а не повноцінний клон оригінального ELM327 на Microchip.

Зверніть увагу, що це не заважає адаптеру представлятися як «ELM327 v1.5» і навіть успішно проходити тестування в ELM327 Identifier. При цьому застосунок ще й малює йому зелені смуги аж до версії 2.2 включно (114 з 114 команд відправлено, і лише на рівні 2.3 з'являються 8 непідтриманих).

В реальності ж цей адаптер не дозволяє встановити з'єднання з автомобілем (Ford), а лог у Car Scanner видає 411 помилок неправильного закінчення рядка й купу неповних відповідей адаптера на запити від смартфона. Тобто фактично маємо «зелений» тест і одночасно непридатний до використання пристрій вартістю в кілька баксів.
сьогодні о 11:01
+на каву за цікавий допис. 🫡
1
вчора о 23:32
SergiyD
+на каву за цікавий допис. 🫡
SergiyD, дякую, смачна 😊
сьогодні о 08:41