Привет, Хабр!

В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus.

Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus

Кому интересно — прошу под кат.

Предисловие


DreamSourceLab — решили прикрыть дыру (мод до Plus).

DSLogic Basic — сняты с производства.
DSLogic U2Basic — внесены взамен, с незначительными изменениями схемы и прошивки.

Различия характеристик

Благо различия в плате не существенны.

Штука очень интересная, описывать почему именно DSL а не Saleae не буду. На вкус и цвет — как говорится…

На всем известном китайском рынке DSLogic U2Basic стоит (>55$).
Тогда как DSLogic Plus на офф сайте стоит (>149$).

А для мода достаточно лишь заменить ОЗУ, припаять проводок и сменить один байт в прошивке eeprom на плате анализатора.

Приступаем к работе


Автор не несет ответственность за ваши неудачи, и не призывает к действию!

Все что вы делаете — вы делаете на свой страх и риск!


Понадобится:


Вскрываем


Скрытый текст
Выкручиваем 4 болтика, поддеваем крышку пинцетом или присоской.



Осторожно выполняем следующие действия:

  1. Выкручиваем еще 4 болтика крепящие плату к корпусу.
  2. Двигаем плату в сторону разъема входов каналов.
  3. Слегка отгибаем плату.
  4. Вынимаем плату давя пальцами на разъем входов каналов.



Меняем ОЗУ, паяем проводок, подготавливаем к прошивке


Скрытый текст
На плате видим ОЗУ — выпаиваем заводскую и запаиваем правильную ОЗУ соблюдая ключ.

Хорошенько пропаиваем контакты паяльником, не оставляем сопли!



В U2Basic отсутствует дорожка озу A12.

А также, пин(ножка) чипа U3 (к которому должна идти дорожка) — замкнут на землю под чипом.

Различия платы
U2Basic



Plus



Потому греем паяльником площадку 138 пина чипа U3, и аккуратно поддеваем пин иглой.
Нужно поднять пин над платой.

Делаем максимально осторожно — да бы не отломить пин.



Берем тонкий провод/лакированную проволоку — отрезаем длиной ~38.5мм (+-1мм).
Подпаиваем к поднятому 138 пину чипа U3 и к 31 пину чипа ОЗУ.



Укладываем так чтобы проводок не касался ничего лишнего.



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

Видим чип в 8ми ногом корпусе — это I2C EEPROM, ее нужно прошить.



Программатор EZP2010 прошивку не осилил (ошибка при сравнении, каждый раз на разном адресе).

Потому беру программатор на основе CH341A.

Чтобы не выпаивать чип — использую скрепку SOIC8 SOP8.

Так как первый пин EEPROM на плате подключен к питанию, а на программаторе к земле — грею паяльником и слегка поднимаю первый пин пинцетом:


Потом осторожно(чтоб не придавить первый пин обратно), цепляю прищепку соблюдая ключ.

И только потом подключаю программатор к ПК.

Прошивка


1) Считываем EEPROM.

2) Делаем поиск по HEX запросу 0E 2A, и меняем следующий за ними байт 29 на 20 (адрес может отличаться):





3) Прошиваем, проверяем.

После удачной прошивки:

  1. Отключаю программатор.
  2. Запаиваю первый пин EEPROM чипа обратно.
  3. Подключаю к ПК.

В софте определяется так:



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

Профит!

Итог — получаем логический анализатор стоимостью 150-200$(+таможка), по цене ~65$(с учетом доставки).

Спасибо за внимание!

Так же хочу выразить отдельную благодарность юзеру Oleg10011001, который не побоялся рискнуть своим девайсом — благодаря чему и появилось данное обновление статьи.

При копировании попрошу оставлять ссылочку на первоисточник.

С вопросами обращайтесь в комментарии, чем смогу — помогу.

Комментарии (9)


  1. Grey4ip
    11.01.2020 21:22

    Спасибо за лайфхак.
    Необходимую длину провода (для согласования) определили (измерив ломаную линию с минимальным числом звеньев) после отпаивания ОЗУ?


    1. User420 Автор
      10.01.2020 23:07

      Примерно так )
      Может быть некое отклонение…


  1. Goron_Dekar
    11.01.2020 21:53

    А зачем запароленный архив в 20 году?


    1. drWhy
      10.01.2020 22:37

      А что, разве эра квантовых вычислений уже наступила официально?


      1. Goron_Dekar
        14.01.2020 09:54

        Я вижу: запароленный архив и пароль, выложенный в сеть. Я спрашиваю: зачем это.
        При чём тут квантовые вычисления?


  1. dab0g
    10.01.2020 23:02

    Спасибо за нужную статью! Тоже на днях получил обновлённую версию DSLogic U2Basic. На плате надпись — DSLogic-U2B-V111-P0808. Так вот у меня байты в EEPROM немного совсем другие. :/


    Начало дампа:
    0000000000: C2 0E 2A 29 00 00 00 04 ¦ 00 04 00 00 02 01 B9 32
    0000000010: 00 01 00 0B 32 00 01 00 ¦ 13 32 00 01 00 1B 32 00
    0000000020: 01 00 20 02 00 01 00 23 ¦ 32 00 01 00 2B 32 00 01
    0000000030: 00 33 32 00 01 00 3B 32 ¦ 00 03 00 43 02 1F 00 00


    Искомые числа:
    0000001980: 00 00 00 00 00 03 19 AD ¦ 00 00 3F 00 F2 1E 00 12
    0000001990: 01 00 02 FF FF FF 40 0E ¦ 2A 29 00 01 00 01 02 00
    00000019A0: 01 0A 06 00 02 FF FF FF ¦ 40 01 00 09 02 20 00 01
    00000019B0: 01 00 80 32 09 04 00 00 ¦ 02 FF FF FF 00 07 05 02


    Что это может быть? Другая версия или что-то неправильно считывается?
    Считываю ch341a и результаты стабильные.


    1. User420 Автор
      10.01.2020 23:03

      Исправил.
      Благодарю!


  1. dab0g
    10.01.2020 23:43

    Залил ваш файл — dsl_plus.bin плюс появился, но данных не было. Затем ещё разок прозвонил и пропаял память и вроде всё заработало :)
    Или надо обязательно идущий в комплекте файл менять?


    PS Адрес байта всё еще не поправлен, он вроде — 0x001999.


    1. User420 Автор
      11.01.2020 00:07

      Свою прошивку оставил на случай если случайно удалите заводскую.

      Адрес может отличаться в разных устройствах, потому значения не имеет.
      Скрины не менял, так как не имею сейчас того же сфота под рукой.