Presentation on theme: "ECE 493T9 Real Time Embedded System Tutorial Set 1 May 12, Spring 2008."— Presentation transcript:
ECE 493T9 Real Time Embedded System Tutorial Set 1 May 12, Spring 2008
Here is your TA Scott Chen First of all, sorry for missing the first class Office Hour: Monday 4:00pm to EIT 3136 Assignment:hand in at the end of tutorial
Here is your TA SFU ENSC, Electronics Option UW Research Group: CIRFE, RF Microwave Eng. ES Engineer, 2-year experience in real time industrial communication controller design. RTOS:DNS Neutrino, ZNS Microprocessor:Hitachi / Zilog / eZ80 Motorola HC-11 / 12 Xilinx Microblaze / Picoblaze PowerPC 440 Series FPGA / CPLD:Xilinx Spartan II / Virtex IV Lattice 3032 series CPLD Altera CPLD Avnet Analog FPGA series
Introduction to ES Design Delicate Integration of Hardware and Software Engineering => System Engineer Converts your brilliant idea into marketable and profitable product => Start Your Own Business! Huge market out there. It’s not hard. You have all the tools!
Introduction to ES Design ES Design Flow: 1)Clarify your idea and identify its important features. 2)Select a suitable hardware platform. (Set 1) 3)If available, purchase the dev kit along with the IDE and possibly the customized OS / RTOS and IP Cores. 4)Firmware Programming. (Lecture, Set 2) 5)Identify the hardware components being used by your program on the dev kit, and source their specs and available alternatives. The latter is to optimize your design cost.
Introduction to ES Design ES Design Flow Cont’ 6)Construct your PCB design. You can often find the recommended PCB designs for the ICs in their spec sheets. Commercial PCB softwares are available. 7)Prototyping – Optional, can be very costly! 8)Revise and finalize your design. 9)Time for mass production! 10)Casing / Packaging / Advertisement 11) CUSTOMER SUPPORT !!!
ES Hardware Platform Choosing a proper hardware platform can optimize your design performance and reduce the design time and cost. Most common ES hardware platform: 1)Microcontroller / Microprocessor based system 2)Programmable Logic based system 3)Hybrid system
ES Hardware Platform Microcontroller / Microprocessor System: Main Advantages: 1)Optimized for software programming. 2)A huge variety of uC’s that cater to both general and application-specific purpose. 3)Dummy-down ANSI-C IDE and RTOS. 4)Standardized control-datapath IC structure for easy assembly programming. 5)Numerous manufacturers, large number of alternative selections. 6)Lower Cost (?)
ES Hardware Platform Microcontroller / Microprocessor System: Disadvantages: 1)Lack of hardware design flexibility. 2)Limited number of on-chip modules. 3)May require a lot of additional ICs to establish a complete hardware platform. 4)Degraded performance with lengthy lookup table operations and, in many cases, combinatorial logic operations as well. 5)Not ideal for highly customized ES design.
ES Hardware Platform Programmable Logic System: FPGA / CPLD / ASIC Main Advantages: 1)Great flexibility for hardware design customization. 2)On-chip modules can be hardware customized on ASIC or software customized with IP cores on FPGA and CPLD. 3)One-chip solution: on-chip multicore system and on-chip network system. 4)Superb performance with lookup table and combinatorial logic operations with CPLD. 5)Ideal for parallel pipelining operations (ex. Image processing) with FPGA. 6)Also carries on-chip microcontroller with customized ANSI-C IDE and RTOS
ES Hardware Platform Programmable Logic System: Disadvantages: 1)Require HDL knowledge. 2)Longer development time. 3)Less manufacturers are providing programmable logic ICs in the market (comparing to that of uC). Less alternative selections. 4)Hardware design debugging are much more challenging than that for software design. 5)More costly (?).
ES Hardware Platform Hybrid System / Multicore System: Multiple uC’s uC + CPLD On-chip multicore system with FPGA Mix-and-Match, as wild and crazy as you can imagine
What’s Next? This is Reality: First day of work as a software engineer, you walk into the office finding a 400-page uC user manual and a letter-sized note that says: “Here is the manual of the uC we use for this project. You are expected to attend weekly project dev meeting. Please have the assigned software routines done by the end of this week before the meeting…” This ain’t no practical joke! You are expected to know how to get started on programming with a new uC on your own. As a system engineer, you should know how to walk through the user manual and grab the needed info off the pages, and, most importantly, how to use “the Bible”.
What’s Next? Microprocessor Programming Overview: No! Assembly has NEVER become an obsolete language. There is a reason that C has never come close to replacing assembly as the lowest-level programming language. As a system engineer, you need to know how both assembly and C works, and be able to use them interchangeably to maximize the uC performance. Being able to call C routines in assembly (and vice versa) can boost your salary level up two notches!