Real-time embedded machine control custom software development

 

Dennis J. (Jim) Orsini        home page  

Principal Software Consultant        

510.657.7537

web:    www.sw-for-hire.com

email:  jimorsini@sw-for-hire.com      

 

Overview

My primary area of expertise is real time software. I focus on developing a solid understanding of the application domain and crafting appropriate solutions to my client’s problems.  I have extensive experience in all phases of development from system and software requirements definition, design and documentation through coding, testing, integration and field trials.  I have specified and worked in target environments ranging from distributed and tightly coupled multiprocessor systems to standard desktop systems to embedded microcontrollers.  I have used both commercial and proprietary operating systems.  I am comfortable selecting and using standard design methodologies, development tools, and test equipment and have designed and built specialized tools and equipment when necessary.   I have worked in a broad range of application domains including Semiconductor Equipment, Factory Automation, Flight Simulation, Public Utility Supervisory Control and Data Acquisition, Medical Instrumentation, Computer Peripherals, Automated Testing, and Sonar.  I also have written hardware diagnostic, data communication and business application software.  I work well with both small and large teams and enjoy interacting with coworkers in other disciplines.  I have traveled extensively in the U.S. and overseas for my clients and have represented clients at customer and vendor sites.

Work History

Note: All positions since Mar 1976 (except at Antekna) have been as a contractor. All prior positions (except military service) have been an employee.

Applied Materials             Dec 2001-Present

Designed and implemented Semiconductor Fabrication Tool Software that enabled a dual loadlock vacuum pump configuration for an Applied cluster tool.  Also did SECS/GEM integration work for a data collection and analysis product. Languages were C and  Motorola 68xxx Assembly Language.  Rtos was proprietary. Development environment was Windows NT.

Pacific Consultants           Jan 2001-Dec 2001

Integrated a wireless lan (802.11) driver into a custom Windows CE environment. Also implemented 3DES encryption for wireless communication using the Microsoft Enhanced Cryptographic Service Provider. Languages were C and C++. Target environments were Windows CE and NT. Development environment was Windows NT.

Applied Materials             Feb 1999-Jan 2001

Worked on the design and integration of software that enhances the reliability, availability, and maintainability of semiconductor fabrication tools. This software, which runs on a network of Windows NT Workstations, collects real time process data from tools via a modified SECS/GEM port and supports fault prediction applications. This software also provides factory efficiency engineers with the capability of viewing and analyzing real time and historical data at their desks.  It also provides an array of applications that support the development of fault prediction models, aid tool maintenance, and help improve yields.

ExperTech                       Jan 1999-Jun 1999

Worked on two device driver ports. Devices were the Packet Engines Gigabit Ethernet S-bus adapter and the Sun OC12 ATM S-bus adaptor.  Both device manufacturers supplied Sun Solaris drivers. The target was the Auspex NS8000 Network File Server’s Unix like environment.

Applied Materials            Mar 1992-Feb 1999

Did extensive design, implementation, and testing of machine control and factory interface software for Semiconductor Fabrication Tools. With one other engineer, executed (requirements through field trials) two factory automation projects.   One project was among the first to implement fully automatic transfer of material to and from the Tool via Automatic Guided Vehicles.  Worked extensively with the SECS/GEM standards for intra factory communication.

Lead a small team that designed and implemented a broadly used distributed control subsystem for heat exchangers.  Wrote software that controls gas delivery subsystems. Wrote software to collect and process semi E10 statistics.  Designed and implemented user interfaces. Maintained wafer handling and sequencing subsystems. Wrote service programs. Implemented and tuned process control loops for pressures, temperatures etc.  Wrote software to implement and expand digital and analog I/O subsystems.  Produced numerous bug fixes and performance enhancements.  Implemented many “customer special” options.  Wrote requirements, design, code and test documents for all projects. Helped train junior engineers.  Worked extensively with clients’ customers and vendors.  Programs were written in C, Pascal, and Motorola 68xxx Assembly Language.  Rtos was proprietary.  Development environments were Windows NT and Sun OS.

Measurex                         Sep 1991- Dec 1991

Designed and wrote software for a custom multi-drop serial link that is part of a factory automation data acquisition system. My design used table driven state machines to implement the communication protocol. Command transactions could be easily added to the protocol by adding entries to the control table. This design emphasized modularity, extendibility and clear traceability of protocol requirements to code. Language was C. Processor was Intel 80186.

Personafile                       Apr 1991-Aug 1991

Participated in the implementation of a text oriented database. Product is a networked Windows 3.0 application that manages resumes for Human Resources organizations. This database is a tree structured component which facilitates the automatic scanning, storage, search and retrieval of documents in text and image format.  It is layered on the Fulcrum FulText product and is implemented as a Windows DLL. Wrote programs in C and used the CodeView debugger.

Adaptec                            Oct 1990-Apr 1991

Wrote embedded firmware for laser printer controllers. Worked on operator panel and real time control portions of the system.  Gained experience with PCL4, Epson, and other printer emulations.  Was exposed to PCL5, management of scalable fonts, and banding algorithms. Language was C. Processor was M68000.

Link Flight Simulation     Jan 1989-Sep 1990

Designed and implemented software for real time simulation of advanced airborne radar set. This software implements Radar Signal Processor and Radar Data Processor algorithms on a tightly coupled four processor (TI TMS320-30) system (Link proprietary design). Used structured design methodologies. Worked closely with system and hardware engineers. Produced and worked from Military Standard Documents.  Development environment was VAX/VMS/TI tools. Target environment was TI TMS320-30. Language was C.

Participated in the implementation of Link’s Common Diagnostic Interpreter and related programs. Modified VME bus driver and assisted in hardware software integration. Participated in the design of a real time diagnostic system. Development environment was VAX/VMS/Link proprietary. Target environment was Concurrent Systems 32/OS32. Language was Ada.

Applied Materials            Apr 1988-Dec 1988

Designed and implemented an upgrade to the SECS communication interface for an epitaxial reactor. Expanded Stream 2 and 5 functionality. This allowed a host computer (cell controller) to run the reactor.  This was done for the purpose of automating material handling and process parameter (recipe) adjustment. Had responsibility for coordinating project and interfacing with Applied’s customer. Development environment was VAX/VMS. Target environment was Intel 8085/proprietary rtos. Language was 8085 assembly.

Gryphon Products           Jan 1987-Dec 1987

Participated in writing software functional requirements and design specifications for a physical vapor deposition semiconductor tool.

Semiconductor Systems  Jul 1987-Dec 1987

Implemented a SECS interface for the coater developer subsystem of a Linked Lithography System (LLS). This interface was used to coordinate wafer handling and processing with the LLS’s stepper subsystem. Also supplied design and system integration services related to the LLS. Development environment was DOS/PC. Target environment was VRTX/PC. Primary language was C.

System Control                Jul 1985-Dec 1987

Designed and implemented two specialized alarm reporting subsystems for an electric public utility’s Supervisory Control and Date Acquisition  (SCADA) system. These subsystems are responsible for sampling subsets of the system’s analog input points, comparing values to multiple limit sets, and reporting error conditions.  Both subsystems are “add-ons” to System Control’s standard SCADA system. They supply special functions required by a particular end user. A significant portion of the effort expended on this project was directed towards making efficient use of the standard system and minimizing changes. This task was made difficult by the complexity of the standard system and by the intimacy of the relationship between the standard and special functions. Development and target environments were VAX/VMS. Primary language was FORTRAN.

Also designed and implemented a real time natural gas flow computational module for the data acquisition computers (Remote Terminal Units or RTU’s) of a gas public utility’s SCADA system. This module computes flows and volumes from orifice meter outputs (pressures, temperatures, specific gravities, etc.) using American Gas Association algorithms (AGA-3, ANSI/API 2530). It also performs heat of combustion and turbine meter flow calculations. Since each remote site is comprised of a unique mix of meters and related equipment the module was designed to be broadly configurable. Development environment was VAX/VMS and DOS/PC. Target environment was Motorola 6809. Also integrated the AMD 9512 floating point coprocessor into the target environment and wrote numerical and interface routines for this device. Primary language was C.

Nanometrics                     Jun 1985-Oct 1985

Designed a SECS interface for an electron microscope. Target environment was iRMX-86

Applied Materials            Oct 1983-Jun 1985

Designed and wrote closed and open loop control and related programs for material handling, temperature, and pressure subsystems for semiconductor processing equipment. Worked closely with engineers to solve mechanical and gas flow problems. Programs were written in PASCAL. Development environment was VAX/VMS. Target environment was MTOS/Motorola 68000.

Also worked as a member of a four man team that developed a mass storage server for an epitaxial reactor. Language was C. Development and target environments were DOS/PC. SECS protocol was used for communication between the server and the reactor.

Dictaphone                       Feb 1983-Jun 1983, Dec 1981-Jun 1982

Wrote hard disk driver and disk diagnostic for a Motorola 68000 based product. Also participated in the design and implementation of a low speed, many channel communication multiplexer that was used to monitor the product during manufacturing test. Wrote diagnostics and system exerciser programs for an Intel 8085 based system. Wrote display, keyboard, and printer drivers. Participated in the design of Dictaphone’s “technician friendly” diagnostic environment. Languages were Motorola 68000 assembly, Intel 8085 assembly and PLM. Target environment was proprietary. Development environment was UNIX.

Genrad STI                      Jul 1982-Feb 1983

Proposed a high level design for a diagnostic system for the GR-18 semiconductor tester. Proposal included functional and structural specifications for a shell program that provided an environment for a set of test elements that performed tests on the GR-18 hardware. Operator interface, element sequence control, and fault reporting facilities were included in the design. Facilities for analyzing multiple faults and for easily changing the test element set were also included. Implemented a limited version of this design for the TPP-2/04 (The GR-18’s high speed processor). Languages were PASCAL and TPP-2/04 microcode. Hardware was PDP11 and TPP-2/04 Target environment for the PDP11 was RSX. Development environment was VAX/VMS.

System Development Corporation         Jun 1982-Jul 1982, Oct 1978-Dec 1981

Performed a variety of tasks at the DARPA Acoustic Research Center (ARC). Wrote diagnostics for a special purpose interface and memory. Designed and simulated a program to do real time digital beamforming. Participated in the integration of the FPS-AP120B into the ARC signal processing system. Made substantial upgrades to the ARC’s multi channel data acquisition and filtering front end. Supervised the integration of a medium sized system running on a PDP11 under RSX. Languages were SPS-81 microcode, Modcomp MCII assembly and FORTRAN.

SmithKlein Instruments   Jun 1978-Dec 1978

Participated in the development of a medical instrument used for real time acoustic (ultrasonic) imaging of the hart. Wrote AMD2900 Microcode. Supported the design of  a special purpose video refresh memory.

Amdahl                             Nov 1977- Jun 1978

Participated in the development of a computer aided manufacturing facility for the Amdahl mainframe. Designed and wrote a driver module for the HP RTE III operating system. This program controls the interface between an HP 21MX computer and a manufacturing fixture. Also wrote programs to facilitate hardware test. Languages were HP 21MX assembly and FORTRAN.

Antekna                            Jul 1977-Nov1977

Designed software and allocated requirements for an electronic warfare training simulator. Defined simulation requirements for threat, electronic counter measure, and environmental signals.

Sperry Support Systems  May 1977-Jun 1977, Mar 1976-May 1976

Performed a variety of design, programming and writing tasks. These included writing security related programs at the DARPA Acoustic Research Center, evaluating system maintenance procedures for FLTSATCOM shore facilities, and proposal writing.

National Semiconductor  Oct 1976-Feb 1977

Wrote a programming and interface manual for the MM57199 calculator oriented microprocessor.

Signal Processing Systems          Jul 1972-Mar 1976

Designed and implemented real time software for a sonar signal processing installation. Tasks included control of a multimode refresh memory display, programmable signal processing computers and standard peripherals. The control computer, an SEL 810B, was programmed in assembly language. Special attention was given to modularity and flexibility.  The system was adaptable to a range of sonar modes through modification of tables. Also wrote control programs for the SPS-81 signal processing computers. This task included building an interpretive system that supported a language more suitable for writing control code than the micro language of the signal processing computers. Wrote other microcode for SPS computers and gained familiarity with memory management and signal processing techniques. Worked in sales and customer support. Provided pre and post sale technical consultation, customer training, and system and software interface design. Languages were SEL 810B assembly, SPS 41/81 microcode, and FORTRAN.

Teledyne Adcom              Mar 1972-Jul 1972

Modified and tested a data compiler for an acoustic data acquisition system. Gained an understanding of input/output and interrupt structures, of  real time monitors and of digital signal processing hardware. Language was Varian 620i assembly.

National CSS                    Sept 1971-Mar 1972

Participated in the development of VP/CSS (a modification of the IBM CP/CMS timesharing operating system for the IBM 360-67). Responsibilities included rewriting and modifying portions of the text editor and a number of other programs in the CSS system. Gained knowledge of the file management subsystem and the command processor. Language was IBM 360 assembly (BAL).

US Army                           Jul 1968-Apr 1970

Wrote commercial programs for payroll, inventory, personnel and accounting systems. Extensive documentation and flowcharting were required. Work included some system design. Language was Univac 1005 assembly. Also was trained as an artilleryman.

Pratt and Whitney Aircraft        Feb 1968-Jul 1968

Wrote programs to analyze data from engineering tests. Emphasis was placed on statistical analysis for the purpose of establishing confidence levels and evaluating experimental design. Also worked with computer controlled test equipment. Language was FORTRAN. Hardware was Univac 1108, IBM 360/40 and IBM 1130.

Education

B.A. Physics, University of Connecticut, 1971

Digital Signal Processing I and II, Summer Courses at MIT, 1974

Home Electronics Course, Bell and Howell Schools, 1976

Linear Systems, Technical Communications, Visual Arts, San Jose State University, 1977

Personal

U. S. Citizen

Honorable Discharge U.S. Army

Have held Secret Clearance

References available on request