Peripheral Device Engineering...
Modern peripheral device design and implementation requires a wide range of
expertise within the fields of general circuit design, high-speed PCB design,
signal-and power-integrity engineering, FPGA-based digital design,
microcontroller hardware design and programming, gigabit SERDES link design,
memory interface design, serial channel jitter issues, microprocessor and SOC,
analog design and much more.
Due to our formal training and experience in the science and art of
electronics and digital design, we have the expertise required to work with the
above technologies efficiently and correctly. This, in combination with device
driver and application level design expertise, allows us to design overall
well-working products.
If you are looking for consultants that
understand the whole picture all the way from the hardware, through the
device-drivers up to the application level, we are here to help!
Click here for a free estimate on your
current or future project
Past embedded
hardware projects
-
Hardware design and prototype
development of a USB 3.0 Protocol Analyzer (ITIC USB5000A).
10-layer PCB design in Altium Designer, with blind vias and split power planes.
Switched/Linear Power Distribution Network Design. SI and PI analysis in
Hyperlynx. The design used an Altera Cyclone V FPGA, a 4 GB Micron DDR2 SODIMM,
a 48 MHz Cypress FX2LP CPU and external TI TUSB1310A USB 3.0 PHYs. A
traditional FPGA data path / controller design implemented a 32-bit byte
ordering and descrambling architecture. Altera's DDR2 Controller was used. Also
designed PC GUI using C# / Windows Forms. Overall, the same software
architecture is used as in the below PCI Express Protocol Analyzer design.
Technology: Digital FPGA Design, DDR2 Controller, USB 3.0. Environment: Quartus
II, Altium Designer, Modelsim, Hyperlynx, Oscilloscope, Logic Analyzer,
Spectrum Analyzer, Protocol analyzer, Visual Studio 2005 etc.
-
Xilinx Virtex-5 VLX330T FPGA ADC/DAC
board design. Technology/Tools: DxDesigner 9.7.4, Orcad 16.2,
Cadence 16.2, Altium 13.x/14.x, VHDL, Xilinx Vivado 2013.2 and ISE 14.7.
-
Software and Hardware development
for Nuclear Particle Detector. Hardware (VHDL, Spartan-6 and
circuit design); Software (C, C++) using QNX/Photon on an Intel platform
Customer needed an expert to help them architect and design a system for the US
Navy in a very short time. Interfaced with physicists to code algorithms to
accurately measure radiation. Environment/Technology: Xilinx FPGA, C/C++.
-
Hardware and software research and
development of a 2.5 Gbps x4 lane PCI Express Protocol Analyzer
(ITIC 2500A) described
here. 10-layer board design in Altium Designer utilizing blind vias and
split power planes. Switched and Linear Power Supply design, Signal Integrity
and Power Integrity analysis using Hyperlynx, Arria II GX Digital FPGA Design
using Altera Quartus II. An external active probe makes copies of
the upstream and downstream SERDES data which is sent to an Arria II GX
FPGA. The FPGA byte orders, descrambles and deskews the data before storing it
in an external DDR2 SODIMM. The PC software then programs binary
sequence detectors in the hardware which then automatically detects the
location of the PCI Protocol Items in SODIMM. The PC software then uploads this
meta-data and builds an in-memory tree of the hierarchical protocol item data
as it appears on the bus. Data is uploaded on-demand via Virtual Tree control.
Technology: Digital FPGA Design, DDR2 Controller, PCI Express 1.1.
Environment: Quartus II, Altium Designer, Modelsim, Oscilloscope, Logic
Analyzer, Spectrum Analyzer etc.
-
Software and Hardware development
for NMR Spectrometer. Hardware (VHDL and circuit design); Software
(C++) development support using Texas Instruments MSP430 Microcontroller.
Developed Xilinx Spartan-6 with embedded MicroBlaze processor for RF
generation, NMR sequencing and digital down converting (DDC).
-
Advanced R&D on high performance
computer interface technologies, including PCIe, PCI, IEEE 1394,
USB 2.0 / 3.0. Scatter/Gather DMA in hardware, firmware, and kernel driver
space to achieve maximum system performance. Directed development of nVidia
CUDA based plugin for post processing of image data, mimicking / extending
capabilities found in FGPA based camera systems and for legacy (non-FPGA)
camera systems.
-
Hardware and software research and
development of a LS/FS/HS USB 2.0 Protocol Analyzer (ITIC
1480A) described
here. Logic design in Altera Quartus II 7.1. The hardware utilizes a
Cyclone II FPGA which receives USB link data via an NXP ISP1505 ULPI-compliant
USB PHY. The FPGA encodes the data before it is buffered in an SDR SDRAM. The
data is then sent to the Host PC via a Cypress FX2LP USB Controller for further
analysis. PCB Capture/Layout using Altium Designer. Signal Integrity, EMC/EMI,
Prototype assembly, board bring-up, manufacturing etc. Technology: Digital FPGA
Design, SDRAM Controller, USB. Environment: Quartus II, Altium Designer,
Modelsim, Oscilloscope, Logic Analyzer, Spectrum Analyzer etc.
-
Image Processing in Xilinx Virtex-6
FPGA. Utilized PCIe 2.0 End-Point Core. Streaming DMA interfaces.
ASYNC SRAM,DDR-II DRAM, and FLASH memory interfaces. Technology/tools: VHDL,
Xilinx ML605 development kit.
-
FPGA digital design of a 64-port
serial port adapter card for PCI Express. The plug-in card used an
Altera Cyclone IV GX FPGA which utilized a hard PCI Express IP core to
communicate over a x1 lane, 2.5 Gbps PCI Express link. Implemented a
traditional data-path / controller architecture, 64-channel simultaneous DMA
engine, custom UART designs from scratch, custom I2C controllers for I/O
expansion were developed from scratch, ADC interface state machine
implementation from scratch. Environment: Quartus II, Modelsim, Oscilloscope,
Logic Analyzer, PCI Express Protocol Analyzer etc.
-
ASIC design of PCI Express Gen 2.0
hardware offload for SSD READ and WRITE operations. Proposal of a
hardware design and supporting protocol which was named "Fast IO Transport"
(FIT) to support high performance PCI Express Gen 2.0 with hardware offload for
READ and WRITE operations. This technology was implemented in STEC's ASIC which
taped out in Q4 2010, and will be in customer eval in Q2 2011. Analyzed and
fixed various software issues to allow enable STEC's second generation SAS SSD
through the IBM qualification cycle.
-
VME64x system controller using
Altera-Aria-II GX FPGA. DDR2 shared memory controller; a 4-lane
PCIe 1.1 EndPoint Controller; an SPI Bus Master; and a general I/O controller.
512Mb NOR Flash devices; 64Mb NOR Secure Flash; Altera MAX-II CPLD; 2GBytes of
DDR-II memory. VME64x backplane, VHDCI interface. Technology/tools: VHDL,
Altera Quartus II.
-
Software and Hardware development
for Software Defined Radio (SDR). Designed FPGA for SDR with
VxWorks RTOS. Designed and debugged software (C, C++) for MPC860 processor in
Tornado development environment. Designed radio control boards with voice codec
circuitry (CVSD), ADCs, DDS, and Xilinx Spartan XC2S50 (legacy) FPGA and
CoolRunner CPLD. Schematic capture using Altium Designer. Designed replacement
of legacy Xilinx FPGAs with Spartan-6 family. Updated Windows software
application with new user interface and controls in Microsoft Visual Studio
using MFC (C++) with new controls. Created new virtual radio application using
C# .NET and Java. Participated in full product release processes.
-
Xilinx Virtex-5 FPGA Digital Design
for RF-to Optical (5.0Gbps) board, which utilized a Fibre Channel
optical interface. Technology/tools: DSP, VHDL, XiLinx development tools.
-
Hyperlynx Signal
and power integrity analysis on VME64x, PCI Express and DDR2 interfaces.
Schematics capture, board design and SI/PI analysis. Technology/tools:
Hyperlynx SI/PI, Mentor Graphics DesignerDX.
-
Design and implementation of a PIC-compatible
RISC CPU IP Core described here.
Designed in an datapath-controller architecture. Implemented in Verilog.
Environment: Altera Quartus II 6.0, Mentor Graphics Modelsim 6.0c.
-
Circuit and Board design of advanced
PCBs. DC-to-DC (buck & boost) switched power supply design.
Schematics Capture. Mentor HyperLynx SI analysis. HSPICE, PSPICE, and LT-SPICE
Power Supply Analysis. Technology/tools: Cadence Concept 16.1/16.2, Hyperlynx
SI/PI, HSPICE/PSPICE.
-
Analog Devices ADSP-21020 SHARC DSP,
Xilinx Spartan family FPGA hardware and firmware. Design /
development / integration / delivery of D/A converter board used in US Navy
passive SONAR programs. Designed circuitry to extract user selected audio
channel data from an ATM/SONET based towed array passive SONAR system. DMA
engine, multiple D/A converters, and headphone amplifier. PCB layout
constraints, parts placement. C and assembly code in SHARC DSP. VHDL code for
Xilinx DMA and D/A engine. Technology: C, SHARC assembly, VHDL, Analog Devices
SHARC ADSP-21020 floating point DSP, Xilinx Spartan FPGA, fiber optic
ATM/SONET. Environment: OrCAD schematic capture, Analog Devices Visual DSP IDE,
Xilinx ISE FPGA designer, ModelSim VHDL simulation tools, Synplicity VHDL
synthesis tools, MATLAB, logic analyzer, Tektronics high speed storage
oscilloscope.
-
Altera Cyclone II FPGA and Max-II
CPLD Design. Voice and data digitization. IP/UDP Ethernet message
interface. Altera-TriMAC, Multi-port Scatter/Gather Engine; Sync-SRAM External
Memory Controller; Parallel NOR Flash Memory Controller; Master/Slave HDLC
Protocol Engine; Avalon-ST Interface Bus. Technology/tools: VHDL, Altera
Quartus II.
-
Advanced NMR Spectrometer hardware,
firmware and software design. Developed an NMR
spectrometer/controller from requirements, creating architecture and physical
design for a startup medical device company. Used the Xilinx Virtex-4 FX family
(20, 40 and 60) FPGA with embedded Power PC 405 and Ethernet MAC to anchor the
design. The board integrates an LCD interface with touch screen, High-speed ADC
(65MSPS) with digital frequency synthesis and digital down converter in FPGA
fabric, Low-Speed Delta-Sigma ADC, 10/100 Ethernet, USB, RS232, DDR SDRAM,
flash PROM, RTC, microSD, GPIO SE and LVDS and MICTOR debug components.
The board also manages over ten different power systems from a single 5V input.
Architected and wrote data acquisition and signal processing logic for FPGA in
VHDL and with IP cores using the Xilinx ISE. Developed the processor support
system in the Xilinx XPS with VHDL and Verilog. Designed and wrote real-time
server firmware for Power PC using the Xilinx SDK to manage I/O, acquire and
store data, and respond to client requests to retrieve data. (5000+ lines of C)
Designed and wrote a client application with Visual Studio in C++ using the
MFC/ATL libraries for a user interface to the data server. (8500 lines C++)
Created schematic design and BOM, transferred design to PWB layout designer,
and debugged finished PWAs.
-
FPGA/DSP/uC-based Pixel Array
Detector hardware, firmware and software design and
implementation. Developed a complete system, creating requirements,
architecture and physical design for an advanced scientific instrument. Refined
the design through multiple generations to prototype. The first generation was
built with a Xilinx Spartan-3 FPGA mated to Analog Devices SHARC ADSP-21065L
DSP-based board with Rabbit processor Ethernet controller. Firmware was written
in C and Rabbit and SHARC assembly languages to control the instrument. The
second generation used a multi-FPGA solution and proprietary inter-board
communication bus. The SHARC processor was replaced with the embedded Power PC
405 processor integrated into the Virtex-4 family.
Each Power PC controller communicates with 4 XC4VSX35 FPGA based controllers
that de-serialize high speed output from a 512x128 Pixel Array Detector ASIC.
ADCs are integrated onto the controllers to acquire residual signal from the
ASICs. The completed system results in a 512x512 array detector. All logic was
written in VHDL with the use of IP cores where available. Designed and wrote
real-time firmware for the Power PC in C and assembly language. Created an
Ethernet stack to support 10/100/1000 Ethernet with UDP. Designed and wrote
support software on a host Windows computer in C++ language with Visual Studio
using MFC/ATL libraries for test and debug purposes. (12000+ lines of C++)
Created a remote interface to Linux systems for spooling data to central
storage using Windows sockets. Designed a thermoelectric cooler (TEC)
controller to regulate temperature of the ASIC detector chips.
-
DSP and FPGA based Analog/Digital
Controller Board. Schematic capture; FPGA/CPLD VHDL coding &
simulation; and pre/post PCB layout & route signal integrity analysis.
Floating-point DSP (TMS320C6727); fixed-point DSP micro-controller TMS320F2812
predecessor to the TMS430; Virtex-4 (XC4VFX20) for RocketIO, Gigi-bit Ethernet
& Hot Link communication links; Xilinx CPLDs; 200Khz sampling rate ADCs
(AD974), DACs (AD5764) and Resolver/Syncho-to-Digital converters (RD19230).
-
Data Acquisition hardware and
software for electromagnetic field surveys. Designed next
generation data acquisition board anchored by XC3S4000 FPGA with embedded soft
MicroBlaze processor. Created schematic and BOM and transferred design to PWB
layout designer. Managed the PWB layout. The design integrates USB, Ethernet
10/100, RS232, SDHC memory card slots, SRAM, GPS receiver with disciplined
oscillator and 9 channels of data acquisition (100KHz) running synchronous to
universal time. Created new drivers for existing firmware design to interface
GPS device using Xilinx EDK. Tested and debugged system. Modified existing
Windows based ATL application to utilize new GPS controller.
-
Buck switched power supply design
utilizing DC-to-DC buck switches / LDO's for digital power conversion and only
LDO's for analog power conversion. Power Sequencing circuitry. Over/Under
voltage detection circuitry.
-
USB 3.0 webcam consisting
of a 1280x800@60fps MIPI image sensor and stereo microphone inputs as well as
an Altera Cyclone III FPGA which was used for audio/video processing functions
including Bayer filter demosaicing and a pulse density modulation (PDM) to
pulse code modulation (PCM) conversion module.
-
Actel FPGA and Lattice / Xilinx CPLD
design of 2 Gbps encrypted data communication board. Power supply
design involved Pi / Low pass filtering networks; 5V-to-3.3V DC-to-DC
conversion (Buck switcher); Under/Over monitoring with hysteresis; Battery with
trickle charge; and tamper circuitry.
-
Tactical Cross Domain Ethernet
Switch FPGA based on a Xilinx Virtex-5 FXT device for use in a
military application. Design contains both Microblaze and PPC processor
subsystems and provides physical isolation between the various packet
processing nodes as well as various security and anti-tamper features.
-
FPGA development of a Bi-static
Control Card containing an Altera Stratix-II GX FPGA which is used
to synchronize multiple instrumentation radars via a multi-gigabit fiber optic
link. Also responsible for a repackaging of current 220mm VME PCBs
-
Magnetic Resonance Imaging medical
device design and implementation. Engineered all aspects of the
product, including electrical, mechanical, signal processing and technical
documentation. Acquired UL listing and CE mark, and directed transition to
manufacturing. Architected and designed product electrical and industrial
system design. Developed and maintained company's signal processing
controllers: standalone Virtex-4/PPC based and PC hosted Motorola DSP56002.
Converted system from PC hosted to standalone Ethernet and wireless
802.11A/B/G.
Wrote the system firmware in DSP56002 assembly and C. Designed, debugged and
tested multiple generations of 8 MHz, 5KW peak, RF transmitter. Designed,
debugged and tested multiple generations of 200V, 50A pulsed linear gradient
amplifiers. Designed, debugged and tested 8 MHz ultra low noise amplifier
(<1 nV/√Hz). Evaluated numerous components in analog designs including
but not limited to power FETs, FET drivers, low noise GAsFETs, OpAmps,
transformers, high voltage components and other passive and active components.
Characterized behavior and optimized performance of each design. Created and
optimized PWB layout using PCAD and produced Gerber files. Managed engineering
group of hardware and software engineers. Acted as primary manufacturing
engineer responsible for transferring all engineering developments to
production in compliance with FDA and ISO guidance.
-
High speed digital/analog electronic
radar transceiver boards (LINK-16 waveform processing). This
hardware implemented waveform processing via IBM PowerPC µPs, 167Mhz SDRAMs,
and several TI TMS320C64x (6416) DSPs.
-
FPGA development in instrumentation
radar project which included arbitrary waveform generation,
precision timing pulse generation, data acquisition control, and real-time DSP
including variable integration modes, grouping capabilities, pulse phase
correction, bi-phase demodulation, data normalization, and support for multiple
tracking modes. Responsible for ongoing support and enhancements for all FPGA
designs in the radar.
-
Single board computer for a space
ship. The design includes: a PowerPC, 2 FPGAs, and 2 ASICs. The
SBC is designed to RadHard specification, for use in outer space. The operating
system is VxWorks.
-
PCI Target Xilinx Spartan-II FPGA
for Virtual Instrumentation product including PCI bridge, pulse generation
module, memory-mapped host I/O, and discrete control of on-board resources.
Also developed RF Control, System Status Monitor, DUT Control Module, and Pulse
Generation FPGAs for next generation PXI-based virtual test instrument.
-
Hardware design of the PCI Dump Switch Card
described here: http://www.summitsoftconsulting.com/DumpSwitchCard.htm.
Analog and Digital circuit design. State machine implementation using both
discrete gates as well as a 16V8 PLD. Used WinCUPL to implement the PLD state
machine code. Schematic and layout work was done in Protel. Prototype assembly.
Technology: Analog/Digital design, PCI-bus. Environment: Protel, Oscilloscopes,
WinCUPL.
-
FPGA-based flight simulation
projector which provides the ability to dynamically reposition and
retime digital video of various resolutions and sync rates using a
reprogrammable PLL controller and internal line buffering.
-
Designed digital / analog electronic
CPU boards. Network Interface board comprised of dual QLogic Fibre
Channel ports and a 16-pair LVDS backplane link. Board packetizes digital
video, voice data and analog data at rates up to 70MBytes. Technology/tools:
Viewlogic, Orcad 16.0, Cadence Concept.
-
FPGA-based 32-channel real-time
processing card that contains a Xilinx Virtex-II Pro FPGA which
accepts a complex input at 50 MSPS and uses a polyphase decimating filter bank
and 16k block FFT to provide target spectral information to downstream
processing for a mobile tracking radar system.
-
FPGA-based Integrated a narrowband
digital receiver card with a 14-bit, 200MSPS input, containing a
DDC, 4 independently tunable NCOMs, and multiple programmable decimation filter
stages in a Xilinx Virtex-II Pro for a phased-array radar receiver project.
-
FPGA-based contrast enhancement for
NTSC or PAL composite video via multiple digital filter stages and
a histogram equalizer.
-
Altera 1K30 & 20K60E FPGA
telecom boards. HDSL4-to-T1 and G.SHDSL-to-E1 trunk interface.
VHDL code responsible for system timing, I/O control, and address decoding for
an E1/V.35 to dual pair G.SHDSL card. Developed a NEBS, FCC, and UL compliant
T1 to HDSL4 line card. Design cycle steps involving schematic, layout, debug,
and first pass integration. Technology/tools: Viewlogic, Altera-VHDL, Allegro
14.2.
-
FPGA-based frequency spectrum
analyzer that accepted chirp-modulated input from an ADC and
demodulated the input to baseband utilizing a set of nine decimating resolution
bandwidth filters, and also provided both linear and logarithmic signal power
computation, video detection, and frequency analysis.
-
Print controller FPGA design using a
PCI-based SBC in order to incorporate a digital phase-locked loop,
improved motor control, and improved image registration for a four-head color
digital photo printer unit with pulse-width modulated (PWM) outputs.
-
DDR SDRAM controller IP module
operating at 133/266 MHz using a V600E for customer. Repackaged design and
retargeted for all Spartan-II, Virtex-E, and Virtex-II devices and packages to
be used as a MemecCore IP Core product and meet Xilinx requirements to be
listed as an AllianceCore.
-
FPGA-based 16-channel UART IP Core
for MemecCore. Developed functional specification, verification plan, and HDL.
The device contains one microprocessor interface and all necessary registers,
FIFOs, and logic to emulate sixteen industry-standard UARTs.
-
Voice/data processing ATM line card
(OC3 & DS3 line rates). Schematic, PCB layout, debug, and
integration. Major design components were the MPC8260, IPCAM3, Sync SRAM,
PIC16F877, PLX9054 and XCV1000 FPGA. Dual redundant Compact-PCI backplane for
data/voice communications. LXT970 10/100Base-TX Ethernet transceiver coupled
with the MPC8260s MAC sub-module for external diagnostic communications. Eight
layer PCB board stack-up. Technology/tools: OrCad, Xilinx-Verilog.
-
Serial Access Memory (SAM)
controller section on PCI image card of next generation print
controller. Created 64-bit DMA controller FPGA that communicates with an AMD
29k embedded processor in order to share image data between a 2GB SDRAM array,
a 2MB SRAM buffer, and two banks of synchronous FIFOs.
-
Hardware and software design of an
USB-to-telephone converter. Used for interfacing telephones to
standard PCs via USB port. Hardware design, electronics schematics, PCB layout
and prototype building. Used DirectSound and DirectInput for low-latency
streaming sound and control. Used Microsoft TAPI for call-control in test
applications. Technology: USB, Electronics CAD applications (Protel), COM.
Environment: Visual C++, oscilloscopes and other normal HW development tools.
-
SCSI, OC-3 Print Controller Adapter
Board design, including product specification, schematic entry,
PCB layout, and programmable logic for two custom Altera CPLDs in VHDL. Board
provides OC-3 fiber optic interface from Varis print controller to the SCSI
interface of OEM print engine.
-
ATM based xDSL Integrated Access
Device. Implemented detailed digital/analog circuits design
utilizing the MPC860P, TMS320VC5409, 10KE30 FPGA, GlobeSpan DSL chipset, and
PMC-Sierra T1/E1 Comet. Card processed voice via AAL2 and data via AAL5. Ten
layer PCB board stack-up. Technology/tools: Viewlogic, Altera-VHDL.
-
ADSL Modem card. Created
digital/analog circuits (including EPLD) which utilized Alcatels' (MTK20140)
chipset and the Virata-Helium network processor. Six layer PCB board.
Technology/tools: Viewlogic, Altera-VHDL.
-
PCI-Bus based T1/E1 trunk interface
boards. Intel 430HX (Embedded Pentium-II) chipset. Twelve layer
board. Technology/tools: ViewDraw, Altera-AHDL, Vantis-Boolean, HyperLinks.
-
RF based automotive security
hardware module (INKEY system). Design utilized RF Amplitude
Modulation and Manchester Encoding technology to control engine ignition.
Technology/tools: Mentor Graphics, Altera-AHDL, 68K ASM, H-Spice.
-
Digital/analog hardware and assembly
programming for a multi-product diagnostic acquisition system
(MDAS) for automotive Body Computer Modules. The MDAS design utilized an HC16
micro-controller and Altera 7128 EPLD. Technology/tools: Mentor Graphics,
Altera-AHDL, 68K ASM, H-Spice.
-
TMS320C30 DSP based board.
Implemented 2-D image processing. Image processing techniques performed were
Segmentation, Histogramming, Moment Extraction, and Moment Summation. Designed
and compiled C language scripts for hardware checkout and debug.
Technology/tools: ViewDraw, ViewSim, H-Spice, Altera-AHDL, Actel, ANSI-C,
Mentor Graphics.
-
Asynchronous parallel to serial
& serial to parallel interface board. This PCB card
transmitted and received asynchronous analog (via A/D conversion) and digital
data. Technology/tools: ViewDraw, ViewSim, H-Spice, Altera-AHDL, Actel, ANSI-C,
Mentor Graphics.
-
Digital/Analog Circuit design for
Close Circuit Television Systems, Power Inverters.
-
Design and implementation of a
waveform acquisition module. Performed layout on a densely
populated five-layer printed circuit board.
-
8080, Z80, 8086, 80186/2911 Hardware
and firmware design. Designed and implemented software and
hardware to test communications equipment, including concentrators and
switches. Processors include 8080, Z80, 8086, 80186, and a proprietary
bit-sliced (2911) processor. Developed test system and software.
Past embedded software projects
-
USB and File System Drivers for QNX
RTOS. QNX mass storage driver, USB host controller driver, USB
class driver, QNX file system driver, troubleshot performance problems and
flash corruption problems. USB protocol analysis with protocol analyzer.
Technology: QNX RTOS, USB 2.0, Flash Memory, Environment: USB Protocol
Analyzer.
-
USB Video Class (UVC) firmware for
USB 3.0 image sensors. Implemented USB 3.0 video class (UVC)
customized Firmware for on Cypress USB FX3 chip. UVC video imaging firmware
design and debugging. Technology: C and C++, ARM assembly, Environment: Cypress
FX3 SDK, Eclipse, USB protocol analyzer.
-
Linux OpenSSL AES 128 TCP/IP Client/Server
Application Development. Using OpenSSL (HTTPS) principles
developed a Linux, C, C++, TCP/IP Socket based Client-Server Application to
transfer Encrypted Data. AES 128 bit Encryption Cipher was used for Encryption/
Decryption. This Client Server app was developed to transfer Patient Records.
-
GNU TCP/IP C/C++ kernel firmware
for VoIP Satellite phone and modem. ARM Cortex based Freescale
Kinetis MCU. Designed firmware algorithms for PBX call forwarding, call
routing, packet data network connections. Multitasking using sockets,
inter-process communication and shared memory. Kernel mode scheduler for power
management, voice and data call management. Program Battery Operated Mobile
Devices where battery life management is key. GPS devices and protocol, SIP
server and SIP client, SMTP, POP3, DHCP, PPP, IP routing. Technology: TCP/IP,
VoIP, ARM Cortex, RTOS. Environment: Visual Studio, embedded GNU C/C++.
-
Ported existing RTOS with ThreadX
RTOS in existing code base. Reverse Engineering of SSD storage
device firmware, especially in the transport (SATA) area. Technologies/tools:
ARM v7-R: Cortex-R4: Thumb2, Multi (Green Hills/GHS) IDE, ThreadX, SSD (Solid
State Drives): NAND flash
-
Embedded C Linux application development on
Motorola PPC750 processor based board. This Application controlled
various sensors to monitor, process, report weather data. Developed a Socket
based File Transfer Utility to load the Application Software into Linux, report
collected data, statistics to a Server.
-
UEFI BIOS Platform Software.
Developed Dell Provided Features (DPFs) in UEFI BIOS environment, working with
ODMs, OBVs, and Platform Vendors, as well as other disciplines with Dell.
In-depth consulting regarding PC Architecture, DMTF Industry Standards, and the
latest developments in Platform Architecture and System Manageability.
Developed UEFI BIOS specific tools for monitoring SMBUS traffic as well as
other aspects of BIOS and Platform behavior.
-
Linux-based C/C++ Multi-threaded Image
Processing (License Plate Recognition) TCP Server to perform
Optical Character Recognition on an Intel i7 based mother board controlling an
IP Camera. It involved cropping of the digital images based on the pixels
positions as obtained via FrameBuffers from the Camera. Implemented Load
Balancing to improve overall performance and throughput. Also implemented
software based control & monitoring of image quality due to changes in
lighting conditions. Also developed code on an Atmel Microcontroller to control
a sensor device.
-
Embedded Linux set top box built on a Broadcom chipset.
Developed system bootstrap and directfb components.
-
Software and Hardware development
for Nuclear Particle Detector. Hardware (VHDL, Spartan-6 and
circuit design); Software (C, C++) using QNX/Photon on an Intel platform
Customer needed an expert to help them architect and design a system for the US
Navy in a very short time. Interfaced with physicists to code algorithms to
accurately measure radiation. Environment/Technology: Xilinx FPGA, C/C++.
-
Research and Development for new
imaging unit within Thorlabs. Developed camera related software
and firmware. Responsible for system architecture, API design and
implementation, host to camera command and control, interface design, and
documentation. Host software lead for USB 3.0 development. Perform integration
of Thorlabs catalog items into our host software package, including third party
cameras and other camera-related peripherals. Responsible for specification,
oversight, and senior level development of system/unit testing, installation
package, and all facets of the OOBE for our customers. Responsible for OEM
support and aide in business development. Technical liaison for Third Party
Application Support. Involved in cross-BU software development group
responsible for setting corporate coding standards. Cypress FX3, Microchip
PIC32, Microsoft Visual Studio 2008/2010, C, C++, C#, Altera FPGAs, and
Installshield are relevant technologies involved.
-
Application, driver and firmware
for a bio-medical device doing DNA extraction. Driver for CAN
(C_CAN) bus and all of the layers of application code. Development of five
system modes for a system consisting of 30 microprocessors (9 unique), 5 Tecan
pumps, 36 stepper motors, and other peripheral devices. Development /
modification of PC support programs in Visual Basic and Visual C++, including
hex2bin, bin2hex, program download, parameter download, and start times
generation. Development of bootstrap loader including boot (zero) record.
System and sample statistic generation and storage into database. Research,
porting, and writing of efficient square root routines. Firmware control of
8051 internals including timers, UARTs, Flash, and ADC. Technologies/tools:
8051: Silicon Labs C8051F06x, C8051F12x: Keil C and Assembler,, code banking,
OMF51, IDE; ARM v7-M: Luminary Micro Stellaris LM3S892 Cortex-M3: Thumb2,
Eclipse IDE, Code Sourcery, Stellaris Peripheral Device Library; Tecan Pumps
(XLP6000); Barcode Readers (NLV1001, NFT 2100/2200).
-
Linux Multi-Threaded SSL Offload mechanism on a
Xilinx FPGA based Ethernet card. Using OpenSSL (HTTPS) package on
Linux. Developed Linux based Ethernet Driver as a Linux Kernel Module to
implement the SSL Offload Engine to work with the TCP/IP stack. Based on
Cryptographic Ciphers Modified SSL stack to have Encryption/ Decryption
offloaded on the FPGA HW. Implemented a secured File-Download in this platform.
-
Hardware and software research and
development of a 2.5 Gbps x4 lane PCI Express Protocol Analyzer
(ITIC 2500A) described
here. 10-layer board design in Altium Designer utilizing blind vias and
split power planes. Switched and Linear Power Supply design, Signal Integrity
and Power Integrity analysis using Hyperlynx, Arria II GX Digital FPGA Design
using Altera Quartus II. An external active probe makes copies of
the upstream and downstream SERDES data which is sent to an Arria II GX
FPGA. The FPGA byte orders, descrambles and deskews the data before storing it
in an external DDR2 SODIMM. The PC software then programs binary
sequence detectors in the hardware which then automatically detects the
location of the PCI Protocol Items in SODIMM. The PC software then uploads this
meta-data and builds an in-memory tree of the hierarchical protocol item data
as it appears on the bus. Data is uploaded on-demand via Virtual Tree control.
Technology: Digital FPGA Design, DDR2 Controller, PCI Express 1.1.
Environment: Quartus II, Altium Designer, Modelsim, Oscilloscope, Logic
Analyzer, Spectrum Analyzer etc.
-
Embedded Linux set top box based on custom ASIC.
Diagnosed and corrected problems with early hardware versions and schematics.
Wrote kernel drivers and modules to initialize system resources, cooperate with
co-processors, and realize new board features. Resolved third-party firmware
issues in cooperation with vendors. Implemented shell scripts to load
co-processors and initialize the system features.
-
Performance enhancement of
8051-based GPIB driver in C. Continuing/sustaining engineering:
Bug fixes, new features, code cleanup, dead code/variable removal, code
reorganization, major code rewrite; code speedup by factor of 15; size
reduction by a factor of 10. Porting of features from one product to others;
combining source code from three products to single source. Improvements to
GPIB driver. Conversion of assembly code to 'C'. Assist in hardware debugging.
Technologies/tools: 8051: Avocet Assembler, Keil C, Nohau Emulator; GPIB (IEEE
488.1, 488.2 Bus), National Instruments utilities (NI Spy, GPIB Analyzer),
TNT4882
-
Linux C/C++ Multi-threaded Networking
application development via configuring the Cavium Octeon (MIPS
Core) processor on a Network Access Card to implement Network Access Security
via Network Intrusion prevention. This involved the design of Host SW
controlled Network Access Rules, Unified Access Control and respective Actions
to filter Traffic. Via Multi-threaded programming, implemented on the Multi
Core Cavium Octeon Chip Rule based Packet Classifiers, Rule based Packet
Actions, and Packet Flow Tables to monitor Network Traffic.
-
Linux-based Network-Attached Storage (NAS) component
of client's high-volume, high-availability video surveillance products.
-
Development of firmware, kernel
mode drivers, API libraries, and applications level software for
high end scientific digital camera systems. Block level hardware design for
PCIe, USB, and 1394 interfaces. FPGA based imaging microcontroller to support
advanced imaging and system integration. Developed instruction set. Was a key
player in development of technology for precise timing of FPGAs for maximum CCD
performance - forming the core of the client's most advanced camera systems.
-
Embedded Nucleus RTOS drivers and
firmware. MPC860 internals including chip selection and memory
mapping. Drivers for MPC860 with Nucleus Plus RTOS; Fast Ethernet Controller
(FEC) using MII, SCC Ethernet (OQUICC), UART, I2C (with microcode patch).
Drivers for various flash parts: AMD, Atmel, Intel; Interface to PCI using
PLX9054. Nucleus Plus internals including Nucleus File with Intoto's Flash
Media Manager (FMM). Research into Target Monitors using internet (web)
resources; modification of monitors by Hitachi and Tasking. Development of boot
code for Fiber to the Home product; Hardware/software integration and
debugging. File loaders for ELF and 'S' formats; interfacing with program
download. Porting of Multiport's IP/UDP stack TFTP. Technologies/tools:
MPC860/855T, Nucleus Plus RTOS, Nucleus File, Intoto FMM, Diab Assembler, C,
Broadcom BCM5606, PLX9054, LXT971A, Wiggler/OCD/BDM. LAN/VLAN/MAC (802.1D,
802.1Q)
-
Software and Hardware development
for NMR Spectrometer. Hardware (VHDL and circuit design); Software
(C++) development support using Texas Instruments MSP430 Microcontroller.
Developed Xilinx Spartan-6 with embedded MicroBlaze processor for RF
generation, NMR sequencing and digital down converting (DDC).
-
C/VxWorks Device Driver BSP development of a
High Speed Proprietary Networking Protocol using Xilinks FPGA
chips on a Proprietary NIC. This NIC used a FPGA based HW assisted Pt-2-Pt
Fibre Channel Communications Link. Implemented a Proprietary Buffer Structure
Mechanism for the HW chip to process frames. Designed and implemented SW
Redundancy which performs Automatic Link Switchover upon the detection of a
Faulty Link. Implemented FPGA Image upgrade via this VxWorks BSP. Besides, on
another NIC implemented Socket Layer Interception Mechanisms, Linux Kernel
Threads.
-
Wind River Linux and VxWorks Board Support Package (BSP)
development for company's Fiber To The Home (FTTH) line terminal boards,
primarily those that used Gigabit Passive Optical Network (GPON). The line
terminal boards were based on Broadcom's FASTPATH switching hardware/software
solution. Built company's Linux development capability by creating custom
distros to deploy development and infrastructure Linux machines. Gathered
requirements and implemented open-source solutions for source control and other
configuration management functions.
-
Embedded VxWorks RTOS firmware
development. Wrote SNMP like interface protocol between management
unit and line units for both T1 (HDSL/2) and E1 (ETSI). Ported VxWorks BSP
(Board Support Package) to MIPS NEC VR4121. Fixed bugs in existing ETSI
products. Technologies/tools: 8051 Family: Assembler, Keil C, Signum WEMU51
Emulator, Zilog Z180: Assembler, IAR80 C, Softaid UEM Emulator, MIPS: NEC
VR4121: VxWorks (Tornado II), Assembler, GNU C & Make.
-
Advanced R&D on high
performance computer interface technologies, including PCIe, PCI,
IEEE 1394, USB 2.0 / 3.0. Scatter/Gather DMA in hardware, firmware, and kernel
driver space to achieve maximum system performance. Directed development of
nVidia CUDA based plugin for post processing of image data, mimicking /
extending capabilities found in FGPA based camera systems and for legacy
(non-FPGA) camera systems.
-
Hardware and software research and
development of a LS/FS/HS USB 2.0 Protocol Analyzer (ITIC
1480A) described
here. Logic design in Altera Quartus II 7.1. The hardware utilizes a
Cyclone II FPGA which receives USB link data via an NXP ISP1505 ULPI-compliant
USB PHY. The FPGA encodes the data before it is buffered in an SDR SDRAM. The
data is then sent to the Host PC via a Cypress FX2LP USB Controller for further
analysis. PCB Capture/Layout using Altium Designer. Signal Integrity, EMC/EMI,
Prototype assembly, board bring-up, manufacturing etc. Technology: Digital FPGA
Design, SDRAM Controller, USB. Environment: Quartus II, Altium Designer,
Modelsim, Oscilloscope, Logic Analyzer, Spectrum Analyzer etc.
-
Policy-controlled software MAC using OTS WiFi
components. For both 802.11 and 802.16d chipsets, designed MAC modifications to
add the frequency agility and ad-hoc functionality that XG requires.
-
WinCE 5.0 Modem interface. Proprietary device on MX31 ARM
platform running Windows CE 5.0. Develop NDIS intermediate miniport driver as
primary component of device. Implement streams and message queue interface to
said driver for communication with central driving application. Modify boot
loader code for FPGA and DSP modules. Develop build system for Windows CE 5.0
environment. Configure RNDIS functionality for host connection to device.
Implement encryption support using Windows Cryptography API. Develop
application that automatically-updates software employing device notification.
Create "safe" WinCE image and modify BSP boot loader for fail-safe device boot.
Create USB 2.0 Host class driver on Windows CE 5.0 platform for client's
proprietary device.
-
Implemented SCSI III Medium Changer,
200 Disc DVD Changer, 1394, Am188 RTOS/Firmware, Windows Driver Development.
Development environment used Paradigm C++ Professional Linker / Locator,
RTKernel-C on embedded x86. Ported RTKernel-C RTOS from PC/DOS environment to
Embedded / Paradigm environment. Project was showcased as a main stage keynote
demo for WinHEC 1997.
-
Embedded C/assembler development
for in-flight entertainment product. Porting of LAPD protocol
package from Retix/Trillium to OS-9 as "server" process. Code/debug
Hardware/Software interfaces. Developed Diagnostic Software package for DMUX
& ISDN cards. Drivers for Siemens Conferencing chip and for two Flash
Memory chips. Exerciser for ISO stack under OS-2 (layer 5). Realtime Voltmeter
with Thermistor curve fitting. Technologies/tools: Motorola: 68331: OS-9:
Microware C, Introl C, Assembler, Nohau Emulator, PCXWARE, Novell.
-
Embedded Linux Networking Application
development (IP, MPLS) via configuring the Agere Payload Plus
(APP) Network Processor. Using PowerPC as a Host Processor running Linux as a
RTOS. Assembly Language Microcode Programming to implement IP/MPLS based
Pattern Matching & Packet Classification, Packet Forwarding, Bandwidth
Policing, Packet Shaping, Packet Scheduling, and HW based very fast Data Path
Switching of Packets. Used C/App550 FPL in this project.
-
Satellite GSM/GTRS/UMTS terminal running VxWorks
on an ARM/XScale processor. Gathered product requirements and led a team of
three engineers to realize the security features unique to the terminal. Also
implemented multiply-redundant satellite return/uplink using multicast IP on a
Windows 2003 NOC Server.
-
Joint Strike Fighter Panoramic
Cockpit Display Firmware development. Two Freescale Power PC 7448
processors control the LCDs. One uses Greenhills Integrity, and the other, the
embedded Linux LynxOS. Both are D0178-B certified operating systems. OpenGL is
the graphics engine interface. The firmware will also be certified to D0178-B,
MISRA-C++, and SEAL standards. The LDRA tool set is used to maintain standards.
The workstation uses Red Hat Enterprise Linux.
-
MA-361 Six Channel Remote
Controlled Audio Distribution Amplifier. Developed COP8Flash
Firmware controlling amplifier modules, volume / tone and graphic EQ modules
via digital I/O, over SPI and I2C.
-
Phone Control GUI tool for GSM
& WCDMA chipsets. Interfacing via DLLs to control Audio, RF,
battery, Power Management Unit, and Display. Developed Instant Messaging Client
application, Media Browser application, Timer applications, Stopwatch
application, mobile basic calculator and Media player application for mobile
phones using propriatary framework and platform tools. Environment / tools:
VC++ & Borland C++, phone simulator & network simulator.
-
Nucleus RTOS embedded firmware
development. Modified NUCLEUS File System (similar to MS-DOS).
Developed/modified video record/play algorithms for Video Data Recorder (VDR).
Development of Reclaim algorithm to re-use disk space. Modifications of On
Screen User Menus for VDR. Generalize debugging of existing code for VDR
including Hardware/Software interfaces. Technologies/tools: MIPS RISC 3051:
NUCLEUS Real-Time OS: MetaWare High C, Assembler, Embedded Performance (EPI)
tools, C-Cube JPEG CODEC (CL560), DSP, GANDIVA RAID.
-
Quantenna BSP and 802.11 wireless driver for proprietary
hardware. MAC adjustments for a long-range link. Porting Atheros ath9k PCI-E
NIC driver into ARC BSP. Developing GPIO driver to control Tx power, LEDs, etc.
-
VxWorks (Tornado), Linux, C, C++ Multi-threaded
Embedded Firmware that Controls and Manages a PowerPC based Head
End Router connected to Cable Modems. This Router used Radio Frequency
Technology based Modulation Techniques for the network communication between
Cable Modem and Head End Router. Defined, Implemented the SNMP Agent based
Management Architecture to manage the Head End Router, Radio Frequency
Interfaces, and configuration parameters as needed. Designed & Implemented
Web Pages (GUI) to have a Southbound SNMP interface to the Switch. Implemented
SNMP API Functions so that HTML based Apache CGI Application can Send/Receive
SNMP Messages to manage the Chassis. Following an Object Oriented Design
approach defined Company specific MIBs via ASN.1 & implemented them under
VxWorks. Used VxWorks (Tornado), Linux, C, C++ in this Project.
-
VxWorks and Linux cross-platform environment in C.
Extended the VxWorks simulator to reflect anticipated hardware at a HAL/BSP
interface. Implemented expanded network capabilities and high-speed timers for
simulator. Ported existing Linux VOIP monitoring and call generation software
as well as third-party MGCP and RTP toolkits to new framework.
-
Embedded PowerPC firmware and
device drivers. Wrote firmware driver and download program for
CSM/3 chip.Implemented UART driver for one of ports of the MPC860. Assisted in
design and porting of code which was split between two CPU's to run on a single
CPU. Hardware/software integration: BSP for MPC860, trouble shoot board, design
power-up and diagnostics. Modify/review hardware design to make software more
efficient. Team leader (3): defined/scheduled tasks and monitored progress.
Fixed bugs in existing code base for other products (DMC). Technologies/tools:
Motorola MPC860 (PowerPC) [similar to 68302], Assembler, C, Rockwell (Conexant)
CSM/2. CSM/3 (Digital Central Site Modem), ARM Controller.
-
TCP/IP QoS Priorith Queing design and
implementation. This involved the design of a Priority based
Multi-tasking Preemptive Scheduling mechanism.
-
Embedded Firmware Development for
Hitachi SH-2, Z180. Signature Series 3.0 DVD Player Firmware-
flash update, serial interface protocol (RS232/RS485) and firmware driver
development for Signature and Citation Series DVD Player, Six Axis Surround
Processor, and Preamp / Tuner. Windows based Flash Update System for high end
audio equipment.
-
Bootloader for the PowerPC-based AP-600/TMP-11 AP
family. Co-designed security features, startup sequence, and
manufacturing process.
-
Micrium uCOS-II RTOS firmware for
ARM7 board. ARM7 NXP LPC2468 microprocessor, embedded C drivers
for SPI, I2C, UART, D/A, PWM, and LCD controller peripherals. Embedded IP file
system and GUI libraries from Micrium interfaced to microSDHC media card and
QVGA LCD. Embedded C firmware on Micrium uCOS-II RTOS provided user interface
and real time water quality sensor data. Technology: C, ARM7 NXP LPC2468
microprocessor, Segger Jlink, microSDHC media card, Micrium GUI library,
Micrium FS file system library, Micrium uCOS-II RTOS, SQLite embedded database.
Environment: IAR EWARM IDE.
-
x86 Platform BIOS Development. Responsible for building
different variants of BIOS images in a cyber-security capacity. Employ Arium
JTAG emulator for flashing images and debugging. Work with customer to develop
proprietary binary parser for BIOS images. All activities performed ahead of
schedule and delivered under budget.
-
SNMP Agent Design and implementation
that performs Automatic Reload of system Configuration due to System ReBoot.
-
SAS driver for the LSI SAS 1064 Controller
on the Nucleus RTOS. Implemented application-level API that included all
standard SCSI commands. Supports dual-port SAS drives. Implemented SATA over
SAS on the controller via STP (SATA Tunneling Protocol). Technology: C/C++,
Nucleus RTOS. Environment: Mentor Graphics Edge debugger.
-
Blackhawk and Chinook helicopter
Firmware. Development of an AAS, (Alert Audio System), for the
DCU, (Data Concentrator Unit), of the Blackhawk and Chinook helicopters, using
the Analog Devices BF535 Blackfin DSP. Also WIN32 programs to interface to the
target, for test and backdoor control. Code development to interface the Texas
Instruments TLV320AIC23B Audio Codec to the BF535.
-
Custom PowerPC-based single board computer bring-up.
Implemented a boot loader based on PPCBOOT (now u-boot) and ported embedded
Monta Vista Linux.
-
Tftp/Ftp based software Image upgrade
between File Server and Switch via customizing VxWorks bootcode.
-
Software and Hardware development
for Software Defined Radio (SDR). Designed FPGA for SDR with
VxWorks RTOS. Designed and debugged software (C, C++) for MPC860 processor in
Tornado development environment. Designed radio control boards with voice codec
circuitry (CVSD), ADCs, DDS, and Xilinx Spartan XC2S50 (legacy) FPGA and
CoolRunner CPLD. Schematic capture using Altium Designer. Designed replacement
of legacy Xilinx FPGAs with Spartan-6 family. Updated Windows software
application with new user interface and controls in Microsoft Visual Studio
using MFC (C++) with new controls. Created new virtual radio application using
C# .NET and Java. Participated in full product release processes.
-
VxWorks SNMP Network Management design and
implementation, for a Chassis based DSLAM Switch using VxWorks
Operating System. It involved Multi-threaded Design, Development and
Implementation of a SNMP Agent SW, Configuration Data Storage on Flash
Memories, Programming of Various Hardware Registers, Proprietary MIBs
Development & Processing of SNMP Requests etc.
-
Telephony T1/E1/HDSL System and
Application software. Controlling interface between HDSL and V.35,
RS-449, DSX-1, G.703, X.21, and combination of ports. Improvement of
diagnostic/selftest/burn-in test software package. Improvement of user
interfaces (dumb terminal & front panel). Development of HDLC interface to
remotely control/monitor multiple boards in single rack; development of RS232
packet oriented interface to SNMP & NMA network controllers for multiple
racks of multiple boards. Technologies/tools: 8051 Family (80C32, 80C535,
80C552, 87C751): Archimedes C, Franklin C, Assembler, Nohau Emulator, Chip
View.
-
Joint Strike Fighter Avionics
Interface Adapter (AIA) Firmware and software. The AIA provides a
gateway for 1394 communications to other interfaces, including 1553, 232, and
422. Firmware development to interface the Analog Devices ADSP-2183 DSP, to the
TSB12LV32I/TSB81BA3 1394 Firewire Link-Layer controller and three-port cable
transceiver/arbiter, for the network interface on the JSF,(Joint Strike
Fighter). Also WIN32 test set, using the FireBoard 800 by Unibrain, which will
transmit 128 byte packets every 12 ms., and continuously receive 128 byte
packets simultaneously. Yokogawa and FireSpy 1394 data analyzers were used for
testing.
-
Symbian OS 6.1 Application
Development. Developed Mobile-walky application over Bluetooth
using Bluetooth framework of Symbian OS 6.1 and tested it in NOKIA 7650.
Environment / tools: C & C++, Microsoft Visual Studio 6.0, Symbian Series
60 SDK.
-
Linux SNMP/MIB Event-Management to Manage and
Process Alarms (SNMP Traps). Designed State Event Models to manage
Boards and Report Alarms (SNMP Traps) from various Devices. Architected an
innovative fast mechanism to implement Performance Monitoring of huge number
(1000+) of ports (DSL Interfaces) via the MIB Defined "Interval Tables" and
Performance Metrics Objects.
-
Embedded display system firmware for military aircraft.
Built VxWorks code to drive graphics display, video streaming, and control
proprietary hardware. Mocked up Linux-based COTS prototype to develop on prior
to hardware delivery.
-
ARM Cortex M3 STmicro STM32F103
Embedded C++ firmware for handheld water meter and velocity/depth
sensor interface. Embedded C++ firmware drivers, SPI, I2C, UART, D/A, PWM, NOR
flash, keypad controller, and LCD controller peripherals. Embedded IP file
system and GUI libraries from Micro Digital and Micrium, interfaces NOR flash
drive and QVGA LCD. Embedded C++ application code was designed around the
Micrium uCOS-II RTOS with Quantum Leaps QP Framework state machines provided
user interface and real time sensor data. Technology: C++, ARM Cortex M3
STmicro STM32F103 microprocessor, Segger Jlink, NOR flash, Micrium GUI library,
Micro Digital FS file system library, Quantum Leaps QP Framework, QVGA LCD.
Environment: Keil uVision5 IDE
-
High altitude missile Software
design and development. Power PC single board computers using
VxWorks and Tornado control the missile after launch. The Portable Launch
Station uses a Graphical User Interface developed with Visual Studio 2005 and
Visual C++. Star Team is used for software change and configuration management.
DOORS is utilized for software requirements. The Bouml UML tool was used to
accomplish the OOA, (Object Oriented Analysis), and the OOD, (Object Oriented
Design). Microsoft PowerPoint was used to create the presentation for the CDR,
(Critical Design Review).
-
VxWorks Flash memory device Drivers
that facilitates very fast efficient Save/Load of Config-Files under VxWorks
Environment. It also included the Design of Automatic Reload of the
Chassis-Configuration in the event of a System ReBoot. Used VxWorks (Tornado),
Linux, C, C++.
-
Intel Atom and Atmel AT91SAM
Embedded firmware development for Polymerase Chain Reaction
(qPCR). Brought firmware development in house from third party developer and
documented embedded system. Developing (C++) and debugging in Linux on Intel
Atom (IA32) architecture using Eclipse IDE. Developing (C/C++) and debugging in
IAR workbench on Atmel AT91SAM (ARM7). Programming and debugging in Visual .NET
C#/C++ application. Programming and debugging for Ethernet sockets (server and
client side). Automated testing of optical and thermal elements of the PCR
machine.
-
Management Agent SW design and implementation.
The software controls and manages the Network Elements (NE) of an ATM-Frame
Relay (HSS1100) Switch. This included design & development of a Common
Library Software for Multi-threaded Reentrant Handling of Protocol Data. Wrote
a number of Design Docs for the Design of Common Library Software Architecture.
This Library SW was used to Control, and Configure the NEs in the Switch.
-
Car Infotainment system with
telematics, for an American auto manufacturer. Communication
channels include: CAN Bus, LIN Bus, and USB. Multimedia features include: DVD,
various audio specifications, navigation, real-time route planning using
emergency information, and satellite audio and video. Design tools include:
Telelogic DOORS, Rational Clearcase, Microsoft SharePoint, and Telelogic
Synergy.
-
Linux Device Driver and Firmware. Design
and develop software applications to manage SNMP-enabled telecommunication
network devices. Develop network timing synchronization firmware for telecom
network devices to comply with CableLabs Certification in Embedded Linux.
Implement SNMP agents and management station software, SNMP protocol layer
implementation in C/C++. SNMP v1, v2c, v3 agent development, traps, NET-SNMP,
MIB, MIB browser. Displays remote telecom sites, network elements and managed
optical devices in a hierarchical tree view.
Provides a single unified display of SNMP alarms for up to 100 networked
optical devices. Design and develop a Web-based, SNMP proxy agent that enables
users to remotely configure and control optical equipment. Automatically
discovers optical network equipment, detects associated SNMP traps and alarms,
and send alarms to higher-level network management station (such as HP
OpenView) via SNMP. Web UI and CLI interface implementation, Javascript and
HTML coding. C/C++, Monta Vista embedded Linux target, Fedora host dev platform
2.6 kernel, GNU make, toolchains. CableLabs Certification process, testing and
development to meet CableLabs requirements.
Hot Swappable PCI based network device software infrastructure design, hot swap
software engine to identify insertion/removal of boards, handle the hot swap
event with system services and drivers. Linux multi-threaded networking
firmware programming and debugging. TCP/IP Network socket programming and IPC
communication mechanism implementation. IPv4 and IPv6 configuration, NIS and
DNS host name address resolution. Linux kernel programming, LKM, serial port
Linux driver, U-Boot bootloader development.
Linux performance monitor firmware development (MTIE, jitter, frame error rate,
etc). System availability monitoring, alarm and event management. CLI interface
via serial console, SNMP interface, and Web interface design.
Technology/Environment: Embedded Linux, Fedora , C/C++. SNMP v1, v2c, v3,
NET-SNMP, MIB, MIB browser, Hot Swappable PCI, TCP/IP Network sockets, IPv4 and
IPv6, NIS and DNS, LKM, serial port Linux driver, U-Boot bootloader.
-
Windows CE communications driver
to facilitate data between CE application and two mcp2515 CAN transceivers.
-
Developed pinsetter and touch
screen interfaces, remote software update for Instant Replay
Processor, game development, NVRAM and software update for Scoring System in
Watcom, Borland, Phar Lap TNT, multi-threading message state machine based x86
development environment. Also developed PC Based serial interface protocol
analyzer.
-
Defined MIBs and Implemented Network Management
Primitives to Provision, Configure NE. This involved Processing of
Q.2931/ Q.931B Signaling Messages, Configuration of ATM PVCs via PVC End Points
and CrossConnects between them. Besides implemented Bandwidth Management and
Network Provisioning of Service Level Agreements for Different Classes of
Service. Also provided support for SW Redundancy for various Switched
Connections in the event of a Link Failure.
-
Red Hat Enterprise Linux Software
design and development for the ICS, (Integrated Computer Systems),
component of the BCTM, (Brigade Combat Team Modernization), replacement for
FCS, (Future Combat Systems). The UML OOA/OOD design tool utilized, is the
Rational Rose Enterprise Edition. Rational Clearcase is the version control
software, and Rational Clearquest is used for software bug tracking. Rational
DOORS provides the document and software requirements management tool. Two
operating systems are used: Red Hat Enterprise Linux and the LynxOS POSIX and
ARINC 653compliant time and space partitioned version of Embedded Linux.
-
C SNMP Agent to run under LINUX to
Monitor a Switch. Implemented a Buffer Management Library SW for the Layer2
Data Path Processing of Packet Switched Data. Provided mentoring to junior Team
Members. Used C in this Project. In this Project Object Oriented Design
Methodology was followed and various Data Structures were implemented to
Provide Object to Object Communications so that NE performs SNMP Operations
such as GET, GET_NEXT, SET, TRAPS (Alarms).
-
Embedded microcontroller
programming in C/assembly. Designed electronic data collection
systems for vehicles used in transportation research projects. Programmed
embedded Motorola 68HC11 processors in C and assembly language. Interfaced
third-party systems to proprietary data collection systems using RS-485 and
RS-232.
-
Military sensor fusion system
Firmware development. The Atmel AT91RM9200, (ARM 9), provides the
basis for the WNC, (Wireless Network Controller). Slaves to the WNC include a
Blackfin 561 which performs the image processing, and a mesh radio, which is
used to communicate with several wireless smart sensors. Iar provides the
embedded IDE, and MicroC/OS-II is the real time operating system. Visual C++ is
used to develop the HMI program, which provides command and control of the WNC,
and displays the images with MTI, (Moving Target Indicator). An industrial
climate control network, which uses a TDMA differential interface, was
developed. A proprietary voting system of PID is used to minimize KWH rates, by
reducing peak usage. TI MSP430 microcontrollers are used.
-
NETWORKING (Q.931 Signaling) Software
implementation for a TR-303 Digital Loop Carrier Digital Loop
Carrier (DLC) Switch. This involved Implementation of OSI based Network
Protocol Q.931 in order to process the various Networking (Signaling) Messages
in the Switch. For this Designed and Implemented State-Event based FINITE STATE
MACHINE as per the Q.931 Protocol.
-
PCI Express firmware, hardware, drivers, UEFI and legacy
BIOS, and support applications for the STEC Enterprise class PCIe
SSD. This technology was done in an FPGA based design and was designed into the
STEC's 4th generation SSD ASIC design. Set up a development lab, acquire
equipment, schedule and plan the debug and integration of the system. Java
enterprise configuration application and Windows and Linux enterprise drivers.
-
BSD Unix based embedded system firmware and
driver architecture design and implementation, system level
debugging and verification, testing and QA planning. C and C++ programming,
debugging, testing on BSD UNIX. TCP/IP network programming. Design and develop
802.11WIFI wireless kernel device driver. Peripheral PCI device drivers for
touch-screen monitor, international keyboards, USB device driver, Thermal
Printers with USB and serial interfaces, etc. Design internationalization
(i18n) and localization solutions for GUI applications. Install-base
sustaining, bug fixing and system maintenance, complete product life cycle
development. QA test planning, testcase design, white-box and black-box tests,
automation tests, test tool design. Technology/Environment: FreeBsd, C and C++,
TCP/IP, 802.11WIFI, PCI, USB, Thermal Printers, QA test.
-
PSOS Inter-Task Communication with LAPD
Protocol for the LAPD link, based on the principles of Automatic
Protection Switching mechanisms. Developed Fault Tolerant SW to achieve SW
Switching of the Standby Line upon Failure Detection of the Active Line. Used
PSOS as Operating System and C/C++.
-
Embedded and Windows 7/8 USB software and firmware design for the
client's mobile TV, audio and video solutions. Architectural
design and development of USB software on new IPTV chip product from scratch.
IPTV device firmware based on ARM7TDMI processor and toolchain. Analog and
digital video, DVB-T and DVB-H protocol, MPEG, YUV encoding and decoding.
Chipidea USB IP stack modification and integration. Help hardware team make
architecture decisions, e.g. Hardware buffer size requirement analysis. Video
and Audio USB class driver and firmware development, High Speed USB 2.0
specification. Bulk, Interrupt, and Isochronous USB transfer, descriptor and
endpoint priming, queue heads, etc. Debugging and troubleshooting with Ellisys
and CATC USB analyzer, A/V decode, frame analysis. Windows WDM and WDF host USB
audio and video driver design, and integration with device firmware, using
DirectX, DirectShow, DirectSound, AVStream. RGB and YUV format,
encoding/decoding. Technology/Environment: USB 2.0, ARM7TDMI, DVB-T and DVB-H,
MPEG, YUV, Chipidea USB IP, Video and Audio USB class, WDM and WDF, DirectX,
DirectShow, DirectSound, AVStream RGB and YUV.
-
Vehicle controller RTOS Firmware
development, using the Motorola 68360 processor, with the MQX
real-time operating system. The controller is capable of utilizing various
communication protocols, including LON, which utilizes LONWORKS, and operates
with the Echelon chip.
-
Q.931, X.25, LAPD+ Protocols network GATEWAY
Interface development. Involved Translation of Packet Switched
X.25 Calls into Q.931 based Signaling Messages during Call Establishment, Data
Transfer, Call Clearing. It required Cross-Mapping of Q.931 IEs into X.25 based
Facilities.
-
Texas Instruments TMS320-based Signal Processing
Programming. Signal conditioning from industrial sensors.
Technology: C/Assembly. Environment: TI Code Composer.
-
DSP algorithms for mobile air
defense radar system. Digital electronics Systems Engineering,
radar HW/SW control loops, sub-array DSP algorithms, and other critical radar
performance functions.
-
Frame Relay Network C Software for a
client/server Operations Monitor. Developed Software to manage
X.25 Interface Operations in the Data Network. Developed Test Plans for the
X.25 Protocol on IDACOM Protocol Analyzer.
-
Embedded System communications
device Firmware development, using the Atmel At91 Arm processor,
with the IAR Embedded Workbench and FreeRtos. The CML Microcircuits MX604 modem
with SRI radio, allows wireless, real-time command and control with a master
and up to 4 slaves. Other communication interfaces include RS232, RS422, USB,
and Bluetooth.
-
USB Protocol Analyzer Debugging
between custom device and W2003. Technology: Use of ITIC 1480A USB Protocol
Analyzer.
-
VOIP Pocket PC software development. Low latency
implementation of a Voice over IP (VoIP) software phone for the Toshiba Pocket
PC. The solution incorporates the RTP stack and is complied with the Robust
Audio Tool (RAT) specification.
-
Military communications test
equipment drivers and applications. VXI-based, (similar to VME),
embedded Linux board with the MPC8245, (Power PC 603e core), Integrated
Processor. The workstation is Debian Linux Intel and the embedded Linux is
TimeSys 2.6. Four, (4), communication devices are on the Power PC board, and
device drivers were written for each. Control scheme consists of custom WIN32
applications software talking over either TCP/IP with sockets, or VXI Visa
commands, which control the embedded Linux communications.
-
OSI Network Layer ISDN Q.931 Protocol
development. Central Office based Call Processing Software with
regard to OSI Network Layer based NET-WORKING involving Q.931 Protocol for ISDN
Connectivity.
-
Embedded Linux Software development
for the Future Combat Systems, program. Specifically for VMS, which is part of
MCS. Using Embedded Linux, SlickEdit, Rational Rose Real Time, ClearCase, and
ClearQuest.
-
A voice compressor/decompressor for Digital Cellular Subscriber Unit
complying with the VCELP IS 54 EIS standard (contracting for the DSP Group)
implemented on a multi processor platform based on the TI( 320C51 Digital
Signal Processor. In addition, fast algorithms of convolutional and block error
correction were developed and implemented along with the voice tasks
-
FreeBSD-based SAN storage software
with an emphasis on networking protocols and multi-threaded kernel
space software, device drivers, volume managers, and SAN management for FCP and
iSCSI. FreeBSD and UNIX kernel and application programming in C and C++.
Networking protocol implementation in TCP, UDP, sockets, DNS, NIS, NFS, etc.
Debugging of issues found during test execution drive those issues to closure
with QA team. Kernel level debugging with GDB and KGDB, core dump analysis,
root cause analysis. Technology/Environment: FreeBSD/UNIX , TCP/IP, FCP and
iSCSI, TCP, UDP, sockets, DNS, NIS, NFS, GDB and KGDB.
-
RADAR processing system embedded
design and development, to MIL-STD 498, using PowerPC on the
VME-bus with the PSOS operating system and the SUN SOLARIS workstation.
-
ATA disk drivers for the Nucleus RTOS.
Supported both ATA and Vendor-specific commands. Technology: C/C++, Nucleus
RTOS. Environment: Mentor Graphics Edge debugger
-
Linux and Windows 802.11n WiFi drivers
on Atheros AR9130 chipset, Broadcom and Marvell chipsets with Integrated MIPS,
MAC, Baseband and ADC/DAC. Design and Develop Bluetooth high performance
devices. Develop Linux 2.6 based kernel driver, BSP, MadWiFi driver, and USB
based WiFi device drivers, LTIB (Linux Target Image Builder) to deploy BSPs
(Board Support Packages) for various target platforms. Develop Windows 7 and
Windows Vista WDF NDIS Miniport network drivers based on the latest Microsoft
Windows 7 device driver architecture, device stage, device metadata packaging,
etc. Develop 3G/WiMAX kernel driver for security, intrusion detection and
blocking features for the company's WiFi analyzer software suites.
Develop VoFi (Wireless VoIP) analyzer software to analyze and pinpoint wireless
communication issues for clients. Implement application to integrate with Cisco
Call Manager protocol engine into VoFi analyzer to analyze Cisco VoFi phone
call statistics, QoS metrics and identify problem areas. Develop 802.11a/b/g
WIFI driver on Atheros 5212 based on PowerPC IBM405GP platform running Denx
ELDK embedded Linux, on MiniPCI Atheros Wifi card. Ubuntu Linux host dev
platform. Read Mini PCI IBM 405 data sheet, troubleshoot PCI register
configuration problems. MadWifi Soft AP access point configuration shell
scripts, AP management CLI and Web interface in CGIC scripts and thttpd web
server.
Fix interrupt handling problem in interrupt service routines. Design and
develop Linux kernel (2.4 and 2.6) software and device drivers for
multi-service business gateway devices which integrate VOIP, Ethernet, DSL, and
T1/E1 WAN interfaces. C and C++ in real-time embedded Linux and VxWorks U-Boot
bootloader programming, UBoot customization, board bringup. Linux kernel
ramdisk based image programming, TFTP protocol. Technology/Environment: 802.11n
WiFi drivers, ADC/DAC, Bluetooth, Linux 2.6 Kernel, BSP, MadWiFi, Linux Target
Image Builder, 3G/WiMAX, Wireless VoIP, 802.11a/b/g WIFI, Atheros 5212, PowerPC
IBM405GP, embedded Linux, Ubuntu Linux 2.4/2.6, VOIP, Ethernet, DSL, and T1/E1
WAN, C and C++, VxWorks U-Boot, TFTP.
-
Software development for a vision
system for SMT, using the Analog Devices BF535 Blackfin DSP and
the Analog Devices RTOS VDK. Communication drivers for the 1394, (Firewire),
SBP-2 interface.
-
Telephone Call Processing Software on GTD5
Switch. Development of Call Processing Features such as Call
Waiting, Conference Calling, Call PickUp, Announcement Processing on GTD5
Switch. Developed Test plans for Q.931 & LAPD Protocols on TEKELEC Protocol
Analyzer.
-
Windows CE 2.1x PCI Drivers. Ported vendor's Hitachi SH-3
PCI-based reference platform from Windows CE 2.11 to 2.12. Employed PCI bus
analyzer to diagnose problems in vendor's PCI bridge controller for various
devices such as EIDE disk, NE2000-flavor network interface card, and video
adapter.
-
BSP (Board Support Package) for a custom CPU
board using the Atmel AT91RM9200 ARM-based micro-controller. The
BSP included device drivers for five on-board four-channel Oxford
Semiconductor OX16C954 UARTs as well as drivers for various on-board
peripherals. Brought up the CPU board with the use of logic analyzers and
oscilloscope. Made various prototype hardware patches. Technology: ARM
Assembly, C/C++, Nucleus RTOS. Environment: Mentor Graphics Edge debugger,
Oscilloscopes, logic analyzers.
-
Pulse-pair preprocessor module for
a naval radar system using a mix of fixed and floating point DSP
operations and also developed the embedded microprocessor subsystem and
microcode to communicate with a downstream processing computer via a gigabit
Ethernet link.
-
Software development for Range
Safety Systems. Missile telemetry data acquisition system command
and control of the Omega System 3000. The software is built using Visual C++
6.0. The Telelogic Rhapsody UML tool was used to accomplish the OOA, (Object
Oriented Analysis), and the OOD, (Object Oriented Design).
-
WinCE 4.2 RF communications driver
for Psion Netbook PCMCIA card.
-
Firmware development of a military
motion tracking vision system. The design includes: * PowerPCs:
755, 8245, and 405, (Xilinx EDK). * 5 Xilinx FPGAs. Code development of board
level BSP and drivers for the VxWorks Wind River Platform for Industrial
Devices. Tornado 2.2 and Single Step is used for debugging.
-
WinCE 5.0 LCD Driver for Samsung
ARM9 S32410 BSP. Added KITL support for debugging and downloading
thru the USB interface (RNDIS implementation).
-
Firmware and tool design for Medical
Devices. Develop, maintain and enhance system software for
defibrillators, pacemakers and other medical devices. Develop, maintain and
enhance firmware and low level real-time device drivers to monitor internal
digital signals and generate required signal patterns and waveforms for the
breadboard device. Touch screen display, watch dog, Multi-threading,
Process/Thread management. Develop and maintain a Python based regression test
suite of Python scripts for testing hardware device drivers. Extensive use of
Windows Python WMI service interface library calls and GUI interface with
Python Pmw megawidgets and Tkinter module. WinSock, Network Driver development,
Kernel development and debugging, IPC.
Logic analyzer is used extensively to verify signal waveforms and real-time
timing performance requirements. C, C++, MFC, Python, Perl, RTX Real-Time
Windows Extension System. Write design specification, validation and
verification plan and procedure documents, and test reports to meet stringent
FDA requirements. Wind River development tools. C and C++. Reverse engineering
large code-base without pre-existing documentation, bug fixing and
troubleshooting USB 2.0 embedded system firmware for medical devices, create
design documents. Nucleus Plus based host OS, Atmel USB core, Mass Storage
Class library, Bulk transfer. Inter-process communication, memory management.
Write technical specifications and documentations targeted for FDA validation
and verification process. Develop software tools in Python, Perl script
languages for validation. Develop automated test system to initialize the
medical device, perform the functional test, and capture test results in
machine-readable form to enable automated analysis. Technology/Environment:
Medical devices, Touch screen, RTOS, Windows WMI, Python, WinSock, NDIS, IPC,
Logic analyzer, C, C++, MFC, Python, Perl, RTX Real-Time Windows Extension,
Wind River RTOS, USB 2.0, Nucleus RTOS, Atmel USB Core, Mass Storage Class, FDA
validation.
-
TCP/IP stack for Proprietary
Internet Appliance. 8-bit microcontroller, (Motorola 68HC11),
using the Cirrus CS8900 Ethernet controller in 8-bit mode. Visual C++ 6.0
development for the PC side using MFC, and UDP and TCP/IP Sockets. PIC 16
firmware for an audio signal injection device. WDM device driver for Windows
2000. Communication device driver for a Linux embedded system, that translates
from Ethernet to RS232, in order to facilitate data acquisition from an
Ethernet Set Top Box to an RS232 68HC11 embedded system.
-
Design and development of a network stack for
the Nucleus embedded RTOS. Also developed several client and
server applications over the network stack that allowed an embedded application
to communicate with various WIN32 services provided by a PC on the other side
of a USB link. Technology: USB, Networking. Environment: Visual C++, Mentor
Graphics CodeLAB.
-
Implementation of WinCE 6.0 BIOS,
BSP, and Drivers on AMD x86 GEOD board.
-
IBM Embedded Speech Systems SDK for
VxWorks Design and development. QNX (Neutrino), and Windows CE.
Support of APIs for voice recognition and text-to-speech. Also, tool
development using Visual C++ 6.0/MFC.
-
SLOTTED ALOHA protocol simulation model
development for Random Access Communication Networks. MC6800
Assembly Language, Electronics Designs.
-
Linux and Windows Device Driver and
firmware development, create device specification based on
hardware datasheet, open source device driver code for BIOS, NAND flash, USB,
SD, wireless and mesh network, Graphics, Display Controller, Camera, HID
(mouse, keyboard) and battery operated devices. Reverse engineering open source
device driver, firmware and application code, write hardware and software
specification documents based on the reverse engineering result. Create
technical specification based on hardware schematic and device data sheets,
register settings, hardware and software interfaces, timing related hot fixes,
power management, test and debugging.
Device driver development, testing and debugging. Design and develop OS
switching technology on i386 PCs. C and C++, Modify Linux 2.6 kernel ACPI,
power management, suspend/resume routines. Create utility program that loads
multiple kernel images, suspend-to-RAM. i386 architecture C and assembly
programming. Performance tuning and timing benchmarking and tests. GIT version
control. Technology/Environment: Device Drivers, Firmware, BIOS, NAND flash,
USB, SD, wireless, Graphics, Display Controller, Camera, HID (mouse, keyboard),
Linux 2.6 kernel, ACPI, GIT version control.
-
VOIP (Voice Over IP) cable system
Design and development. Using the Motorola 8260 QUICC, VxWorks,
and Tornado 2.0. Initial board bring up, and BSP development. The Telogy Golden
Gateway with the Texas Instruments 5421 DSP is used to process the constant
bit-rate PCM stream.
-
MC6800 based Data Acquisition System
to record Employee Attendance Data, calculate Salaries. Developed Software for
Temperature Scanning & Monitoring Systems using INT8085 processor.
-
Hardware and software design of an
USB-to-telephone converter. Used for interfacing telephones to
standard PCs via USB port. Hardware design, electronics schematics, PCB layout
and prototype building. Used DirectSound and DirectInput for low-latency
streaming sound and control. Used Microsoft TAPI for call-control in test
applications. Technology: USB, Electronics CAD applications (Protel), COM.
Environment: Visual C++, oscilloscopes and other normal HW development tools.
-
OOA/OOD of SATCOM software defined
radio, (SDR), using Motorola 68360 H/W, and PSOS
RTOS/compiler/linker. Object Team is used for UML analysis and design. Design
and development of communications I/F between the 68360 radio and the 87C51
COMSEC processor. Design and development of driver class for the 68360 SMC
auxiliary port. WIN32 embedded simulation using Microsoft Enterprise version of
Visual C++, and MFC,(5.0). Encryption design and development, (COMSEC). ANDVT
protocol. Diagnostics software design,(BIT).
-
Aeronautical video and audio
entertainment systems Software Design and development. A CAN
network of PIC 16/17 microcontrollers is employed to control video, audio,
power supplies, relays, etc. MPLAB and CCS tools are used for the embedded
firmware. Microsoft Enterprise version of Visual Basic, Visual C++, and MFC,
(5.0), are used for the numerous utilities required to control, configure, and
test the system. Microsoft Access database format is used to provide customized
configuration of the system for each application.
-
Low-level RS-232 interface coded in
C needed to communicate with remote Proportional Integral
Differential (PID) controllers used in silicon growth laboratories at Wright
Patterson Air Force Base.
-
BSD Unix based embedded system firmware and
driver architecture design and implementation, system level
debugging and verification, testing and QA planning. C and C++ programming,
debugging, testing on BSD UNIX. TCP/IP network programming. Design and develop
802.11WIFI wireless kernel device driver. Peripheral PCI device drivers for
touch-screen monitor, international keyboards, USB device driver, Thermal
Printers with USB and serial interfaces, etc. Design internationalization
(i18n) and localization solutions for GUI applications. Install-base
sustaining, bug fixing and system maintenance, complete product life cycle
development. QA test planning, testcase design, white-box and black-box tests,
automation tests, test tool design. Technology/Environment: FreeBsd, C and C++,
TCP/IP, 802.11WIFI, PCI, USB, Thermal Printers, QA test.
-
Aeronautical instrument test
set,(ADTS), software design and development. Calibrates and cycles
altimeters, air speed indicators, and MACH air speed indicators. WIN32 program
that creates user profile scripts for the ADTS. Software used includes: MSVC++
1.52 and 4.0, MFC, GREENLEAF tools, and PVCS.
-
Windows CE Network Driver
for 10/100 Base-T AMD chip.
-
SAP to PC DOCS interface software
design and development, using MSVC++ 5.0 with COM.
-
Design and development of an embedded Hitachi H8
Micro controller system. Design and implementation of a
pre-emptive real-time kernel for it. (Round robin scheduling, pre-emptive time
slicing, Semaphores, msg queues, timers and more). Design and development of a
multithreaded real-time application for the device. HW Technology: Flash
memories, USB controller, UARTs, Hitachi H8 CPU, PLDs, emulators and Logic
Analyzers. SW Technology: Operating system implementation, real-time
programming.
-
Reflection emulator Ole Automation
WIN32 DLL Design and development, to adapt OLE interface to an
existing program that uses Windows HLLAPI for control of Attachmate and RUMBA
emulators. Versions for Windows 3.1, Windows 95 and Windows NT. Using MSVC++
4.2 and 1.52,and BC 5.0.
-
Debugging of hung Windows CE 6.0 OS
Image with Platform Builder 6 for TabletPC.
-
Nucleus Plus RTOS and ARM Firmware
Engineering. Develop user interface task that is part of a digital
camcorder product. Write C and C++ firmware code dealing with camera LCD
on-screen display status. Design a firmware state machine to respond to user
button presses, handle external and internal events. Based on Nucleus Plus RTOS
and ARM processor. Communicate with product marketing to define feature set and
coordinate with hardware and system integration groups to finalize design and
clear design obstacles. Technology/Environment: Nucleus Plus RTOS, ARM
Firmware, C and C++.
-
8051 assembly firmware development
for V.32bis central site modem. Many modes include Hayes dial, 2
wire, and 4 wire lease lines. Using dual Intel 8051 controllers and assembly
language.
-
Digital/analog hardware and
assembly programming for a multi-product diagnostic acquisition
system (MDAS) for automotive Body Computer Modules. The MDAS design utilized an
HC16 micro-controller and Altera 7128 EPLD. Technology/tools: Mentor Graphics,
Altera-AHDL, 68K ASM, H-Spice.
-
Hardware/software development of a distributed
multiprocessor system consisting of 15 CPU boards that controlled
an automatic paper testing system. This system communicated with a data
analysis system implemented in Delphi 2.0 under Windows NT. Measured data was
stored in a MS SQL-server 6.5 or Borland Paradox. Technology: Programming in a
real-time operating system and direct to the hardware in C and Assembler.
Emulators and Logic analyzers.
-
Embedded RTOS firmware for Set Top
Box data acquisition system, including communication, LCD, and
touch screen drivers, using the 68306 MCU with GNU tools and PSOS/RTXC
real-time executive, and 8032 MCU with Franklin tools. Conversion of PSOS to
RTXC. Windows communication S/W using Visual C++. Networking software for 486
head-end controller running QNX,(Unix).
-
VxWorks USB firmware and device driver project.
Develop USB peripheral device driver firmware for digital still camera and USB
printers. Implement USB peripheral stack and peripheral class drivers for
device enumeration, control transfer, bulk in and bulk out data transfer,
isochronous and interrupt transactions on VxWorks and Nucleus Plus. PowerPC and
ARM7TDMI based microcontrollers. Test and debug with JTAG, CATC protocol
analyzer and sniffer tools.
-
RTXC RTOS 68302 and 68HC11
networked, fire control system, using RTXC real-time executive,
SDS and Archimedes compilers, and HP and HMI emulators. Design and coding of
all startup routines and SCC communication drivers for 68302. Windows
communication and download programs were developed, using Visual C++.
-
video subsystem design utilizing
JPEG, H.261, MPEG1, and MPEG2 compression standards utilizing
Motorola's proprietary chipset. Technology/tools: View logic, MC-Spice,
Synopsys, ANSI-C.
-
1394 Firewire device driver design
and development.
-
68HC11 interactive CATV Set Top Box
(STB) FW, using Archimedes compiler and Nohau emulator. The STB
has many multimedia capabilities, including real time multiuser gaming and
streaming media with MPEG. Windows diagnostic program that downloads code to
68HC11 flash eeprom memory, using Visual C++.
-
Develop 802.11 WIFI device driver and firmware,
MAC layer firmware design, Access Point firmware, implement WEP encryption and
authentication algorithm.
-
VMEbus-based digital controlled
radar I/O and timing (RIOT) for an imaging commercial avionics
Millimeter Wave Radar System. Technology/tools: ViewDraw, ViewSim, H-Spice,
Altera-AHDL, Actel, ANSI-C, Mentor Graphics.
-
Design, implement and test OSGI and Residential
Gateway (RG) or Home Gateway multiple RTOS device drivers firmware
for USB, Ethernet, IrDA, HDLC communication protocols for Linux and VxWorks.
Implement firmware interface of RG hardware core. Device driver design, coding,
regression test, document and demo software development in C and assembly.
-
Motorola 68HC11-based embedded
controller Software and hardware design. POCSAG decoder, used to
provide an integrity check of base station paging data, using Introl assembler
and C. Software development was done on an Apollo workstation using the Introl
compiler and linker, under DSEE version control. Creation of an Apollo-based
simulation program to facilitate debugging of controller software before
hardware was available. Real-time emulation was provided by Pentica.
-
Maintain a Windows 98 IrDA VxD to
debug asynchronous I/O issues in serial virtual driver to communicate with the
IrDA hardware.
-
Intel 8096-based embedded
controller automated telephone answering system, using C and
Borland C++, connected to a network of Intel workstations using IRMX,(PLM), and
then to TANDEM computers. Software debugging was aided by Softscope. Voice
signal processing programs running on a PC were written to aid in the voice
message recording phase.
-
Radio base station controller
firmware developmment, for a cellular phone system, using a
Seimens 80c537 microcontroller, (8051), and PLM51-ASM51 tools with proprietary
kernel. Development of cell site controller simulator, using Compaq 386,
Microsoft C 5.1 and Borland C++ with VRTX real-time executive. The emulator was
supplied by Nohau.
-
Develop IrDA IrOBEX, IrTranP protocol stack in
C. Develop UML object-oriented demo software for USB and IrDA
protocol stack in Visual C++ to show digital image transfer and device
inter-connectivity.
-
Optical Time Domain Reflectometer
(OTDR) software using multiple processors. An 80286 is configured
as the main processor, with an 8088-based data acquisition system communicating
with it through dual-port ram. Tools used include : Masm, Microsoft C, Faraday
Bios, Rom Dos, GFX graphics tools, and the multi-tasking real-time executive
AMX86.
-
Embedded FIR/IIR/FFT filter design
and implementation. Developed waveform digital filtering program
to analyze the effect of various types of filters on heart beats. The program
allowed the application of lowpass and highpass (FIR and IIR) filters as well
as implement an FFT to analize waveforms in frequency domain. Developed
real-time, multi-tasking software for analog data acquisition and control of
CELIA System. The system is used in hospitals, for monitoring heart patients at
home, directly from the hospital. The language used was Paragon Professional
Pascal. The system is currently in Beta test at Holy Cross Hospital. Also
developed heart beat classification software in Pascal, used in an embedded
application using digital filters and correlation. This software acquired and
classified heart beats in real-time.
-
Motorola 68XXX processor RTOS
R&D. Designed hardware-independent graphics library for
M68XXX. Designed image processing software for Data Translation board. Designed
X.25 communication hardware and software for VME bus, using WD2511 chip.
Designed VME Bus circuit board and drivers for the Texas Instruments TMS32020
DSP. Extensive experience with MS-DOS, and IBM compatible computers, (Masm,
Tasm, GW Basic, Quick Basic, Turbo Pascal, Turbo C, Microsoft C, Quick C,
Modula-2, Turbo Prolog, and Microsoft Fortran).
-
Embedded USB communication protocol
firmware using C and C++ on RTOS Embedded Linux, VxWorks and
Nucleus Plus.
-
Navigation and local information
system design for vehicular use with map display and voice output,
Sensor fusion scheme using GPS and dead reckoning. One version of this system
used multiple processors, (68000, 68020, 80286), communicating in real-time on
the VME bus through shared global memory. Large data base design is done on the
VAX, (VMS), and implementation of the real-time location dependent data
retrieval system, (TELEMATICS), is on the multi-processor computer, and also on
a COMPAQ 386. Pascal, C, and Assembly language were employed in the design of
the M68XXX processors.
-
Bluetooth Link Controller and Link Manager
firmware for link level security features, encryption and
authentication algorithm based on Bluetooth standard. Implement UPF and TCRL
tests. All firmware done in C on 8051 microprocessor. Implement a HCI driver
testing tool software in C, generating pseudo random test files containing all
Bluetooth HCI commands and other protocol transactions.
-
Pseudo random test case generator tool in C
for Java performance enhancement semiconductor IP over the Internet. Use
standard XML and Java bytecode at assembly level, generate thousands of Java
Class files containing random sequence of Java JVM bytecodes. Cover testcases
including recursive calls, all standard Java bytecodes, and all complex random
sequence. This C language testing tool is extensively used by internal hardware
design and verification teams.
-
Intel 80188EB and 8031 processor
Software and hardware design, RF Monitor System, used to analyze
radio activity on a network-based vehicle automatic location system. Software
tools include Borland C++, Paradigm linker/locator, and Archimedes C. Real time
emulation was provided by SLD.
-
Windows CE based portable medical data
acquisition device. Subprojects included: 1) Specification and
development of Windows CE device drivers for data acquisition, 2) Windows
sockets communication over infrared link (IrDa), 3) Application programming
using WIN32API, Visual C++ and MFC for Windows CE. Environment: Windows CE, C,
C++, Embedded toolkit for VC++.
-
Development of BIOS for portable,
486-based pen computer with Opti or Acc system chips, including
smi-based power management strategy, using Masm and Microsoft C, SOFTICE and
Codeview debuggers.
-
Microcomputer design and development of an
embedded DC-motor controller. The motor controller was based on a
Intel 80196CA CPU which controlled the position and speed of the DC-motor.
Technology: A mixed environment with a real-time operating system and direct
programming of the hardware in C and Assembler. (IAR and O´Tool). Emulators,
debuggers and logic analyzers.
-
Assembly language and C Maintenance
of Crosstalk Mark 4 product. Code for this communications software
was developed using assembly language, (Optasm), and C, (Microsoft). Periscope
debugger was used.
-
Vehicle equipment and accessories
software, for automated tests of HP Basic computers controlled the
testing via HP-IB bus, (now IEEE-488).
-
Development of a Logic Analyzer targeted to run
in MS-DOS. The application was used as the interface for a logic
analyzer, which sampled data from a microprocessor system. The communication
with the sampling hardware took place via a parallel ISA interface board.
Functions for disassembling sampled data (Motorola 6800 format) and for
searching for data pattern as well as trigging sampling at predefined data
pattern were implemented. Technology: MS-DOS, Borland Pascal.
|