No Preview Available !
BMD101 Product Brief (Preliminary) 2012
BMD101 Product Brief
(Preliminary)
Information in this document is subject to change without notice.
© 2006-2012 NeuroSky Inc. All rights reserved.
Reproduction in any manner whatsoever without the written permission of NeuroSky Inc. is strictly
forbidden.
Registered mark used in this text: NeuroSky® is registered mark of NeuroSky Inc.
Last Updated: June 11, 2012
Rev 0.9.2
NeuroSky BMD101 Product Brief Rev 0.9.2
NeuroSky Confidential
Page 1
1 page
BMD101 Product Brief (Preliminary) 2012
Device Overview
System Function
BMD101 is NeuroSky’s 3rd generation bio-signal detection and processing SoC device. BMD101 is
designed with an advanced analog front-end circuitry and a flexible, powerful digital signal processing
structure. It targets bio-signal inputs ranging from uV to mV level and deployed passes the raw signal
through with NeuroSky proprietary algorithms.
The Low-Noise-Amplifier and ADC are the main components of the BMD101 analog front end. Because
of the BMD101’s extremely low system noise and programmable gain, it can detect bio-signals and
convert them into digital words using a 16-bit high resolution ADC. The AFE also contains a sensor-off
detection circuit.
The heart of the BMD101 digital circuit is a powerful system management unit. It is in charge of overall
system configuration, operation management, internal/external communication, proprietary algorithm
computation, and power management. BMD101 also comes with hardwired DSP blocks to accelerate
calculations, such as various digital filtering, under the supervision of the system management unit.
Analog Front End
SEP SEN
Sensor
HPF
Sensor-Off
LNA
ADC
Sensor-Off
CLK
RCO
AFEOUT
Digital Filters
Gain Control
Logic
AFE
Figure 1. Block Diagram of AFE and its Interfaces to Sensor and ASIC Digital Section
The AFE receives low amplitude differential analog input signals. In case this signal contains large,
slowly varying DC components, the DC is removed by a fully integrated high pass filter (HPF). The signal
is then amplified by a programmable-gain low noise amplifier (LNA). The LNA output is converted to a
digital bit stream by the 16-bit ADC.
NeuroSky BMD101 Product Brief Rev 0.9.2
NeuroSky Confidential
Page 5
5 Page
BMD101 Product Brief (Preliminary) 2012
[CODE] Definitions Table
Extended
Code Level
0
0
0
0
0
0
[CODE]
0x02
0x03
0x08
0x80
0x84
0x85
(Byte)
[LENGTH]
N/A
N/A
N/A
2
5
3
Data Value Meaning
Signal Quality (0—sensor off, 200—sensor on)
Real-time Heart Rate (Beats Per Minute)
Don’t Care
16-bit Raw Data (2’s Complement)
Don’t Care
Don’t Care
Step-By-Step Guide to Parsing a Packet
1. Keep reading bytes from the stream until a [SYNC] byte (0xAA) is encountered.
2. Read the next byte and ensure it is also a [SYNC] byte (if not, return to step 1.)
3. Read the [PLENGTH] byte.
4. Read the next PLENGTH bytes of the [PAYLOAD...], saving them into a storage area (such as an
unsigned char payload [256] array). Sum up each byte as it is read by incrementing a checksum
accumulator.
5. Take the lowest 8 bits of the checksum accumulator and invert them. Here is the C code:
checksum &= 0xFF;
checksum = ~checksum & 0xFF;
6. Read the [CRC] byte and verify that it matches your calculated checksum (if not, return to step 1).
7. Loop until all bytes (and hence, DataRows) have been parsed from the data payload[] array:
a) Parse and count the number of [EXCODE] bytes (0x55) that may be at the beginning of the
current DataRow.
b) Parse the [CODE] byte for the current DataRow.
c) If applicable, parse the [LENGTH] byte for the current DataRow.
d) Parse and handle the [DATA...] byte(s) of the current DataRow, based on the DataRow's
[EXCODE] level, [CODE], and [LENGTH].
e) If not all bytes have been parsed from the payload[] array, return to 7a. to parse the next
DataRow.
NeuroSky BMD101 Product Brief Rev 0.9.2
NeuroSky Confidential
Page 11
11 Page
|