Це зводиться до питання пропускної здатності та затримки. Для простої системи припустимо один зонд з пропускною здатністю 100 МГц зі швидкістю дискретизації 1GS / s та 10-бітовим A / D перетворювачем (я мав поганий досвід роботи з 8-бітовими діапазонами).
Я хочу відобразити в режимі реального часу на ПК з мінімальним вікном вибірки, скажімо, 10 сек - 1 цикл синусоїди частотою 100 МГц і максимальним вікном (я буду щедрим для вас в цьому) півсекунди. Іншими словами, найнижча установка часу буде приблизно як 1ns / div, а найвища - 0,05s / div. Я також хочу декілька режимів напруги - діапазон 100mV до 20V, скажімо.
Яку швидкість передачі даних передбачає це?
1Gs / s * 10 біт / зразок = 10Gbits / s
Це не швидкість USB. Далеко від цього. І я навіть не брав до уваги накладні витрати. По-перше, у вас просто немає пропускної здатності. І це не лише пропускна здатність. Для відображення в режимі реального часу вам потрібно відповідати. Потрібно переносити 100 біт на ваш додаток кожні 10 наносекунд. Така консистенція не може бути з USB. Він не розроблений для задоволення одного пристрою з екстравагантними вимогами - він розроблений як шина. І ви не можете контролювати, коли ви володієте автобусом - пристрої - це лише раби. Якщо хост дозволяє іншому пристрою говорити, коли потрібно надсилати дані, ваші дані втрачаються.
Ви можете кривдити - навіщо передавати дані в режимі реального часу на комп’ютер, коли для людини в реальному часі 60 ГГц? Якщо все, що вам потрібно зробити, це оновити дисплей, вам точно не потрібно стільки даних. За винятком цього - ваш дисплей - це лінійна комбінація всіх зібраних зразків. Усереднене, найменше середньоквадратичне, інтерполяція кубічного сплайна - не має значення. Щоб зробити гарний симпатичний дисплей, який не є лише купою крапок, вам потрібно найбільше цих даних, і вам потрібно опублікувати їх. Будь-який запуск? Розрахунки повинні бути виконані на хості - на рівні програми. Незалежно від того, яким способом ви його нарізаєте, для відображення в режимі реального часу зі швидкістю 1 ГС / с з будь-якою точністю, котра проклята, ви повинні передавати на замовлення на величину більше даних, ніж USB може обробляти, і ви повинні робити це надійніше, ніж ви '
Які шляхи навколо цього? Не робіть показ у режимі реального часу. Деякі області USB пропонують лише спрацьовані режими. Запуск обробляється на пристрої, і коли тригер знайдений, дані збираються в буфер. Коли буфер заповнюється, область USB повільно переносить його в додаток, після чого програма відображає його. Цього достатньо для широкого використання сфери, але це не в режимі реального часу. І трансфер - теж потрібен певний час. Це незручно. І зазвичай водії смокчуть. Ви можете сказати, що я мав поганий досвід.
Мені завжди було цікаво, чому Firewire не використовується для приладів. Це дозволяє уникнути деяких головних болів через USB. Це одноранговий, пропонує ізохронний (послідовний терміни) режими та відносно високу пропускну здатність. Можливо, ви зможете зробити 10 МГц в режимі реального часу або близько того.
Щоб вирішити свої пункти після редагування:
Користувальницька сфера надзвичайно зростає з ціною. Коли ви зробите стрибок з 200 доларів USB на навіть окремий 500 доларів, ви отримаєте приголомшливе збільшення можливостей та основних функціональних можливостей. Навіщо витрачати всього 200 доларів, коли за трохи більше ви можете отримати реальний розмах? Тепер, коли Китай відкрив шлюзи дешевих, ефективних приладів, мало причин хотіти заощадити 300 доларів, що пізніше вас просто засмутить. "Фантастичні" сфери, які мають ці особливості, сьогодні дешеві.
Так, обмеження вашої передачі даних лише для того, щоб забезпечити послідовну передачу даних близько 60 Гц, буде легше за допомогою USB, але це все одно не те, що ви хочете робити. Не забувайте про ваші класи DSP - лише захоплення певних даних із потоку означає децимацію. Коли будете розрізати, вам доведеться додати антиалізирующіе фільтри. Коли ви це робите, ви втрачаєте пропускну здатність. Це робить ваш обсяг менш корисним - він обмежить вашу пропускну здатність на дисплеї в режимі реального часу (і лише в режимі реального часу - спрацьовані режими буде нормально) значно меншою, ніж пропускна здатність вашого аналогового фронтального пристрою. Управління аспектами обробки сигналів осцилографа - складний бізнес.
Очистити чуйний дисплей? ПК? Не послідовно. Незалежно від того, як ви це робите, вам потрібно зберігати дані. Як я вже говорив раніше, USB не гарантує, коли ваші дані проходять. Я скажу це інакше: USB не призначений для жорсткої передачі даних у режимі реального часу. Звичайно, за достатньо невеликих обсягів даних через великі інтервали ви можете отримати хороші показники, але не стійкі показники. Ви будете використовувати буферизацію і час від часу ви будете пропускати своєчасну передачу буфера. Тоді ваш дисплей пропускає, дані застаріли і т.д.
Просте запуск - знову ж таки, ми повертаємося до вартості порівняно зі складністю та чутливістю. Ініціювати на пристрої для виявлення перехідних процесів ваш пристрій не може бути просто тупою передачею даних, яка безвідповідально передає зразки через USB. Ви повинні буфер, буфер, буфери зразків на пристроїпоки ви не побачите стан тригера. Це означає, що вам потрібна пам'ять та інтелект на вашому пристрої - чи великий FPGA, або великий мікроконтролер. Це додає розміру та простору. Якщо ви використовуєте FPGA, вам доведеться збалансувати кількість логіки запуску з потребою у великій кількості оперативної пам’яті для буферного простору. Тож ваш буфер менше, ніж ви б хотіли, щоб він уже був. Це означає, що ви отримуєте незначну кількість даних навколо своєї тригерної точки. Якщо ви не додасте зовнішню пам'ять - тоді ви можете зробити більше. Це збільшує розмір і вартість вашого пристрою - це, безумовно, не буде лише зондом із підключеним до нього кабелем USB.
Вам пощастить отримати смугу пропускання 100 МГц - зазвичай 10x частота дискретизації вважається мінімальною обрізкою для пропускної здатності. Тож якщо у вас частота дискретизації 1GS / s, ледве ви отримуєте пропускну здатність 100 МГц. Ви не можете отримати більше - квадратна хвиля 200 МГц буде схожа на синусоїду 200 МГц. Це смокче. Це німо - це майже ніде не професійний рівень.
Ваш інший набір балів:
- 200 доларів? Як ти малюєш? Який список деталей?
- Хороші сфери зчитування швидкісних сигналів не коштують тисяч доларів. Коштують вони, можливо, тисячу доларів. 100 МГц - це дитяча гра у відділі сфери застосування, і ваша ідея навіть не задовольнить цей показник, а також обсяг 1000 доларів
- Так, з того, як ви описуєте це, було б дійсно дуже обмежено. Технічні аспекти навіть кількох вимог до вас означають дуже обмежений пристрій.
- Це було б не настільки корисно, як сфера використання 1100 доларів, яку я придбав за допомогою логічного аналізатора та аналогової смуги частот 60 МГц. Я вважаю за краще заплатити за тест-обладнання, яке блукає навмисно обмеженими дитячими іграшками.
Ви живете і помираєте завдяки своєму випробувальному обладнання як інженер. Якщо ви не впевнені, можете довіряти цьому, ви витрачаєте свій час. Зважаючи на відсутність досвіду, який ви показали щодо швидкісного зв’язку, обробки сигналів та потужності вбудованої обробки (в FPGA або мікроконтролерах), я б не став загрожувати, що ви самі спроектуєте це, і ніхто інший, хто відповів, ні про що. крім амбівалентних.
Якби в громаді, яка не обслуговувалася, існував більш цілеспрямований набір вимог, який би реалізував справжню потребу, я міг би бачити, що це технічно здійсненно, я буду на борту. Але ваші неясні вимоги не здаються дослідженими. Вам потрібно провести опис доступних варіантів для любителів - якими USB-областями та автономними людьми користуються люди, які їх сильні та слабкі сторони та визначити, чи не заповнюються ніші. Інакше це просто фантазування.