Проект Xprotolab, разработанный компанией Gabotronics, являющийся миниатюрным измерительным прибором с богатым набором функций и возможностей, построен на микроконтроллере компании Atmel семейства AVR XMEGA. Для визуализации данных, организации пользовательского интерфейса и меню управления используется графический OLED дисплей с разрешением 128×64 точки с широким углом обзора. Все электронные компоненты и органы управления размещаются на двухсторонней печатной плате, размеры которой не превышают 25.4 мм × 40.64 мм. Кроме того, проект может использоваться в качестве отладочной платы для микроконтроллеров семейства AVR XMEGA.
Отличительные особенности устройства:
- основа устройства – микроконтроллер ATXMEGA32A4:
- Flash-память программ - 32 КБайт;
- SRAM - 4 КБайт;
- EEPROM – 1КБайт;
- режимы работы:
- осциллограф смешанных сигналов;
- генератор сигналов произвольной формы;
- 8-канальный логический анализатор;
- анализатор спектра;
- возможность одновременной работы генератора и осциллографа;
- графический OLED дисплей, размер 0.96'', разрешение 128×64 точки;
- PDI интерфейс для программирования и отладки;
- управление с помощью 4-кнопочной клавиатуры;
- USB коннектор для питания устройства (в дальнейшем программная реализация USB интерфейса).
Спецификация измерительного прибора:
- осциллограф:
- 2 аналоговых канала;
- 8 цифровых каналов;
- аналоговая полоса пропускания - 318 кГц;
- максимальная скорость выборки - 2 Msps;
- разрешение - 8 бит;
- аналоговая синхронизация и внешняя цифровая синхронизация;
- вертикальный и горизонтальный курсоры;
- входное сопротивление – 1 МОм;
- размер буфера для каждого канала – 256;
- максимальное входное напряжение - ±10 В;
- генератор сигналов произвольной формы:
- 1 аналоговый канал;
- максимальная скорость конвертирования – 1 Msps;
- аналоговая полоса пропускания – 66 кГц;
- разрешение – 8 бит;
- низкое выходное сопротивление;
- размер буфера – 256;
- максимальное выходное напряжение - ±2 В.
Принципиальная схема прибора
Входные аналоговые каналы осциллографа, выходной канал генератора сигналов – выполнены на JFET операционном усилителе TL064 с низким потреблением. На таком же операционном усилителе выполнен источник опорного напряжения для встроенного аналого-цифрового преобразователя микроконтроллера.
Питание прибор получает от USB интерфейса, однако можно применить внешний источник напряжения 5 В, но следует быть внимательным и необходимо исключить возможность одновременного подключения внешнего источника и USB интерфейса. Напряжение питания микроконтроллера составляет 3.3 В, с этой целью установлен регулятор напряжения 3.3 В AP7333. Также, напряжение 3.3 В необходимо для питания контроллера дисплея.
Для питания операционных усилителей требуется двуполярный источник напряжения + 5 В и –5 В. Для получения отрицательного напряжения –5 В установлен интегральный DC/DC преобразователь TPS60403 (charge pump).
Графический OLED дисплей UG-2864HSWEG01 является монохромным и имеет встроенный контроллер SSD1306.
Источником тактовой частоты для микроконтроллера является внешний кварцевый резонатор 16 МГц.
Управление, навигация по меню, настройка параметров осуществляются с помощью клавиатуры K1-K4.
Для программирования (а также для отладки ПО) микроконтроллера используется 2-проводный интерфейс PDI. Данный интерфейс поддерживает высокоскоростное программирование всех пространств энергонезависимой памяти, в т.ч. Flash-память, EEPOM, Fuse-биты, Lock-биты и сигнатурный код пользователя. Программирование осуществляется путем доступа к контроллеру энергонезависимой памяти (NVM-контроллер) и выполнения NVM-контроллером команд.
Внешний вид печатной платы
Демонстрация работы прибора
Файлы:
Принципиальная схема (pdf) –
Список компонентов (xls) –
Расположение элементов на печатной плате (pdf) -
Для разработки программы использовалась интегрированная среда разработки AVR Studio 4 с Си компилятором WinAVR. Для программирования микроконтроллера потребуется программатор AVRISP2 или отладчик AVR JTAGICE mkII или AVR ONE.
Пользователи могут ознакомится с исходным кодом программы микроконтроллера, но для ознакомления предоставляется демо-версия, в которой отсутствует функция реализации осциллографа смешанных сигналов (MSO). Файл для прошивки микроконтроллера не имеет каких-либо ограничений, реализуются все функции прибора.
Благодаря использованию прямого доступа к памяти (встроенный DMA контроллер) возможна одновременная работа нескольких приложений. Например, генератор сигнала после включения продолжает работать в фоновом режиме.
Внешний вид прибора и расположение органов управления, коннекторов для подачи внешнего питания, аналоговых и цифровых сигналов.
Для управления прибором и настройки параметров используется 4-кнопочная клавиатура K1 – K4.
Устройство имеет несколько режимов, при которых осуществляется переход к заводскими установкам и калибровка. Вход в данные режимы осуществляется удержанием нажатой кнопки при подаче питания:
- K1 – вход в режим тестирования. В этом режиме на дисплее отображается: данные с входных каналов, буфер генератора сигнала, нажимаемые кнопки;
- K2 – восстановление заводских установок и стирание калибровочных данных;
- K3 – вызов функции калибровки смещения;
- K4 – вызов функции калибровки генератора сигналов.
Пользовательский интерфейс
Назначение кнопок:
- K4 – «Меню», используется для перемещения по пунктам меню настроек прибора;
- K1 – K3 – действия кнопок зависят от конкретного пункта меню.
Пункты меню управления прибором и настраиваемые параметры
Зеленая стрелка означает возможность перехода в следующее меню посредством кнопки «Меню»
1. Меню по умолчанию:
|
12. Меню настройки дисплея
|
2. Меню настроек каналов
|
13. Меню настройки отображения
|
3. Меню настройки внешней синхронизации
|
14. Меню настройки генератора сигналов
|
4. Меню выбора режима работы
|
15. Дополнительное меню настройки аналоговых каналов
|
5. Меню настроек быстрого преобразования Фурье (FFT)
|
16. Дополнительное меню настройки цифровых каналов
|
6. Меню дополнительных настроек
|
17. Меню выбора режима логического декодирования
|
7. Меню настройки каналов
|
18. Меню настройки уровня синхронизации
|
8. Меню настройки цифровых каналов
|
19. Меню установки и настройки курсоров
|
9. Меню выбора типа внешней синхронизации
|
20. Настройка горизонтальных курсоров
|
10. Меню выбора источника синхронизации
|
21. Настройка вертикальных курсоров
|
11. Меню настройки окна FFT
|
22. Дополнительная настройка генератора сигналов
|
23. Переход в режим заводских установок и калибровки (удержание соответствующих кнопок при включении питания)
|
Файлы:
Исходный код программы микроконтроллера (демо-версия) –
Файл hex для прошивки микроконтроллера (полнофункциональная версия) –