Учебное пособие 2232
.pdfDB,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
Сначала необходимо отделить вывод 52 от его контактной площадки (рис. 3.3).
Рис. 3.3. Отделение вывода 52
Все выводы в этом ряду связаны с другой шиной питания, за исключением вывода рядом с отсоединяемым выводом. Вывод 52 подключен к AVDD. Вывод справа подключен к AVSS (-2,5 В). Вероятность замыкания в любом направлении высока. Сняв штифт с его колодки и слегка согнув его в направлении штифта 51, можно соединить его с необходимой контактной площадкой (рис. 3.4).
Рис. 3.4. Согнутый вывод 52
Как выглядит доработка, когда она закончена, показано на рис. 3.5.
Рис. 3.5. Выводы после доработки
85
4. ПЛАТА GANGLION
4.1. Характеристики платы
На рис. 4.1 показан внешний вид сверху собранной платы Ganglion. Вспомогательные средства для работы платы Ganglion показаны на рис. 4.2.
Рис. 4.1. Плата Ganglion (вид сверху)
Рис. 4.2. Вспомогательные средства для работы платы Ganglion
Разъем батареи на задней панели платы может принимать значения напряжений от 3 до 12 В постоянного тока. На плате имеется кнопка сброса. Печатные платы OpenBCI Ganglion были разработаны с использованием KiCAD - программного обеспечения для разработки печатных плат с открытым исходным кодом.
Печатная плата устройства Ganglion имеет 4 слоя (верхний, нижний и два внутренних). Разводка слоев печатной платы представлена на рис. 4.3.
86
Верхний слой |
Нижний слой |
Внутренние слои
Рис. 4.3. Разводка всех слоев печатной платы Ganglion
Технические характеристики платы следующие:
Питание схемы осуществляется от 3,3 В до 12 В постоянного тока.
Потребляемый ток: 14 мА в режиме ожидания, 15 мА в режиме подключения и потоковой передачи данных.
Радиомодуль Simblee BLE (совместимый с Arduino).
MCP3912 аналого-цифровой преобразователь.
LIS2DH 3-х осевой акселерометр.
Слот для карт MicroSD.
Размеры платы 60 х 60 мм.
Возможность регистрации ЭЭГ монополярным и биполярным методами.
Вкачестве микропроцессора, совмещенного с микросхемой радиопередачи, использован модуль Simblee RFD77101.
Выводы модуля Simblee следующие:
Цифровые выводы ввода / вывода: D0, D1, D2, D3, D4, D5, D9, D11, D12, D21, D23, D24.
Выводы аналогового входа: А3, А4, А5, А6l.
87
Штырьки шины SPI: MOSI, MISO, SCK.
Другие контакты: сброс Simblee, VDD, GND.
Контакты SPI – для доступа пользователей.
Синий светодиод на плате подключен к контакту D23. Обратите внимание, что аналоговые контакты используются совместно с цифровыми входами / выходами. VDD составляет 3,0 В.
Кнопочный переключатель подключен к контакту сброса Simblee вместе с шунтирующим резистором 10К. При нажатии на эту кнопку Simblee будет перезагружен.
4.2. Описание входных контактов платы
Разработанное устройство представляет собой 4-канальную систему регистрации ЭЭГ биполярным методом. На плате имеется 16-контактный прямоугольный разъем, который можно использовать для подключения электродных датчиков всех типов. Входные контакты подключаются к усилителю AD8237. Этот усилитель имеет дифференциальные входы. Положительный вход называется не инвертирующим, а отрицательный вход называется инвертирующим. Далее следует описание контактов разъема:
GNDA (аналоговая “земля”. Соединяется с верхним и нижним контактом);
D_G (управляемое заземление: 1,5 Вольт. Соединяется как с верхним, так и с нижним контактом);
REF (комбинированный эталонный вход. Соединяется с верхним и нижним контактом);
+4- (канал ввода № 4. +вход сверху, -вход снизу);
+3- (канал ввода № 3. +вход сверху, -вход снизу);
+2- (канал ввода № 2. +вход сверху, -вход снизу);
+1- (канал ввода № 1. +вход сверху, -вход снизу);
AVDD (источник питания: 3,0 Вольт. Подключается к верхнему и нижнему контактам).
На схеме электрической принципиальной показано, что верхний и нижний контакты D_G и REF соединены вместе. Поэтому не имеет значения, какой используется для подключения.
4.3. Переключатели выбора режима регистрации ЭЭГ
Каждый входной канал буферизуется измерительным усилителем AD8237 с дифференциальным входным сопротивлением 100 МОм. На плате размещены 4 небольших ползунковых переключателя (SW1, SW2, SW3, SW4), которые можно настроить для подключения входов от усилителей либо к соответствующему входному контакту, либо к REF-контакту (рис. 4.4).
88
Рис. 4.4. Переключатели выбора режима
Когда переключатели направлены вверх, то дифференциальные входы усилителей соединены с электродами. Когда переключатели перемещены вверх, то положительный вход каждого дифференциального усилителя подключен к электроду, а отрицательный подключен к общему референтному электроду (вывод REF).
Для подключения платы регистрации к компьютеру используется радиоканал стандарта bluetoth. Радиомодуль, расположенный на плате, осуществляет радиосвязь с радиомодулем, подключаемым к компьютеру
(рис. 4.5).
Рис. 4.5. Радиомодуль для ПК
4.4. Электропитание платы
Электропитание платы можно осуществить либо от батареек, либо от аккумуляторов (рис. 4.6). При подключении питания синий светодиод начинает мигать. Это мигание означает, что радиоприемник BLE не подключен или не связан с каким-либо компьютером, телефоном или планшетом. Когда радиоприемник BLE подключен, светодиод горит постоянно.
89