Design Review - Purdue College of Engineering

Download Report

Transcript Design Review - Purdue College of Engineering

Krishna Jharjaria TJ Strzelecki Rick Schuman Matt Waldersen




The Mind Reader is a mobile brain-computer interface.
Computer applications will be presented to the user
through commercially available video glasses.
An EOG and commercially available EEG will be
mounted inside of a common enclosure and will enable
the user to navigate and select various applications.
A dsPIC microcontroller will be used to acquire the
EOG and EEG signals, the EEG signals will be analyzed
by an FPGA and a BeagleBoard XM will control the
virtual reality environment as well as execute all of the
computer applications
1)
2)
3)
4)
5)
An ability to encode/decode data packets from a
NeuroSky EEG.
An ability for a user to select applications based on
signals from a NeuroSky EEG.
An ability for a user to navigate between different
applications on a display using EOG signals.
An ability for the system to interactively train the
user to effectively operate the device.
An ability to display a live video stream from an
external camera module, and integrate applications
into the video system.

Considerations
 Signal Processing abilities
 Digital Communication pins
 Optimized for C compiler
 Processing speed
 Resources and reference material

DSPIC33EP512MU810





Extensive DSP Library with built in FFT function
4-UART; 4-SPI; 2-I2C
Optimized for C compiler
~53K of RAM
Large online community





Low Noise
Dual Polarity
Model Available in PSPICE
Multiple Op-Amp Models
Available in DIP and SMD configurations
 With exception of the TLV2211

High Accuracy

High Resolution
 19.5 Effective Resolution (Bits RMS)




Differential input and 2.5V reference output
eliminates need for virtual ground
Integrated Programmable Gain Amplifier
Integrated Digital Filter
Available in both DIP and SMD packages

Considerations
 Size (Logic Blocks)
 Number of I/O Pins
 Built in Functionality
 Power Consumption

DLP-HS-FPGA3 USB - FPGA Module
 25,344 Logic Blocks (11,264 slices)
 63 Available user I/O channels
 32 Dedicated Multipliers, libraries for floating point arithmetic
 FPGA module contains: regulators, clock generator, SDRAM, USB
programmer, SPI Flash, compatible with Xilinx ISE WebPack
 FPGA operates on 3.3V, sinks/sources approximately 24mA per I/O pin
BeagleBoard-xM
 1.0 GHz ARM Cortex-A8 Processor
 512 MB RAM
 8 GB microSD HDD
▪ libraries and main program
 4 USB 2.0 Slots
▪ Mouse/Keyboard dev, Webcam
 Expansion Header (Data Transfer)
▪ o SPI
▪ o UART
▪ o I2C
▪ o GPIO

Modular design
 Maintains separation of digital circuitry and
sensitive analog EOG circuitry
 Enables the EOG circuitry to be placed as close
possible to signal electrodes


Video glasses will be used in order to ensure
that the video display is directly in front of
the field of view
Light Weight Single Board Computer
BeagleBoard-xM
 Size: 3.35” x 3.45”
 Weight: < 1 lb.
Logitech C310 HD Cam
 1280x720p frame capture
 < 8 oz.
Vuzix Wrap 920
 Twin 640x480p Display
 < 3 oz.
FPGA and Beagle Board
Microcontroller
Interface
EOG inputs
Power
Supply
2 Switch Mode regulators
5V convertor
For FPGA and
Beagle Board
3.3 V convertor
For Microcontroller
11.1V rechargeable Lithium ion Battery
Connected to EOG via SPI
Registered Jack
(RJ11)
Connected to EOG
via SPI
Logic Level convertor
From 5V to 3.3V
In System Programmer
Switch
debouncer
Pin 13 MCRL
Pin 15 PGEC
Pin 16 PGED
Oscillator
PCB mount
Reset
Through hole
Reset Connections
EEG input via UART


Baud rate = 115200 bps
Specified by the NeuroSky MindWave
4-7hz

EEG frequency
range 4-7hz

Array size 512

Output of the
FFT resides in
RAM

Inbuilt FFT API:
FFTComplexIP()
BitReverseComplex()
SquareMagnitudeCplx()
Switch
debouncer
Beagle Board
4 I/O for EOG
3 SPI pins for EEG
FPGA Module
Select
button
Logic Level Convertor
From 3.3V to 5V
2x5 bit EOG input
4 bit EOG output
Up, down, left, right

Main Board
 Multiple Voltages needed
 Power Traces at least 40 mil, signal traces no smaller than 10 mil
 Isolate oscillator
 Physical location of connectors
 Decoupling Capacitors

EOG Board
 Sensitive analog circuitry
 Distance between electrodes and filtering/amplification
 Physical size of EOG PCB




Electrooculography measures the signal
given off of corneo-retinal potentials in the
eyes
An EOG circuit consists of an instrumentation
amplifier, amplifiers, low pass filtering and
high pass filtering
A high pass filter is used to eliminate a
naturally occurring DC drift
A low pass filter is used to remove all other
external noise
Instrumentation
Amplifier
 High Input
Impedance
 Includes both a high
pass filter to
eliminate DC drift
and a second order
low pass filter
Sallen-Key 2nd-Order Low Pass Filter
 Eliminates noise from external sources
First Order Low Pass Filter – Amplifier Circuit
 Eliminates noise as well as amplifies the signal
Voltage (V)
Time (s)
Voltage (V)
Time (s)
∆Voltage
Sample Number

What is an Artificial Neural Network?
 Simplified mathematical model of the human brain
 Utilizes a network of “neurons” to model relationships between inputs
and outputs

How does a ANN work?
 ANN implement non-linear functions in each neuron
 This function sums weighted input values and passes them through a
non-linear function, usually a Sigmoid function
 This output then propagates to further network layers for the process to
be repeated

Why use an FPGA implementation
 Highly parallel algorithm, with transistor like output
 Need for quick, complex calculations

Basics of A Neuron
 Each neuron contains a number of synapses, one for each previous layer
neuron connected
 A synapses will take inputs and multiply it by a predetermined specific
weight
 The weighted values will then be accumulated and funneled into a
nonlinear activation function (Sigmoid Function)

Hardware Design Considerations
 Need multiple multipliers, one for each synapses (38 multipliers)
▪ Need to condense the size of a neuron
▪ Using control logic and multiple clock cycles we can lower the required
multipliers to a single multiplier per neuron (12 multipliers)
 Implementation of non-linear Sigmoid Function
▪ Look-up Table

Where we proceed from here
 Training and testing of preliminary ANN using Matlab ANN
toolbox
▪ This will allow the weighted values to be hardcoded into the FPGA
 Design and testing of single neuron in VHDL
 Development of a proven working topology
Tentative HUD Features
•Webcam Live Feed
•EEG Signal Data display
•Home Screen
•3 x 3 application layout
•Concentration to select app
•Programs
•Minimal key input
•Closed apps return to Home

October 15-19

 PCB Proof of Parts

communication

 Live Feed Visual Software Suite
 EEG ANN prototyped in MATLAB
 PCB assembled
October 22-26
 Simple Software Suite
 Sample EOG circuit
 ADC microcontroller

Nov 12 – 16
 EOG ANN finished on FPGA

October 29 – Nov 2
Nov 19 – 23
 Software Test Application
 User Training Application
 Micro to Single-board
communication
 EOG ANN finished in MATLAB
Nov 5 – Nov 9

Nov 26 – Nov 30
 Troubleshoot

Dec 3 – Dec 7
 Project Complete