Embedded System Development
Motion Controllers
Designed and implemented the firmware for several different models of
motion controllers, which featured custom command sets, front panel
JOG-position buttons and an on-board motion control programming
language. Development was done in C++ (with some assembly language
routines) using an object oriented implementation. The controllers
featured serial port and GPIB communications, digital and analog I/Os,
and direct control of stepper or servo motors.
Encoder/Counter
Designed and implemented the firmware for an encoder/counter unit, used
to track positions in motion control and other systems. The unit
featured LCD display of up to six channels of position information and
a serial port interface to a host computer.
GPIB Interface
Designed and implemented the GPIB communications section of a
programmable attenuator, featuring a bus interface to a Microchip-PIC
processor and software management of the GPIB controller IC. Functions
included device addressing, interrupt driven I/O and serial poll
response.
Board-level Design Capability
Board-level design, schematic capture (Protel-CAD), and debugging.
Intel processors, Microchip PIC processors, I2C-bus devices, ROM and
RAM, interrupt controllers, UARTs, GPIB and motion controllers, data
acquisition and I/O ICs. Design, implementation and debugging of
programmable logic devices (PLDs) including AMD-MACH family, standard
PALs, PEELs, etc.