Bluetooth простой осциллограф

9

Я думал сделать простой осциллограф, способный измерять сигналы не менее 2 МГц, этого будет достаточно, и он будет подключен к ПК или устройству Android. Во-первых, я попытался использовать USB для подключения «осциллографа» к ПК или Android-совместимому устройству с USB-хостом, которое давало бы мне скорость передачи около 12 Мбит / с, но я хотел бы сделать это с Bluetooth или другим радиочастотным способом. Я говорю о некоторых модулях Bluetooth-UART, и они способны передавать данные со скоростью 2 Мбит / с, а модули Wi-Fi - всего около 300 Кбит / с. У меня есть 512 КБ ОЗУ для буферизации сэмплов из моего 12MSPS АЦП, поэтому при 2 Мбит / с это займет:

512000 Kbytes2000000 Mbps/8bits=2.048seconds

Поэтому я потеряю 2 секунды сэмплов, пока не отправлю весь буфер 512 Кб через Bluetooth. По USB это около 330 мс, и это слишком много, я думаю. Есть ли способ избежать этого? Как USB-осциллограф это делает?

Andres
источник

Ответы:

5

Если вы рассматриваете КПК как просто дисплей, вы можете изменить свое представление о том, какие данные на самом деле нужно отправлять. Требуется только один след данных, ширина дисплея, до 30 раз в секунду. Если мы предполагаем 8-битные сэмплы и ширину дисплея сетчатки 960 столбцов, то вам нужно всего лишь отправить 960 байт 30 раз в секунду или 28,8 кбайт в секунду. Если вам подходит частота обновления 10 Гц, то канал должен обрабатывать только 9600 байт в секунду. Когда пользователь увеличивает или изменяет какой-либо из параметров измерения, отправьте новые параметры в микроконтроллер и попросите микроконтроллер подготовить данные, так что вам нужен только поток с низкой скоростью передачи данных для отображения данных.

Если вы хотите провести анализ на КПК, вам придется отправить целый кусок данных, и это будет просто медленно.

Но чем больше анализа вы выполняете на стороне микроконтроллера, тем меньше данных вам нужно отправлять, и тем чаще вы можете обновлять дисплей.

Имейте в виду, что быстрые каналы передачи данных Bluetooth не будут подключаться к устройствам iOS (iPod touch, iPhone, iPad) без выполнения требований программы Apple Made For iPod или джейлбрейка устройства iOS. Вот почему многие подобные устройства используют Wi-Fi.

Если вы не можете снизить скорость передачи данных и хотите, чтобы КПК имел полный доступ ко всем данным без перерывов, вам следует полностью пропустить Bluetooth и использовать Wi-Fi. Недорогие адаптеры Wi-Fi могут обрабатывать только низкие скорости передачи данных, но есть модули Wi-Fi, которые обеспечивают большую пропускную способность.

Адам Дэвис
источник
6

Нет способа избежать этого, вам просто нужно отправить меньше данных.

Большинство областей (включая области USB, работающие со скоростью выше USB) не сэмплируют непрерывно. При запуске они заполняют небольшой буфер и отправляют на дисплей, затем ждут другого триггера, заполняют буфер, отправляют на дисплей и так далее.

Таким образом, вам придется определять размер буфера в соответствии с частотой обновления экрана - стремитесь к> 20 обновлениям в секунду. Например, если вам нужно 20 экранов с 1024 выборками, то данные 20 КБ (8 бит на выборку) отправляются в секунду. Если у вас есть функция «одиночного выстрела», то, очевидно, вы можете использовать гораздо больший буфер.

Оли Глейзер
источник