Обновление на OsciPrime: осциллограф Android с открытым исходным кодом

Несколько лет назад пара студентов-инженеров в Швейцарии разработали управляемый Android осциллограф в рамках дипломной работы бакалавра.
Хотя OsciPrime изначально контролировался Beagleboard, теперь есть приложение для планшетов и смартфонов под управлением Android 3+, и готовые к использованию платы OsciPrime доступны для покупки.

Со-разработчик OsciPrime Андреас Рудольф предоставил это обновление для читателей HardLinux…

Обновление OsciPrime - Осциллограф с открытым исходным кодом для Android

Андреас Рудольф, Nexus-Computing Switzerland

Мануэль Ди Сербо и я разработали и построили USB-осциллограф для Android в рамках нашей дипломной работы бакалавра по электротехнике в Университете прикладных наук Северо-Западной Швейцарии в 2010 году. Проект «Использование Android в промышленной автоматизации» был задокументирован в нашем техническом блоге и получил отличные отзывы со всего мира.
Как аппаратное, так и программное обеспечение были созданы с нуля и были выпущены по лицензиям с открытым исходным кодом.
Основная цель проекта состояла в том, чтобы увидеть, может ли быть достигнута высокая пропускная способность;
мы достигли постоянной частоты дискретизации 6 Мбит / с на двух каналах, что привело к пропускной способности 12 Мбит / с.

В то время Android был еще совсем новым, и не было доступных планшетов Android.
Поэтому мы использовали Beagleboard и запустили на нем Android.
Поскольку USB-осциллограф взаимодействовал как USB-устройство и нуждался в USB-хосте для связи, мы перенесли libusb на Android и использовали собственный интерфейс Java для связи с ним через USB из контекста Java (см. «Портирование Libusb для Android на Beagleboard»). в 5 шагов » здесь ).

Хотя мы получали запросы от людей, желающих воссоздать аппаратное обеспечение, мы не рассматривали возможность производства нашего осциллографа, так как потребовалась бы специальная сборка Android для Beagleboard или другой встроенной платформы, которая не была бы очень удобной для пользователя или простой в обращении. -использование.

После окончания обучения в университете Мануэль и я начали работать в нашей собственной стартап-компании Nexus-Computing, полностью посвященной разработке Android.

Примерно через год с Android 3.1+ появился новый Android USB Host API.
В результате приложение OsciPrime может быть переписано для использования этого API вместо libusb, для которого требовались права root.
Таким образом, с появлением планшетов Android с функциями USB-хоста мы начали думать, что было бы неплохо обновить наш проект, чтобы его можно было использовать с обычным Android-планшетом без рута.

Поэтому мы переработали оборудование, а также немного расширили приложение Android , добавив функции мультитач, звук с микрофонного входа и многое другое.
Мы поставили первые аппаратные средства OsciPrime в сентябре 2012 года, но в то время их было всего 10, из-за того, что они собрали небольшое количество, чтобы убедиться, что все работает.
Затем мы произвели еще одну небольшую партию и все еще продаем ее.
Это не большая сумма, но мы не приложили много усилий, чтобы рекламировать их.
И мы всегда можем произвести больше, если это будет необходимо.


Собранная печатная плата OsciPrime

(щелкните изображение, чтобы увеличить аннотированный вид)


Форма волны OsciPrime на планшете Android

Особенности и характеристики OsciPrime

Аппаратное обеспечение OsciPrime состоит из двух частей: аналогового интерфейса, где сигнал прослушивается и настраивается для аналого-цифровых преобразователей;
и цифровой интерфейс, где данные количественно и подготовлены для передачи USB.
Ключевые компоненты платы включают в себя CPLD Xilinx Coolrunner и микроконтроллер Cypress FX2.

  • Аппаратные особенности и характеристики:
    • 2x аналоговых входа при 8 бит / 6 Мбит / с
    • 5 аналоговых уровней усиления
    • Ширина полосы 3,3–8,0 МГц (зависит от усиления)
    • Максимальное входное напряжение 16 В
    • Потребляемая мощность 880 мВт
    • Предназначен для 10х зондов
  • Программные возможности:
    • Диапазон +/- 1,5 В до +/- 16 В
    • 5 мкс / деление макс. - 1 мс / дел. Мин.
    • 2 отдельных канала
    • Смещение по времени, смещение по времени, калибровка
    • Триггер падения / нарастания фронта, CH1 / CH2
    • Мера: напряжение, частота, время
    • Запустить / остановить сбор данных
    • Рендеринг 30 кадров в секунду
    • Обработка 400 000 образцов в секунду

Список поддерживаемых и протестированных Android-устройств в настоящее время включает в себя: Nexus 7;
Samsung Galaxy S3;
Acer A500 и A200;
и Motorola Xoom.
Nexus 10 указан как непроверенный, но потенциально совместимый из-за его поддержки USB-хоста.

Приведенное ниже видео крупным планом показывает, как подключать, настраивать и управлять платой OsciPrime, используя планшет Android в качестве контроллера.

Дальнейшая информация

Для получения дополнительной информации об OsciPrime, включая его аппаратное и программное обеспечение, фотографии и видео, а также страницу для приобретения собранной и протестированной платы, перейдите по этой ссылке .
Исходный код проекта лицензирован по GPLv2, а его аппаратное обеспечение лицензировано по Creative Commons 3.0.