Microcontroller-based Design and Embedded Applications

We can practically take a napkin concept drawing, design the hardware, write the code (mix of C++, C and Assembly), layout the board, fabricate, test, and hand you a prototype. We can also help you define the end product from your wish-list.

napkin drawing


Microcontroller-based and Embedded designs are straightforward. Most processors have a slew of integrated peripherals such as SCI, SPI, IIC, Timers, Clock generators, Flash, and Ram on the same silicone. Once the application is identified, it is just a matter of selecting the right microcontroller, and making the peripherals function with the internal, or external supporting hardware. 9s08gb processor onboard peripherals Initially, a functional block diagram provides a visual aid to identify the major block of the overall process. Each major block is subdivided for more detailed depiction of each major function. The I/O for each block is identified, and the interrelationship between Functions is defined. A well planned, detailed initial description facilitates the hardware design and code development. The firmware is written using a tool-set. This tool-set is composed of a compiler, assembler, and Linker to produce object code. On-chip memory is usually limited so code efficiency is a must. The object code is loaded in the processor or microcontroller flash memory using a programming pod  via the JTAG interface. Real-time Operating Systems (RTOS) are available from many manufacturers that provide libraries of functions, and methods to speed up code generation. However, they add to the application footprint in memory, have high initial cost, and normally require some kind of royalty per device.  Efficient code can be developed without RTOS with little effort in understanding the processor/microcontroller on-chip peripheral. Once you have written the functions that operate the on-chip devices, you can develop your own library of reusable code.  MC9S08®,i.MX processor onboard peripherals Coldfire®, and i.MX® families are examples of Microcontrollers available from NXP®. P&E Programming pod







PE-Micro® provides programming pods for many systems. Many reputable semiconductor manufacturers produce microcontrollers and microprocessors of various sizes (data bus, address bus, internal memory), and architectures. Choice of the microprocessor/microcontroller heavily depends on your application. 8, 16, 32, and 64-bit processors imply address space, and instruction size. Also, the choice of architecture (e.g. RISC) makes an impact on code development. RISK (Reduced Instruction Set Computing) provides the user many advantages, however care must be exercised specifying "char", "integer", "long", and "double" type variables when using compilers. In RISC architecture each step adds x-number of bits depending on their type, where x is the processor bit-structure (16, 32, 64, etc.).