Информация к новости
  • Просмотров: 5181
  • Добавил: Dina
  • Дата: 2 декабря 2013
2 декабря 2013

Простой USB осциллограф - Miniscope v2c

Категория: Схемы » Измерительная техника

Ниже представлен проект недорого USB осциллографа с применением STM32 микроконтроллера. Особенности устройства:
- использование очень дешевых STM32F103 микроконтроллеров в LQFP48 корпусе.
- односторонняя печатная плата, удобная для изготовления в домашних условиях.
- выборка 2x461kSps (2x300kSps в старых версиях), 8 бит, передача данных по USB в реальном времени.
- прошивка по UART.
- диапазон рабочих напряжений 0 - 6.6 Вольт. Нестандартное входное сопротивление 20 кОм (к несчастью, большее значение вызывает помехи на АЦП. Возможно, это можно исправить использованием ОУ. Обратите внимание: сопротивление может быть увеличено при использовании новой прошивки, которая использует отдельный АЦП для каждого канала).

Простой USB осциллограф - Miniscope v2c


Сигнал 300 мВ снятый при помощи miniscope v4:
Общая стоимость компонентов не превысила 10$.
Принципиальная схема USB-осциллографа:

Простой USB осциллограф - Miniscope v2c


Печатная плата - односторонняя, размер 66мм x 36мм.

Простой USB осциллограф - Miniscope v2c


Простой USB осциллограф - Miniscope v2c


Простой USB осциллограф - Miniscope v2c


Простой USB осциллограф - Miniscope v2c


Среда разработки
Для разработки miniscope v2 необходимо было выбрать среду разработки для STM микроконтроллеров. В этом файле лежат примеры проекта для IAR, Keil, RIDE, HiTop и TrueSTUDIO. К сожалению, не один из них мне не подошел. RIDE и HiTop требуют покупки лицензии через 7 дней. Пробные версии IAR и Keil имеют ограничение на размер кода и забирают очень много дискового пространства. То же самое с TrueSTUDIO. В результате я выбрал CooCox, дистрибутив которого весит 115 МБ и около ~ 800 МБ после установки и распространяется бесплатно.

Прошивка микроконтроллера
На плате нет JTAG/SWD разъема, так как прошивка должна быть загружена по UART. Чтобы войти в режим загрузки, нажмите и удерживайте кнопку BOOT при нажатии кнопки RESET. Программа STM "Flash Loader Demo" без проблем работает с USB-UART переходником. Нормальное напряжение на выводах микроконтроллера 5В, поэтому можно использовать 5 или 3.3В RS232-UART/USB-UART переходник. Кнопка RESET может быть удалена - микроконтроллер переходит в режим загрузки при нажатой кнопке BOOT если USB подключен. Так как USB подключено без 1.5 кОм подтягивающих резисторов, его необходимо заново подключить после прошивки.

Советы по передаче данных по USB
Используйте CDC в качестве шаблона. Есть две конечных точки BULK. Для повышения скорости CDC потребуются небольшие изменения.
1. Уменьшите значение VCOMPORT_IN_FRAME_INTERVAL. Я не уверен, что значение = 1 подходит при двунаправленной передаче, поэтому я поставил значение = 2.
2. Увеличение значения USART_RX_DATA_SIZE. Я использовал 8192 байт (2 х 4 Кб), но я думаю, что существенной разницы при использовании 4096 байт.
3. Изменение Handle_USBAsynchXfer, т.к. он не будет передавать данные, если USART_Rx_Buffer будет полный. Таким образом, после каждого номера SOF будет отправлен максимальный по номеру байт.

Убедитесь, что на ПК приложение постоянно готово к приему данных. Убедитесь, что приоритет чтения для него выше, чем у других приложений. Я использовал libusb, поэтому я использовал сочетания usb_submit_async / usb_reap_async для задания очереди запросов чтения.
Я не интересовался высокой скоростью передачи данных с ПК, поэтому у меня нет советов по этому поводу. Miniscope v2c оправляет данные на ПК с максимально возможной скоростью. Данные отправляемые с ПК незначительны (ID запроса, изменение аналогового усиления).

Вы не можете скачивать файлы с нашего сервера

Метки к статье: осциллограф, схема осциллографа, простой USB осциллограф, схема простого USB осциллографа



Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (8)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->