The instrument is used to measure particle concentrations in water. Measurements are taken from an array long of optical elements, preprocessed on the hardware and stored in onboard memory for further retrieval. The device is battery operated. There is an optical IR interface and RS485 port to communicate with custom software which runs on PC.
The hardware consists of multiple PCBs which are divided by functionality and connect together inside a water-tight, metal housing. There are PCBs for: CPU, SRAM Memory 8MB, Analog section, Measuring sections, Sensors. Main microcontroller which is used so far is PIC16F74 operated on 5V and it should be replaced by MSP430 line (TBD which one exactly).
The firmware is written in assembly language and optimized for size and speed. The firmware implements state machine of the device and communication protocols with the software PC. It is working mainly in low power modes. I.e. most of the time, all systems are powered down and the MCU is sleeping. It wakes up periodically to take measurement data, store it and maintain itself.
The software is written in C++ using Microsoft foundation libraries and system calls and runs on Windows desktops. It is used to configure the instrument, download data from the instrument as well as visualize the data (in OpenGL) and process it. The software is decoupled into two sections: data management and visualisation and communication protocol and interface to the instrument.
- Port firmware from Assembly PIC to C code on MSP430.
Implement support for SD card (4 or 8GB max) in firmware. It will replace old parallel SRAM banks.
Modify existing communication protocol both on firmware and Pc software.
Increase the measurement rates from existing 1 per second to 10 per second.
Implement faster communication interface for data retrieval - it can be USB or something else -TBD. Current hardware works up to 115200 bit/second.
Previous knowledge and experience with Texas Instruments MSP430 line microcontrollers (5 years).
Embedded C (5 years).
Understand and follow assembler code.
Programing in C++ (3 years)
Low power design. Should be able to use various low power modes of MSP430 in the firmware.
Be able to read and understand electrical schematics.
PIC16 knowledge is a plus.
Working with bitbucket repositories
18 freelancers are bidding on average €1198 for this job
Dear Sir, I am an electrical engineer with 19 years experience in this area . I am interested in your project : Firmware Port, Embedded C, PIC16 to MSP430 Please send a private chat message.