Services required would be device programming for development of USB peripherals, for which I would provide the PCB design and proto boards to work with.
I don't apply to your project, but just advice.
I've seen many troubles caused by this development role assignment.
USB application requires specific consideration for board design.The points are twofold,
1) Bus- or Self- powered -- VBUS detection
2) Noise -- isolation
1) Bus- or Self-powered -- VBUS detection
The type of power supply is determined by supposed operation of your device, not by the amount of current which the device draws from USB.
- Bus-powered
The device works just when it connects to a host
- Self-powered
The device works in stand alone, too.
For Bus-powered device,
The MCU is supplied by USB. USB line provides power supply capacity of 100mA or 500mA, depending on the host side. When power requirement of your device exceeds these capacity, you will have an extra power supply to satisfy the requirement. But in this case also, the MCU is still supplied by USB. The extra power supply for peripherals is switched by the VBUS (5V supply) pin on the USB connector.
For Self-powered device,
The MCU has to know physical connection of USB. As MC908JB16 doesn't have specific pin for VBUS detection, you have to assign a spare port pin for this purpose. This port pin connects to VBUS pin on the USB connector, across a protection resistor, with another weak pull-down resistor, and a small bypass capacitor.
In this topic, we discussed on self-powered configuration.
https://community.freescale.com/thread/64806
2) Noise -- isolation
Noise affects to the oscillation of the on-chip OSC. It causes missing or extra clock. USB-PHY (decoder/encoder) on MCU is more sensitive to clock disorder than MCU core. Even when the MCU core seems to run without trouble, USB communication is disturbed.
Motor/solenoid drive often causes heavy noise issue.You may need to isolate signal/control GND from power GND.
- Isolated power supply for the MCU
- Optical coupler for output port
- Ferrite beads for input ports of external sensor connection.
Hope this post will help you,
Tsuneo