Превращаем DSLogic Basic в DSLogic Plus

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

В данной статье расскажу как модифицировать 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$(с учетом доставки).

UPD:
Дополнение (512Mb RAM).
Мод до 512Mb RAM считаю не целесообразным.
Так как исходники прошивки что есть в открытом доступе — от кикстартерской версии, т.е. устарели и многое изменилось.
Как минимум не будет регулировки напряжения логики.
Кроме того, схема отличается, а значит чтоб собрать данные исходники под свежую версию платы (DSLogic Plus, и прочие) — нужно перерисовать плату в схему, что не так просто, учитывая что плата многослойная, нужно как минимум распаять все компоненты (DSLogic у меня один, потому я пока не готов приносить его в жертву).

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

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

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

Подробнее
Реклама

Комментарии 52

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

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

    Нужен при разработке или отладке радиоэлектронных устройств состоящих из нескольких компонентов (микроконтроллер, АЦП, I2C память, итд) что бы посмотреть на общение этих компонентов между собой. Чтобы наконец понять почему всё написано «правильно», но ничего не работает. В целом для этого можно использовать цифровой осциллограф, но осциллографы с 4 каналами стоят достаточно дорого, да и не очень это удобно.
      +2
      А осцилограф с декодером еще дороже.
      Ну и анализатором можно отслеживать большее колво интерфейсов, а так же несколько интерфейсов одновременно — за счет колва входов.
      Ну и к анализатору можно добавлять свои декодеры (они здесь в виде скриптов на питоне).
      0
      А можно ли с этим анализатором прослушать usb трафик?
          0
          Зависит от того о каком USB идет речь. USB 1.0 full-speed (12 mbps) можно без проблем. USB 2.0 high-speed (480 mbps) и старше этим конкретным ЛА не получится, потому что у него частота сэмплирования 400 МГц. Тем не менее многие мышки-клавиатуры и подобные вещи даже в наше время работают на 12 mbps.
          +1
          На сайте производителя DSLogic Plus стоит 150$ с бесплатной доставкой по всему миру. А модель DSLogic Basic вообще отсутсвует. Наверное Basic версия это китайский вариант оригинальной Plus версии или версия снятая с производства.
            +2
            Basic версия является упрощенной версией, не выгодно ее продавать на офф сайте, по факту же это та же плата, иногда с зеленой маской вместо черной (вероятно тоже экономия), если вам не нужно отслеживать сигналы на частоте выше 100MHz то и смысла от Plus версии вам никакого.
            Ну и если присмотреться то цена на офф сайте не просто 150$, а 200$ 150$.
            Почему скидка — не известно, и вполне вероятно что когда нибудь цена вернется к старой.

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

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

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

            0
            А есть для него какие-нибудь программные библиотеки, чтобы общаться с анализатором, скажем, с помощью программы на C# и построить на его базе тестовый стенд?
              +1
              Есть открытые исходники софта на плюсах.
              github.com/DreamSourceLab/DSView
                0
                del
                  0
                  Sigrok полностью открытый, можно реализовать на его базе. В том числе в нем есть библиотека с которой можно слинковаться и CLI с которыми можно заинтегрироваться по stdin/stdout. Тут чуть подробнее про то из чего состоит Sigrok можно прочитать.
                  +1
                  Вопрос можно ли запаять не 256 а 512?
                    +3
                    Об этом будет следующий пост, программа потребует редактирования и перекомпиляции.
                    Во всяком случае, стоит для начала задаться вопросом — а нужно ли вам это?
                    Потому как если вам достаточно частоты до 100MHz то и модить до Plus нет смысла.
                      0
                      Ведь можно отредактировать, перекомпилировать и выложить, для всех...?
                        +1
                        Можно, но тогда вы лишитесь новых версий софта.
                        Так что лучше уметь самому компилировать.
                        А как компилировать я опишу, если сам разберусь…
                        На лине вроде бы проблем с компиляцией быть не должно, а на форточках видно будет…
                        0
                        тоже интересно: поставить не 256Мбит, а 512Мбит
                          0
                          Сейчас разбираюсь как собрать данный софт на винде.
                          Как обычно…
                          На винде все отлично, а с линуксом куча возни.
                          А по факту…
                          На линуксе сборка программы в несколько простейших команд, немного ожидания и все готово.
                          А на винде уже которые сутки нифига не получается…

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

                          (на офф Plus версии длительность вдвое меньше, а конкретно 167.77ms)
                            0
                            Но софт это пол беды.
                            Еще нужно что-то делать с прошивкой что софт грузит в анализатор при подключении…
                            Так как в прошивке от офф Plus жестко задано 256Mb озу.
                              0
                              А вы думаете что прошивку плисины править не надо?
                                0
                                Об этом я написал в коменте выше )
                                И уже примерно разобрался что нужно менять.
                                Осталось только поставить софт, и начинать попытки сборки и тестов.
                              0
                              Прочтите UPD. Спасибо!
                            0
                            Прочтите UPD. Спасибо!
                            –2
                            А можно вопрос. Сколько времени у вас это заняло? И сколько у вас стоимость часа?
                              +5
                              И сколько у вас стоимость часа?

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


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

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

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

                                    +1
                                    сколько это занимает времени
                                    Если заранее знать все тонкости и иметь все что нужно на руках — то вся работа, в среднем, займет около 20 минут (а то и меньше).
                                    Впрочем в статье я описал наверное почти все что было нужно.
                                    0
                                    Мне почему то кажется, что человек хочет предложить какую то работу (Возможно замодить свой девайс руками автора), потому и интересуется «Стоимостью часа работы».
                                      +1
                                      В таком случае следует писать в лс.
                                  0
                                  Добрый день!

                                  А ОЗУ выбирать с суффиксом -6 или -7? Или это неважно?
                                    +1
                                    Думаю не важно.
                                    Главное чтоб корпус был верным 54 pin TSOP II, и чип был в списке совместимых.
                                    0
                                    у меня адрес 0x18F8
                                      0
                                      Вполне может быть и такое, для того я и оставил архив с готовой прошивкой.
                                      Так же подправил в статье описание на более верное.
                                      +1
                                      Память была в закромах. 15 минут и все готово. Автору респект.
                                        0
                                        А можно вкратце рассказать, в чем разница в функциональности между разными версиями?
                                          0
                                          На Basic можно длительно записывать только сигналы на частоте до 100MHz.
                                          На Plus же можно записать и до 400MHz.

                                          На самом деле можно и на Basic 400MHz (4 канала) записать, но длительность Крайне мала, пользоваться не возможно.
                                          Так что если вам хватит 100MHz то можно и не модить.
                                          Но если выше 100MHz все же нужно — то без мода на многое расчитывать не стоит.
                                            0
                                            Спасибо!
                                          0
                                          Спасибо за статью, интересно. Только я бы наверное не рекомендовал отгибать ножки у EEPROM, их так можно случайно и сломать. Лично я бы предпочел аккуратно выпаять феном, сделать полный бэкап, пропатчить, запаять. Сам использую для такого либо HydraBus (линк), либо FT2232 с Flashrom (линк).
                                            0
                                            Пока эксперементировал раз 10 отогнул и загнул обратно )
                                            Если без фанатизма то все будет ОК.
                                            Тем более что сделать это нужно всего 1 раз.
                                            Да и фен не у каждого есть.
                                            0
                                            Читал на том же форуме, что достаточно просто переименовать файл прошивки от плюс версии и он его сам подхватит
                                              0
                                              Пробовал, не работает. И не должно.
                                              Потому как в исходниках софта жестко прописан VID:PID и конфигурация девайса которому принадлежат данные ID.

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

                                              А если уж не хочется вскрывать корпус то другой вариант — пересобрать софтину заменив VID и PID на нужный, но на винде с этим гемор (по крайней мере пока еще попытки успехом не увенчались).
                                                0
                                                Тут утверждают якобы меняет VID:PID www.eevblog.com/forum/testgear/dslogic-plus/msg2011508/#msg2011508 врут?
                                                  0
                                                  Не говорю что врут, говорю что у меня не заработало.
                                                  Да и незачем программе прошивать анализатор, ведь в EEPROM хранятся только идентификаторы USB и еще некоторые настройки, которые никогда не меняются.
                                                    0
                                                    Специально проверил еще раз, сделал все как описано по указанной ссылке — Не работает.
                                              0
                                              Извините, а удалось ли Вам запустить Sigrok? sigrok.org/wiki/PulseView
                                                0
                                                Не то что бы я особо пытался )
                                                Я любитель темных тем (глаза меньше устают), а у PulseView она уродская…

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

                                                Но вот эта ссылочка должна помочь, если хорошенько вникнуть:
                                                sigrok.org/wiki/DreamSourceLab_DSLogic#Firmware
                                                Если у вас windows — нужные пути ищите в папке программы.
                                                0
                                                в сообщении на форуме eevblog патчат по двум адресам, есть ли разница?
                                                www.eevblog.com/forum/testgear/upgrading-dslogic-basic-to-plus-without-eeprom-modification/msg2270733/#msg2270733
                                                  0
                                                  вот здесь тоже
                                                  time4ee.com/news.php?readmore=453
                                                    0
                                                    По моему опыту, первый адрес ничего не решает.
                                                    Но если вам так угодно — исправляйте оба )
                                                      0
                                                      спасибо
                                                  0
                                                  **** — для тех, кто не хочет паять флэшку и искать i2c-программатор:

                                                  1. качаем дамп для флэшки, можно либо поменять как в статье, либо взять отсюда (тут поменян ещё номер в самом начале)
                                                  2. качаем прошивальщик (под винду) отсюда github.com/.../fx2lafw_eeprom_loader
                                                  3. чтобы его запустить, надо его пересобрать из сорцов или скачать недостающую libwinpthread-1.dll отсюда. (распаковать файл архиватором и найти там дллку)
                                                  4. запустить fx2lafw_eeprom_loader.exe -t M24128 -p 24c128_plus.hex и… обломиться, потому что флэшка защищена от записи.
                                                  5. взять щупы от этого же анализатора и замкнуть на флэшке ноги 7 (WE) и 4 (GND), чтобы разрешить запись.
                                                  6. повторить пункт #4, переподключить анализатор и радоваться жизни.

                                                  На всякий случай, архив с тулзой, дллкой и дампом лежит тут. Пароль от архива — такой же как в статье.

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

                                                  Самое читаемое