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

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

Возможно для кого-то это не будет новостью.

Во всяком случае — собрал инфу с зарубежного форума, убрал все лишнее и рассказываю вам.

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

Предисловие


Как-то читал обзор/сравнение DSLogic от товарища VBKesha, и возжелал.

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

Однако тогда она была по весьма кусачей цене 200$ (сайчас цена в принципе не особо изменилась).

Но относительно недавно на всем известном китайском рынке наткнулся на DSLogic Basic (>53$).
Поспрашивая на форумах, в чатах и гугле — узнал что данная версия отличается от Plus лишь отсутствием внешней озу, а сама озу легко добывается на том же рынке (>1$).

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

Распаковка
Распаковка хоть уже и была в упомянутой выше статье, но все же прошло уже 3 года, что-то да изменилось…



Открываем, строим кирпичный завод.



Вскрываем дальше и находим потеряшку (смайл).



Комплектация:



Провода — разделены на связки по 4 входа (что удобнее, имхо), но не коаксиал (на офф сайте коаксиал), не так плохи как может показаться (хотя в будущем вероятно заменю их на коаксиал).
Кабель — USB Type-C (2.0 HS only).

Щупы — не изменились (тоже скорее всего поменяю в будущем).

Виновник торжества.



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



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


Автор не несет ответственность за ваши неудачи!
Все что вы делаете — вы делаете на свой страх и риск!


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

— Паяльник;
— Программатор с поддержкой прошивки I2C EEPROM 24**** (теоретически можно прошить и без программатора, но мне было лень разбираться);
-* На всякий случай архив с прошивками (PASS: 8S]7P#cGaB/X7p-N).
— ОЗУ AS4C16M16SA или аналог (4 страница — аналоги);
— Сам девайс.

Вскрываем


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


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

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



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


Скрытый текст
На плате видим свободное место, на него паяем озу соблюдая ключ.
Хорошенько пропаиваем контакты паяльником, не оставляем сопли!



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



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

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

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

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



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

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

Прошивка


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

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




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

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

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

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



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

Профит!

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

Позже напишу дополнение к данной статье.

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

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

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

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


  1. Sergey-S-Kovalev
    24.03.2019 09:40
    +1

    Для тех, кто не понял что это такое, как я, и был привлечен видом коробочки с проводками:

    Это логический анализатор

    Нужен при разработке или отладке радиоэлектронных устройств состоящих из нескольких компонентов (микроконтроллер, АЦП, I2C память, итд) что бы посмотреть на общение этих компонентов между собой. Чтобы наконец понять почему всё написано «правильно», но ничего не работает. В целом для этого можно использовать цифровой осциллограф, но осциллографы с 4 каналами стоят достаточно дорого, да и не очень это удобно.


    1. User420 Автор
      24.03.2019 10:50

      А осцилограф с декодером еще дороже.
      Ну и анализатором можно отслеживать большее колво интерфейсов, а так же несколько интерфейсов одновременно — за счет колва входов.
      Ну и к анализатору можно добавлять свои декодеры (они здесь в виде скриптов на питоне).


  1. dellby
    24.03.2019 10:20

    А можно ли с этим анализатором прослушать usb трафик?



    1. afiskon
      25.03.2019 14:14

      Зависит от того о каком USB идет речь. USB 1.0 full-speed (12 mbps) можно без проблем. USB 2.0 high-speed (480 mbps) и старше этим конкретным ЛА не получится, потому что у него частота сэмплирования 400 МГц. Тем не менее многие мышки-клавиатуры и подобные вещи даже в наше время работают на 12 mbps.


  1. vchs
    24.03.2019 10:49

    На сайте производителя DSLogic Plus стоит 150$ с бесплатной доставкой по всему миру. А модель DSLogic Basic вообще отсутсвует. Наверное Basic версия это китайский вариант оригинальной Plus версии или версия снятая с производства.


    1. User420 Автор
      24.03.2019 10:56

      Basic версия является упрощенной версией, не выгодно ее продавать на офф сайте, по факту же это та же плата, иногда с зеленой маской вместо черной (вероятно тоже экономия), если вам не нужно отслеживать сигналы на частоте выше 100MHz то и смысла от Plus версии вам никакого.
      Ну и если присмотреться то цена на офф сайте не просто 150$, а 200$ 150$.
      Почему скидка — не известно, и вполне вероятно что когда нибудь цена вернется к старой.

      По поводу доставки — поправил.
      Она хоть и бесплатная, но таможню никто не отменял.

      Ну и во всяком случае — по инструкции в посте получаем тот же DSLogic Plus но почти в 2-3 раза дешевле чем на офф сайте.


      1. romanetz_omsk
        24.03.2019 18:52
        -1

        Таможня для физиков тоже бесплатная в пределах порога


  1. Tsvetik
    24.03.2019 11:01

    А есть для него какие-нибудь программные библиотеки, чтобы общаться с анализатором, скажем, с помощью программы на C# и построить на его базе тестовый стенд?


    1. User420 Автор
      24.03.2019 11:09

      Есть открытые исходники софта на плюсах.
      github.com/DreamSourceLab/DSView


    1. VBKesha
      24.03.2019 11:15

      del


    1. afiskon
      25.03.2019 14:17

      Sigrok полностью открытый, можно реализовать на его базе. В том числе в нем есть библиотека с которой можно слинковаться и CLI с которыми можно заинтегрироваться по stdin/stdout. Тут чуть подробнее про то из чего состоит Sigrok можно прочитать.


  1. VBKesha
    24.03.2019 11:16

    Вопрос можно ли запаять не 256 а 512?


    1. User420 Автор
      24.03.2019 11:38
      +2

      Об этом будет следующий пост, программа потребует редактирования и перекомпиляции.
      Во всяком случае, стоит для начала задаться вопросом — а нужно ли вам это?
      Потому как если вам достаточно частоты до 100MHz то и модить до Plus нет смысла.


      1. Dele1
        24.03.2019 12:07

        Ведь можно отредактировать, перекомпилировать и выложить, для всех...?


        1. User420 Автор
          24.03.2019 12:08

          Можно, но тогда вы лишитесь новых версий софта.
          Так что лучше уметь самому компилировать.
          А как компилировать я опишу, если сам разберусь…
          На лине вроде бы проблем с компиляцией быть не должно, а на форточках видно будет…


      1. chyvack
        26.03.2019 17:09

        тоже интересно: поставить не 256Мбит, а 512Мбит


        1. User420 Автор
          27.03.2019 00:43

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

          Во всяком случае — вот превью к следующей статье ;)

          (на офф Plus версии длительность вдвое меньше, а конкретно 167.77ms)


          1. User420 Автор
            27.03.2019 03:17

            Но софт это пол беды.
            Еще нужно что-то делать с прошивкой что софт грузит в анализатор при подключении…
            Так как в прошивке от офф Plus жестко задано 256Mb озу.


  1. arheops
    24.03.2019 16:02
    -2

    А можно вопрос. Сколько времени у вас это заняло? И сколько у вас стоимость часа?


    1. firegurafiku
      24.03.2019 18:10
      +5

      И сколько у вас стоимость часа?

      Думаю, достаточно невежливо задавать такие вопросы незнакомому человеку. Да и для чего вам эта цифра, что полезного она привнесёт в дискуссию?


      Не то, чтобы я любил делать замечания, просто раздражает: каждый раз, когда кто-то сделал что-то хорошее чисто по фану, находится человек, готовый заявить: «Автор, ты неэффективно тратишь своё время, лучше бы пошёл и заработал больше денег для бога денег».


      1. arheops
        24.03.2019 18:15

        Вопрос денег автор поднял сам еще в начале статьи. Одно дело «по фану» другое дело сэкономить чуток, но потратить времени сильно больше. Если бы вопрос денег не поднимался, комента бы не было.
        Я лично считаю, что полезно понимать для желающих повторить, сколько это занимает времени. Если вам эта информация не нужна, зачем вы раздражаетесь? Читайте другие ветки.


        1. firegurafiku
          24.03.2019 19:11
          +2

          [...] полезно понимать для желающих повторить, сколько это занимает времени.

          Время зависит от ваших навыков пайки и того, какое оборудование есть у вас в быстром доступе. От почасовой ставки автора зависимости нет.


        1. User420 Автор
          24.03.2019 21:23
          +1

          сколько это занимает времени
          Если заранее знать все тонкости и иметь все что нужно на руках — то вся работа, в среднем, займет около 20 минут (а то и меньше).
          Впрочем в статье я описал наверное почти все что было нужно.


      1. Fox_exe
        24.03.2019 19:12

        Мне почему то кажется, что человек хочет предложить какую то работу (Возможно замодить свой девайс руками автора), потому и интересуется «Стоимостью часа работы».


        1. User420 Автор
          24.03.2019 21:27
          +1

          В таком случае следует писать в лс.


  1. miminomar19
    24.03.2019 21:23

    Добрый день!

    А ОЗУ выбирать с суффиксом -6 или -7? Или это неважно?


    1. User420 Автор
      24.03.2019 21:27
      +1

      Думаю не важно.
      Главное чтоб корпус был верным 54 pin TSOP II, и чип был в списке совместимых.


  1. PeletonTver
    25.03.2019 09:05

    у меня адрес 0x18F8


    1. User420 Автор
      25.03.2019 09:06

      Вполне может быть и такое, для того я и оставил архив с готовой прошивкой.
      Так же подправил в статье описание на более верное.


  1. PeletonTver
    25.03.2019 09:50
    +1

    Память была в закромах. 15 минут и все готово. Автору респект.


  1. Amomum
    25.03.2019 13:40

    А можно вкратце рассказать, в чем разница в функциональности между разными версиями?


    1. User420 Автор
      25.03.2019 15:04

      На Basic можно длительно записывать только сигналы на частоте до 100MHz.
      На Plus же можно записать и до 400MHz.

      На самом деле можно и на Basic 400MHz (4 канала) записать, но длительность Крайне мала, пользоваться не возможно.
      Так что если вам хватит 100MHz то можно и не модить.
      Но если выше 100MHz все же нужно — то без мода на многое расчитывать не стоит.


      1. Amomum
        25.03.2019 17:56

        Спасибо!


  1. afiskon
    25.03.2019 14:07

    Спасибо за статью, интересно. Только я бы наверное не рекомендовал отгибать ножки у EEPROM, их так можно случайно и сломать. Лично я бы предпочел аккуратно выпаять феном, сделать полный бэкап, пропатчить, запаять. Сам использую для такого либо HydraBus (линк), либо FT2232 с Flashrom (линк).


    1. User420 Автор
      25.03.2019 14:49

      Пока эксперементировал раз 10 отогнул и загнул обратно )
      Если без фанатизма то все будет ОК.
      Тем более что сделать это нужно всего 1 раз.
      Да и фен не у каждого есть.


  1. LmarLoe
    25.03.2019 14:49

    Читал на том же форуме, что достаточно просто переименовать файл прошивки от плюс версии и он его сам подхватит


    1. User420 Автор
      25.03.2019 14:49

      Пробовал, не работает. И не должно.
      Потому как в исходниках софта жестко прописан VID:PID и конфигурация девайса которому принадлежат данные ID.

      Прошивка там нужна для того чтобы МК знал как правильно общаться с железом, VID и PID она не меняет.
      Заменив прошивку мы меняем только алгоритмы работы МК с железом, программа же все так же ориентируется на VID и PID и дает доступ к соответствующей конфигурации.

      А если уж не хочется вскрывать корпус то другой вариант — пересобрать софтину заменив VID и PID на нужный, но на винде с этим гемор (по крайней мере пока еще попытки успехом не увенчались).


      1. LmarLoe
        25.03.2019 21:52

        Тут утверждают якобы меняет VID:PID www.eevblog.com/forum/testgear/dslogic-plus/msg2011508/#msg2011508 врут?


        1. User420 Автор
          27.03.2019 01:25

          Не говорю что врут, говорю что у меня не заработало.
          Да и незачем программе прошивать анализатор, ведь в EEPROM хранятся только идентификаторы USB и еще некоторые настройки, которые никогда не меняются.


          1. User420 Автор
            27.03.2019 02:21

            Специально проверил еще раз, сделал все как описано по указанной ссылке — Не работает.


  1. PeletonTver
    27.03.2019 08:26

    Извините, а удалось ли Вам запустить Sigrok? sigrok.org/wiki/PulseView


    1. User420 Автор
      27.03.2019 09:32

      Не то что бы я особо пытался )
      Я любитель темных тем (глаза меньше устают), а у PulseView она уродская…

      К сожалению сейчас не могу ни чем помочь, так как на моем DSLogic сейчас модифицированная прошивки (разбираюсь с 512Mb), потому без модифицированной версии программы он не определится в ней, а в очередной раз вскрывать и прошивать не хочется )

      Но вот эта ссылочка должна помочь, если хорошенько вникнуть:
      sigrok.org/wiki/DreamSourceLab_DSLogic#Firmware
      Если у вас windows — нужные пути ищите в папке программы.