Software Engineer - Embedded Processor Coder
15272 Newsboy Circle Huntington Beach, CA 92649
Software Engineer - Embedded Processor Coder
PEAK' s client designs and manufactures power converters for Commercial, Military, and Marine Industries.
PEAK Client’ s power conversion equipment is controlled by Infineon processors embedded in a custom PCB. The processor performs the majority of the command and control functions of the units as well as gives real-time commands to the hardware to generate output sine waves
They are in search of a software engineer that can work with the existing code, and generate code for new products. One immediate project will be porting existing code to a new CPU board. This is an upgrade from one Infineon processor to a newer version, but significant changes have been made including the addition of a real time clock and a change of PROMS (EPROM to EEPROM).
• Writes code for the operation of power conversion equipment including output sine waveform generation, start-up and shutdown sequencing, metering, HMI display and buttons, modbus communication, fault protection, etc…
• Works with engineering to create test fixtures/jigs to validate software on the bench prior to full-power testing.
• Modify existing code as necessary for bug-fixes and changes in operational scope.
• Provide tech support to the service group regarding operational sequences, equipment failures, log message interpretation, and documentation.
• Write new to control a Voltage switching transformer. This involves RMS voltage measurement, relay control, hysteresis, and fault code/messaging, phase detection, etc.…
• Intimate knowledge of electrical theory is not required, but an understanding of electrical power and power conversion is desired, as well as the ability to understand operational sequences of conversion equipment.
Technology / Programming environment:
• Altium TASKING embedded systems development solution
• C language
• EPROM burners
• Volt meters, Oscilloscopes for board level diagnostics
Outside of this core job function we have a variety of programming needs. Here are other programming tasks that we need to accomplish:
• Touch screen controller on Raspberry Pi
• Atmel based A to D converter and serial communications
• CAN communications
• DNP3 protocol
The candidate will design, develop, test, and maintain embedded software used for the operation, control, and interface of 12 to 500-kilowatt power conversion equipment. Existing code is written in C and compiled to run on Infineon chipset using Altium’ s TASKING development environment. Code set includes:
- RMS calculation of three-phase voltages, current, kW, kVAR, power factor
- Zero-crossing detection and voltage/phase matching for parallel operation
- Sine wave generation for IGBT-based DC to AC converter
- Fault detection and safe-shutdown
- Event / alarm log
- Communications to external equipment via Serial/USB/Modbus
Essential Job Function:
- Work with PCB design engineer to specify embedded controller needs such as I/O, A to D, Comm ports, interchip communication, clock, EEPROMS, etc.
- Work with Power Conversion engineer to define unit control functions, interface, sequence of operations, etc.
- Architect, build, test, document, and deliver embedded software based on high-level product requirements
- Develop and execute test plans to ensure embedded software meets functional, reliability, and performance specifications
- Provide technical support to production floor and field service technicians on new product builds and existing unit troubleshooting
REQUIRED EXPERIENCE/ SKILLS
- B.S. in Electrical, Electronics, or Software Engineering
- 5+ years of experience in design and development of embedded controller software
- 3+ years of experience in creating “ Driver Level” software in C including interacting with microprocessor registers, interrupt service routines, boot loader development, and working with communication systems (SPI/CAN/etc.)
- Experience with Serial & Modbus communication protocols. CAN (J1939, NMEA 2000 a plus)
- Basic understanding of PCB schematics
- Experience with hands-on development and laboratory equipment (ICE, function generators, logic analyzers, oscilloscopes)
- Experience in taking embedded software designs from concept through production
- Experience developing with code versioning tools, such as Git or SVN and software engineering processes to support efficient and effective high-quality embedded software
- Manufacturing and high-power testing of the power conversion devices takes pace in the same building. Candidate must be comfortable working with high power equipment in a laboratory and test environment
- Small team