Перейти к содержимому
Разработчик2009
#AT90USB#C#C++ (MFC)#USB 2.0 Isochronous#Keil#Signal Generator

Система снятия спектра излучения кристаллов

Система управления исследовательской установкой на Atmel микроконтроллере для снятия спектрального излучения кристаллической решетки под разными углами. USB 2.0 в нестандартном режиме передачи данных.

О чём проект

Лабораторная установка снимает спектр излучения кристаллов под разными углами. Датчики льют поток данных, механика поворачивает образец, а компьютер всё это пишет и рисует графики.

Контекст эпохи

2009: кастомные лабораторные стенды и ПК‑ПО — норма. USB 2.0 только становится рабочей лошадкой для потока данных, готовых решений мало — побеждает инженерия.

Бизнес‑инсайты

  • Надёжный поток данных = ускорение исследований и снижение стоимости измерений.
  • «Железные» решения (режимы USB, внешний генератор) часто экономят месяцы «оптимизаций».

Где было больно

  • USB 2.0 в «обычном» режиме не тянул поток — ACK тормозили жизнь.
  • Синхронизация датчиков и механики требовала общего «дирижёра».

Что сделал

  • Перешёл на потоковую передачу без подтверждений (isochronous‑подход) → хватило пропускной способности.
  • Добавил внешний генератор тактовой частоты: датчики и МК бегут в ногу, джиттер исчез.
  • Написал десктоп‑приложение (C++/MFC) для визуализации и экспорта.

Инсайт: иногда быстрее поменять архитектуру (режим передачи, источник тактирования), чем пытаться «оптимизировать до победы» обработчики прерываний.

Результат

Стабильный поток
без пропусков кадров
Синхронность
общий clock для всего
Удобство
GUI для физиков, не для программистов

Уроки

  • В embedded мир иногда выигрывают «железные» решения.
  • Потоки данных любят простоту и предсказуемость больше, чем хитрые алгоритмы.

Похожие материалы

Проекты с похожими технологиями и задачами

reraiseMe — видео хостинг для покеристов

Backend разработчик • 2011

Видео хостинг покерной тематики с продажей обучающего контента, датасетов и социальными функциями. Платформа для профессиональных покеристов и начинающих игроков.

  • Django
  • Python
  • FFmpeg
  • PostgreSQL
  • jQuery
  • +2
Читать детальный кейс →

Дефицит Клаб — интернет-магазин странных товаров

Backend разработчик, верстальщик • 2010

Интернет-магазин прикольных и странных товаров. Аналог 'Лавки' Артемия Лебедева, но только приколы. Самый необычный сайт, который я делал. Офлайн-реклама творила чудеса.

  • Django
  • Python
  • PostgreSQL
  • jQuery
  • HTML/CSS
  • +2
Читать детальный кейс →

Эврика-КАМАЗ — корпоративный сайт дилера

Backend разработчик • 2010

Корпоративный сайт официального дилера КАМАЗ в Сургуте. Каталог техники, онлайн-запись на сервис, калькулятор лизинга, интеграция с CRM. Открытие мира B2B-финансирования и работа с корпоративными гайдами.

  • Django
  • Python
  • PostgreSQL
  • jQuery
  • Nginx
  • +1
Читать детальный кейс →