|
|
  |
USB Осциллограф-анализатор, кто 'юзал'? |
|
|
|
Apr 27 2006, 15:52
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(AndyBig @ Apr 27 2006, 19:09)  Это сразу привязывает нас к современным компьютерам, к свободности операционной системы и т.п. А если у человека третий пень без второго ЮСБ? Тогда как? Если ЮСБ-контроллер не успел отправить хосту предыдущее содержимое буфера, то все последующие сэмплы пойдут коту под хвост, т.к. теряется целостность всего измерения. Мне, например, такой девайс не нужен даже за очень дешево  . К сожалению, придётся выбирать между стоимостью и универсальностью. О USB 1.x предлагаю вообще забыть - мне совершенно непонятно, как можно сделать нормальный прибор с настолько узким горлышком. Далее, буферная память ничего не даст в режиме непрерывного захвата - если память USB переполняется, это рано или поздно произойдёт и с буфером, т.е., втаком режиме получаем совершенно ненужный довесок. Цитата(AndyBig @ Apr 27 2006, 19:09)  ...Так же очень жесткое ограничение в возможностях. Шина-то торчит, но успеет ли этот контроллер принимать и складировать (даже в буфферном ОЗУ) сэмплы, следующие с частотой, скажем, 50 МГц? Да и лишние выводы у более мощного контроллера можно пустить на входы логического анализатора... Этого вовсе и не требуется, кроме того, ARM в такой ипостаси и не слишком катит. Задача МК - сконфигурировать контроллер USB и залить ПЛИС, а далее впасть в коматозное состояние, пока не потревожат. Простите, допишу позже...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 27 2006, 16:39
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
Цитата О USB 1.x предлагаю вообще забыть - мне совершенно непонятно, как можно сделать нормальный прибор с настолько узким горлышком Так же, как работали в свое время LPT-приставки: производится измерение, состоящее, например, из 4096 выборок с накоплением результата в памяти устройства, затем эти 4 КБ передаются хосту, который их и отображает, после чего начинается очередное измерение... Делать выборки непрерывно и сразу отдавать их хосту нет никакого смысла - в конце концов у монитора частота кадров 100-120 Гц, чаще при всем желании нельзя обновлять картинку. А результаты сотни измерений по 2-4 КБ вполне пройдут по первому ЮСБ. Даже если будет затык в шине, то задержится только отображение очередного кадра, а не сами выборки. Буферная память нужна как раз для того, что бы гарантированно провести одно измерение, состоящее из определенного числа выборок. Чем больше размер буферной памяти, тем больше выборок можно проводить за одно измерение (зачастую имеет смысл для расширения окна). В режиме непрерывного захвата (самописца) - да, буфферная память почти не нужна, но и тем более не нужна пропускная способность шины 40 МБайт, т.к. отправлять ежесекундно такие объемы хосту бессмысленно - что он с ними будет делать?  Режим самописца следует ограничить по частоте выборок 4-5 МГц. Цитата придётся выбирать между стоимостью и универсальностью Конечно, придется. Но крайностей нужно постараться избежать  . Иначе получится или очень дорогое и трудноповторяемое устройство, или дешевое, но никому не нужное из-за своей ограниченности.
|
|
|
|
|
Apr 28 2006, 01:37
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Я очень плохо представляю шину USB и может ошибаюсь, но разве скорость под 35-40 Мбайт/с это не потоковый режим без контроля правильности передачи? Если делать с обнаружением и коррекцией ошибок (помехоустойчивое кодирование), то большая нагрузка на мк или плис. или можно допускать ошибки и фильтровать на компе. Цитата А если у человека третий пень без второго ЮСБ? Ставить Pci контролер или апгрейд. Это моральное старение, а usb 2.0 уже года 2-3 как норма.
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Apr 28 2006, 02:14
|

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

|
Цитата(arttab @ Apr 28 2006, 11:07)  разве скорость под 35-40 Мбайт/с это не потоковый режим без контроля правильности передачи? Угу, изохронный режим называется. C гарантированнным временем доставки, но без гарантий целостности данных. Цитата(arttab @ Apr 28 2006, 11:07)  Если делать с обнаружением и коррекцией ошибок (помехоустойчивое кодирование), то большая нагрузка на мк или плис. или можно допускать ошибки и фильтровать на компе. Можно не париться, в USB есть режим bulk с гарантированной доставкой (автоматически перезапрашивает битые пакеты). Правда, без малейших гарантий времени доставки. Если повезет, можно и 35-40 Мбайт/с выжать (быстрая мама, комп свободен, кабло хорошее, винда не глючит, нет других USB устройств, и т.п.). На хороших USB flash drive и средненьком компе типично получается ~15-20 Мбайт/с. Серьезный прибор без встроенной памяти не сделать, имхо.
|
|
|
|
|
Apr 28 2006, 04:43
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Продолжу. Цитата ...Я просто исходил из того, что чувствительность у осциллографов обычно начинается от миливольт, а входной сигнал у АЦП должен быть в максимуме 1,5-3,0 вольта... Если не трудно, приведите пример такого осциллографа (только цифрового), пожалуйста. Менее 1 мВ шумов в широкой полосе можно получить только в согласованном (напр. 50Ом) тракте. Для высокоомного входа, да ещё со входным делителем, такую величину в осциллографах получить не удаётся. У нас, правда, осциллограф предполагается не совсем обычный - его измерительная часть будет сама висеть на конце кабеля, вблизи источника сигнала, поэтому можно надеяться на лучшие шумовые характеристики. Далее, считаем. Пусть входной диапазон напряжений 12-бит АЦП составляет +/-1В. Тогда его разрешение по амплитуде будет 0,5 мВ.  А для 16-бит АЦП с таким же входом - 0,03 мВ. Вопрос: зачем усилитель с усилением в 100? Тут скорее аттенюатор нужен...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 28 2006, 05:20
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(AndyBig @ Apr 27 2006, 20:39)  Так же, как работали в свое время LPT-приставки: производится измерение, состоящее, например, из 4096 выборок с накоплением результата в памяти устройства, затем эти 4 КБ передаются хосту, который их и отображает, после чего начинается очередное измерение... Делать выборки непрерывно и сразу отдавать их хосту нет никакого смысла - в конце концов у монитора частота кадров 100-120 Гц, чаще при всем желании нельзя обновлять картинку. А результаты сотни измерений по 2-4 КБ вполне пройдут по первому ЮСБ. Даже если будет затык в шине, то задержится только отображение очередного кадра, а не сами выборки. Буферная память нужна как раз для того, что бы гарантированно провести одно измерение, состоящее из определенного числа выборок. Чем больше размер буферной памяти, тем больше выборок можно проводить за одно измерение (зачастую имеет смысл для расширения окна). Для справки: в USB контроллере, например, ISP1582 буферная память составляет 8 кбайт. Зачем ещё 4 кбайт аппендикс и гимор с организацией обмена с ним? Если бы не режим осциллографа и лог. анализатора, можно было бы обойтись даже без применения ПЛИС! Вообще, предлагаю отказаться от обсуждения экзотики вроде RS-232 и LPT устройств, хотя бы потому, что современные компы часто уже не имеют таких портов. Напротив, USB 2.x является в настоящее время, как уже и сказали, стандартным интерфейсом. Цитата(AndyBig @ Apr 27 2006, 20:39)  В режиме непрерывного захвата (самописца) - да, буфферная память почти не нужна, но и тем более не нужна пропускная способность шины 40 МБайт, т.к. отправлять ежесекундно такие объемы хосту бессмысленно - что он с ними будет делать? Можно просто в память писать, а можно и на винт(ы). Цитата(AndyBig @ Apr 27 2006, 20:39)  Режим самописца следует ограничить по частоте выборок 4-5 МГц. Зачем??? Цитата(AndyBig @ Apr 27 2006, 20:39)  Цитата придётся выбирать между стоимостью и универсальностью Конечно, придется. Но крайностей нужно постараться избежать  . Иначе получится или очень дорогое и трудноповторяемое устройство, или дешевое, но никому не нужное из-за своей ограниченности. Простите, но, по-моему, Вы сами ограничения вводите (в том числе, и в части практической реализуемости). Я же предлагаю делать систему, у которой будет одно (и только одно!) узкое место - пропускная способность канала, которая не столь уж и мала. Зато получим простоту и доступность, что, собственно, от фолькс-проекта и требуется. Цитата(=AK= @ Apr 28 2006, 06:14)  Цитата(arttab @ Apr 28 2006, 11:07)  разве скорость под 35-40 Мбайт/с это не потоковый режим без контроля правильности передачи?
Угу, изохронный режим называется. C гарантированнным временем доставки, но без гарантий целостности данных. Простите, но, по-моему, 35-40Мбайт/с в изохроне получить никак не можно. Только в балке... Цитата(=AK= @ Apr 28 2006, 06:14)  ...Серьезный прибор без встроенной памяти не сделать, имхо. Не убедили Вы меня... Ну что ж, допустим, что дополнительная память всё-таки нужна. Какой тип и объём предложите? Как управлять ей будем? Не стоит забывать, что при питании от USB разъёма мы жёстко ограничены энергопотреблением в 2,5 Вт.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 28 2006, 06:25
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(=AK= @ Apr 28 2006, 09:58)  Почему? Мне такое ограничение неизвестно. В хоcт контроллер USB2 встроено какое-то ограничение на размер изохронного трафика? В USB1 его не было, в изохроне можно было гонять 1 MBps, тогда как из балка pеально более ~800 kBps вытягивать не удавалось Ограничение действительно есть, в хосте не знаю, а в девайсе - максимум 3 микрофрейма изохрона в каждом фрейме.  Согласно стандарту USB 2.0... Цитата(=AK= @ Apr 28 2006, 09:58)  Цитата(Stanislav @ Apr 28 2006, 14:50)  Как управлять ей будем?
FPGA А память какого объёма нужна?
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 28 2006, 07:57
|
Частый гость
 
Группа: Свой
Сообщений: 113
Регистрация: 21-10-04
Пользователь №: 952

|
Имхо, все, что будет по устройству сложнее, чем "стартер-кит на контроллер плюс аналоговая часть" (т.е. ПЛИСы, частоты дискретизации 100М и более), будет в СНГ выглядеть и стоить как то, что делает http://www.auris.ru. Соответственно, основная стоимость и все возможности - см. контроллер на стартер-ките  , за вычетом косяков верхнего софта. Я бы за основу стратер-кит на ПЛИС брал, на Spartan3E.
|
|
|
|
|
Apr 28 2006, 08:13
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Цитата от USB разъёма мы жёстко ограничены энергопотреблением в 2,5 Вт Можно и 5 Вт от USB если второй порт не занимать. Те материнки что я видел имели общий предохранитель на 2 порта. Если и этого мало - внешний БП. По поводу памяти - если применить мк на ARM, то у него уже есть на борту память.
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Apr 28 2006, 09:37
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
Цитата Ставить Pci контролер или апгрейд. Это моральное старение, а usb 2.0 уже года 2-3 как норма Или покупать готовый осциллограф. Чего уж там...  Цитата Если не трудно, приведите пример такого осциллографа (только цифрового), пожалуйста Эээ... Все, замяли  ))))) Аналоговой части я отныне не касаюсь никак  . Полностью полагаюсь на мнение знающих людей  . Цитата Для справки: в USB контроллере, например, ISP1582 буферная память составляет 8 кбайт. Зачем ещё 4 кбайт аппендикс и гимор с организацией обмена с ним? Если бы не режим осциллографа и лог. анализатора, можно было бы обойтись даже без применения ПЛИС! А успеет этот контроллер выбирать и сохранять в буффере данные с чатотой 50 МБайт/сек? Вообще, хоть какой-то из не очень дорогих контроллеров это сумеет? Плис как раз и нужна для того, что бы обеспечить снятие результатов выборок с АЦП и складирование их в буфер с достаточной скоростью. Кроме того, поставив два относительно недорогих АЦП можно в два раза повысить частоту выборок, приблизившись к 80-100 MSPS, а на таких частотах спасует любой контроллер. Цитата Вообще, предлагаю отказаться от обсуждения экзотики вроде RS-232 и LPT устройств, хотя бы потому, что современные компы часто уже не имеют таких портов Согласен. LPT я приводил как пример - реализация высоких частот выборок на медленном канале. Сам принцип, считаю, очень удачен, не вижу смысла отказываться от него. Цитата Можно просто в память писать, а можно и на винт(ы) 50 МБ/сек? Из пользовательской программы на винты? Даже если винты и будут успевать (что, впрочем, сомнительно), то зачем? что потом делать с этими гигабайтами?  Кстати, ограничение по частоте выборок в режиме самописца я дал "на глазок", в реальности она будет ограничиваться быстродействием контроллера - сколько он будет успевать снимать с АЦП и отправлять в USB. Цитата Простите, но, по-моему, Вы сами ограничения вводите (в том числе, и в части практической реализуемости). В чем ограничение в реализуемости? В стоимости девайса? Да, она приблизится к сотне вечнозеленых, но если делать дешевле с ограничениями по функционалу, то такого добра уже валом в инете... Правда частота выборок не превышает 5 MSPS. Именно потому, что контроллеры не могут с большей скоростью рулить АЦП и снимать с него результат, отправляя его в USB. Я же предлагаю удорожить девайс на 20-30 долларов (ПЛИС + SRAM), улучшив этим характеристики на порядок и сняв ограничения по использованию. Цитата Я же предлагаю делать систему, у которой будет одно (и только одно!) узкое место - пропускная способность канала, которая не столь уж и мала. Зато получим простоту и доступность, что, собственно, от фолькс-проекта и требуется. Ограничений как минимум два - пропускная способность канала и пропускная способность контроллера. И не вижу проблем в доступности и простоте распайки трех лишних микросхем  . По доступности, скорее, вопрос встанет в аналоговой части. Цитата Ну что ж, допустим, что дополнительная память всё-таки нужна. Какой тип и объём предложите? Как управлять ей будем? Не стоит забывать, что при питании от USB разъёма мы жёстко ограничены энергопотреблением в 2,5 Вт Ну, например SRAM 128 КБ 100 МГц. Стоит около $2. Или SDRAM любого объема 133-166 МГц. Первый вариант легче реализуется в ПЛИС, второй дешевле стоит (относительно объема) и позволит накоплять больше выборок для их дальнейшего анализа. И первый и второй варианты имеют право на жизнь  . Цитата Не стоит забывать, что при питании от USB разъёма мы жёстко ограничены энергопотреблением в 2,5 Вт. Думаю, уложиться вполне возможно даже с запасом. Если даже и нет, то внешнее питание - совсем не проблема  . Цитата По поводу памяти - если применить мк на ARM, то у него уже есть на борту память Есть, но повторюсь - с какой частотой АРМ успеет снимать с шины и сохранять в буфере результаты выборок? Не говоря уже о том, что АРМу придется заниматься и другими делами. Нет, тактирование АЦП и накопление выборок в буфере нужно отдать плисине, т.к. это очень критичный по времени процесс, не допускающий никаких задержек. А уже по окончании измерения (снятия выборок в поределенном окне) результаты можно забирать из буфера с любой скоростью.
|
|
|
|
|
Apr 28 2006, 09:57
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Давайте не сводить тему к пропускной способности USB, а то тоже будет 100 страниц в теме, как на ИХБТ. :-( Считаем полосу пропускания- два канала по 8 бит с частотой семплирования 105 МГц (АЦП-AD9218). Получаем 210 Мегабайт в секунду. Если ставить новые АЦП от Linear Technology (LTC2251), то и 250 мег в секунду может потребоватся. Разрядность считывания с АЦП -10 -12 бит (12 бит- для продвинутых в шумодавлении гуру). В FPGA выборки масштабируются до 8 бит в соответствии с выбранным пределом измерения. Теперь выбор памяти- 1 вариант: внутренняя память ПЛИС- быстрая (до 250 мег, произвольной разрядности (1-36 бит) но короткая (10-20 кбайт). 2 вариант: SDRAM- огромный размер, нужно мало внешних ножек ПЛИС, но низкая частота (66-100 мгц) и прерывистость записи при смене страниц - в ПЛИС нужен навороченный ФИФО для выравнивания потока приходящего с АЦП и уходящего в контроллер SDRAM. 3 вариант - синхронная статическая (ZBR). Скорости до 200 Мгц, обьемы до полумега, но дорогая и требует много ножек ПЛИС. 4- обычная статика. Все тоже самое что ZBR но разогнать выше 100 МГЦ сомнительно. Интерфейс с компом- любой. На современном этапе наверно лучше какой-то младший АРМ с USB (обычным 12 МГцовым). Желающие всегда смогут перенести софт на старший АРМ ( с эзернетом, VGA и прочими прелестями). Размер памяти. Обычно достаточно пары экранов ( 4-8 киловыборок). Но если надо отлаживать коммуникационные протоколы, то и 128 к маловато будет. Поэтому использование только внутренней памяти ПЛИС врядли оправдано. Разрядность шины - 16 бит. Выбор ПЛИС. Альтера или Зайлинкс - практически без разницы. Только корпус нужен TQFP208, иначе ножек на два канала нехватит. С очень большим трудом можно упихнутся в 144 ногий корпус, но это ценой уменьшения разрядности памяти до 8 бит и соответственным уменьшением частоты выборок до 30-40 Мгц.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|