Fun Electronic

Электронные поделки, программирование микроконтроллеров, и прочая белиберда|Electronic Basteleien, Mikrokontroller Programmierung und anderes Quatsch

RSS
people

Мои инструменты: Logic Analyzer V. 3.0|Meine Werkzeuge: Logic Analyzer V. 3.0

[lang_ru]Не прошло и пол-года, как я опять с вами, мои читатели.[/lang_ru]

[lang_de]Es ist noch kein halbes Jahr vorbei, und ich bin wieder da. [/lang_de]

[lang_ru]Как я и обещал в прошлом посте, я выпустил 3 — ю версию своего Логического Анализатора.[/lang_ru]

[lang_de]Wie ich versprochen habe, habe ich die 3. Version von meinem Logic Analyzer released. [/lang_de]

[lang_ru]И, как я и обещал, на этот раз весь GUI интерфейс написан с использованием бесплатной библиотеки wxWidgets версии 2.8.10.[/lang_ru]

[lang_de]Und, wie ich gesagt habe, dies mal ist das ganze GUI Interface mit der Hilfe der wxWidgets Bibliothek Version 2.8.10 geschrieben wurde.[/lang_de]

[lang_ru]Так он выглядит в текущем варианте:[/lang_ru]

[lang_de]So siech es jetzt aus: [/lang_de]

Logic Analyzer LA Window

Logic Analyzer SPI Window

Logic Analyzer Options

Logic Analyzer Comm Port Settings

[lang_ru]Так что если кто-то захочет что-нибудь изменить в программе, или добавить свои навороты — он сможет теперь это сделать сам и собственноручно. Единственно — надо будет только настроить среду разработки ;-)[/lang_ru]

[lang_de]Also, falls Jemand irgendwas ändern will, kann er es selber machen. Man muss nur die Entwicklungsumgebung einrichen 😉  [/lang_de]

[lang_ru]Сюда входят следующие компоненты:[/lang_ru]

[lang_de]Die Entwicklungsumgebung besteht aus volgender Komponenten:  [/lang_de]

  • [lang_ru]библиотеки wxWidgets версии 2.8.10[/lang_ru]
  • [lang_de]wxWidgets Bibliothek der Version 2.8.10[/lang_de]
  • IDE Code::Blocks
  • [lang_ru]редактор  интерфейса wxFormBuilder[/lang_ru]
  • [lang_de]GUI Editor wxFormBuilder[/lang_de]
  • [lang_ru]среда Cygwin[/lang_ru]
  • [lang_de]Cygwin[/lang_de]
  • [lang_ru]компилятор MinGW для Windows (загружается вместе с Code::Blocks).[/lang_ru]
  • [lang_de]Kopmilator MinGW für Windows (wird mit  Code::Blocks installiert).[/lang_de]

[lang_ru]Библиотеки wxWidgets поставляются в виде исходников и их надо бы откомпилировать. Есть много способов, которыми это можно сделать, и все они описаны в описании установки библиотек. Я тоже честно пытался выполнить все пункты этого описания, и на моем домашнем компьютере ничего не вышло, но вот на рабочем все прошло удачно, и я откомпилировал сразу все варианты, которые возможны: Debug, Release, Unicode, Ansi, Debug Unicode, Debug Ansi, dynamic и static варианты всех предыдущих вариантов.[/lang_ru]

[lang_de]Die  wxWidgets wird als Sourcecode geliefert, bzw. runtergeladen und muss erst kompiliert werden. Es gibt viele Möglichkeiten das zu machen. Mir ist es gelungen mit der Hilfe des Kompilers MinGW alle configurationen zu kompilieren: Debug, Release, Unicode, Ansi, Debug Unicode, Debug Ansi, dynamic und static.[/lang_de]

[lang_ru]И притащил домой. Так что если кому надо — можно будет  выложить на какой нибудь файло-обменник. Там всего то 244 мегабайта 😉 .[/lang_ru]

[lang_de]Wenn jemand die Schwierigkeiten bei der Kompilierung hat, ich kann die Binaries auf irgend eine Dateitauschbörse aufladen. Es sind nur 244 Megabytes drinn ;-).  [/lang_de]

[lang_ru]IDE Code::Blocks вообще — must have как говорится. Тем более, что в последних версиях там вроде как можно даже стряпать «рыбу» проекта для AVR (сам еще не пробовал).[/lang_ru]

[lang_de]IDE Code::Blocks ist eigentlich — must have. For allem, in der letzen Versionen kann man damit sogar die Projekte für AVR´s erstellen.[/lang_de]

[lang_ru]А так же еще много очень интересных и полезных фич. И все бесплатно! В общем — рекомендую.[/lang_ru]

[lang_de]Und die IDE hat auch viele andere interessante Features. Und alles kostelos. Also — empfelenswert. [/lang_de]

[lang_ru]Последнюю версию можно либо скачать с nightly builds, или же взять исходники с SVN и скомпилить самому, что я, собственно и сделал. И работает же![/lang_ru]

[lang_de]Die letzte Version kann man von nightly builds runterladen (prekompilled), oder von SVN und selber kompilieren, was ich auch gemacht habe. Und es fuktioniert! [/lang_de]

[lang_ru]Редактор  интерфейса wxFormBuilder поставляется в уже откомпилированном виде, и с ним все просто — просто запускаем и работаем.[/lang_ru]

[lang_de]GUI Editor wxFormBuilder wird als Binary geliefert und kann sofort gestartet werden.[/lang_de]

[lang_ru]

Cygwin нужен для процесса компиляции исходников прошивки, там make используется. Ну и вообще тоже очень полезная вещь. Взять хотя-бы тот-же shell от него. У меня много других проектов на нем завязано. Так что если вы планируете использовать только make от него, то смысла особо его качать нет, так как и make и dll от cigwin'а есть в WinAVR компиляторе. [/lang_ru]

[lang_de]Cygwin braucht man für Frimware — Kompillvorgang, es wird make Utility benutzt. Und das ist auch nutzvolles Ding. Zum Beispiel Shell. [/lang_de]

[lang_ru]Ну а компилятор MinGW есть в архиве с Code::Blocks. И если вы компилировали сам Code::Blocks то он уже стоит у вас.[/lang_ru]

[lang_de]Und MinGW Kompiller ist schon in dem Code::Blocks dabei.  [/lang_de]

[lang_ru]Прошивка сама тоже малость изменилась по сравнению с предыдущим разом, а именно, в режиме SPI Master теперь пин SS выполняет роль Chip Select. В прошлый раз я забыл про такой момент.[/lang_ru]

[lang_de]die Firmware für Logic Analyzer ist auch ein bisschen geändert. Und zwahr in dem SPI Master Mode SS pin deint jetzt als Chip Select. Letztes mal habe ich dieses Punkt fergessen. [/lang_de]

[lang_ru]Вот. Теперь дело за малым, архив с со всем этим добром: logicanalyzer_v_3_0.rar[/lang_ru]

[lang_de]So. Jetzt fehlt nur die kleinichkeit, und zwahr das Archiv mit dem ganzen: logicanalyzer_v_3_0.rar [/lang_de]

[lang_ru]Там три папки — AVR, wxWidgets, Common.[/lang_ru]

[lang_de]Dort sind drei verzeichnisse - AVR, wxWidgets, Common. [/lang_de]

[lang_ru]В Common находятся всякие утилитки, которые у меня во многих проектах без изменений используются, и в этих — тоже.[/lang_ru]

[lang_de]In der Verzeichniss Common liegen einige Code-Teile, die ich in allen meinen Projekten ohne Änderungen nutze. [/lang_de]

[lang_ru]В папке AVR лежат исходники для прошивки микроконтроллера, как и сама откомпилированная прошивка.[/lang_ru]

[lang_de]In der Verzeichniss AVR liegen Sourcecodes für Firmware und die Binary-Datei der Frimware. [/lang_de]

[lang_ru]В папке wxWidgets\LogicAnalyzer лежат исходники GUI программы. В подпапке bin\Release есть готовый exe-шник этой программки, готовый к исполнению (по идее — не требует никаких библиотек, но если не так — дайте знать, доложим).[/lang_ru]

[lang_de]In der Verzeichniss wxWidgets\LogicAnalyzer liegen die sourcescodes des GUI Programms. In der Verzeichniss bin\Release lieget schon kompilierte ausführbare Datei. Sollte keine andere Bibliotheken gebraucht werden. Falls es nicht der Fall ist, meldet euch — ich lege die dazu.[/lang_de]

[lang_ru]И так,  кто дочитал до сюда, получит самое инетересное — описание новых фич. Хотя может кто-то предпочитает эти фичи сам искать.[/lang_ru]

[lang_de]So. Wer hat geschafft, bis hierher zu lesen, krieget was schöneres, und zwahr die Beschreibung der neuen Features des Tools.  [/lang_de]

[lang_ru]Так вот:[/lang_ru]

[lang_de]Also: [/lang_de]

  1. [lang_ru]В режиме Логического Анализатора добавилась возможность сохранения и последующего чтения анализируемых данных.[/lang_ru][lang_de]In dem Logic Analyzer Modus gibt es jetzt die Möglichkeit die erfasste Daten zu speichern und wieder laden. [/lang_de]
  2. [lang_ru]В том же режиме теперь есть возможность поглядеть, что за байт такой представлен сигналами. Например, если вы смотрите шину данных с помощью этого прибора, то включив галочку Value at cursor можно будет наблюдать за тем, что за значение скрывается в позиции, на которую указывает курсор мышки. Это значение можно показывать как в 16-тиричном, так и в десятичном виде. А так же можно перевернуть биты, если вдруг вы проводки в обратном порядке подключили, а перетыкать в лом :)[/lang_ru][lang_de]In das selben Modus gibt es jetzt die Möglichkeit zu schauen, was für ein Wert stellen die Signale dar. Dafür muss man nur das Häckhen Value at cursor einschalten. Der Wert wird aus der Mausposition erfasst. Mann kan den Wert als HEX oder als DEC darzustellen. Mann kann auch die Reihenfolge der Bits umdrehen, falls die Probes falscherweise angeschlossen sind. [/lang_de]
  3. [lang_ru]Так же сделал возможность раскрашивать окно Логического Анализатора во все цвета радуги в меню Options.[/lang_ru][lang_de]Jetzt kann man das Fenster des Analyzators in alle mögliche Farben setzen.[/lang_de]
  4. [lang_ru]В режиме SPI логгера, теперь добавилась возможность посылать 16-ти битное (для начала, пока что) значение CRC. Если галка CRC включена, и количество посылаемых байт больше 2-х, то последние два байта будут имено этим значением CRC.[/lang_ru][lang_de]In dem SPI Modus gibt es die Möglichgeit, den CRC Wert (erst mal 16-Bit lang) der zusendenden Daten mitzusenden. Falls das CRC Häckhen ein ist, und der Anzahl zusendenden Bytes mehr als 2 ist, dann die letzte 2 Bytes werden mit dem CRC Wert ersetzt. [/lang_de]
  5. [lang_ru]Так же, при включенной галке CRC будет производиться подсчет CRC принимаемых байт, кроме последних 2х, и сравниваться с последними 2мя принятыми. И если совпадают, то увеличивается счетчик CRC OK. Если нет — то увеличивается счетчик CRC BAD.[/lang_ru][lang_de]Genau so, bei dem eingeschalteten CRC Häckhen, wird es den CRC Wert der empfangenen Bytes (ausser letzten 2) kalkuliert. Und falls der kalkulierte CRC Wert gleich ist mit der empfangenen 2 letzten Bytes, dann wird der Zähler CRC OK inkrementiert. Sonst — CRC BAD Zahler wird inkrementiert. [/lang_de]
  6. [lang_ru]Ну и для статистики — всегда считается количество посланных пакетов TX.[/lang_ru][lang_de]Und auch für die Statistiks werden gesendene Pakete gezählt.[/lang_de]

[lang_ru]Ну а остальное вроде все тоже самое осталось.[/lang_ru]

[lang_de]Alles ande ist, eigentlich gleich geblieben.[/lang_de]

[lang_ru]Ну что ж, все рассказал, показал. Если будут вопросы, или вдруг будет найдена ошибка — напишите в комментах, что есть ошибка, и если не  затруднит — пошлите на мыло мне примерно подробное описание, как мне эту ошибку воспроизвести. Если получится воспроизвести — то исправлю и сделаю новую версию.[/lang_ru]

[lang_de]Also, ich habe alles gezeigt. Falls es die Fragen geben werden, schreib einfach in den Kommentaren rein. Falls man einen Fehler entdekt, wäre nicht schlecht eine genaue Beschreibung bekomnen, wie man zu dem Fehler gekommen ist.  [/lang_de]

[lang_ru]А. Для поднятия интереса — на днях посетила меня идея, добавить в этот прибор еще I2C (TWI) логгер. Так что не расслабляемся, ждем еще вкусностей. Не обещаю скоро, но должно быть :)[/lang_ru]

[lang_de]A. Für die weitere Interesse, ich habe eine Gedanke, zu dem Analyzator noch einen I2C (TWI) Logger einzufühgen. Desswegen, nicht entspannen! Es wird noch was geben. Ich verspreche nicht, dass es sehr bald wird, aber irgendwann mal 😉 [/lang_de]

[lang_ru]Кстати — немного рекламы:[/lang_ru]

[lang_de]Und ein bisschen Werbung: [/lang_de]

[lang_ru]Если есть интерес прикупить этот прибор в уже готовом виде, то такая возможность есть. Так что если есть интерес — пишите в комментах — буду думать о цене, и способах изготовления — сам утюгом или же заводским способом (в зависимости от количества желающих). Так же будет возможность прикупить этот прибор в виде конструктора а-ля «сделай сам».[/lang_ru]

[lang_de]Falls es eine Interesse besteht, dieses Werkzeug in gefertigter Ausführung zu bekommen, diese Möglichkeit gibt. Schreib einfach ein Komment da unten, ich werde über das Preis überlegen, und auch über die Fertigungsmöglichkeite, eintweder bein einem Werk, oder selber mit dem Laserdrucker und Bügeleisen, falls es die Menge nicht zu gross wird. Auch wird es möglich den Tool als Bastel-Set zu bekommen. [/lang_de]

[lang_ru]Ну и на последок пара ссылок, что надо для запуска этого чудо прибора:[/lang_ru]

[lang_de]Und wie immer, ein paar Links, was mann braucht um den Wunderwerk zu bauen:  [/lang_de]

20 комментариев to “Мои инструменты: Logic Analyzer V. 3.0|Meine Werkzeuge: Logic Analyzer V. 3.0”

  1. marshallab Says:

    Насчет выпаяных деталей это не отговорка, это свобода выбора 🙂

    Но все же есть некоторые детали (типа меги 128) которые можно найти в любом месте планеты, или девайс где она стоит...

    У меня оформилась мысль по анализатору: мега(Ардуина, м8 м168 м328 м128 м644 м1281) + микросхема кэша из старой матери (распиновка у всех одинакова) + маленькая прошивка. Сигнал напрямую пишется в память с последующей передачей на комп.

    Скорость сэмплирования в теории 8 Мгц, объем сэмплов = мс кэша.

    Вопрос в протоколе передачи на компьютер... какой он? Писать программу на комп с нуля ну никакого желания.

  2. marshallab Says:

    Только что пришла идея использовать в роли софта LabView. Давно хотел попробовать/заюзать/изучить. Там можно написать все что относится к протоколу обмена, анализа и использовать готовый интерфейс графики/таблички... Только где бы взять время на изучение!?

  3. MasterAlexei Says:

    Про LabView ничего не скажу — я его только на курсах тут однодневных ознакомительныз пользовал. Да и денег оно стоит (место жительства приучает потихоньку к тому, что за все платить все таки надо ;-), потому стараюсь пользовать бесплатные или GPL-овские вещи).

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

  4. MasterAlexei Says:

    А протокол вроде как не сильно сложный. Надо как нибудь статейку написать про него, раз интерес есть.

    А так — в исходниках прошивки процессора можно глянуть про него:

    в файле uart.h есть структура TCommData — это на прием от GUI.

    А вот отправка захваченных данных находится в файле main.c начиная со строк 148 по 168 — это в режиме SPI и со строк 171 по 198 — это уже данные анализатора. Ну я подробней как нить опишу это все в очередной статье 😉

  5. marshallab Says:

    Блуждая в своих мыслях и рассуждениях совсем забыл что на все есть исходники! Очередное спасибо 🙂

    Посмотрел. действительно ничего сложного в протоколе, без статьи понятно. Хотя когда начинаешь делать что-нибудь вылезает, так что описания это полезно.

    На самом деле теперь надобности в анализаторе нет. Меня ваш устраивает. Даже не представляю где более скоростной мне пригодится...

    Автономная программа конечно лучше (чем LabView с установкой) воткнул, запустил, увидел.

    Фотка анализатора fotki.yandex.ru/users/marshallab/view/229173/

    отлично работает.

  6. ditstop Says:

    Добрый день ! Интересная штука, до этого искал осциллограф не зная даже такого названия ))) «Логический анализатор». Век живи, век учись. Спасибо ! Буду собирать для чтения CAN в авто.

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

  7. MasterAlexei Says:

    День добрый, ditstop!

    Именно для этой версии увеличивать уже некуда, так как там Мега на пределе (документированном 😉 ) работает — 16 МГц, и таймер на 5 микросекунд идет — это самый минимум, который возможен с этим софтом. Конечно там можно попробовать выжать из нее 4 микросекунды — но оно того не стоит. Я тут параллельно с другими моими проектами работаю в компании с моим коллегой из Москвы над следующей версией ЛогАнализатора, на базе CPLD/FPGA. Вот тот будет пошустрее значительно 😉 Так что «не переключайтесь!».

  8. marshallab Says:

    Привет. Обдумал анализатор с внешней памятью (61256 static RAM из материнки). Скорость сэмплирования по прикидкам около 24 Мгц. Триггеры аппаратные — на триггерах. Протокол...

    Но наткнулся на обсуждения kazus.ru/forums/showthrea...;highlight=usbee

    Совсем недавно облизывался на USBee AX — 1700$ ... и тут такое!

    CY7C68013A + 24CXX и все. Параметры: 24МГц сэмплирования, софт с разными распознавателями. Прошивать проц не надо (не знал что такие процы есть). Вообщем почитайте. Может быть интересно.

  9. MasterAlexei Says:

    О. Спасибо! Погляжу, почитаю. 🙂

  10. Новая версия Логического Анализатора, с возможностью добавления плагинов | Fun Electronic Says:

    [...] а так как у меня уже был софт Логического анализатора, то думал его немного доделать, чтобы с этой платкой [...]

Leave a Reply

You must be logged in to post a comment.