* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 嵌入式系统概述
Survey
Document related concepts
Transcript
Embedded System Design Class: International graduate student Instructor: Wei, Chao-Huang (魏兆煌) Office: S706-3 E-Mail: [email protected] Mobile Phone: 0930-937-932 Skype: drwei06 Course Schedule Hardware Design (VHDL & Schematic Entry) Software Design (Microprocessor & C) HW & SW Co-design Small Real Time Operating System Ethernet Network Final Project Reference Books & Webpage "Digital Design with CPLD Applications and VHDL", Robert K. Dueck, Thomson. Any book about "C Language and 8051 Microprocessor". Design Entry and Synthesis Tools (Quartus II): http://www.altera.com/products/software/quartus-ii/subscriptionedition/design-entry-synthesis/qts-des-ent-syn.html Embedded System Design : http://www.cs.ucr.edu/~vahid/courses/122a_f99/index.html Content What are embedded systems History and development of embedded systems Composition of embedded systems Characteristic of embedded systems Embedded system hardware development Embedded system software development 1. What are embedded systems? Definition: Embedded system : any device that includes a programmable computer but is not itself a generalpurpose computer. Data processing systems except PCs and mainframe computers. Embedded systems are application dedicated computing system. A More Detailed Definition Embedded system are application oriented devices, which should be optimized with hardware and software resources. A special computing system with demand of functionality, reliability, cost, size, and power consumption. Generally, an embedded system consists of 4 parts -embedded microprocessor, peripheral hardware equipment, embedded operating system and user's application program,used for realizing the functions , such as control on other equipment , monitoring or management. Embedding a computer Example: Digital camera Digital camera chip Central processor CCD CCD preprocessor Pixel coprocessor D2A A2D lens Input interface JPEG codec Microcontroller Multiplier/Accum Digital signal processor DMA controller Memory controller Display ctrl ISA bus interface UART LCD ctrl Output display Software Architecture Application Software Hardware PDA: Handspring Visor Hardware Specs: Operating System: Palm OS version 3.5.2H Processor: 33 MHz Motorola Dragonball VZ (16-bit) Memory: 8 MB RAM, 2M ROM Display: 160x160 pixel, High-Res B&W, 4-bit (16 shades of gray) . Touch Panel Battery: 2 AAA batteries PC Connection : USB, IrDA, UART Expansion Slot: PCMCIA High-End Embedded System Examples Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, air condition, etc. Audio Video Recorder/Player. Household appliances. PC Keyboard/Mouse. Reference Interpretation (1) An "embedded system" is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application. Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices. Reference Interpretation (2) A specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have a digital interface -- watches, microwaves, VCRs, cars -- utilize embedded systems. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program. Reference Interpretation(3) The embedded system can be divided into chip, board, and system level. System on chip - Processor including the procedure or the algorithm in one chip. System on board - board contains some core module. System on system - in main computing system. 1.2 History and development of embedded systems First microprocessors was presented in 1971, it marks the beginning of the embedded system. View history of embedded systems from 4 respects: Hardware Software Products System architecture History of embedded hardware 1971: Intel 4004, 4-bit microprocessor TI, TMS1000, 4-bit microcontroller ROM, RAM, CPU + I/O port 1980: Intel MCS-51, 8microcontroller 16-bit, 32-bit microprocessor … 1990’s, DSP TMS320C30 Classification and term of the embedded processor (1) Micro-Controller Unit (MCU) i.e. Single chip. The early processor that integrated the whole computer in a chip, the inside has a certain processor unit as the core, and program in ROM. Some essential peripheral hardware such as RAM, bus, bus logic, timer / counter, I/O, serial port, A/D, D/A converter, etc. are also integrated. Intel 8051 Micro-Processor Unit (MPU) The MPU must be assembled with other essential peripheral hardware together on a circuit board to carry out the embedded function. ARM series,MIPS Classification and term of the embedded processor (2) Digital Signal Processor (DSP) The system structure and instructions are special designed, that makes it suited to carrying out high speed digital signal processing algorithm. TI TMS320C30 -> System-on-Chip (SoC) Mix the important processor kernel and various peripheral together on a chip, can reduce the consumption power and chip size further. Intel PCA architecture: PXA 255 Microprocessor varieties Microcontroller: includes I/O devices, on-board memory. Digital signal processor (DSP): microprocessor optimized for digital signal processing. Typical embedded word sizes: 8-bit, 16-bit, 32-bit. History of embedded software Procedure control and monitoring Operating system 1981, Embedded real time kernel VTRX32 1990’s, QNX-4 pSOS, VxWorks, Palm OS, WinCE, Embedded Linux, LynxOS, uCOS, Nucleus… Architecture develops of embedded system Hardware system Software system 4-bit single chip Real-time control/ monitoring procedure 8-bit/ 16-bit single chip Dedicate system 32-bit special purpose microprocessor General purpose system 32-bit DSP SoC SoPC IA & Embedded System Information Appliance An appliance specializing in information : Knowledge, facts, graphics, images, video, or sound. An information appliance is designed to perform activity, such as music, photography, or writing. A distinguishing feature of information appliance is the ability to share information among themselves. (Don Norman) IA & Embedded System (cont’d) The core of the IA machine is an embedded system The cost of a IA machine is depends on cost of embedded system The usability of a IA machine is depends on software of embedded system The development of the IA machine is followed with the trend of embedded system 1.4 Basic construction of an embedded system Software Input I/O Processor Storage I/O Output Fundamental hardware software elements Hardware Embedded processor Memory/Storage Circuits and power supply Interface controller and connector and Software Real time operating system (RTOS) Board Support Package(BSP) Device Driver Protocol Stack Application programs Typical embedded system hardware architecture Chip Board Circuit Power Supply CPU Core Interrupt Controler Prescaler Oscillation Circuit Timer Reset Circuit CPU BCU DMA Ports I/O Port A/D Connecting SRAM Connecting DRAM Connecting Flash Connecting ROM Connection for Debugging External Devices USB LCD Pen Keyboard IRDA Others Small Web enabled embedded system Typical embedded system software architecture (VxWorks) Hardware Independent Software Software tools,application programs TCP/IP VxWorks Libraries I/O System Wind kernel File System Hardware dependent Software BSP Network Driver SCSI Driver Hardware Ethernet Controller Serial Controller Clock Timer SCSI Controller Embedded Operating System Where to use Multi-Task Convenient user's interface Network function Upgrade and advance development Basic functions of operating system Scheduling of multi-task Memory management Hardware resource management Embedded Linux Basic components: Boot loader Linux kernel Further: Hardware drivers Application programs File systems based on ROM or RAM TCP/IP stack GUI Real-time operation Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance. Many systems are multi-rate: must handle operations at widely varying rates. Experiment board of this course Microprocessor 8051 family UART to PC Programable Logic chip Expansion Connectors Non-functional requirements Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc. Power consumption is critical in battery-powered devices. Excessive power consumption increases system cost even in wall-powered devices. Design teams Often designed by a small team of designers. Often must meet tight deadlines. 6 month market window is common. Can’t miss back-to-school window for calculator. 1.6 Embedded system software development Programming Languages Assemble, C, Java… Cross compiler A kind program, which compiles the execution code of target machine on another host machine. Procedure of development C/Assemble Source Code .obj File Library OS kernel Cross Compiler Linker Device Driver Debug System Image File Reset & Download Target Board Download and Debugging of execution code Development Platform Download execution code Return debug information Target Platform Debugging method of embedded systems LED Simulator ICE (In-Circuit Emulator) Embedded ICE based on Jtag interface Logic analyzer Simulator Simulator A Software based on host computer totally, Simulate functions and instructions of target machine. Characteristic Simple and executable Lack online function debug and real-time emulation Can imitate the target processor only, it is unable to imitate the function about I/O of the processor Common used as primary debugging tool. ICE ICE: In-Circuit Emulator The tradition method for testing the printed circuit board. ICE is a special device. It has special clips or connectors to touch each pin of the specific CPU chip, and can monitor the logic level on this CPU chip. Because the integrated level of the IC is improving constantly, the pin of the chip is increasing also. In addition, the surface mount technology reduces the chip size. So, it is ddifficult to use routine online emulation way… Embedded ICE Embedded ICE: a set of debugging registers JTAG Interface IBCR (Instruction Break Control Register) DBAR (Data Break Address Register) … JTAG (Joint Test Action Group) has defined a standard of boundary scan, need only 5 pins to realize the function of online emulation . ARM architecture processors have embedded ICE unit, which can be connected with the JTAG interface. Meanwhile, in order to trace the function in real time, ARM processor embedded a tracing unit implicitly that enables real time debug through a logic analyzer. ARM debugging system Embedded System Design Top-down design: start from most abstract description; work to most detailed. Bottom-up design: work from small components to big system. Real design uses both techniques. Levels of abstraction requirements specification architecture component design system integration Structure of this course Not covered in this course, Embedded OS will be in next semester Classification processors of embedded Microprocessor (MPU) Microcontroller (MCU) Digital Signal Processor (DSP) System on Chip (SoC) Storage ROM PROM,EPROM,EEPROM Flash ROM Flash ROM will be used in embedded system as boot ROM and hard disk. RAM SRAM DRAM 1.5 Characteristic of embedded systems Dedicate for special application Soft-/Hardware, computing and network communication integration Constrain of real-time The embedded system is a specialpurpose system, while the PC is for general applications. Technology integration Use RTOS commonly Constrain of power consumption Usually no difference of system software and application software, Software in ROM. Small system kernel High reliability Resources much less then PC Requirement of special development tools Not market monopoly Characteristics of embedded systems Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams. Functional complexity Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer. Often provide sophisticated user interfaces. PXA255 Architecture IrDA FF UART MMC/SD Card BT UART SPI to Touch Screen Touch Screen USB Client LCD Toshiba LTM04C380 K AC97 Codec CS4201 PXA250 Application processor Compact Flash USB Host controller SDRAM Driver and Transceiver Audio Jack Power System Flash Memory Ethernet Controller Boot ROM Expansioncard slot CPLD & Board level Registers Debug Leds HEX-encoding switches Accelerometer sensor