Advertisement
Guest User

Necomimi реверсинжинирнга паста

a guest
Nov 28th, 2013
849
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.95 KB | None | 0 0
  1. NeuroSky http://www.neurosky.com/ занимаются ЭxГ-разработками, из которых простым гикам наиболее интересны, конечно, ЭЭГ мозго-компьютерные интерфейсы. Производимые устройства обладают годным дизайном, ценой, энергопотреблением и юзабилити, в отличии от классических энцефалографов околомедицинского назначения или, например, монстра Emotiv от Epoc.
  2.  
  3. Necomimi
  4. http://www.necomimi.com/Images/Products/3.jpg
  5.  
  6. Компания предлагает нам различные устройства на основе фронтэнда ThinkGear ASIC Module (TGAM) http://www.neurosky.com/Products/ThinkGearAM.aspx
  7. Модуль представляет из себя одноканальный экономичный энцефалограф с интерпретацией данных на борту. Для самодельщиков, не желающих выпрашивать заветную платку у производителя, доступны в магазинах три с половиной варианта готовых устройств:
  8. - Неинтересный тренажер силы из звездных войн http://www.amazon.com/Star-Wars-Science-Force-Trainer/dp/B001UZHASY
  9. - Беспроводной сканер состояния мозга (+ SDK) http://www.amazon.com/MindWave/dp/B00A2UQUXY/
  10. - Няшные ушки Necomimi http://www.amazon.com/Brain-Wave-Controlled-Necomimi-Headband/dp/B007YNBOJM/ , которые можно назвать самостоятельным устройством. Заказал именно их.
  11.  
  12. Пара слов про сами ушки
  13. Обзоры и анбоксинги от кавайных японских косплеерш можно увидеть в ютюбе, разборка девайса с неплохими фото представлена на сайте http://learn.adafruit.com/necomimi-brainwave-cat-ears-teardown/inside-the-brainwave-cat-ears
  14. Вкратце в электронном блоке расположена платка модуля TGAM и платка с микроконтроллером + питание. Корпус - "бархатный" пластик.
  15. Ушки - обычные модельные сервы со сменным мехом.
  16. Все электроды сухие. Спереди имеется сигнальный электрод (пружинка на лоб), вниз уходит провод опорного электрода (прищепка на ухо) и земляного электрода (другая сторона прищепки).
  17. Питание от 4х мизинчиков ААА, что, как мне кажется, для сугубо городского и преимущественно женского девайса не совсем правильно.
  18. Уши интуитивно понятно визуализируют состояние мозга своими движениями (как кошки-собаки-лошади). Из органов управления - кнопка включения, под ней светодиодный индикатор работы и разряда батарей (мигание). На мой взгляд, было бы логичнее сигнализацию разряда вывести на ушки (тем более, что прерывистым дерганиям устройство сообщает о установленном контакте), т.к. диод можно увидеть только в зеркале.
  19. Желающие фурри, анимешники и прочие брони, владеющие азами программирования контроллеров, смогут без проблем подключить к ушам самодельный хвост, крылья, рога и другие недостающие органы т.к. всю сигнальную математику модуль уже просчитывает сам.
  20.  
  21.  
  22. Сам модуль TGAM представляет из себя платку 15*28мм, требует питания 3.3В с током до 15мА. Конфигурация электродов повторяет "взрослый" энцефалограф: сигнальный электрод в своем экране, опорный электрод в своем экране и земляной электрод. Выдает набор параметров посредством UART: расслабление (meditation), внимание (attention), качество сигнала (poor signal quality), уровни ЭЭГ-ритмов и, опционально, исходные raw-данные. Основной сигнал для движения ушей - релаксация и медитация.
  23.  
  24. http://i.imgur.com/Wu1X4Xc.jpg
  25. На платке модуля находится LQFP64-микросхема собственной маркировки (NeuroSky TGAT1-L64 D52RL-010) и чутка рассыпухи. Из настроек имеются: стартовый бодрейт (2 нуль-резистора на 3 варианта скорости) и нуль-резистор частоты ноч-фильтра 50\60Гц.
  26. Бодрейт можно изменить софтверно после загрузки, послав соответствующую команду. Джва варианта 1200 и 9600 высылают только пакеты содержащие проанализированные данные. Передача (RAW) ЭЭГ-напряжений требует 57.6 килобод.
  27.  
  28. Все пакеты начинаются с двух 0xAA, далее идет длина сообщения, полезные байты и чексумма этих байт. Передача в пакете АА в содержимом пакета исключается.
  29. В теле сообщения перечисляются однобайтовые коды параметра и их значения. Для однобайтовых данных сразу, для сложных значений вначале следует длина аргумента и следом соответствующее число байт.
  30.  
  31. RAW-данные идут с частотой 512 коротких пакетов в секунду, достаточно плотно загружая протокол.
  32. Формат RAW-пакета:
  33. AA AA Start bytes
  34. 04 Length
  35.  
  36. 80 RAW Wave Value
  37. 02 Length
  38. 00 8B signed int
  39.  
  40. F2 CheckSum
  41.  
  42.  
  43. И после каждого 512-го пакета приходит анализ.
  44. Параметр чистоты сигнала: 0 идеальный контакт, 255 - мозг найден не был.
  45. Параметры ритмов мозга альфа-тетта - результат анализа модулем фурье компонент. Что кто означает описывается в медицинских книжках. Модуль отфильтровывает миограммы мимики и глаз.
  46. Вывод значений напряжения и медитации - фирменная фишка модуля. Очевидно, используют уровни ритмов. Для реверс-инжинирнга алгоритма их вычислений требуется проанализировать большой лог данных, это потом.
  47.  
  48. Формат пакета анализа:
  49. AA AA Start bytes
  50. 20 Length
  51.  
  52. 02 POOR_SIGNAL Quality
  53. 00 (0-255)
  54.  
  55. 83 ASIC_EEG_POWER
  56. 18 Length. 8x 3Bytes unsigned level data
  57. 08 1B DE delta
  58. 00 F2 E5 theta
  59. 00 1F C3 low-alpha
  60. 00 77 77 high-alpha
  61. 00 1E 78 low-beta
  62. 00 15 30 high-beta
  63. 00 1D 9B low-gamma
  64. 00 03 1B mid-gamma
  65.  
  66. 04 ATTENTION eSense
  67. 23 (0-100)
  68.  
  69. 05 MEDITATION eSense
  70. 32 (0-100)
  71.  
  72. AB CheckSum
  73.  
  74.  
  75. Купленная версия ушек не имела наклейки "Для европы" и читаемых символов в инструкции, что подразумевает внутренний 60-герцовый рынок. В домашних условиях различий в настройке 50\60Гц я не заметил.
  76. Контроллер не посылает данных в модуль, а прием ведет на частоте 57.6кбод/с в режиме "нормальный с RAW-ами". Такой режим усложняет как код, так и железо (например становится необходим кварц) и, похоже, необходим для более своевременной индикации настроения.
  77.  
  78. Модуль крайне негативно относится к протяженным контактам, даже по цифровой земле, а выходы USART-а "проваливаются", не выдерживая скоростной оптики, что ограничивает непосредственное соединение с другими устройствами. Для связи нужен беспроводной интерфейс, что собственно и видно на остальных устройствах от NeuroSky.
  79.  
  80. http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol Страничка производителя, просвещенная протоколу.
  81. http://wearcam.org/ece516/neurosky_eeg_brainwave_chip_and_board_tgam1.pdf Самая адекватная версия даташита.
  82. http://pastebin.com/f6xxhKKC">Небольшой лог, для желающих понасиловать самостоятельно цифровую обработку.
  83.  
  84. Аригато.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement