Создал логический анализатор 32 канала 100 МГц на базе:
- ПЛИС EP2C5Q208
- SDRAM 4Mx32 MT48LC4M32 (буфер 4М отсчетов по 32 бита = 16 МБайт)
- USB-FIFO FT232H
Ориентирован на работу с 5 и 3.3 в логикой, другие уровни не поддерживаются.
Собран в корпусе Gainta G747, питается и работает от USB2.0.
Подключение к устройствам через разъем IDC62
(нижняя половина - земля, верхняя - сигналы).
Режимы работы:
- сбор обычный (по нажатию)
- сбор по перепаду сигнала
- сбор по длительности значения
(длительность собранного сигнала до срабатывания настраивается).
Принцип работы:
информация о сигналах проходит через двойной 32-битный триггер,
заполняет со скоростью до 100 МГц N[1]-страницу DPRAM,
в это время N[0]-страница читается в буфер (SDRAM) со
скоростью 120 МГц (т.к. нужно еще и обновление ОЗУ делать).
Далее страницы меняются местами (снова).
ПО: самописное, поддержки устройства в Sigrok нет.
На данной стадии ПО работает стабильно и им уже можно пользоваться.
Основано на wxWidgets 3.0.5, собиралось под Linux и Windows (64 бита).
На данный момент сборка ПО требует установки и компиляции wxWidgets и Code::Blocks (версия с MinGW).
Базовый функционал сравним c оным от Saleae Logic
(поддержки плагинов на данный момент нет, я планирую внешние программы-анализаторы).
Проект развивается с 2019 года, так что я решил выложить проект на обозрение.
Вся информация лежит тут: https://disk.yandex.ru/d/QVSEtKNOCG87UQ
Экран программы
Фотографии платы и изделия будут позднее.