Embedded Design without an OS By Peter de Ruiter D&E September 21 st, 2010 Transfer BV Since 1988, Transfer is well known in the BeNeLux for Electronic Design Automation (EDA) training, electronic design software and electronic design services. We deliver knowledge and tools, which enables our customers to control the complexity of the electronic design process. EDA Tools: Altium, Tasking, Sigrity, TimingDesigner, Springsoft Consulting Services Tool- and Methodology training Virtual Reality Solutions Transfer BV. - WWW.TRANSFER.NL 1
Questions? Who is designing electronics Who is designing software Who is doing designs with Microcontrollers Who is doing designs with FPGA s Who is doing designs with VHDL Who is doing designs with C/C++ Be different! Transfer BV. - WWW.TRANSFER.NL 2
D&E Septemeber 21st, 2010 Focus on differentiation? Embedded project Wifi Memory CAN PS2 UController TFT/VGA USB Ethernet Wifi Transfer BV. - WWW.TRANSFER.NL 3
Time to differentiation equals? Memory USB Ethernet Serial Communications Touch Screen 802.11 SOFTWARE Audio IO Keyboard C to Hardware (real-time systemen) Model Based Specification C Code Generator C Code C-Compiler Processor Co-Processor FPGA Transfer BV. - WWW.TRANSFER.NL 4
C to Hardware (real-time systemen) Specification C Code C-Compiler VHDL Processor Co-Processor FPGA C to Hardware (real-time systemen) Specification C Code HW SW partionering C-Compiler C to Hardware compiler Processor Co-Processor FPGA Transfer BV. - WWW.TRANSFER.NL 5
Rapid concept exploration & prototyping 5 Applications 5 typical Applications from five different industry segments to prototype with the Innovation Station s NanoBoard and Altium Designer s build in IP: Automotive: Prototype your new ideas in Hard- and Software on a free configurable NanoBoard Platform with integrated CAN-Interface. Industrial: Connect your needed Interfaces like Ethernet, USB, and Serial (RS232, I2C, SPI). Store the data transportable on your Hard Drive, Compact Flash or Memory Card. Medical: Get the data from your new sensors with the embedded ADC for a first test and build up the necessary system for further examinations in hours. Image Recognition: Grab your Video Source, try new Algorithms (e.g. the included JPEG Decoder), scale the results and display them on the TFT Color Touchpanel. Audio: Use the sophisticated I2S-based stereo audio system, with on-board amplifiers and mixer, and stereo speakers for effects like echoing by mixing the input and output. Transfer BV. - WWW.TRANSFER.NL 6
Application 1: Engine Control FPGA / Embedded Sensor e.g. in the window Main Processor with CAN Interface Signal Processing / Data Conversion Engine Management System User Header e.g. Window Lift CAN Message Generator and CAN Controller Embedded Soft MCU + Periphery NanoBoard External Application 2: Communication Processor FPGA / Embedded Discrete Sensor User Header Sensor Interface User Bus Controller User Header User Bus RS232 Serial Controller Embedded Soft MCU + Periphery USB USB Controller Ethernet PHY MAC 10/100 CF Controller Compact Flash Connector NanoBoard External Transfer BV. - WWW.TRANSFER.NL 7
Application 3: Contactless Bodyscanner FPGA / Embedded Sensor ADC Connector ADC Data Preprocessing Control Buttons Embedded Soft MCU + Periphery I2C Display Controller TFT Display NanoBoard External Application 4: Frame grabber & Processing Camera Analog Video Input ADC TI TVP5159 FPGA / Embedded ITU BT.656 Controller Embedded Soft MCU + Periphery Video Adjuster Display Controller TFT Display NanoBoard External Transfer BV. - WWW.TRANSFER.NL 8
Application 5: Audio Reverb Audio Source Speaker Analog Audio Input / Output 24 Bit, 192 khz Audio Codec Cirrus Logic CS4270 FPGA / Embedded Feedback Decay Delay SPI Controller Embedded Soft MCU + Periphery SRAM SRAM Controller Terminal NanoBoard External Nanoboard 3000 System on FPGA Hello World LED Number first (0..7), ( r, o, y, g, c, b, v, l, k ) Transfer BV. - WWW.TRANSFER.NL 9
FPGA design entry Altium Designer completed hierachical, mixed mode Design entry : Schematic HDL (VHDL / Verilog) OpenBus with IP C/C++ language C-to-Hardware Better Open: Lots of free IP With Altium Designer s OpenBus you can create your Wishbone-based design graphically with any of the royalty-free IP delivered by Altium like: Various Bus Controller / Interfaces e.g. USB, CAN and Ethernet MAC Various Memory Controllers e.g. SDRAM, SRAM and Compact Flash Various Graphic Controllers e.g. Video Capture, VGA 32 Bit and TFT Transfer BV. - WWW.TRANSFER.NL 10
Better Open: OpenBus With Altium Designer you can capture your embedded design in an abstract way, and then push it from the code into fast hardware, with a few mouse clicks. Standard SW Development - Process Transfer BV. - WWW.TRANSFER.NL 11
Software Platform Builder To simplify development of the embedded software, Altium Designer already offered a Device Software Framework (DSF) to generate Drivers etc. automatically With Altiums Software Platform Builder you will easily assemble a Software Platform for your hardware. Together with all necessary Drivers, the Software Platform Builder will deliver many high level services. These services include Storage Services for accessing files and folders on SD cards, IDE drives, Compact Flash cards and flash memory Networking Services to provide access to ethernet networking Kernel Services providing POSIX compliant multithreading capabilities GUI Services allowing the quick construction of modern graphical interfaces Multimedia Services for audio and video functionality The Software Platform can even be extended by adding your own Software Platform components! Software Platform Builder With the Software Platform Builder you can easily assemble a Software Platform for your hardware. Besides the Drivers, this includes High Level Services like: Storage Services Networking Services Kernel Services GUI Services Multimedia Services Custom Services Transfer BV. - WWW.TRANSFER.NL 12
Plug and Play Software Platform Builder This intuitive editor allows you to easily assemble a Software Platform for your hardware. The Software Platform is a layer of software assembled in the Software Platform Builder from a range of provided components. Copyright 2008 Altium Limited 25 Plug and Play Software Platform Builder High level software services can be included in a design Storage services for accessing files and folders on SD cards, IDE drives, Compact Flash cards and flash memory Networking services to provide access to ethernet networking Kernel services providing POSIX compliant multithreading capabilities GUI services allowing the quick construction of modern graphical interfaces Multimedia services for audio and video functionality Transfer BV. - WWW.TRANSFER.NL 13
Improved Memory Management Smarter Linking Greater control over memory usage HW / SW Partition with an ASP ASP is used as a container for C source functions that are implemented in hardware Processor transfers the parameters to the ASP, starts the function and waits for it to return Variables that are common to both are allocated in the shared memory Software function can simply pass a pointer value as parameter to the called hardware function. Transfer BV. - WWW.TRANSFER.NL 14
SW Debugging Unified Design Transfer BV. - WWW.TRANSFER.NL 15
Where are we today? An Example PS/2 Keyboard to Terminal Transfer BV. - WWW.TRANSFER.NL 16
PS/2 Keyboard to Terminal Step 1: Generate System on a FPGA PS/2 Keyboard to Terminal Step2: Generate SW Platform Transfer BV. - WWW.TRANSFER.NL 17
Conclusion Q&A Thank You Transfer BV. - WWW.TRANSFER.NL 18