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

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

DB,FFFCDC,FFFBF9,FFFC43,FFFAC3,FFFBD2,FFFC95,FFFAFA,FFFCA3

DC,FFFCDB,FFFBF8,FFFC39,FFFAC2,FFFBDB,FFFC8E,FFFB04,FFFCA7

DD,FFFCDF,FFFBF9,FFFC3F,FFFABE,FFFBD5,FFFC96,FFFB08,FFFCA6,6220,6220,6220

DE,FFFCDF,FFFBFD,FFFC3F,FFFAB9,FFFBDB,FFFC9D,FFFB02,FFFCB0

DF,FFFCDE,FFFC00,FFFC49,FFFAC3,FFFBD0,FFFC91,FFFB03,FFFCB0

2.12.3. Внешний запуск с прошивкой 1.xx

Иногда может возникнуть ситуация, когда необходимо связать плату OpenBCI с существующей системой, генерирующей, например, аудио или видео потенциалы, связанные с событием (ERP). В этом случае наиболее желательно, чтобы начало сигнала было тесно связано во времени с данными ЭЭГ. Можно связать 32-битную плату OpenBCI с внешней системой генерации сигнала, используя несколько недорогих компонентов. Но биосенсор должен быть безопасным. Для этого внешнюю систему необходимо либо запитывать от аккумулятора, либо сделать опторазвязку.

Самый простой способ обеспечения безопасности – это изоляция схемы OpenBCI от схемы генерации триггерного сигнала. Для этой цели можно

использоавать оптоизолятор с

изоляцией

5000 В между входом и

выходом. Семейство микросхем

CNY17 от

Vishay

является отличным

примером недорогого оптоизолятора с

высокой

изоляцией. На рис.

2.43 показана схема включения оптоизолятора. В цепи справа, когда на анод входа (вывод 1) подается сигнал от внешнего триггера напряжением от 3,3 В до 5 В, выход (вывод 5) переходит от высокого уровня к низкому. На рис. 2.44 показана сборка оптоизолятора на макетной плате.

Рис. 2.43. Схема включения оптоизолятора

Значения установок переменных в коде программы представлены ниже:

int triggerPin = 18;

 

// the CNY17 Collector is on pin 18

int triggerValue;

// used to hold the latest trigger reading

int lastTriggerValue;

// used to remember the latest trigger state

boolean addAuxToSD;

// option to add the aux data to the SD card

80

Рис. 2.44. Оптоизолятор на макетной плате

Код для чтения этого триггера представлен ниже, и он очень похож на предыдущий код кнопки. В этом случае необходимо использовать другой вывод (вывод 18) и следить за крайними байтами для определения нажатия на кнопку.

void setup(){ // stuff here...

pinMode(triggerPin, INPUT); // set the button pin direction triggerValue = lastTriggerValue = digitalRead(triggerPin); // seed startFromScratch(); // initialize OpenBCI, read device IDS

//you can set EITHER useAccel or useAux to true

//if you want both, you MUST set and clear one of the variables every sample OBCI.useAccel = false; // option to add/remove accelerometer data to stream

OBCI.useAux = true;

// option to add/remove auxiliary data to stream

// more stuff...

 

 

 

}

 

 

 

void loop(){

 

 

 

// do stuff

 

 

 

triggerValue = digitalRead(triggerPin);

// feel the trigger pin

if (triggerValue != lastTriggerValue){

// if it's changed,

if (triggerValue == LOW){

// if it's gone from HIGH to LOW

// 0x6220 converts to PI in GUI

 

OBCI.auxData[0] = OBCI.auxData[1] = OBCI.auxData[2] = 0x6220;

addAuxToSD = true;

// add Aux Data to the SD card if it's there

state = !state;

// toggle the state variable

digitalWrite(LED,state);

// toggle the LED for user useability

}

lastTriggerValue = triggerValue; // keep track of the changes

}

// do other stuff

}

81

2.13. USB-ключ

USB-ключ (USB-dongle) OpenBCI используется для подключения компьютера (ПК) к плате Cyton.

Основные характеристики USB-ключа:

питание осуществляется только через разъем USB;

имеется радиомодуль RFduino BLE;

имеется FTDI USB <> последовательная ИС (FT231XQ-R);

имеется восстанавливаемый предохранитель.

Контакты RFduio расположены в том же порядке и расположении, что и в радиомодуле RFduino. Это делает USB-ключ OpenBCI совместимым с радиомодулями RFduino. Светодиоды TXD (красный) и RXD (зеленый) подключены к выходам микросхемы FTDI. Синий светодиод подключен к

RFduino GPIO2.

2.13.1. Ползунковый переключатель

Ползунковый переключатель на плате имеет два положения. Когда коммутатор находится на стороне GPIO6, вывод FTDI DTR направляется на вывод 6 RFduino, и он готов передавать данные на плату Cyton. Эта конфигурация является «нормальным» режимом, а также позволяет программировать плату Cyton по радиоканалу. Когда переключатель находится на стороне RESET, вывод FTDI DTR направляется на вывод RFduino RESET. Этот режим позволяет перепрограммировать RFduino на USB-ключе.

2.13.2. Печатная плата USB-dongle

Печатная плата устройства USB-ключа имеет 2 слоя (верхний и нижний). Разводка слоев печатной платы представлена на рис. 2.45.

Верхний слой

Нижний слой

Рис. 2.45. Печатная плата USB-ключа

82

3. ПЛАТА DAISY

Модуль OpenBCI Daisy Module является дочерней платой для платы Cyton и расширяет число возможных каналов регистрации с 8 до 16.

Технические характеристики модуля Daisy: питание осуществляется только через плату Cyton; имеется аналоговый интерфейс и АЦП на микросхеме ADS1299.

Выводы:

выводы шины SPI для связи с платой OpenBCI: DVDD, GND, MISO, MOSI, SCK, CS, CLK, RST;

аналоговые выводы питания и BIAS: AVDD, AVSS, AGND, BIAS.

Модуль OpenBCI Daisy должен использоваться только совместно с платой Cyton. Плата Daisy требует подачи внешнего тактового сигнала (2,048 МГц) на вывод CLK.

3.1. Печатная плата Daisy

Печатная плата устройства Daisy имеет 4 слоя (верхний, нижний и два внутренних). Разводка слоев печатной платы представлена на рис. 3.1.

Верхний слой

Нижний слой

Внутренние слои

Рис. 3.1. Разводка слоев печатной платы Daisy

83

3.2. Исправление ошибки на плате Daisy

При проектировании печатной платы была допущена ошибка (рис. 3.2), которую придется исправить и внести изменения в файл PCB.

Плата Daisy разработана как плата расширения для базовой платы Cyton, чтобы удвоить общее количество входов датчиков до 16. Микросхема ADS1299, которая проводит аналого-цифровую обработку сигналов, имеет одну особенность: все 8 входных каналов дискретизируются одновременно. Это очень важно для DSP и корреляции между данными канала. Когда модуль Daisy подключен к базовой плате, идея состоит в том, чтобы поддерживать эту одновременность дискретизации на всех 16 входах. Texas Instruments делает это возможным с ADS1299, предоставляя возможность брать сигнал clk с одного АЦП (частота тактового сигнала равна 2,084 МГц) и вводить его в другой АЦП. Чтобы это работало, необходимо сделать следующее. В “главном” АЦП необходимо, чтобы вывод CLKSEL (вывод 52) был привязан к DVDD, а бит CLK_EN в регистре CONFIG1 установлен в значение «1». Тогда “ведомому” АЦП нужно привязать свой CLKSEL-вывод к AGND. Затем главный контакт CLK подключается к подчиненному контакту CLK, и оба АЦП работают на одном и том же тактовом сигнале, что делает возможной одновременную выборку.

Но на разработанной плате допущена ошибка, и контакт CLKSEL на модуле Daisy привязан к DVDD, а не к AGND.

Рис. 3.2. Верхний слой печатной платы с ошибкой

Вывод 52 подключен к трассе под ADS1299, а вывод 51 подключен к AGND. Поэтому целесообразно поднять вывод 52, аккуратно согнуть его над выводом 51, а затем прикрепить его припоем. Вывод 52 - 4-й от угла, считая справа.

84

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