АЦП на USB без буферной памяти

можно ли повесить на USB 1.1/2.0 один/несколько низкоскоростных (сотни KSPS) АЦП не используя буферной памяти ? -- то есть по-тупому сделать на ПЛИС преобразователь интерфейсов АЦП->USB, и гнать через USB поток с 1/нескольких АЦП с сохранением в ОЗУ компа

если пытаться писать данные на винт, с каких приблизительно скоростей оцифровки возникают потери данных ?

Reply to
Dmitry Ponyatov
Loading thread data ...

Hello, Dmitry! You wrote to All on Mon, 13 Feb 2006 21:27:22 +0300:

DP> можно ли повесить на USB 1.1/2.0 один/несколько низкоскоростных (сотни DP> KSPS) АЦП не используя буферной памяти ? -- то есть по-тупому сделать DP> на ПЛИС преобразователь интерфейсов АЦП->USB, и гнать через USB поток с DP> 1/нескольких АЦП с сохранением в ОЗУ компа ИМХО, нет. Данные на шине USB передаются пакетами на фиксированной скорости (12 MBit/s для USB 1.1), размер пакетов ограничен. Частота передачи пакетов от одного устройства тоже ограничена, одним пакетом за миллисекунду (это для USB 1.1, для 2.0 не помню, кажется тоже). Вот как минимум на этот интервал понадобится память.

И потом, если устройств несколько, то данные от них придётся передавать поочерёдно, отдельными пакетами. Пока одно устройство передаёт, остальные накапливают данные. Нет, без памяти не обойтись.

With best regards, Serg.

Reply to
Sergey Mudry

Mon Feb 13 2006 20:27, Dmitry Ponyatov wrote to All:

DP> можно ли повесить на USB 1.1/2.0 один/несколько низкоскоростных (сотни DP> KSPS) АЦП не используя буферной памяти ? -- то есть по-тупому сделать на DP> ПЛИС преобразователь интерфейсов АЦП->USB, и гнать через USB поток с DP> 1/нескольких АЦП с сохранением в ОЗУ компа

Full speed - макс. скорость примерно 1 МВps, high speed - примерно 20 MBps. На практике удастся достичь раза в 2-3 меньше, плюс заморочки.

При передаче в режиме bulk гарантируется доставка информации, но не гарантируется время доставки. Пакеты иногда теряются, система автоматически их презапрашивает, поэтому на full speed вместо 1 MBps можно в идеальных условиях рассчитывать на 500-800 kBps. Грабли в том, что bulk имеет самый низкий приоритет, и если к тому же USB подключить "жадное" до траффика устройство (скажем, работающее в изохронном режиме), то USB отрежет кусок траффика от bulk устройств. Поэтому гарантировать хоть какую-то полосу для bulk в общем случае нельзя.

При передаче в изохронном режиме гарантируется гарантируется время доставки, но не гарантируется сама доставка. В этом режиме USB может терять пакеты (наблюдались потери до 20%).

DP> если пытаться писать данные на винт, с каких приблизительно скоростей DP> оцифровки возникают потери данных ?

Неактуально. USB наложит ограничение раньше, даже на high speed.

Пока, Алексей

Reply to
Alex Kouznetsov

Fri Feb 17 2006 16:58, Sergey Mudry wrote to Dmitry Ponyatov:

SM> Частота передачи пакетов от одного SM> устройства тоже ограничена, одним пакетом за миллисекунду

Это неверно. В режиме bulk на full speed хост может запросить от устройства до девятнадцати 64-байтных пакетов за миллисекунду.

Пока, Алексей

Reply to
Alex Kouznetsov

Пpивет, Alex!

*** 18 Feb 06 15:03, Alex Kouznetsov wrote to Dmitry Ponyatov:

AK> Full speed - макс. скорость примерно 1 МВps, high speed - примерно 20 AK> MBps. Hа практике удастся достичь раза в 2-3 меньше, плюс заморочки.

DP>> если пытаться писать данные на винт, с каких приблизительно DP>> скоростей оцифровки возникают потери данных ?

AK> Hеактуально. USB наложит ограничение раньше, даже на high speed.

Вообще-то USB 2.0 high speed - это 480 мбит/сек...

с уважением Владислав

Reply to
Vladislav Baliasov

Sat Feb 18 2006 21:03, Vladislav Baliasov wrote to Alex Kouznetsov:

VB> Вообще-то USB 2.0 high speed - это 480 мбит/сек...

Это всего лишь бодовая скорость. В USB есть паузы, поля синхронизации, CRC, SOF-ы, ACK/NAK-и, и пр., когда никакой полезной информации не передается. На практике при монопольной перекачке данных из лучших-из-найденных USB флэш дисков удается достичь не более 15-20 MБайт/сек на хорошем компе (старые модели флэш-дисков тянут всего лишь пару МБ). А пресловутые 480 Мбит/сек оставь маркетингу для навешивания лапши на уши... ;-)

Пока, Алексей

Reply to
Alex Kouznetsov

Пpивет, Alex!

*** 18 Feb 06 23:46, Alex Kouznetsov wrote to Vladislav Baliasov:

VB>> Вообще-то USB 2.0 high speed - это 480 мбит/сек...

AK> Это всего лишь бодовая скорость. В USB есть паузы, поля синхронизации, AK> CRC, SOF-ы, ACK/NAK-и, и пр., когда никакой полезной информации не AK> передается. Hа практике при монопольной перекачке данных из AK> лучших-из-найденных USB флэш дисков удается достичь не более 15-20 AK> MБайт/сек на хорошем компе (старые модели флэш-дисков тянут всего лишь AK> пару МБ).

А вот HDD, подключаемые через USB - и за 30 мб/сек перевалили. Так что это все ж ограничение не интерфейса, а конкретной железки...

с уважением Владислав

Reply to
Vladislav Baliasov

Sat Feb 18 2006 23:27, Vladislav Baliasov wrote to Alex Kouznetsov:

VB> А вот HDD, подключаемые через USB - и за 30 мб/сек перевалили. Так что VB> это все ж ограничение не интерфейса, а конкретной железки...

В любом случае на USB-2 перекачки 60 МБайт/сек достичь нельзя в принципе. Хотя мег 40, наверное, можно было бы вытянуть в идеальных условиях: изохронный канал, короткий кабель, и т.п.

Пока, Алексей

Reply to
Alex Kouznetsov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.