Embedded development with EDP
2704 views
The RS Embedded Development Platform offers an alternative path to the engineering prototype stage of a project allowing quick and easy changes of processor at the time of initial design or for upgrades in the future.

The Route to Production: Phase 1
Most new electronics products start with an idea followed by a quick ‘lash-up’ at the bench to test the feasibility. The plug-in type of prototyping board is most often used at this stage to avoid the necessity of soldering or making PCBs. When a microcontroller forms the heart of such a system, there is the difficulty that the more complex types such as ARM-cored devices are only available in surface-mount formats. DIPmodules suitable for plugging into a breadboard have been available for some time for PICs and the Propeller and these are now joined by the ARM mbed discussed in issue 4 of eTech. Here is the basis for that quick ‘lash-up’: no robust interfaces but sufficient hardware to assess the suitability of the processor for the task. Usually this means: is it fast enough for my real-time processing application? The mbed is perfect for this stage of development.
The Route to Production: Phase 2
Having established the viability of the initial idea we move on to the support hardware such as anti-aliasing filters for ADC channels, buffering and protection for I/O channels such as Ethernet, USB and CAN. The breadboard is looking rather crowded and messy now with possible noise problems on long trailing wires. This is where EDP comes in, providing all these filters, buffers and connectors in one small modular system. The mbed module is simply plugged into an EDP adapter or carrier to make it compatible with the baseboard. A few jumper connections may have to be made to suit the project with some minor changes to your mbed program. Otherwise, that’s it and further software development can take place ‘in the cloud’ as before. I needed access to an I2C bus for the ultrasonic rangefinder and this was easily achieved from the I/O ‘breakout’ headers on the EDP baseboard. An MC1 motor control module provides an interface to the brush DC motor and the recommended EDP power supply copes with the motor current, although a heavier PSU can be connected directly to the MC1 if necessary.
The Route to Production: Phase 3
At some point the limitations of the mbed development system will become apparent. The most obvious limitation is the lack of debugging tools, and perhaps by now the realisation that revealing all your code to competitors via the web may not be advantageous to your company! The next step is to replace the mbed and its carrier with the EDP-CM-LPC1768 module. The new unit has a number of jumper options that need to be made depending upon the peripheral application boards present. A micro-SD card socket is provided along with a programming header for the Keil μVision 4 IDE. If you already have the Keil system with its μLink debug ‘dongle’ then you can get started straight away, otherwise you will need to purchase a dongle from RS separately. Fortunately it can be used with all the EDP ARM-based boards. A free code-limited version of μVision IDE can be downloaded from the Keil website.
C program listings for the EDP demonstrator board may be found here. The main difference, apart from the different names for the peripheral driver routines, is the C++ object-oriented structure of the mbed program relative to the plain C code of the EDP-CM-1768 version. The mbed program was shorter because all the driver files were called by one single ‘Include’ statement: mbed.h. The initialisation steps were also hidden from the user. You can see that translation from mbed to EDP is not going to be a difficult job once you are familiar with the sophisticated new IDE with all its project management and debug facilities. Note however that the COM port functions such as ‘printfl’ now work through the RS-232 channel via an EDP Basic Communications module. The latter also provides USB, CAN, RS-485, RS-232 buffering, protection and connections. Ethernet is available on a baseboard connector.
Production
Finally, if the finished design is for a low-volume specialist application not justifying a custom PCB, then why not just supply the customer with an EDP-based solution? The boards are robust and mounting holes are provided for securing modules to the baseboard.
Future-proofing
Now there is an over-used phrase. In the case of EDP it means that obsolete or superseded components (usually the processor chips) can be removed and replaced with the latest types, leaving the rest of your developed prototype intact. The key time-saver is that your precious software will still work when re-compiled for the new processor using the supplied low-level drivers.
There is also the opportunity to try out different processors at the development stage. How about a different Cortex-M3, Cortex-M0, ARM 7, ARM 9 or perhaps an XC167 optimised for fast real-time processing? The PIM carrier module brings in the possibility of evaluating dsPICs or PIC32s. EDP is not cheap, but it is built to last – the module connectors are rated for many insertions/extractions for example – and after the initial investment future additions will work out a lot cheaper than a complete new development kit. Then there is the time saved by not re-inventing the wheel.
Component List
EDP 4-channel Baseboard 460-285
EDP LPC1768 Command Module 703-9229
EDP mbed Carrier Module 703-9235
ARM mbed LPC1768 Module 703-9238
EDP Communications Module 460-310
EDP MC1 Motor Control Module 460-304
Program/debug dongle 703-9241
Article by Dr. William Marshall, RS Components
Taken from eTech issue 5

