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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Разработка аппаратного USB анализатора
khach
сообщение Nov 11 2007, 11:27
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 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
slog
сообщение Nov 11 2007, 12:32
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



А если направление определять врезав последовательно в линию резистор в 1 Ом ну 2шт для симметрии, и снимать напряжение на резисторе компаратором. Проще чем задержки в метре кабеля мерять.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Nov 12 2007, 04:14
Сообщение #18


Местный
***

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



Да, действительно, имелся ввиду анализатор протокола. Спасибо khach за подробную информацию. С загрузом в универе это даже до диплома не дотянуть кажись одному. Ваще туго. А резистор, как мне кажется, не создаст необходимую задержку.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Nov 12 2007, 04:54
Сообщение #19


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Описанию вашей задачи соответствует Ellisys. Я его когда-то разбирал из любопытства. По сути он состоит из 4-х микросхем:
Код
USB от хоста-->[CY7C6800]==[Xilinx FPGA]==[CY7C6800]-->к периферийному USB устр-ву
                               |
                               |
                   USB-->[CY7C68013]
Go to the top of the page
 
+Quote Post
slog
сообщение Nov 12 2007, 06:56
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(InvisibleFed @ Nov 12 2007, 07:14) *
А резистор, как мне кажется, не создаст необходимую задержку.

Правильно кажется, резистор не создаст задержки smile.gif
Резистор создаст падение напряжения в несколько mV, по полярности которого простой компаратор определит направление передачи. Если линия с обоих концов согласована, то должно работать.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Nov 12 2007, 08:33
Сообщение #21


Местный
***

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



Цитата
Правильно кажется, резистор не создаст задержки smile.gif
Резистор создаст падение напряжения в несколько mV, по полярности которого простой компаратор определит направление передачи. Если линия с обоих концов согласована, то должно работать.


Уу.у.у. smile.gif

Цитата
Описанию вашей задачи соответствует Ellisys. Я его когда-то разбирал из любопытства. По сути он состоит из 4-х микросхем


4 Cypress-а?! Это круто! В такой конфигурации надо как-то поумному следить за тем чтобы устройству отдавалось в точности то, что ушло от хоста, и наоборот (в том числе и ID). Если такая схема реально будет работать, тогда все (почти) скатывается к программированию. Чего-то как-то слишком "просто". smile.gif
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 12 2007, 10:57
Сообщение #22


Гуру
******

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



Цитата(=AK= @ Nov 12 2007, 07:54) *
Описанию вашей задачи соответствует Ellisys. Я его когда-то разбирал из любопытства. По сути он состоит из 4-х микросхем:
-->[CY7C6800]

Да, похоже можно успеть пропихать пакет через FPGA от одной CY7C6800 до другой с допустимой задержкой. У CY7C6800 есть приятная фича- две раздельные шины данных приема и передачи. Вот на этом похоже и сыграли- без разбора пакетов гоняют их туда- сюда. Интерсно, как сделан у Ellisys режим трансляции состояний шины в момент сброса, засыпания, выключения питания...
Go to the top of the page
 
+Quote Post
unholy1986
сообщение Dec 6 2007, 07:07
Сообщение #23





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



Спасибо всем за оказанную помощь и информацию smile.gif
Надеюсь, что скоро появятся еще вопросы...
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 18 2008, 10:35
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата
Описанию вашей задачи соответствует Ellisys. Я его когда-то разбирал из любопытства.
По сути он состоит из 4-х микросхем:
USB от хоста-->[CY7C6800]==[Xilinx FPGA]==[CY7C6800]-->


У меня тоже подобная задача нарисовалась smile.gif Правда несколько попроще - анализировать ничего не нужно, необходимо просто вклиниться в USB обмен (сделать обычную RX/TX приемопередачу).
Только у меня не диплом, так что придеться точно делать. smile.gif
Вопрос к =AK= -
под "CY7C6800" подразумевались микросхема CY7C68000/CY7C68000А? Они одинаковые с двух сторон? Насколько крутая ПЛИС установлена между ними?

Это микросхема преобразователя USB в UTMI интерфейс (применяются для прикручивания USB к разным мобильным устройствам с параллельной шиной), все бы ничего, но цепляется она к хосту и, как я понял, выступает в роли мастера - от нее идет тактирование.
Т.е. прямо прикрутить их друг к другу похоже не выйдет - весь вопрос как реализована связь между ними на ПЛИС.
Go to the top of the page
 
+Quote Post
Stas
сообщение Jan 18 2008, 17:28
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 1-10-04
Из: Челябинск
Пользователь №: 751



Можно приколоться и сделать PHY+Arria GX. Анализ протоколов - > Quartus->SignalTapII. Логику запуска на захват можно организовывать как захочется, объем отображаемой сигнатуры зависит от объема встроенной памяти + внешний чип DDR2 для хранения и т.д... Дешево, сердито и гибко wink.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 10:51
Рейтинг@Mail.ru


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