Cang T Nguyen
Falls Church, VA **042
Phone: 703-***-****
E-mail: ***************@*****.***
SUMMARY
Over 12+ years of experience in developing from simple to complex Data Communication products, both software and hardware. Strong embedded software background in boot loader, BSP, device driver, Applications including User Interface, networking, socket programming and protocol design and implementation for Software defined radios, Wimax Beamforming system, 802.11 a/b wireless Gateways, xDSL, ISDN, T1 and analog modems
WORK EXPERIENCE
05/2010-03/2011 DRS Technologies
Sr Embedded Software Engineer
Lead software engineer in design and implementation of embedded software for the new SI-9105 Falcon System product, a sophisticated 16-channel tuner system for military use. The system consist of a MPC8347 control board, four Virtex5 FPGAs processing engines, sixteen RF Tuners and four 10Gbits Optical Ethernet ports.
All software was developed in C, cross-compiled with Mentor Graphics C Compiler, and debugged with Edge source level debugger & Abatron BDI2000 JTAG tool.
Detail responsibilities included
Participated in designing & architecting the embedded system software for both MPC8347-based Control card and PPC440GX CPU based quad engine modules, mainly for the stream operation.
Designed and implemented the data structure for stream operation to allow complex but effective and reliable data path for stream operation and interface to Xilinx Virtex5 FPGA processing engines and DDC devices.
Designed and implemented the complete data stream configuration code & command sets for both control board and the quad processing modules to support various stream operations, including real-time real/complex data, DDC, u-Law/A-law/Linear demodulated data, SOI streams.
Designed and developed the complete stream configuration software for both MPC8347-CPU based Control card and quad processing engine modules.
Designed and developed the communication interface & configuration software for the 10-Gbits Advanced IO.
Modified Ethernet Driver in Nucleus OS to allow two separate Ethernet PHY devices on the same interrupts.
Designed & implemented the startup & synchronization sequence between Control board and the quad modules.
Customized boot loader software for both Control board and Quad processing module.
Assisted hardware engineer in board bring-up and hardware debug.
01/2009-01/2010 PC-TEL
Sr Embedded Software Consultant
Key engineer in developing embedded Linux BSP and applications for the new SeeGull MX RF Scanner product, which consists of a main Digital board (with a PowerPC MPC8347 CPU, two TI DSP devices, an FPGA, two Radio modules, and a Power control module). All software was developed in C/C++, and cross-compiled with ELDK 4.1 tool chain.
Detail responsibilities included
Analyzed customer design requirements and provided architectural design of the embedded software
Customized U-Boot bootloader for the digital board, and fixed software bugs in U-Boot Flash CFI algorithm
Debugged hardware issues in board bringing up.
Designed and developed Ram disk Root File System from scratch
Customized Linux Kernel 2.6.26 for the MPC8347-Based Digital board
Developed the Flash MTD Map driver module for 64Mbytes Flash device and modified the Common Flash Interface (CFI) for JFFS2 partition for firmware & configuration data file download.
Modified and integrated USB Serial Gadget driver and USB gadget Zero driver for bulk data transfer between Windows Host USB and Target digital board application
Supported debugging & integration of RapidIO & Tundra Switch TSI620 Linux Kernel device drivers.
Designed and implemented Linux devices drivers for FPGA, GPIO, SPI and I2C
Developed application program to download firmware images (DSP, FPGA, Radio’s controller firmware) from USB into JFFS2 Partition on Flash
Designed and implemented main system start up process for system hardware & software initialization and start up
Trained PCTEL software engineers on Linux software architecture, build process, and tools
07/2007-12/2008 Reverb Networks, Inc (formerly Wireless Highways, Inc)
Software Team Lead / Manager
- Team Lead /Manager of a group of four embedded software and a FPGA engineers, and key software developer for Model RV100i Beamformer system for Aperto 3000/5000 Wimax base station product. The design consisted of a Beamformer main card (w/ MPC8270 CPU running on Linux 2.6 Kernel, and Xilinx Virtex4 for Beamformer functions), a base station Interface card (W/ Xilinx FPGA Virtex IV), and nine Radio daughter cards. Responsibilities included:
Designed High level architecture of embedded Linux software for Beamformer Main card
Modified boot loader (U-Boot) and Linux kernel code for Beamformer Main card
Designed & implemented Linux device drivers (GPIO, FPGA for Interface & Control, FPGA configuration download in serial slave mode, SPI and I2C drivers for Beamformer board’s I2C& SPI-based components, and various Radio card & Base station Interface card’s SPI-based components)
Designed & developed application software (APIs) for high level software components to interact with device drivers without concerning the details
Designed & developed a CLI (Command Line Interface) network management interface for configuring, testing and monitoring all subsystems of the Beamformer
All software above was written in C & C++ languages, cross-compiled with ELDK 4.1 tool chain.
- Additional responsibilities included Project Review & Presentation (w/ MS PowerPoint), Project Scheduling via MS Project, System Software Architecture Design and Device Driver documentation (w/ MS word & Visio) and, support hardware team in design & debug of the hardware, FPGA firmware, and integration testing.
09/2005-07/2007 Wireless Highways Inc., Virginia
Principal Software Engineer / Team Lead
- Team lead of a group of four software engineers, and key engineer in the development of beamformer system for Compact PCI and ATCA chassis.
The design consisted of combination of off-the-shelf equipments with embedded software modifications and our own designs, MPC8270-based beamformer card, Intel IXP425-based Dual Port Ethernet (DPE) card, and Radio S/A modules.
Software responsibilities included:
Produced high level architecture design for the embedded software
Modified bootloaders for MPC8270-based beamformer card (U-boot 1.1.4) and IXP425-based for DPE card (Red boot) for hardware system bring up
Modified Linux kernel 2.6.19 for MPC8270-based beamformer card
Developed FPGA, I2C, SPI device drivers for hardware components on the Beamformer, DPE and Radio cards.
Designed and developed textual CLI and web-based GUI as network management interface
Additional responsibilities included hardware design, debug and bring up for all boards, Xilinx FPGA Virtex IV & II firmware design (I2C core, CPU Interface w/ DualPort RAM) and,
Reverse engineering the Radio’s PIC 16F877 firmware and modified C code accordingly to support new component added to hardware.
- Other responsibilities included Project scheduling, hardware design support and overseeing all IT related functions.
08/2001-08/2005 3eTI Inc, Rockville - Maryland
Principal Software Engineer
Designed and developed Model 3e-525V-3, a Video Server & Wireless Access Point/Bridge for a military base, using our existing Linux-based 802.11 a/b gateways integrated with an off-the-shelf CDMA modem for backup network connection. Responsibility also included developing an application (daemon task) to periodically monitor the failure of wireless network connectivity, and then switch over to backup Network connection via CDMA modem. Code was written in C language.
Designed and developed driver software for Model 3e-523-3 and 3E-523-F2, a wireless multi-mode Access Point. Responsibility includes board bring up, boot code and Linux kernel customization, and writing new serial driver for a 4-port UART device.
Lead engineer in the architect and development of a wireless active RFID system for Inventory and personnel tracking for NSWCDD, a Navy base in Dahlgren, VA. The RFID system consists of our existing 802.11 a/b wireless gateway (w/ Intel IXP425 CPU) integrated with an off-the-shelf active RFID Reader & tags from ActiveWave, Inc, and a remote network management system. The RFID system had been successfully demonstrated couple of times at MSWCDD Navy Base. Software responsibilities included:
o Defined & Architected Network Management Interface protocol using XML-formatted messages over HTTP connection via 802.11 wireless LAN network, and implemented it on 802.11 a/b gateway side.
o Designed and developed an application task (daemon process) to communicate with RFID Reader over RS-232 serial link to detect the presence and absence of RFID tags
o Designed and developed a GUI application program which communicates & reports the RFID tags to remote Network Management system upon request.
o Designed & implemented a shared RAM data structure for IPC between processes above.
Developed and implemented built-in power-up self-test and in-operation test suites to verify Encryption & security-related algorithms for our Model 3e-522FIPS wireless gateway & PC card gateway products to meet FIPS-140-2 requirement. Code was written in C, implemented on both Open-source Linux OS (for Stand-alone product w/ Intel IXP425 CPU), and on Windows 2000 for PC Card.
Developed and implemented SNMP-V3 MIBs for our new Generation of 802.11 a/b wireless Gateways for US Navy. Design utilized 802.11 a/b/g Atheros chip set and Intel IXP425 CPU.
One of the key software engineers in design and implementing an 802.11b wireless gateway products. Responsibilities included participating in software architecture design, board bring up, boot loader (RedBoot) modification, BSP, Linux kernel customization, 802.11 PRISM2 chip set driver modification to support MAC address filtering, application development, integration and working closely with hardware engineer for all phases. The device utilized Intel Xscale IXP425 CPU running Open-source Linux, and 802.11b PRISM2 or 802.11 a/b Atheros chip set.
- Code was written in C and IXP425 Assembly language.
09/1998-08/2001 US Robotics / 3COM, Inc, Vienna - Virginia
Senior Member of Technical Staff / Senior Project Engineer
Responsible for developing applications, device drivers and manufacturing diagnostic software for 3Com's Office Connect xDSL routers and modems
One of the key project team leaders in defining, designing and implementing BSP & device drivers for new Gateway product based on T1 Avalanche chip and Linux OS.
Designed and implemented device driver for ADI918 chipset.
Integrated SVC Software protocol onto ADSL PCI modem card
Designed and implemented OAM Cell handler in ATM Layer for MPC850-based product
Key software developer for 3Com’s Office connect Model OCR840 development project
Designed and implemented Device driver for Conexant BT8970/BT8973 SDSL chipset used on 3COM OfficeConnect OCR840 SDSL router, for both CPE and CO modes of operation
Designed and implemented diagnostics, BSP and low level Device drivers for ISDN Terminal Adapter PC Card for Japan market, including hardware bring up.
09/1995-09/1998 Patton Electronics Inc – Gaithersburg, Maryland
Principal Software Engineer
Responsible for the Architect, Design, Development and testing of microprocessor-based data communication products, including 2-wire baseband modems and statistical multiplexer products
Successfully designed & developed Model 1092 microprocessor-based full-duplex 2-wire baseband modem (both S/A and Rack-mounted version), utilizing Intel 8-bit 8051 Microcontroller, 2B1Q line coding w/ ISDN-U Transceiver chip MC14572 and, FPGA Actel 1020B Series for Data Sampling Rate Adaptation up to 128Kbps & various diagnostic functions. Responsibility for all project phases, including project management, technical documentation, design & implementation both hardware and software, manufacturing release process, and field customer support
Sole designed and developed Model 3022, a self-powered 2-channel statistical multiplexer, both hardware and software. The design utilized PIC 17XX CPU from Microchip Inc. were written in both Assembly and C
Other responsibilities included providing inputs to Product User’s Manual, ISO9001 certification, technical guidance for three lower level engineers, Manufacturing and Field support, and participating in Company Strategy planning for future products
EDUCATION and TRAINING
- BSEE - State University of New York At Buffalo, New York
- Special Training - “Manager Basics” provided by Chart Resource Group, `Nov 1998 PERSONAL STATUS US Citizen
SKILLS & KNOWLEDGE
Strong project leadership. Works well with subordinates as well as independently.
Strong and effective inter-department communication skills
Excellent product design and development experience from conception through production
Excellent combined hardware and software background in system architecture design, applications, board level software and device drivers
Programming Languages: C/C ++, DSP and Assembly languages (for various processors, microcontrollers & DSPs from Motorola, Intel, IBM, and TIs, including IXP425, ARM, StrongArm, PowerPC, MIPS, 8031, PIC), HTML
Operating systems: Linux, Unix and Windows, and/or proprietary
Architectures: Power Quick II (MPC82xx), Xscale IXP425, x86, ARM, PowerPC, MIPS, MC68302, 8031, PIC processors, and TI DSP TMS320C2x/TMS320C5x families.
Protocols: 802.11a/b/g, TCP/IP, UDP, FTP, HTTP, Telnet, SSH, Ethernet, SOAP, SNMP V1/V2/V3, PCI, ISA, SPI, I2C
Software and Tools: JTAG BDI2000 from Abatron, GCC, GDB, Trace32 debugger, familiar with Xilinx ISE, MS Visual Studio , TI DSP Code Composer, CVS, winCVS, RCS, SVN, EMP-300 PROM Programmer, Mantis Bug Tracker, Bugzilla
Documentation Tools; MS Office Project, Power Point, Visio, Word and Excel