The Fei Koala Architecture - Welcome to...
Transcript of The Fei Koala Architecture - Welcome to...
The Fei Koala ArchitectureThe Fei Koala Architecture
& why we hope it is future proof& why we hope it is future proof
2004-1-6 Pybe Faber2
ContentsContents
!! Introduction to FeiIntroduction to Fei 5 min5 min!! Why Why ‘‘future proof architecturefuture proof architecture’’?? 5 min5 min!! Architecture modelArchitecture model 10 min10 min!! Fei Koala ArchitectureFei Koala Architecture 10 min10 min!! ConclusionsConclusions 5 min5 min
2004-1-6 Pybe Faber3
Introduction to FeiIntroduction to Fei
HistoryHistory!! 1949: Philips Electron Optics sold first commercial TEM1949: Philips Electron Optics sold first commercial TEM!! 1971: Fei (Field Electrons & Ions) is founded1971: Fei (Field Electrons & Ions) is founded!! 1997: Fei and PEO merge1997: Fei and PEO merge
Operations in Operations in !! Hillsboro (Oregon) Hillsboro (Oregon) –– Main OfficeMain Office!! Peabody (Massachusetts)Peabody (Massachusetts)!! Eindhoven Eindhoven (Netherlands)(Netherlands)!! BrnoBrno (Czech Republic)(Czech Republic)
About 1600 employees worldwide, About 1600 employees worldwide, nasdaqnasdaq FEIC ($26.51 on 28FEIC ($26.51 on 28--11--2004)2004)
2004-1-6 Pybe Faber4
Fei ProductsFei Products
Fei ProductsFei Products!! Transmission Electron Microscope (TEM)Transmission Electron Microscope (TEM)!! Scanning Electron Microscope (SEM)Scanning Electron Microscope (SEM)!! Focussed Focussed Ion Beam (FIB)Ion Beam (FIB)!! Dual Beam (DB = SEM + FIB)Dual Beam (DB = SEM + FIB)
2004-1-6 Pybe Faber5
ContentsContents
!! Introduction to FeiIntroduction to Fei 5 min5 min!! Why Why ‘‘future proof architecturefuture proof architecture’’?? 5 min5 min!! Architecture modelArchitecture model 10 min10 min!! Fei Koala ArchitectureFei Koala Architecture 10 min10 min!! ConclusionsConclusions 5 min5 min
2004-1-6 Pybe Faber6
What is architecture?What is architecture?
!! Standardized interfaces between modulesStandardized interfaces between modules
Examples:Examples:!! Standardized dimensions (e.g. for plumbing pipes & joints or Standardized dimensions (e.g. for plumbing pipes & joints or
screws & bolts)screws & bolts)!! Standardized pinStandardized pin--out & voltages for connectors (e.g. out & voltages for connectors (e.g.
telephone and mains power)telephone and mains power)!! Standardized software interfaces (e.g. http, COM)Standardized software interfaces (e.g. http, COM)
2004-1-6 Pybe Faber7
Why architecture?Why architecture?
!! Share infrastructureShare infrastructure!! Independent development of modules (by many Independent development of modules (by many
people)people)!! Reuse of modulesReuse of modules
→→ Reduce costReduce cost
2004-1-6 Pybe Faber8
Why not architecture?Why not architecture?
!! Expensive to designExpensive to design!! Limitations (things that cannot be done)Limitations (things that cannot be done)!! Education of peopleEducation of people!! Modules may be more expensive / complex because they Modules may be more expensive / complex because they
must match the architecturemust match the architecture
2004-1-6 Pybe Faber9
Why future proof?Why future proof?
!! To avoid designing a new architectureTo avoid designing a new architecture»» Which costs a lot of timeWhich costs a lot of time»» Which makes existing modules & tools obsoleteWhich makes existing modules & tools obsolete»» Which makes existing education obsoleteWhich makes existing education obsolete
2004-1-6 Pybe Faber10
Why new architecture?Why new architecture?
!! Desire for better performanceDesire for better performance!! Obsolete parts, knowledge, toolsObsolete parts, knowledge, tools!! Price reductionPrice reduction!! Get rid of topGet rid of top--heavy old architecture heavy old architecture
(due to add(due to add--ons over time)ons over time)
2004-1-6 Pybe Faber11
LongLong--lived architectureslived architectures
17951795 France adopted the metric system (again France adopted the metric system (again in 1840)in 1840)
18041804 Steam locomotive (standardized tracks)Steam locomotive (standardized tracks)18761876 TelephoneTelephone18821882 Electricity (EdisonElectricity (Edison’’s first power station)s first power station)19691969 TCP/IPTCP/IP
2004-1-6 Pybe Faber12
Why longWhy long--lived?lived?
!! Prohibitively expensive to replaceProhibitively expensive to replace!! Good design (gradual improvements possible)Good design (gradual improvements possible)
2004-1-6 Pybe Faber13
ContentsContents
!! Introduction to FeiIntroduction to Fei 5 min5 min!! Why Why ‘‘future proof architecturefuture proof architecture’’?? 5 min5 min!! Architecture modelArchitecture model 10 min10 min!! Fei Koala ArchitectureFei Koala Architecture 10 min10 min!! ConclusionsConclusions 5 min5 min
2004-1-6 Pybe Faber14
UI
App.
Srv
r.M
icro
scop
e Se
rver
Hardware Interconnectionlayer (high bandwidth andtime critical connections)
HardwareInterlocks layer
Electronics layer(hardware)
Firmware layer(safety, performance)
Model layer(standalone, nointerconnections)
Safety layer(interlocks)
Synchronization layer(non-optionalinterconnections between models)
Client layer
Application layer(translate between machineand user states)
Automation layer(Optional behavior)
Vacuumfirmware(PUC)
e-Sourcefirmware(2xPUC)
Aquisitionfirmware(DSP)
Scanfirmware(DSP?)
Motionfirmware(Nyquist)
Vacuummodel
e-Sourcemodel
Opticsmodel
Aquisitionmodel
Scanmodel
Detectormodel
Motionmodel
Source off ifvacuum not
OK
Source andOptics usesame HV
value
Spot sizechangesdetector
gain
AutoContrast &Brightness
Detectorpresets
Vacuumelectronics(VIU, MUC)
e-Sourceelectronics
(HTSU,FGSU)
Opticselectronics
Aquisitionelectronics
(Viper Quador ISAS)
Scanelectronics(DSPB or
ISAS)
Detectorelectronics
Motionelectronics
(STAB)
UserInterfaces
ApplicationUI's Third parties
Video
Position withstage and
optics
Pause CCDwhen BSDselected
Add'commercial'
states
Load Lock(Load,
Unload)
Blank beamduring long
stage moves
Automaticallydegauss
optics
Stagecollision
prevention
Move stagedown on vent
UserSessions
UserPreferencesand presets
Active Quad
Raw
Beh
avio
r
Aut
omat
ion
App
licat
ion
Beh
avio
r
Har
dwar
e
Scan
vacuuminterlock
vacuuminterlock
Simplifymachinestates
Detectors offif vacuum
not OK
Scan andacquisitionuse samesettings
Grouping of system behavior into logical layers. An actual implementation will have less layers than shown here, combining several layers into one.Interconnections within a single layer are forbidden: if two modules need to share data this must be done in a higher layer, and at least at the level of theSafety layer (for software) or in one of the two lowest layers (for electronics). On the left you can see a coarse behavior split between Raw (hardwarespecific) and Application (market specific) behavior, and how the xT Nova functionality it is split over the Microscope Server, Application Server and UI(there is still too much functionality in the Microscope Server). Note that only a few of the actual modules and interconnections are shown.
Pybe Faber 28-1-2004
LayersLayers
2004-1-6 Pybe Faber15
ContentsContents
!! Introduction to FeiIntroduction to Fei 5 min5 min!! Why Why ‘‘future proof architecturefuture proof architecture’’?? 5 min5 min!! Architecture modelArchitecture model 10 min10 min!! Fei Koala ArchitectureFei Koala Architecture 10 min10 min!! ConclusionsConclusions 5 min5 min
2004-1-6 Pybe Faber16
Fei Architecture HistoryFei Architecture History
!! ±±19851985 xLxL: first mouse: first mouse--controlled SEM, P80 controlled SEM, P80 electronicselectronics
!! ±±19951995 xPxP: 32 bit (mainly: 32 bit (mainly xLxL electronics)electronics)!! 19981998 TecnaiTecnai: first mouse: first mouse--controlled TEM, COM, controlled TEM, COM,
P80 electronicsP80 electronics!! 20012001 Quanta: new electronics, CAN bus, Quanta: new electronics, CAN bus,
modularized server software, digital videomodularized server software, digital video!! 20032003 Nova&Quanta3D: application server, topNova&Quanta3D: application server, top--
down software interconnectionsdown software interconnections
2004-1-6 Pybe Faber17
Hardware interfacesHardware interfaces
Microscope consoleElectronics consoles Microscope Computer100 Mb ethernet
VacuumInterface
Unit(VIU)
HTSUEOptics Detectors(IQI)
DigitalScan andPatterning
Acquisition(ViperQuad)
198.211.143.93CCB 14
P80
Analog Scan signals
Analog Detector outputs
HUB
SystemServices(SSIB)
198.211.143.82Motion
controller(Nyquist)
STageAmplifier
Board(STAB)
Powersupplies
TestLine(OPTD)
OpticsScan
(OPSS)
Support PCSecondEthernet Adapter
198.211.143.65Ethernet Adapter
FGSU IGPsupplies
sta
GIS
CAN
IOptics(EOCU)HVPS
DigitalScan andPatterning
Analog Scan signals
2004-1-6 Pybe Faber18
Software interfacesSoftware interfaces
!! (D)COM interface between instrument server, application (D)COM interface between instrument server, application server and UI.server and UI.
!! Object Model: structured way to organize the interface, Object Model: structured way to organize the interface, target is to have a single OM for all Fei products (will take target is to have a single OM for all Fei products (will take a few years stilla few years still……).).
!! Visio tool to graphically display connections between Visio tool to graphically display connections between ‘‘bricksbricks’’ (software modules) (software modules) –– see next slide.see next slide.
2004-1-6 Pybe Faber19
BricksBricksXT Smart Architecture Diagram
Refresh Nodes
filename.exe
3Positioning Algorithm
1Connector Template
2Node Template
-Entity
Remove All Connections
Drawing Control Panel
c:\TecnaiSimpleMap.txt
Source FileDim All Connections
Clear DiagamRefresh All
(duration ~1 minute!)
1Data Source
Node Template :1 = "explorer style"2 = Square blob style
Connector Template :1 = Straight line
Positioning Algorithm :1 = Explorer small icon style2 = Levels based on Tecnai
dependancy file3 = brick prefix
Nodes can be moved and the diagram will beupdated. Right click on nodes to highlight and dimindividual nodes.Save Position Nodes Restore Position Nodes C:\tools\visio\Solo3n.txt
Position File
1BhvAdapter
1
BhvAreaOfInterestFinding
1
BhvAutofunctions
1
BhvBeamCorrections
1BhvConditions
1BhvDatasource
1
BhvImageFormation
1
BhvImageMemento
1BhvMaintenance
1
BhvMaintenance2
1
BhvNormalization
1BhvPatterning
1BhvPredict
1BhvSafety
1BhvSimEBeam
1BhvSimIBeam
1
BhvSpecimenExchange
1
BhvStateManager
1BhvVacuum
1HalCcb14
1HalDriver
1HalFIBGun
1HalGunFEG
1HalGunHT
1
HalHwdRegulator1
HalImaging
1
HalMagnumFIBOptics
1
HalMagnumFIBRegulator 1
halmotion
1halmotionAVA
1HalMux
1HalRack
1HalRegulator
1HalSsib
1HalSta
1HalVacuum
1HlfAlignments
1HlfMemento
1HlfSDB
1
HlfUserDataServer
1
MdlCurrentSense
1MdlFibgunBrick
1MdlGunFegBrick
1MdlImaging1
MdlLogicalDetectors
1
MdlMagnumFIBOptics
1MdlMotion
1MdlOpticsBrick
1
MdlPhysicalDetectors
1MdlPositioning
1MdlService
1
MdlSingleAvaBrick
1Mdlvacruleset
1Mdlvacuum
1ObjectModel
1OMDataSources
1OMDetectors
1OMEBeam
1OMIBeam
1OMInstrument
1OMPatterning
1OMPositioning
1OMService
1
OMSpecimenCurrentMeter
1OMVacuum
1TadRegulators
2004-1-6 Pybe Faber20
ContentsContents
!! Introduction to FeiIntroduction to Fei 5 min5 min!! Why Why ‘‘future proof architecturefuture proof architecture’’?? 5 min5 min!! Architecture modelArchitecture model 10 min10 min!! Fei Koala ArchitectureFei Koala Architecture 10 min10 min!! ConclusionsConclusions 5 min5 min
2004-1-6 Pybe Faber21
Hardware TrendsHardware Trends
!! Bare PC, only standard network connections Bare PC, only standard network connections ((ethernetethernet, possibly also USB2, , possibly also USB2, firewirefirewire or CAN).or CAN).
!! Standalone modules with standardized power and Standalone modules with standardized power and network connections (network connections (ethernetethernet or CAN).or CAN).
!! Second (Second (‘‘supportsupport’’) PC for 3) PC for 3rdrd party applications, party applications, postpost--processing, data storage (keeping the server processing, data storage (keeping the server PC load predictable).PC load predictable).
2004-1-6 Pybe Faber22
Software TrendsSoftware Trends
!! More modular software, in a more hierarchical structure, More modular software, in a more hierarchical structure, distributed over more than one PC. distributed over more than one PC.
!! As a result: focus on standardized software interfaces, with abiAs a result: focus on standardized software interfaces, with ability lity of of ‘‘remotingremoting’’ (network connections).(network connections).
!! Databases for result storage (data from Fei systems, but also Databases for result storage (data from Fei systems, but also from 3from 3rdrd party equipment).party equipment).
!! Tighter integration of 3Tighter integration of 3rdrd party equipment, needed to party equipment, needed to automate complex tasks (focus on automate complex tasks (focus on ‘‘solutionssolutions’’ rather rather than than ‘‘toolstools’’).).
!! Moving to C# / .NET for application software (highest level).Moving to C# / .NET for application software (highest level).
2004-1-6 Pybe Faber23
Lessons from Lessons from FeiFei’’ss pastpast
!! Complex parts are longComplex parts are long--lived: the knowledge to lived: the knowledge to design them is gone.design them is gone.
!! HighHigh--risk parts are longrisk parts are long--lived: a new design may lived: a new design may introduce big problems.introduce big problems.
!! Embedded software is hardest to maintain.Embedded software is hardest to maintain.!! A new architecture MUST be linked to a product.A new architecture MUST be linked to a product.!! Lean design: only standardize what is neededLean design: only standardize what is needed!! DonDon’’t add bells & whistles, provide t add bells & whistles, provide ‘‘convenienceconvenience’’ as as
standstand--alone tools, not as part of the architecturealone tools, not as part of the architecture