Michael D. Sherwood
Summary of Qualifications
Michael D. Sherwood
Embedded Firmware / Software Engineer
Technology Summary
Over twenty years experience in the management, design, development, programming and support of embedded, real-time, multi-user, multi-tasking, networked systems. Extensive experience as project manager and senior software engineer. Advanced engineering software design and implementation utilizing OOD and OOP methodologies. Experience in customer software/hardware technical support and technical analyst for sales and marketing in preparing functional specifications. Project responsibilities have covered the full software development life cycle (SDLC) of determining customer requirements to the installation and maintenance of systems throughout the world. Most of my experience is in an R&D product development capacity with rigid schedules.
Proficient in C, C++, C#, MS Visual C++, HTML, XML, ASPECT and assembly language programming including Motorola / Freescale Coldfire 5206, PowerPc 68XXX, 68XX, HCXX, Texas Instruments TMS320F28XXX, TMS320F2XXX, TI MSP430, Cypress “PSoC”, ARM and Microchip processors. Operating systems include SUN SOLARIS SCO UNIX, Windows NT, 2000, XP. Real-time operating systems (RTOS) include UNIX, OS9000, OS9, VxWorks, QNX, uC/OS-II, eCos, TI DSP BIOS and a couple I have designed. Some projects do not need a RTOS, so I developed small realtime executives.
Proficiency with real-time operating system interprocess communication, sockets and threading. Experience with SYBASE, ACCESS and SQL. Experience with software development processes. DO-178B Level ‘A’ development experience.
Proficent in developing code for memory/flash constrained devices.
Experience with peripheral interfaces, BSP development, interrupt service routines, timers and device drivers for CAN, SPI, LCD, UART, Digital I/O, I2C, SSP, SSPA, I2S, IRDA, MBUS, IPC, ECAP, PWM, DMA, ADC (A/D), DAC (D/A), USB and several discreet interfaces with FPGA, CPLD, Cypress Semiconductor (EZ-HOST, EZ-OTG) USB controllers and PSoC (Programmable System on Chip).
Experience with communication protocols such as USB, Modbus, Fieldbus, CAN bus, BacNet, ARINC 429, M-Bus, 868 Mhz WMBus, OMS, PMBus, HART, BacNet, AnyBus and many custom RS/232 or RS/485 serial communication protocols. ODVA test experience.
Experience with coding standards and best practices such as DO178B, C99 and MISRA-C.
Hardware / software integration for systems including analog / digital electronics.
SD Card interface.
Ability to read and evaluate electronic circuit schematics.
Fluent in the use of integrated development environments (IDE) including GNU development tools, Unix VI editor, TI Code Composer Studio, Wind River Systems ‘Tornado’, CodeWright, IAR Embedded workbench, Eclipse, Cypress PSoC Designer, MPLab/MPLabX, National LabWindows CVI and of course MS Visual Studio.
Proficiency with configuration and change management tools including Rational Clearcase and ClearQuest, TortoiseSVN, Subversion, PVCS, GIT, VSS and RCS. Experience with 8, 16 and 32-bit MCU, MPU, CPU, DSC and DSP processors. Experience in multicore processor development.
Proficient in Microsoft Word, Excel, PowerPoint, Access, Project and Visio.
Proficient in the use of laboratory test and development equipment such as JTAG, emulators, ICE (in-circuit emulators), debuggers, oscilloscopes, logic analyzers and communication analyzers.
LinkedIn URL: http://www.linkedin.com/in/sherwoodmichael
4/2016 - 5/2020 Badger Meter Milwaukee Wi.
(Remote Employee)
Developed an ultrasonic meter utilizing a dual-core TI F28377D processor with multiple SPI, ADC, DAC, PWM, RS485, UART ports. Proprietary, Modbus and BacNet protocols. CIST, BIST and on demand diagnostics.
Developed a fuel monitoring system for a standoff strike missile. Primary language is ‘C’.
Developed second generation ultrasonic meter utilizing a dual-core TI F28377D, with advanced signal processing algorithms for multiple fluid types and expanded pipe sizes. Temperature, Energy measurements and calculations. Anybus Ethernet TCPIP, BACnet IP, Modbus TCP module communications and SD Card for data logging. Primary language is ‘C’
1/2015 - 4/2016 Badger Meter Inc. Scottsdale, AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification for an industrial flow computer utilizing ModBus and BacNet protocols, a smart valve controller utilizing the AnyBus protocol.
Project to refactor and convert an existing product to another processor.
Primary language is ‘C’.
7/2015 - 4/2016 ENEA. Phoenix, AZ.
Contract with ENEA for System Engineering on a Honeywell Touch Screen Display project. This project is a DO178B Level ‘B’ project involving system and software reguirements validation and verification (V&V).
1/2015 - 7/2015 Badger Meter Inc. Scottsdale, AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification in accordance with DO-178B level ‘B’ standards of the hydraulic metering system for the refueling boom on the US Air Forces KC46 refueling air tanker. TI TMS320F28335 DSP utilizing ADC, DAC, PWM, SCI RS485 and asynchronous interrupt handling. Helped prepare DO178B certification and requirement documents such as PSAC, SRD, SDD, SCMP, SDS, SCI, SAS, STM, SLR and MTA. Primary language is ‘C’.
5/2012 - 12/2014 Marvell Semiconductor Inc. Chandler, AZ.
Contract with the SOC Validation group. Embedded software development for validation and verification of pre and post silicon for their SOC validation team. ARM CA7 mutli-core, Cadence emulator, eCos, C, ARM assembly language.
Pre and post silicon SOC validation of Marvell’s chipset for the Sony play station 4. ATE (Automated Test Envirionment) setup utilizing Marvell’s test equipment.
Power management verification and validation on a 6 core ARM SOC design. Primary language is ‘C’.
6/2013- 9/2014 Badger Meter Inc. Scottsdale, AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation of a flow meter calibration data acquisition system. RTOS, TI TMS320F28335 DSP utilizing a FPGA high speed interface, I2C interface to 16bit ADCs, SPI interface to serial flash, LCD display. This system controls/monitors 64 ADC channels, 24 DAC channels, 32 digital inputs, 64 digital outputs, 8 high speed counters and 5 serial I/O ports. Includes expansion for Ethernet and GPIB. This system replaces multiple NI card based I/O modules. Specified processors and support peripherals for the design. Primary language is ‘C’.
7/2012- 5/2013 Badger Meter Inc. Milwaukee, WI.
(Remote Contract)
This is the first ever industry usage of 868 Mhz ‘WMBus’ protocol for the MSP430 chipset utilizing the new TI ‘WMBus’ stack. Worked with TI to validate the new stack.
Contract for the design, embedded software development, implementation for a very low power OMS smart meter. Utilizing an 868 MHz RF transceiver along with a low power TI MSP430 MCU. C, IAR IDE, SPI, SSP, serial flash, TI’s RF wireless WMBus, IRDA and asynchronous communications. This product is a very low power device that will be in continuous usage with the requirement that the product will operate for 15 years on a single 3.6V battery. This product will auto detect baud rates and seven different encoder protocols ( OMS, EDIS, OBIS, SCR, SCR+, ECO and BMI proprietary ). Primary language is ‘C’.
1/2012- 6/2012 Badger Meter Inc. Scottsdale, AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification in accordance with DO-178B level ‘A’ standards of a RTOS and TI TMS320F28335 DSP embedded system for a pressure and fuel monitoring system for the ATDX experimental stealth fighter project. Primary language is ‘C’.
2/2012 - 3/2012 Intel Chandler, AZ.
Contract for the customer engineering group, diagnose customer problems.
3/2010 - 12/2011 Marvell Semiconductor Inc. Chandler, AZ.
Contract with the SOC Virtual Platform-modeling group. Software development of USB 3.0 Device and Host controllers that utilized the “Pravaga IP” with a virtual USB transport protocol that I created.
Virtual component models of HSI, SSP, a “Marvell” USB 3.0 device controller, NAND Flash controller, Graphics controller with OpenGL/OpenGLES API’s, MMU, DMC, DRAM, FLASH, NAND, SRAM memories and ARM co-processor. utilizing Virtio, Synopsys (Virtual Modelling), eCos, C, C++, and Clearcase.
Developing ARM (Bare Metal) based verification test software. Primary language is ‘C
2/2010 - 3/2010 Exact Flow / Flow Dynamics Inc. Scottsdale, AZ.
(Remote Contract)
Contract for the conversion and refactoring of a TI TMS320F2407 based product to the TI TMS320F28335 processor.
Professional
Experience
3/2009 – 2/2010 VST Fuel Management Inc. Phoenix, AZ.
(Remote Contract)
Contract for the design, embedded software development and implementation of a fleet fueling system. This system utilizes a TI TMS320F28234 DSP running TI SYS/BIOS RTOS with interfaces for magnetic card, display and keypad. Controls up to 4 dispensers and 4 pumps, with communications to a host PC. SPI interface to serial EEPROM. Hardware design layout from an existing legacy platform to incorporate new technologies. Primary language is ‘C’.
7/2008 - 2/2009 J Gordon Electronic Design (Cypress Semiconductor NADC)
(Remote Employee)
Embedded software development project for a Cypress Semiconductor EZ-HOST device to implement a RS/232 to a flash mass storage reference design and development kit. This design allows an external processor a quick and convenient method to utilize a Flash drive utilizing an existing serial port.
Software development projects for Cypress Semiconductor PSoC devices.
Designed and developed a USB Mass Storage Class device.
Designed and developed a unique USB to UART communications bridge device.
1/2008 - 7/2008 Exact Flow / Flow Dynamics Inc. Scottsdale AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification in accordance with DO-178B level ‘B’ standards of the handheld turbine field calibration with fuel selection unit (flow transfer standard) for use by the armed services. Product utilized dual TI TMS320F2407 and TI TMS320F2406 processors. This contract was for upgrades for a previous contract. JTAG emulation, XDS510/XDS560 experience. Primary language is ‘C’.
10/2007 - 7/2008 J Gordon Electronic Design (Cypress Semiconductor NADC)
(Remote Contract)
Contract Software development projects for Cypress Semiconductor PSoC devices.
Designed and developed a button ‘CapSense’ front panel controller for the Motorola LMH (Liquid Media Hub) with an I2C communication channel and “CapSense” technology. Primary language is ‘C’.
Developed a button ‘CapSense’ front panel controller for a refrigerator utilizing Cypress PsoC “CapSense” technology.
Designed and developed generic embedded API’s to implement a full PMBUS (Power Management BUS) communication packages for master and slave devices utilizing I2C.
Redesign and development of the Honeywell AWM92200 Mass Airflow Sensor. This project modification was to add 2 SPI communication ports to the original design, one implemented using traditional H/W and the other using software techniques.
Designed and developed a RS/232 to a SD (Secure Digital) card interface and embedded file system. This design allows an external processor a quick and convenient method to utilize a SD card.
Designed and developed a Cypress PsoC Designer (IDE) generated device output “.hex” file to a 'C' structure “.h” file. This software was developed using C#.
Designed and developed a generic embedded API to implement an ISSP (In-System Serial Programmer) for several PsoC chip families along with boot loading processes.
Designed and developed a unique I2C to SPI communications bridge device.
Designed and developed API’s for generic communication packages for master and slave devices utilizing I2C.
Designed and developed a midplane device responsible for sequencing the power on/off of the power supplies and reporting global system errors of the Dell DCS “Xanadu” custom storage enclosure that supports twelve (12) SAS or SATA 3.5” disk drives, supports from two (2) to four (4) Atoka class server boards and is powered by two (2) non-redundant power supply units.
1/2007 – 8/2007 Exact Flow / Flow Dynamics Inc. Scottsdale AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification in accordance with DO-178B level ‘B’ standards of a RTOS and TI TMS320F2407 DSP embedded system for a pressure and fuel monitoring system for the X-51 ScramJet. Created all the filtering and signal processing algorithms and techniques for dual rotor turbine meters. Primary language is ‘C’.
Contract for design, development and implementation of a fuel off-loading system for service station delivery from bulk tanker trucks.
8/2006 – 10/2007 Foliage Software Systems. Mesa AZ.
Software verification in accordance with DO-178B level ‘C’ of an aerospace project with ARINC 429 communication protocol.
Software reverse engineering, refactoring and code review of software for an aerospace project in accordance with DO-178 level ‘B’. Primary language is ‘C’.
Preparation and review of PSAC, SDD and SRD documents. HLR (high level requirement) and LLR (low-level requirement) documents. Worked within a team environment on these projects.
5/2003 – 7/2006 Exact Flow / Flow Dynamics Inc. Scottsdale AZ.
(Remote Contract)
Contract for the design, embedded software development, implementation and verification in accordance with DO-178B level ‘B’ standards of a handheld turbine meter, portable field calibration with fuel selection unit (flow transfer standard), for use by the armed services. This device replaces a laptop-sized computer. Utilizes a RTOS I designed, TI TMS320F2407 DSP, A/D, D/A, CAN and SPI interfaces, flash memory, serial EEProm, RS-485 and RS-232 serial communications. Dual TI-DSP processor design with a RS-232 connection to a Cypress CY7C67300 (EZ-HOST, EZ-OTG) USB controller for printing, communications and flash memory storage. HMI (human machine interface) utilizing keypad and display. I personally performed all the necessary functions of hardware design support, software design and development through testing and verification of the device. Primary language is ‘C’.
Design, development and implementation of various fluid and gas metering systems for use in the aerospace industry by Rolls Royce, Malabar and Honeywell. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device.
Design and development of several TI DSP based, C and assembly language projects for temperature sensing, pressure measurement, density calculations for high precision mass flow, laminar flow element (LFE), Small Aperture Orifice (SAO), gas and liquid dual-turbine flow meters. I personally performed all the necessary functions of hardware design support, software design and development through testing of the devices.
Design, development and implementation of a gas pump additive injection system utilized by Additech. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device.
Design, development, implementation and verification in accordance with DO-178B level ‘A’ standards of a RTOS and DSP embedded system application software for a TI DSP controlled dual redundant hydraulic fluid monitoring system for the JSF (Joint Strike Fighter X-35). Created all the filtering and signal processing algorithms and techniques for dual rotor turbine meters. Created all the analog signal generation for the interface with FADEC. Preparation and review of PSAC, SDD, SRD documents. HLR (high level requirement) and LLR (low-level requirement) specifications. Utilizes a RTOS I designed, TI DSP, A/D, D/A, CAN and SPI interfaces, flash memory, serial EEProm and RS-485 serial communications. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device.
2/2003 – 4/2005 Southwest Microwave Inc. Tempe AZ.
Contract for the design, embedded software development and implementation of a pre-emptive RTOS ported from uC/OS II, DSP application software for a Motorola Coldfire (MCF5206) and DSP co-processing with a FPGA, controlling underground cable security system capable of intrusion detection along a 400-meter cable to within 3.0-meter accuracy. Developed the RF signal generation and signal processing algorithms and using FFT, AGC, FIR and IIR techniques. This system can detect anything between a rabbit and a car crossing the perimeter. System was developed using “CodeWright” and GNU development tools. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device. Primary language is ‘C’.
1/2002 - 9/2003 Flow Technology Inc. Phoenix AZ.
Contract for the design and software development of their new Bag Mini Diluter System, which was developed for CARB (California Air Research Board) for precise exhaust measurement for the new Super Ultra Low Emission Vehicles (SULEVs). Created all the filtering and signal processing algorithms and techniques for 32 ADC inputs, 32 DAC outputs and 128 digital I/O points. This system utilizes Microsoft Windows 2000 or XP operating system with VC++ .NET, Phoenix Contact PLC, embedded SQL interface with ACCESS database using ODBC and ADO, Crystal Reports and Graphical user interface (GUI) using Microsoft and National Instruments software components. GUI interface for control, diagnostic, configuration, reports and maintenance. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device. Primary language is ‘C
6/2000 - 2/2002 Southwest Microwave Inc. Tempe AZ.
Contract for the design and embedded software development of a RTOS and DSP application software for a Motorola Coldfire (MCF5206) controlled microwave security project. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device. Utilized the VxWorks operating system and components. Primary language is ‘C’.
Designed and developed a Motorola HC11 controlled portable radar detection system. Developed all the filtering and signal processing algorithms and techniques for the target detection. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device.
Designed and developed a Motorola MC08 controlled amplitude, frequency and phase modulated dual output signal generator. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device.
6/2000 - 1/2002 Flow Technology Inc. Phoenix AZ.
Contract for the design and software development of a Windows NT, C/C++ automated test and calibration systems (ATE) for the calibration of liquid and gas flow meters, utilizing Windows, LabWindows CVI, ACCESS, EXCEL and Crystal Reports. GUI interface for control, diagnostic, configuration, reports and maintenance. I personally performed all the necessary functions of hardware design support, software design and development through testing of the device. Primary language is ‘C
5/1998 – 6/2001 Consulting Services
Contracted with various companies within the petroleum industry such as Shore Terminals, Shell Chemical, Williams Energy, Caljet and FINA England on various projects. All these projects were for security control and data acquisition (SCADA) for refineries, bulk terminals and/or pipelines.
7/1998 - 5/2000 Sorrento Electronics (General Atomics) San Diego CA.
Contract for the design and development of a multi-tasking, multi-threaded, networked software utilizing SYBASE relational database with embedded SQL techniques to verify data, access authorization, credit validation and generate transaction records. Developed numerous software interfaces with peripheral computer systems to control and monitor their operations. This software was designed to be utilized on either SUN SOLARIS UNIX or WINDOWS NT platforms. Utilized UNIX VI editor/compiler to develop numerous communication protocol interface packages including: SAP, MOTAS, MODBUS, SNA, TABS and PETROEX. Worked within a team environment on these projects.
9/1978 - 7/1998 Engineered Systems Inc. Tempe AZ.
Intel PC-compatible OS9000, OS-9 multi-user, preemptive multi-tasking operating system programmed in C. On site host controlling industrial computers for petroleum distribution terminal automation systems designed for continual unattended operation. Supervisory real-time control and monitoring of printers, modems, terminals, and valves networked data acquisition devices, electronic presets, tank gauging, pipeline, additive injection, and intelligent controllers. HC10, HC11, M6809, M6805, M6802 Embedded Micro controllers. Designed and developed real-time multi-tasking assembly language operating systems for multi-component petroleum product blending controller system capable of standalone operation or externally controlled via communications with a host computer. Valve, pump and pipeline control based upon pulse, flow and status monitoring, digital and analog I/O.
2010 CyPros Certified Consultant – Cypress Semiconductor
2009 National Instruments LabView seminar
2004 DO178B training course by Hi-Rely Inc.
2001 Crystal Reports training course
1998-2002 Kennedy Western University, Continuing education
Education
1996 Microware OS9000 training course
1977-1978 Arizona Technical College, Graduated Highest Honors
1974-1975 Stanford University, Palo Alto, CA, Engineering Seminars
Patents and
Awards
1974-1975 Foothill Community College Palo Alto, CA.
1988 - PWMD (Person Who Makes a Difference) - ESI/Square D Corporation
1986 -Two patents awarded for data encryption techniques
1978 - FCC 1st class license with radar and microwave endorsements
Product information
Information links for some of the companies whose products I developed software for.
J Gordon Electronic Design www.jged.com
Badger Meter Inc. www.badgermeter.com
Exact Flow LLC. www.exactflow.com/index.html
Southwest Microwave Inc. www.southwestmicrowave.com/products.html
Flow Technology Inc. www.ftimeters.com/pages/product/eflow.html
www.ftimeters.com/pages/product/prodindcal.html
Sorrento Electronics Inc. www.ga-esi.com