hardware-description

Hardware-Manual of Bio@Fox
Thomas Maeke
May 31, 2007
Ruhr-University Bochum c/o BMZ Otto-Hahn-Str. 15 44227 Dortmund
Version 0.13
Contents
1 Introduction
3
2 Hardware
2.1
2.2
2.3
2.4
2.5
Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Connector positions . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Connector P2, P23 . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 VCC-, Groundpositions, Microuidic-device-Adapter, P9, P11
2.1.4 Temperature control . . . . . . . . . . . . . . . . . . . . . . .
2.1.5 Controller for the AOTF controller (preliminary) . . . . . . .
BOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Case connectors . . . . . . . . . . . . . . . . . . . . . . . . .
Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Toplevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Foxboardconnection . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 FPGA Block . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 RS-232 Block . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5 Power Block . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.6 Sensor Block . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.7 Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4 Component top . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 Component bottom . . . . . . . . . . . . . . . . . . . . . . .
Foxboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Software/Firmware
3.1
3.2
Foxboard . . . . . . . . . . . . . . . . . . .
3.1.1 Devicedriver . . . . . . . . . . . . .
3.1.2 Programmers API . . . . . . . . . .
3.1.2.1 ProScan driver . . . . . . .
3.1.2.2 MMT pump driver . . . . .
3.1.2.3 Temperature/PWM driver
3.1.2.4 I2C driver . . . . . . . . .
3.1.2.5 Microuidic chip driver . .
3.1.2.6 Z-stage trigger driver . . .
3.1.2.7 Camera sync . . . . . . . .
3.1.3 Tools . . . . . . . . . . . . . . . . .
FPGA . . . . . . . . . . . . . . . . . . . . .
3.2.1 Constraints . . . . . . . . . . . . . .
3.2.2 Tools . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
7
8
9
10
11
11
13
13
13
14
15
16
17
18
19
20
20
21
22
23
24
25
25
27
28
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
Chapter 1
Introduction
This manual is meant for hard- and software-developers working on and with BioMIPs new control device Bio@Fox. It is
the central device for connecting to the electronic microuidic chip and many other devices needed for microuidic and
uorescent microscopy.
The controller board Bio@Fox is composed of an embedded 100MHz microcontroller pcb (foxboard) running Linux as
operating system and an interface pcb with peripherals and converter to connect to the outside equipment.
As main peripheral component the Xilinx FPGA XC3S100E connects to the foxboard and controls most of the other
components. It directly connects the microuidic FPGA, controls the two A/D-converter (UTI03), drives the three
optoisolated H-bridges through PWMs, addresses the AOTF-controller via I2C-bus, triggers the Z-stage and can be
synchronized by a camera. Thus allows all processes together with the software running in the foxboard acting in realtime.
E.g.: at the end of an image aqusition, a camera sync pulse leads to a change of the laser color or intensity and the z-stage
can move synchronously. At the same time the electrodes in the microuidic can pulse and the temperature is performed.
With over 40 individually controllable digital I/O pins with at least ve dierent I/O standards each make this board
an ideal and cheap tool for complex system-integration tasks. A programmable Voltage controller allows dierent Vcc for
these pins (1.2V, 1.7V, 1.8V, 2.5V, 3.3V) which oers an alternative peak voltage for the electrodes in the microuidic.
Laser 488
Host PC
Laser 635
AOTF
Sync/TTL
Camera
Andor
CameraLink
Filterwheel
AOTF
Man/Comp
AOTF−
Controller
Ethernet
V24
V24
Generalpurpose I/O
Pump
I2C
Bio@Fox
Microfluidic
system
Peltiers
Temp. Sensors
Step/TTL
Z−Controller
Pump
Z−Stage
V24
V24
V24
X−Y−Stage
XYF−Controller
USB
V24
USB
USB−
4 serial
V24
PWM/Analog
LVTTL
$Id: fox_env.fig,v 1.1 2007/05/31 12:58:53 tmaeke Exp tmaeke $
The gure illiustrates how the Bio@Fox device connects other equipment with dierent interfaces within a microuidic
and microscopy environment.
Chapter 2
Hardware
J3
J5
USB2
J11
Eth0
USB1
DC/DC
I2C
P23,2,4
VccVar
J6
Z−trigger P23,24
J3
RS232
Max232
J2
RS232
Max232
J1
RS232
H−Brigde
K3
PeltierA
Opto
H−Brigde
K4
PeltierB
Opto
H−Brigde
K5
Fan
J7
P14
P15
Gp−I/O P13
1.2V,1.7V,1.8V,2.5V3.3V
Gp−I/O P2
Opto
LED0
P24
FPGA
I2C
Max232
J10 P10
SyncIn P23,7
TestConn
LoPwr 9−36V
5V,3.3V,2.5V,1.2V
LM317
Foxboard
FluidI/O
K2
AEE01AA18
P23
XC3S100E−TQ144
LED1
TLE5205
LED2
P23,15,17
LED3/Done
K1
HiPwr 7−40V
LED4/INIT
P3
P9
A/D (gp)
P4
P11
P5
UTI03
Pt1000A P6
Pt1000B P7
Pt1000ext
A/D (tempr)
P8
2.1 Interfaces
Interfaces of Bio@Fox:
UTI03
RREF=1000Ohm
$Id: fox_blocksb.fig,v 1.1 2007/05/31 12:58:53 tmaeke Exp tmaeke $
JTAG
Download
type
no
comment
connector (no of pins)
RS-232
3
(foxboard) J3 used as console
DSUB-9
Pt1000
3
internal Reference 1000Ohm
jumper 5 pin
A/D
3
for up to 3 R or 3 C meas.
jumper 5 pin
PWM
3
4A 40V H-bridges
jumper 3 pin
USB
2
(foxboard)
USB type A
Ethernet
1
(foxboard)
RJ-45
I2C
1
Hardware (fast)
jumper 3 pin
I2C
1
Software (slow)
jumper 3 pin
JTAG
1
for FPGA
jumper 7 pin
FPGA
1
for FPGA dowload
jumper 7 pin
Sync In
1
camera sync
1pin
Trigger Out
1
z-stage trigger
1 pin
Opto I/O
1
1 in, 1 out
2 pin
FPFA I/O
1
for microuidic-FPGA control
20 pin ex
GP I/O
1
includes FPFA pins
40 pin ex/jumper
Test I/O
1
test-pins and internal signals
26 pin jumper
J10 from foxboard directly connects to P10 of the interfaceboard.
pcb-id
J1,J2,J3
P6,P7,P8
P3,P4,P5
K3,K4,K5
foxJ3,foxJ5
foxJ11
P23
P23
P9
P11
P23
P23
P22
P24
P2,P13
P23
see
2.3.4
2.1.4
2.1.3
2.1.4
2.5.2
2.5.2
2.1.2
2.1.2
2.1.3
2.1.3
2.1.2
2.1.2
2.3.5
2.3.1
2.1.2
2.1.2
2.1.1 Connector positions
EXT_CLK_P
VCC3.3
TST0
FPGA2
CTL_PLTA1
FPGA3
CTL_PLTB1
FPGA4
CTL_Fan
FPGA5
SDO_A
SDO_B
HDC
FPGA0
EXT_CLK_N FPGA1
TST1 FPGA6
TST2 FPGA7
FPGA8
FPGA10
FPGA9
GND
2
100
1
CSO
FOX0
4
100
I2C−HW
100
I2C−SW
100
FOX1
FOX2
FOX3
NMI
FOX4
I_G3
FOX5
I_G5
SCL
O_G25
FOX8
GND
FPGA11
IACK
FPGA13 TST4
FPGA12 TST3
CSO
$Id: fox_conns_v1.1.fig,v 1.2 2007/01/15 14:36:41 tmaeke Exp tmaeke $
VControl V1.1
Connectors
RUB BioMIP
FPGA12 TST3
3
FPGA13 TST4
6
IACK
Z−trig−out
GND
100
FOX7 RES_OUT
5
GND
VCC1.2
NC
8
GP1
GP3
REF2
I_G5
VCC2.5
FOX5
GP5
I_G3
REF1
GCK5
VCCVAR
NMI
FOX4
FPGA11
GP0
TDO
FOX3
SCL
O_G25
7
TCK
2
1
4
3
6
FOX2
8
5
FOX1
26 24 22 20 18 16 14 12 10
FPGA9
FOX0
FOX8
GND
25 23 21 19 17 15 13 11
FPGA10
TDI
FPGA5
TMS
7
9
FPGA4
CTL_Fan
DIN
CTL_PLTB1
FPGA8
PROG
GND
FPGA3
CCLK
SIG18
GND
EXT_CLK_N FPGA1
INIT
SIG19
SIG16
HDC
SIG17
SIG14
TST2 FPGA7
FPGA2
SDO_B
SIG15
SIG12
SDA
SCL
TST1 FPGA6
TST0
CTL_PLTA1
SDO_A
FPGA0
26 24 22 20 18 16 14 12 10
GND
SIG11
SIG7
VCC3.3
9
P9:JTAG
1:3.3V
2:Gnd
3:TCK
4:TDO
5:TDI
6:TMS
SIG10
SIG8
1k
SIG13
SIG9
SIG6
2k2
EXT_CLK_P
25 23 21 19 17 15 13 11
P11:CONF
1:3.3V
2:Gnd
3:CCLK
4:D/P
5:DIN
6:PROG
SIG4
SIG5
1
3
5
7
9
39 37 35 33 31 29 27 25 23 21 19 17 15 13 11
2
4
6
SIG3
8
40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10
SIG2
SYNCin
2.1.2 Connector P2, P23
SDA
SDA
NC
FOX7 RES_OUT
P11:CONF
1:3.3V
2:Gnd
3:CCLK
4:D/P
5:DIN
6:PROG
P9:JTAG
1:3.3V
2:Gnd
3:TCK
4:TDO
5:TDI
6:TMS
3.3V
5V
Gnd
1.2V
2.5V
VccVar
TempDF3
TempCD 1
TempBC 2
REF
P4
C
Bias
E
F
P3
Rx
Rx
D
REF=1k Bias=4k7
1
36
Pt1000 with second UTI
P5
A
Rx
B
3.3V
37
144
73
128
ttyS0
72
129
Gnd
2.5V
Var
ttyS2
1.2V
5.0V
Gnd
3.3V
5V
5V
ttyS3
/~INIT
/DONE
Fan
PeltierB
PeltierA
+
−
2006/07/19
F
B
A
$Id: fox_v1.1.fig,v 1.3 2006/08/03 11:57:17 tmaeke Exp tmaeke $
VControl 1.1
RUB BioMIP
VControl
BioPro
2.1.3 VCC-, Groundpositions, Microuidic-device-Adapter, P9, P11
2.1.4 Temperature control
Bio@Fox−board
(top view)
HiPwr
+ K1 −
Pt1000
Sensorconnection
to P6..P8
K3
A
K4
B
K5
F
P8 P7 P6 P5 P4 P3
Ext.
B A
Module
Peltier: TECB−13
Pmax: 18.7W
Imax: 3.9A
Umax: 8.6V
deltaTmax: 71 oC
30x30x4.7mm 3
Peltier
A
Peltier
A
B
B
Sensors
BioPro modulecarrier
$Id: fox_tempctrl.fig,v 1.1 2007/05/31 12:58:53 tmaeke Exp tmaeke $
2.1.5 Controller for the AOTF controller (preliminary)
2.2 BOM
value
XC3S100ETQ144
case
TQ144
references
U14
UTI03-SOIC18
TLE5205-2-PTO22
PC847
NPN
MAX232
LM317_SOT223
ASFL1_33VDC
AEE01AA18
78L05
LED
DIODE
DIODE
TST
TEL-CONN
JUMPER
DC20-09
DB9
HE10-26
FOX-BOARD_J7
FOX-BOARD_J6
FLEX_40
CONN-POW
CONN_6
CONN_5
CONN_20X2
CONN_20
SOIC18-WIDE
P-TO220-7-11
U12 U13
U9 U10 U11
P19 P20 P21
Q2 Q3 Q4
U6 U7 U8
U15 U16 U17
U2
U1
U18
D1 D2 D3 D4 D5
D7 D8
D6
P31
K3 K4 K5
JP1
K2
J1 J2 J3
P23
P15
P14
P13
K1
P9 P10 P11
P3 P4 P5 P6 P7 P8
P2
P25 P27
CONN_20
CONN_1
CONN_12
4,7K
4,7K
47K
470
470
3,3K
330
270
270
240
220
1K
1K
1,2K
10
100
220uF
47uF
16dip300
SOT23EBC
SOIC16
SOT223_LM317
CCO_ASFL1
AEE01AA18
TO-92
LEDV
DO_213AB
D5
PINTST
tel-con_simple
LEDV
DC20-09
DB9-freestand
he10-26c
foxboard-40pin
foxboard-40pin
Molex-40pin
tel-con_simple
SIL-6
SIL-5
he10-40c
FSI20upsidedown
CONN20_SMD
PINTST
SIL-12
SU1206_v
SM0805_v
SM0805_v
SU1206_v
SM0805_v
SU1206_v
SM0805_v
SU1206_v
SM0805_v
SU1206_v
SM0805_v
R3
SU1206_v
SU1206_v
SM0805_v
SM0805_v
C5V10
SM1210L_v
4,7uF
100nF
SM1210L_v
SM0805_v
P24 P26 P28 P29 P30 P32
P33 P34 P35 P36 P37 P38 P39 P40 P41
P22
R56
R18 R19 R36 R37 R38 R39 R40 R41 R42 R43 R44 R46 R47 R69 R70 R71
R12 R13 R14 R68
R24
R2 R3 R4 R5 R11 R27 R28 R29
R50
R67
R23 R26 R52
R30 R31 R32 R33 R34 R35 R45
R20 R21 R22
R66
R9
R8 R25
R51
R48 R49
R1 R53 R54 R55 R57 R58 R59 R60 R61 R62 R63 R64 R65
C40 C41 C42 C61
C43 C44 C45 C46 C47 C48 C49 C50 C51 C52 C53 C54 C58 C59 C60 C70
C71
C38 C39
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18
C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 C33 C34
C35 C36 C37 C55 C56 C57 C62 C63 C65 C66
2.2.1 Case connectors
2.3 Schematics
2.3.1 Toplevel
2.3.2 Foxboardconnection
2.3.3 FPGA Block
2.3.4 RS-232 Block
2.3.5 Power Block
2.3.6 Sensor Block
2.3.7 Changes
2.4 Layouts
2.4.1 Top
2.4.2 Bottom
2.4.3 Drawings
2.4.4 Component top
2.4.5 Component bottom
2.5 Foxboard
2.5.1 Schematics
2.5.2 Drawing
2.5.3 Connectors
Chapter 3
Software/Firmware
3.1 Foxboard
For Foxboard development issues see: www.acmesystems.it http://www.acmesystems.it/?id=14
3.1.1 Devicedriver
see:
etraxgpio.h
gpio_vc11.c
3.1.2 Programmers API
see:
vcontrol1_v.h (this is derived from vcontrol.v, see 3.2)
fox_io.c fox_io.h
bio_xcs.c bio_xcs.h
xcs_acc.c xcs_acc.h
fpga_le.c fpga_le.h
vc_fpga.c vc_fpga.h
vc_fpga_func.c vc_fpga_func.h
vc_xyf.c vc_xyf.h
ng_xcs_vc.c ng_xcs_vc.h
3.1.2.1 ProScan driver
3.1.2.2 MMT pump driver
3.1.2.3 Temperature/PWM driver
units
3.1.2.4 I2C driver
3.1.2.5 Microuidic chip driver
3.1.2.6 Z-stage trigger driver
3.1.2.7 Camera sync
3.1.3 Tools
make fox
create_mpeg
3.2 FPGA
For FPGA programming see: XILINX www.xilinx.com
see:
vcontrol1.v
i2c.v
3.2.1 Constraints
see:
vcontrol1.ucf
3.2.2 Tools
make vcontrol fpga
Bibliography
www.xilinx.com
www.acmesystems.it
www.linux.org
andor proscan xyf, camera
mmt pump
pi.com z-stage
tle5204, inneon
uti03, smartec
max232, maxim
lm317, national semi
dc/dc ??
Flex, Molex