Материал: Аппаратура для электроэнцефалографических исследований. Журавлев Д.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

режиме “streamData”. Эти команды работают в режиме “streamData” и вне его. Подтверждающие символы не возвращаются.

2.9.2. Команды управления тестовым сигналом

Команда “0 - = p []” включает все доступные каналы и подключает их к внутреннему тестовому сигналу. Это полезно для самопроверки и калибровки. Например, можно измерить внутренний шум канала, отправив значение “0”. Выполнение данной команды соединяет все входы с внутренней “землей” “GND”. При потоковой передаче поток будет остановлен, но при восстановлении соответствующих регистров на ADS1299 поток будет возобновлен.

Список команд:

“0” - подключение к внутренней “GND” (VDD - VSS);

“-“ - подключите к тестовому сигналу “1xAmplitude”, медленный импульс;

“=” - подключить к тестовому сигналу “1xAmplitude”, быстрый импульс;

“p” - подключение к сигналу постоянного тока;

“[“ - подключить к тестовому сигналу “2xAmplitude”, медленный импульс;

“]” - подключение к тестовому сигналу “2xAmplitude”, быстрый импульс.

Вплате реализованы не все возможные внутренние тестовые соединения. Если нет потоковой передачи, плата возвращает “Success: Configured internal test signal.$$$”, если есть потоковая передача, то подтверждения нет.

2.9.3. Команды настройки канала

Следующие команды: “** x (CHANNEL, POWER_DOWN, GAIN_SET, INPUT_TYPE_SET, BIAS_SET, SRB2_SET, SRB1_SET) X **” являются командами настройки канала. Команды настройки канала имеют шесть параметров для каждого канала АЦП. Чтобы получить доступ к настройкам канала, сначала надо отправить “x. Затем плата Cyton будет ожидать, что следующие 7 байтов будут определенными командами настроек канала. Первый байт - номер канала (если подключен модуль Daisy, то можно выбрать до 16 каналов для установки параметров). Следующие шесть символов ASCII принимаются в качестве параметров для установки. Наконец, отправка символа “Xзафиксирует настройки на канале АЦП.

Далее рассмотрим основные команды системы. Выбор канала (команда “CHANNEL) “1 2 3 4 5 6 7 8”для одноплатного выбора канала. Команды “Q W E R T Y U I” для выбора каналов в модуле Daisy. Команда “POWER_DOWNвключения каналов: 0 = ВКЛ (по умолчанию) 1 = ВЫКЛ. Команды установки усиления “GAIN_SET”:

0 = усиление 1;

1 = усиление 2;

45

2 = Прибыль 4;

3 = усиление 6;

4 = усиление 8;

5 = усиление 12;

6 = усиление 24 (по умолчанию).

Команда “INPUT_TYPE_SET” выбор источника входного сигнала канала

АЦП:

0 ADSINPUT_NORMAL (по умолчанию);

1 ADSINPUT_SHORTED;

2 ADSINPUT_BIAS_MEAS;

3 ADSINPUT_MVDD;

4 ADSINPUT_TEMP;

5 ADSINPUT_TESTSIG;

6 ADSINPUT_BIAS_DRP;

7 ADSINPUT_BIAS_DRN.

Команда “BIAS_SET” выбирается, чтобы подключить на вход канала генерированный сигнал “BIAS”. Значение “0” = выключает BIAS, значение “1” = включает BIAS (по умолчанию). Команда “SRB2_SET”используется для подключения входа “P” этого канала к выводу “SRB2”. Это замыкает переключатель между входом “P” и “SRB2’ для данного канала и позволяет входу “P” также оставаться подключенным к АЦП. Значение “0” = отключает этот вход от “SRB2”, значение “1” = подключает этот вход к “SRB2” (по умолчанию). Команда “SRB1_SET” используется для подключения входов “N” всех каналов к “SRB1”. Это влияет на все контакты и отключает все входы “N” от АЦП. Значение “0” = отключает все входы “N” от SRB1 (по умолчанию), значение “1” = подключает все входы “N” к ‘SRB1”.

Рассмотрим пример отправления запроса “х 3 0 2 0 0 0 0 Х”. Символ «х» позволяет войти в режим настроек канала. Канал 3 настроен на включение с усилением 2, нормальный вход BIAS выключен, SRB2 выключен, SRB1 выключен. Последняя буква «X» фиксирует настройки в регистре настроек канала АЦП ADS1299.

Для прошивки “v0” и “v1” требуется, чтобы была добавлена задержка (> 10 мс) при настройке канала и параметров. Начиная с v2.0.0, можно объединить несколько настроек канала вместе, как рассмотрено в примере: запрос “x1020000Xx2020000Xx3020000X”. Этот запрос установит первые три канала.

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

“Success: Channel set for 3$$$”, где 3 - канал, который был запрошен для установки.

46

При неудаче выполнения команды:

1.Если нет потоковой передачи, плата WiFi Shield всегда отправляет ответы без “$$$”:

1.1. Получено недостаточно символов. В этом случае будет сообщение:

“Failure: too few chars$$$” (например, пользователь отправляет команду

“x102000X”).

1.2.9-й символ не является верхним регистром “X”. В этом случае будет сообщение: “Failure: 9th char not X$$$” (например, пользователь отправляет команду “x1020000V”).

1.3.Слишком много символов в команде или другие проблемы. В этом случае будет сообщение: ”Failure: Err: too many chars$$$”.

2.Если в течение 1 секунды не все команды получены. В этом случае будет сообщение: “Timeout processing multi byte message - please send all commands at once as of v2$$$”.

2.9.4. Настройки канала по умолчанию

Команда “d” используется, чтобы установить все каналы по умолчанию.

Команда возвращает сообщение “updating channel settings to default$$$”, если нет потока данных. Команда “D” используется для получения отчета о настройках по умолчанию. После запроса настроек по умолчанию команда возвращает 6 символов ASCII, за которыми следует “$$$”.

Пользователи могут изменять настройки канала по умолчанию в функции инициализации внутри библиотеки OpenBCI. Но для этого требуется перепрограммирование платы

2.9.5. Команды для включения/отключения измерения импеданса

Команды “z” (CHANNEL, PCHAN, NCHAN), “Z” работают аналогично командам настройки канала. Для прошивок “v0” и “v1” необходимо позаботиться, чтобы были задержки между отправкой символов. Для прошивки “v2.0.0” поток байтов можно отправлять без задержки. Настройки импеданса имеют два параметра для каждого канала АЦП. Импеданс измеряется путем подачи низкоуровневого сигнала переменного тока с частотой 31,5 Гц на данный канал. Команда имеет значение “0”, если тестовый сигнал не применяется (по умолчанию). Команда имеет значение “1”, если тестовый сигнал применен.

Например, пользователь отправляет запрос вида “z 4 1 0 Z”. Команда 'z' осуществляет вход в режим настроек импеданса. Канал 4 настроен на измерение импеданса на входе “P”. Последняя буква «Z» фиксирует настройки в регистрах АЦП.

После выполнения команды плата возвращает следующие сообщения:

47

1.В случае успеха:

1.1.При потоковой передаче не будет подтверждения успеха. Плата “WiFi Shields” всегда будет получать ответ, даже в потоковом режиме.

1.2.Если нет потоковой передачи, возвращается сообщение “Success: Lead off set for 4$$$”, где 4 - канал, который был запрошен для установки.

2.При неудаче:

2.1.Если нет потоковой передачи, плата WiFi Shield всегда отправляет следующие ответы без символов “$$$”:

2.1.1.Получено недостаточно символов: “Failure: too few chars$$$” (например, пользователь отправляет запрос “x102000X”).

2.1.2.5-й символ не является верхним регистром 'X': “Failure: 5th char not Z$$$” (например, пользователь отправляет запрос “x1020000V”).

2.1.3.Слишком много символов в команде или другие проблемы: “Failure: Err: too many chars$$$”.

2.2.Если не все команды получены в течение 1 секунды, то будет выдано сообщение “Timeout processing multi byte message - please send all commands at once as of v2$$$”.

2.9.6. Команды для работы SD-картой

Команды “A S F G H J K L” предназначены для работы с SD-картой. Данные команды необходимо отправить, чтобы начать регистрацию данных на SD-карту за указанное время:

A = 5 мин;

S = 15 мин;

F = 30 мин;

G = 1 час;

H = 2 час;

J = 4 часа;

K = 12 часов;

L = 24 часа;

а = около 14 секунд для тестирования.

Команда “j” служит для остановки записи регистрируемых данных и закрытия файла на SD-карте.

2.9.7. Команды потоковых данных

Команда “b” служит для начала потоковой передачи данных. Она не возвращает подтверждений. Когда команда поступает от платы WiFi, то поступает подтверждение и начинается потоковая передача.

48

Команда “s” служит для остановки потоковой передачи данных. Она не возвращает подтверждений. Когда команда поступает от платы WiFi, то поступает подтверждение и потоковая передача останавливается.

2.9.8. Остальные команды

Команда “?” служит для настройки регистра запросов. Она возвращает “Read” и сообщает обо всех настройках регистра для АЦП ADS1299 и акселерометра LIS3DH. После выполнения данной команды надо ожидать получения подробного последовательного отчета от платы Cyton, за которым следуют символы “$$$”.

Команда “v” осуществляет мягкий сброс для периферийных устройств. 8- битная плата Cyton получает сигнал сброса от устройства Dongle каждый раз, когда приложение открывает последовательный порт, как в Arduino. Сама плата Cyton не имеет этой функции. Итак, для того чтобы выполнить мягкий сброс платы Cyton (с прошивкой “v1” или “v2.0.0”), необходимо отправить запрос v. Команда сброса возвращает сообщение следующего вида для платы OpenBCI V3: идентификатор 8-16 - канального ADS1299: 0x3E, идентификатор устройства LIS3DH: 0x33, прошивка: v3.1.1 $$$

2.9.9.Команды для 16-канальной системы

Внастоящее время модуль Daisy реализован только на плате Cyton. Модуль Daisy добавляет еще 8 входных каналов, что в общей сложности составляет 16. Далее описаны специфичные команды для управления АЦП

ADS1299 на модуле Daisy.

Выключение каналов:

Символы “q w e r t y u I” в системе ASCII отключают соответствующие каналы [9-16]. Канал будет читать значение “0,00” в режиме “streamData”. Эти команды работают в режиме “streamData” и вне его. Команды не возвращают подтверждающих сообщений.

Включение каналов:

Символы “Q W E R T Y U I” в системе ASCII включают соответствующие каналы [9-16]. Канал будет содержать значения АЦП в режиме “streamData”. Эти команды работают в режиме “streamData” и вне его. Команды не возвращают подтверждающих сообщений.

2.9.10.Выбор максимального числа каналов

Команда “с” используется для включения 8-канальной системы. Если подключен модуль Daisy, он не будет использован и будут доступны только каналы 1-8.

При выполнении данной команды возвращается сообщение:

49

Источник: https://studfile.net/preview/16566241/