реклама на сайте
подробности

 
 
> Разработка аппаратного USB анализатора
unholy1986
сообщение Nov 8 2007, 09:43
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 8-11-07
Пользователь №: 32 152



Всем доброго дня суток!
Требуется совет знающих и опытных специалистов. Я являюсь студентом. На курсовой по Микропроцессорным Системам получил задание - Разработку аппаратного анализатор протокола USB. Функции проектируемого устройства (были перечислены преподавателем):
1) подключение параллельно линиям Data+ и Data- USB 2.0
2) режимы работы - High, Full, Low Speed
3) непрерывный анализ передаваемых пакетов от хоста к функции (устройству)
4) сохранение полученных пакетов в ОЗУ объемом до 512 MB
5) передача записанных данным по интерфейсу USB
Понимаю, что задание очень сложное, и с нашим уровнем знаний (говорю про студентов), неподъемно, ведь образование ВУЗов в нынешнее время оставляет желать лучшего.
Натыкался на информацию об анализаторах фирм LeCroy, Ellisys, Hitex (имеется у преподавателя на руках) - но никакой технической документации я не нашел, даже структурных схем. Все что было на сайтах производителя - брашуры, который смело называют datasheet - ами .
Мне очень сложно подступиться даже к структурной схеме из за низкого уровня знаний.
Жду советов и помощи. Заранее спасибо!

Сообщение отредактировал unholy1986 - Nov 8 2007, 09:53
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
InvisibleFed
сообщение Nov 11 2007, 08:22
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469



Цитата
Делите тему на три-четыре части (для разных исполнителей). Один- два человека делают аппаратную часть - аппаратный интерфейс ЮСБ плюс необходимые навески для сниффига ) вч компараторы, анализ джиттера, квазосциллограф (стробоскоп) для анализа глазковой диаграммы. Все это подключено к мощному FPGA с большой буферной памятью, процом типа АРМ9 или быстрого USB datapump типа Cypress. Это две части не курсаки- дипломы. Еще один чел пишит начинку для для FPGA (курсак или диплом). Еще один- фирмварь для datapump, если анализ протокола оффлайновый в хост-компе (курсак) или если анализ на борту в АРМ - диплом. И плюс софт на компе- диплом (это я понял уже есть, тогда адаптация существующего под новое железо- курсак).


Да... Пипец. Я даже и не представлял... khach, не могли бы поподробней пояснить про "...анализ джиттера, квазосциллограф (стробоскоп) для анализа глазковой диаграммы". Вообще, насколько возможно не пропускать сигнал сквозь устройство, а "слушать" линию, чтобы устройство unholy1986 висело на линии? В данном случае не получиться просто взять, скажем тот же Cypress на ARM 9 со встроенным USB (двумя) и тупо перегонять весь поток из одного порта в другой с параллельным анализом. Нужна этакая полноценная система сбора данных трафика. Если возможно "повиснуть" на шине, то может просто взять приемо-передатчик (физически, который преобразует цифровой уровненвый синал в диферециальный и наоборот) и уже с него снимать и анализировать весь трафик. Ясно, что вначале будет стоять FPGA (МК вряд-ли успеет), которая будет, скажем, просто выделять пакеты в общем "мясе", а далее, мк уже разбирать их на куски. Прошу соображения по структуре устройства - unholy1986 мой товарищ, не плохо бы доказать преподу что тот,...ээээ плохо спит по ночам. smile.gif
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 11 2007, 11:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(InvisibleFed @ Nov 11 2007, 11:22) *
khach, не могли бы поподробней пояснить про "...анализ джиттера, квазосциллограф (стробоскоп) для анализа глазковой диаграммы".

Ну вы же просили "полноценный" :-). А полноценный предполагает возможность отладки не до конца функционирующего устройства, возможность наблюдать "пограничные" состояния, когда вроде работает, но иногда сбоит. Это бывает вызвано перекосом фронтов, наличием выбросов, джиттером клока одного из устройств. На глазковой диаграмме это все видно. Конечно, всю аналоговую часть можно проверить обычным Лекроем с дифференциальным щупом, но зато какая тема на диплом :-). Ладно, урежим осетра. Хотите наблюдать протокол двух гарантированно работоспособных устройств.
Оригинальные приемопередатчики в этом случае почти бесполезны- они терминируют линию (внутренние резисторы в 45 ом), измення ее импеданс в случае параллельного подключения вплоть до неработоспособности. Может быть, каким то хитрым способом можно полностью выключить передающую часть, но надо очень хорошо читать даташит на предмет таких возможностей. Поэтому более разумным представляется применение схемы "подслушивающего" приемника на быстрых компараторах.
Второе. Разбираться в той куче переходов, что лезет по USB при двунаправленном обмене весьма сложно- надо понять, какая сторона в текущей момент передает, а какая принимает. Для этого применяется пара дифференциальных приемников, между которыми находится с полметра кабеля (свитого в катушку и спрятанного внутри прибора). По задержкам фронтов между приемниками надежно определяется направление передачи. И при приеме это учитывается, вплоть до того, что для приема информации с хоста и девайса имеются два разных клока со своими ФАПЧ.
А пару USB3300 имеет смысл использовать в качестве десериалайзеров для приема данных с хоста и девайса соответственно. Но их входы USB подключать не непосредственно к кабелю, а к устройству
определения направления передачи.
Дальше обычная цифровуха. Если бюджет позволяет, то советую приобрести девелопмент боард с достаточно мощной FPGA и памятью, и вторую - с процессором, или "все в одном", но это если умеете работать и с тем процессором, что сидит во "все в одном" и с тем FPGA- такая удача бывает редко. Это позволит сэкономить 2-3 месяца (умножать на коэффициент 3 для студента) на разводку и сборку платы. Наличие готовых примеров и SDK тоже значительно ускорит работу. Без всего этого - "действительно хочет смерти"- объем работ неподемный. И это не курсак, диплом должне быть. Или курсак, плавно перетекающий в диплом, а в качестве курсака- ну например заставить сие устройство работать или в качестве хоста, или в качестве девайса по выбору процессора. Или двунаправленным ретранслятором, используя два приемопередатчика в стандартном включении - один хост, другой-девайс, но протокол известен заранее, что либо простое, типа HID. Это даст умение программировать FPGA (писать свою USB корку, а не пользоваться готовой библиотекой, можно сделать лог "на лету" в процессор итд). Устройство с двумя приемопередатчиками может служить базой для полноценного снифера, если не встретится неожиданных граблей в нестандартных режимах использования приемопередатчиков.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- unholy1986   Разработка аппаратного USB анализатора   Nov 8 2007, 09:43
- - VDG   Цитата(unholy1986 @ Nov 8 2007, 13:43) На...   Nov 8 2007, 11:42
- - unholy1986   Даже с чего начать не предложите? Опытных людей п...   Nov 8 2007, 11:51
|- - VDG   Цитата(unholy1986 @ Nov 8 2007, 15:51) Да...   Nov 8 2007, 15:01
- - InvisibleFed   Утро доброе (в наших краях). VDG, существуют ведь ...   Nov 8 2007, 22:03
- - VDG   Вся сложность в п.3. Удавлив его, получите вполне ...   Nov 9 2007, 21:13
- - bzx   2 unholy1986 Данную тему можно развернуть и в стор...   Nov 10 2007, 00:19
- - unholy1986   2VDG Скажите пожалуйста, что значит "обычный ...   Nov 10 2007, 00:45
|- - Proton   Попробуйте посмотреть в сторону плат для промышлен...   Nov 10 2007, 05:07
- - -Al-   Цитата(unholy1986 @ Nov 8 2007, 12:43) Вс...   Nov 10 2007, 06:57
- - khach   Делите тему на три-четыре части (для разных исполн...   Nov 10 2007, 15:47
- - unholy1986   К дополнению скажу, что у преподавателя на руках и...   Nov 11 2007, 02:14
|- - -Al-   Цитата(unholy1986 @ Nov 11 2007, 05:14) К...   Nov 11 2007, 07:06
- - slog   По моему речь просто про АНАЛИЗАТОР ПРОТОКОЛА речь...   Nov 11 2007, 10:33
- - slog   А если направление определять врезав последователь...   Nov 11 2007, 12:32
- - InvisibleFed   Да, действительно, имелся ввиду анализатор протоко...   Nov 12 2007, 04:14
|- - slog   Цитата(InvisibleFed @ Nov 12 2007, 07:14)...   Nov 12 2007, 06:56
- - =AK=   Описанию вашей задачи соответствует Ellisys. Я его...   Nov 12 2007, 04:54
|- - khach   Цитата(=AK= @ Nov 12 2007, 07:54) Описани...   Nov 12 2007, 10:57
- - InvisibleFed   ЦитатаПравильно кажется, резистор не создаст задер...   Nov 12 2007, 08:33
- - unholy1986   Спасибо всем за оказанную помощь и информацию Н...   Dec 6 2007, 07:07
- - Serg_Sm   ЦитатаОписанию вашей задачи соответствует Ellisys....   Jan 18 2008, 10:35
- - Stas   Можно приколоться и сделать PHY+Arria GX. Анализ п...   Jan 18 2008, 17:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th August 2025 - 14:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016