Jump to content

    

Аппаратный USB анализатор

Всвязи с наличием в моем девайсе редко проявляющихся глюков назрела необходимость воспользоваться USB-анализатором. В силу ряда причин софтовый не подходит. Требуется Full-Speed, но в будущем и High-Speed очень вероятно, что понадобится.

Как минимум нужно сохранять все данные с линий DM/DP для последующего поиска сбоев, возможно понадобится отладка и в реальном времени (с USB анализаторами дел не имел, поэтому точно еще не знаю что нужно). Но точно нужен удобоваримый софт (поиск по токенам, фильтрация, проверка CRC и т.п.).

Есть логический анализатор Tektronix TLA715, пока пытаюсь с его помощью найти глюки, но памяти в нем маловато.

 

Пошерстил по инету в поиска анализаторов:

USB-2XT – (стыкуется с логическим анализатором Tektronix) - ???$

Beagle USB 12 Protocol Analyzer - 400$

Beagle USB 480 Protocol Analyzer - 1200$

Kitty USB Analyzer (Full Speed) - 875$

USB Streamscope US-F100A (Full speed) - 1000 $

Packet-Master USB500 AG - 1258$

USB Explorer 200 (basic/pro) - 1000/3700$

Iwatsu SB-2020 USB Ver.2.0 Bus Protocol Analyzer - 6795$

FTS4USB™ USB Protocol Analyzer - 7499$

FS4120 Universal Serial Bus (USB2.0) Analysis Probe - 7995$

USBTracer/Trainer™ Protocol Verification System – по виду сильно крутая штука тысяч на 10 (точной цены не нашел)

 

Подскажите, какой из них лучше/хуже впечатления от использования? Бюджет правда небольшой 3-3.5К$.

Пока склоняюсь в сторону USB Explorer 200: подкупает то, что взяв basic edition потом можно апгрейдить до pro версии.

Share this post


Link to post
Share on other sites

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

Beagle по описанию понравился. HS анализатор за $1200 это круто

Share this post


Link to post
Share on other sites

Ну Explorer 200 тоже HS анализатор и цена от 1000$.

Вы Explorer сами использовали? Какие впечатления?

 

PS: Packet-Master USB500 AG по описанию еще круче - может работать как генератор.

Share this post


Link to post
Share on other sites
Ну Explorer 200 тоже HS анализатор и цена от 1000$.

ого! реально они цены снизили...

 

Вы Explorer сами использовали? Какие впечатления?

c Explorer 100 работал - это только full speed (сейчас на сайте ellysys его уже нет). Впечатления хорошие, ничего плохого сказать не могу.

Share this post


Link to post
Share on other sites

Пока склоняюсь в сторону Packet-Master USB500 AG. За 850 фунтов получается девайс на уровне Explorer 260, а это уже 5-11K евро.

Только он мало распространен по сравнению с продуктами ellysys. Но цена и фичи все перевешивают.

Буду заказывать - потом отпишусь о впечатлениях.

Share this post


Link to post
Share on other sites
потом отпишусь о впечатлениях.

было бы неплохо

Share this post


Link to post
Share on other sites

Обещал отписать о впечатлениях Packet-Master USB500 AG. Уже пару месяцев с ним поработал, есть что сказать.

Впечатления в целом неплохие. Работал я с ним в основном Full-Speed, High-Speed немного попробовал - в целом тоже самое, только быстрее :)

В режиме генератора тоже не юзал, но как анализатор пакетов поюзал прилично. Пробовал вывод "сырых" данных DP/DM c USB-анализатора на логический по триггеру (определенный пакет). В целом софт простенький - в этом свои плюсы (все быстро и понятно делается) и минусы (возможно потребуется недоступный на текущий момент функционал).

Все что касается разбора пакетов/ошибок - это представлено в полной мере. Доступны триггеры по типам пакетов, размера данных, совпадения данных (поиск максимум 8 байт), ну и по ошибкам.

Данные захватываются в буфер размером 215Мбайт, почему так - не знаю памяти у меня 2 гига установлено. В захваченных данных можно поискать интересующие события - таковых выбор несколько больше, чем для триггера.

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

Пообщался я и с техподдержкой. Отвечают кстати очень быстро. Но мою проблему не решили - судя по всему у них не большой баг в софте.

Проблема - из-за кривых фронтов (или джиттера) анализатор временами в захваченных данных показывает фантомный лишний байт - и как следствие неверный CRC (даже триггер этот сбой не ловит), хотя обмен идет без сбоев. Долго с ними переписывался, они никак не могли внять в чем проблема, кучу данных им выслал. В конце сказали - "У вас похоже дефект транссивера, давайте поменяем". Менять смысла нет (да и долго очень), поскольку сбои идут только на моем девайсе. На этом переписка прекратилась.

Если кого интересует сей анализатор задавайте вопросы - постараюсь ответить.

Share this post


Link to post
Share on other sites
Обещал отписать о впечатлениях Packet-Master USB500 AG. Уже пару месяцев с ним поработал, есть что сказать.

Спасибо!

Share this post


Link to post
Share on other sites

Много лет прошло со времени последнего поста в этой теме.

Может быть появилось что-то новое? У кого-нибудь есть опыт использования?

Share this post


Link to post
Share on other sites
Много лет прошло со времени последнего поста в этой теме.

Может быть появилось что-то новое?

 

вышел Saleae Pro 16 за 999$

пушут что Supported Protocols: Universal Serial Bus (USB) 2.0 (low speed and full speed)

 

У кого-нибудь есть опыт использования?

софт без железки можно попробовать в режиме демо

я юзал пару раз, волне удобный в отличие от USBee

Share this post


Link to post
Share on other sites

Ellisys USB Exporer 200 Analyzer - работаю с этой штукой. Сравнивать не с чем. По функционалу довольно удобен и безошибочен. Единственное что раздражает только то что софт падает при попытке подвигать плавающий тулбар (стерпелся, в работе не мешает). В остальном софт и железо работают безупречно.

Share this post


Link to post
Share on other sites
Saleae даже китайский клон, купленный баксов за 10 или того дешевле, показывает логи. Проверял на своих железках
В моем случае он оказался очень не удобен для USB. Он показывает все что ходит по шине как обычно в виде осциллограм. Среди этих данных найти свои большая проблема.

 

Я пишу USB хост на свою железку с STM32F4. В качестве девайса соединяется чужая железка. Обмен булками. В какой-то момент происходит что-то неладное и девайс перестает отвечать на данные от хоста. Смущает еще то что Saleae показывает некоторые пакеты битыми. Все же это китайский клон и не исключаю проблему в нем самом тоже.

Надо видеть что мой хост шлет то что нужно и когда нужно и еще бы форму сигналов посмотреть.

Share this post


Link to post
Share on other sites
В моем случае он оказался очень не удобен для USB. Он показывает все что ходит по шине как обычно в виде осциллограм. Среди этих данных найти свои большая проблема.

 

Вы наверно не разобрались как подключать софтовые анализаторы, должно было получится так

post-1143-1521013769_thumb.png

Share this post


Link to post
Share on other sites

У меня это выглядит вот так на разных зумах:

post-11606-1521185941_thumb.png

post-11606-1521185945_thumb.png

post-11606-1521185948_thumb.png

Полезные данные я шлю каждые 60 мсек. Но в какой-то момент, через десятки секунд что-то ломается и девайс похоже перестает получать то что нужно.

В saleae я этого найти не могу. Логи в десятки секунд большие, софт еле ворочается.

 

А ведь это наверно уже косяк. Ведь вроде в случае простоя по USB sync пакеты должны идти кажду 1 мсек?

Share this post


Link to post
Share on other sites
Полезные данные я шлю каждые 60 мсек. Но в какой-то момент, через десятки секунд что-то ломается и девайс похоже перестает получать то что нужно.

В saleae я этого найти не могу. Логи в десятки секунд большие, софт еле ворочается.

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

 

Синхросигналом ещё можно начинать запись в произвольный момент, с использованием триггера. В программе контроллера задать отсчёт времени - те самые десятки секунд нормальной работы, далее подать сигнал, и анализатор начнёт писать только с этого момента.

Edited by controller_m30

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this