RAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS

Chia sẻ: Nguyen Vinh | Ngày: | Loại File: PDF | Số trang:175

0
94
lượt xem
19
download

RAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

The objectives of the project were to review developments in embedded system design and future trends, and to explore board-level rapid prototyping using FPGAs. The embedded process design flow consists of many important steps that make it essential to achieve a functioning final product within the allocated design time. In order to make appropriate decisions, embedded systems hardware and software knowledge is an important requirement. The embedded hardware decisions are analyzed in terms of processor, memory, and peripheral requirements and limitations. The embedded software process is reviewed as well as the necessary considerations to be made by the designer....

Chủ đề:
Lưu

Nội dung Text: RAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS

  1. RAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS Summa Cum Laude Thesis Bhavya Daya Bachelor of Science in Electrical Engineering Bachelor of Science in Computer Engineering Spring 2009
  2. © 2009 Bhavya Daya ii
  3. To: God for granting me patience My mom, dad and brother for their unwavering support iii
  4. ACKNOWLEDGEMENTS I would like to thank my supervisor, Professor Herman Lam, for his assistance throughout the honors research, Professor Eric Schwartz for obtaining the Xilinx development board for the project, and Professor Ann Gordon-Ross and Professor Prabhat Mishra for being members of my supervisory committee. I would also like to thank Mr. Steve Permann, student advisor, for his guidance and support throughout my undergraduate studies at the University of Florida. iv
  5. Table of Contents ACKNOWLEDGEMENTS ................................................................................... iv LIST OF TABLES .................................................................................................. x LIST OF FIGURES ............................................................................................... xi ABSTRACT ......................................................................................................... xiv CHAPTER 1 ........................................................................................................... 1 INTRODUCTION .................................................................................................. 1 What is an Embedded System? ........................................................................... 1 Design Considerations when Developing an Embedded System ....................... 4 Importance of Rapid Prototyping of Embedded Systems using FPGAs ............ 6 Scope of The Project ......................................................................................... 10 Outline of Chapters ........................................................................................... 11 CHAPTER 2 ......................................................................................................... 12 EMBEDDED SYSTEMS DESIGN ...................................................................... 12 Embedded Systems Design Flow...................................................................... 12 Three Generations of Embedded System Design ............................................. 16 Trends affecting Embedded System Design ..................................................... 19 Overview of Embedded System Hardware and Software................................. 20 CHAPTER 3 ......................................................................................................... 21 v
  6. EMBEDDED SYSTEM HARDWARE ............................................................... 21 Peripherals......................................................................................................... 22 Processor ........................................................................................................... 24 Microcontroller-Based ...................................................................................31 ASIC-Based ...................................................................................................32 DSP Processor-Based.....................................................................................35 FPGA-Based ..................................................................................................36 Memory ............................................................................................................. 44 CHAPTER 4 ......................................................................................................... 50 EMBEDDED SYSTEM SOFTWARE ................................................................. 50 Intellectual Property .......................................................................................... 50 Stages of Software Development ...................................................................... 51 Embedded Operating System ............................................................................ 54 Xilinx and Altera Software Tools ..................................................................... 58 CHAPTER 5 ......................................................................................................... 63 RAPID PROTOTYPING OF EMBEDDED SYSTEMS ..................................... 63 Rapid System Prototyping ................................................................................ 64 Prototyping of Embedded Hardware and Software Systems ............................ 69 CHAPTER 6 ......................................................................................................... 74 BOARD-LEVEL RAPID PROTOTYPING OF EMBEDDED SYSTEMS ........ 74 vi
  7. Board Level Prototyping Methodology ............................................................ 74 Prototyping Platforms using FPGAs ................................................................. 75 Altera DE2 Development and Education Board.........................................75 Xilinx FX12 PowerPC and Microblaze Embedded Development Kit........84 CHAPTER 7 ......................................................................................................... 92 EMBEDDED SYSTEM DEVELOPMENT ......................................................... 92 Embedded System Design .............................................................................. 95 Altera DE2 Board ..........................................................................................95 USB and Embedded Operating System ....................................................96 Choosing an Embedded Operating System................................................98 UCLinux Operating System .......................................................................99 Porting uCLinux to Nios II Processor and Cyclone II FPGA ..................100 Means of Implementing Photo Frame Application Using uCLinux ........101 Design of Application Software...............................................................102 Porting Application to Nios II processor .................................................103 SD Card and Nios Embedded Processor ..................................................104 Research of IP Cores ................................................................................105 Nios II Hardware Design .........................................................................105 SD Card Interface ....................................................................................106 VGA Interface ..........................................................................................110 vii
  8. SRAM Controller .....................................................................................115 JPEG Decoder ..........................................................................................116 Application Software Design ...................................................................116 Xilinx PowerPC and MicroBlaze Development Kit FX12 Edition ...........118 Choosing an Embedded Processor........................................................118 MicroBlaze Processor ............................................................................119 PowerPC Processor ..................................................................................121 Research IP Cores Available ..................................................................122 Compact Flash Interface ........................................................................123 VGA Interface ..........................................................................................125 Embedded Processor Hardware Design ...............................................126 Embedded Processor Software Design.................................................129 Embedded System Implementation ................................................................ 130 Altera DE2 Board ........................................................................................130 USB and Embedded Operating System ..................................................131 SD Card and Nios Embedded Processor ..................................................134 Xilinx PowerPC and MicroBlaze Development Kit FX12 Edition ...........138 Altera DE2 and Xilinx FX12 .......................................................................... 140 CHAPTER 8 ....................................................................................................... 142 FUTURE AND SIGNIFICANCE OF EMBEDDED SYSTEMS ...................... 142 viii
  9. CHAPTER 9 ....................................................................................................... 146 CONCLUSION ................................................................................................... 146 APPENDIX ......................................................................................................... 150 SD_Card.h....................................................................................................... 150 Xsysace_selftest_example.c............................................................................ 157 LIST OF REFERENCES .................................................................................... 159 ix
  10. LIST OF TABLES Table 1: Comparison of Embedded Processor Cores within FPGAs ............................... 42 Table 2: FPGA comparison to ASIC ................................................................................ 43 Table 3: Intellectual Property Added at Different Phases ................................................ 52 Table 4: Common Embedded Operating Systems and Applications ................................ 57 Table 5: Demand for Rapid System Prototyping .............................................................. 68 Table 6: Nios II CPU Cores and Key Features ................................................................. 80 Table 7: PowerPC Processor Features .............................................................................. 90 Table 8: Embedded Processor Design Checklist [36]....................................................... 94 Table 9: Comparison of Operating Systems for Altera Development Boards [15] .......... 98 Table 10: SPI Commands [20]........................................................................................ 109 x
  11. LIST OF FIGURES Figure 1 : Time-to-market and market window.................................................................. 7 Figure 2: Design Cycles for FPGAs and ASICs ............................................................... 10 Figure 3: Hardware Software Partitioning and Co-design [5] .......................................... 15 Figure 4: Compression Technique Hardware Changes .................................................... 28 Figure 5: Modern Embedded System Components on a Single Chip .............................. 30 Figure 6: Processor Type versus Increasing Flexibility.................................................... 30 Figure 7: FPGA Underlying Fabric [5] ............................................................................. 37 Figure 8: Embedded RAM and Multipliers [5]................................................................. 40 Figure 9: Hardcore processor within a FPGA [5] ............................................................. 41 Figure 10: Main Memory Options .................................................................................... 45 Figure 11: Intellectual Property Incorporation into the FPGA Design Cycle [5] ............. 51 Figure 12: Real-time kernel (left) vs. general-purpose operating system (right) [3] ........ 58 Figure 13: Debug Information View in Nios II IDE......................................................... 60 Figure 14: Incremental Development Model [9] .............................................................. 66 Figure 15: Prototyping Design Cycle ............................................................................... 72 Figure 16: DE2 Development Board [10] ......................................................................... 76 Figure 17: DE2 Development Board Peripherals and FPGA [10] .................................... 77 Figure 18: JTAG Programming of Cyclone II FPGA ....................................................... 78 Figure 19: Active Serial Programming of Cyclone II FPGA ........................................... 79 Figure 20: Cyclone FPGAs ............................................................................................... 80 Figure 21: Nios II Processor Core .................................................................................... 81 Figure 22: Avalon Switch Fabric ...................................................................................... 83 xi
  12. Figure 23: ML403 Development Board [7] ...................................................................... 85 Figure 24: ML403 Board and Virtex 4 FPGA Connections ............................................. 86 Figure 25: Different Methods of Programming of Virtex 4 FPGA .................................. 87 Figure 26: Microblaze Processor ...................................................................................... 88 Figure 27: PowerPC Processor Architecture .................................................................... 89 Figure 28: Application Design and Implementation Choices ........................................... 97 Figure 29: Hardware Design – High Level ..................................................................... 103 Figure 30: Hardware Design – SD Card ......................................................................... 106 Figure 31: SD Card Connected to FPGA [17] ................................................................ 107 Figure 32: SPI Command Structure [20] ........................................................................ 108 Figure 33: Initialization of Card into Different Modes [20] ........................................... 109 Figure 34: Block diagram of VGA Core [18] ................................................................. 112 Figure 35: VGA monitor with 640 columns × 480 rows. [18] ....................................... 113 Figure 36: Horizontal and vertical synchronization signals timing diagram [18] ......... 114 Figure 37: VGA Controller Circuit ................................................................................. 115 Figure 38: Software Design Flowchart ........................................................................... 117 Figure 39: Hardware View of ML403 Embedded MicroBlaze System [24] .................. 120 Figure 40: Hardware View of ML403 Embedded PPC405 System [23]........................ 121 Figure 41: Compact Flash 50 Pin Female Connector [26] ............................................. 123 Figure 42: System ACE Controller Block Diagram [25]................................................ 124 Figure 43: Embedded Processor Hardware Design ........................................................ 128 Figure 44: Software Design Flowchart ........................................................................... 129 Figure 45: Nios II Processor Hardware Components ..................................................... 131 xii
  13. Figure 46: uCLinux Operating System Running on DE2 Board .................................... 133 Figure 47: Hardware and Software Development in Xilinx Platform Studio................. 138 Figure 48: Embedded Processor Hardware Implementation .......................................... 139 Figure 49: Transition to System on Silicon or System on Chip ..................................... 143 Figure 50: Rapid System Prototyping and Rapid Application Development ................ 149 xiii
  14. ABSTRACT The objectives of the project were to review developments in embedded system design and future trends, and to explore board-level rapid prototyping using FPGAs. The embedded process design flow consists of many important steps that make it essential to achieve a functioning final product within the allocated design time. In order to make appropriate decisions, embedded systems hardware and software knowledge is an important requirement. The embedded hardware decisions are analyzed in terms of processor, memory, and peripheral requirements and limitations. The embedded software process is reviewed as well as the necessary considerations to be made by the designer. The rapid prototyping strategy and the board-level prototyping method are described as a significant piece of the embedded system design flow . As an addition to simulation, prototyping provides functional and performance verification. The development platforms that were researched are the Altera DE2 board and the Xilinx Microblaze and PowerPC FX12 Development Kit. A test application was designed following the principles of embedded system design and development. The future of embedded systems greatly shifts from system on board to system on silicon and designers have to take into account different limitations. With many-core processors emerging, designers need to be able to reach peak performance by utilizing the full potential of many cores. xiv
  15. CHAPTER 1 INTRODUCTION The development of an embedded system contains many stages and decisions. The decisions are based on the application and the standard challenges posed when developing any embedded system. Before development, it is vital to understand what an embedded system is. The term is used frequently without giving much thought to the definition. Once a product idea is established, the stages of development depend on the product. Is the product an embedded system? If the product isn’t, different design considerations and stages of development are followed. The embedded system market contains many time constraints. The product should be deployed when the demand for the product still exists, if the demand ceases then the product would not yield any profit for the company. Rapid prototyping is needed in order for the product to be revealed within the time frame allotted. The steps of embedded system design and development are outlined and applied to a test application in later chapters. What is an Embedded System? An embedded system is a set of circuitry that is lodged within other devices. The presence of the internal computer or system is not immediately obvious, but the embedded system market is the fastest growing portion of the computer market. The embedded devices range from everyday devices to advanced embedded systems used for complex applications. A more formal definition is that an embedded system is a digital system with at least one processor that implements a hardware function that is a 1
  16. part or all of the digital system. The processor that is used in an embedded system is an embedded processor. The embedded system usually contains a single function. Some systems do exist that are programmable and contain couple different functions, such as PDAs. Applications of embedded systems can be broken down into four types, signal processing, mission critical, distributed control, and small systems. Signal processing systems could encompass all embedded systems, but the scope is defined to radar, sonar, and real-time video applications. Mission critical systems include avionic, space- craft control and nuclear plant control. Distributed control systems consist of large networks and routers and transit systems. Small systems are usually thought of when considering embedded systems, but it is important not to forget the other types. The most well-known small embedded system today is the cell phone. Other examples are digital cameras, sensors, and mp3 players. The future and trends of embedded systems are discussed in a later chapter. Compared to desktop and server systems, embedded systems contain a larger range of processing power. The price of the system is constrained for embedded systems, unlike desktop systems, and it is a key factor when designing the products for this part of the computer market. The typical characteristics of an embedded system are as follows. 1. Designed to perform a single or application specific task, rather than multiple tasks. Many embedded systems consist of small parts that fit within a larger 2
  17. device. The larger device could be a general purpose system. An embedded system is usually part of a larger system. 2. Many embedded systems contain real-time constraints. The design requirements vary by the applications, but usually power, cost, reliability and performance are emphasized. The amount of heat produced by the device may be of importance. The weight of the device should be minimized for most embedded system applications. 3. The embedded system should not cease operation. This is a farfetched goal, but the power usage and battery life should be utilized appropriately. Reduction in power usage will greatly increase the battery life and the system would operate for a longer period of time. 4. Embedded systems usually interact with the outside world in th e form of LCD displays, speakers, keyboard, and other visual and auditory signals. The interactions allow the users to operate the system and to specify certain commands. 5. Although embedded systems are application specific, some degree of re - programmability is desired and essential. The re-programmability assists when upgrading the devices, it is much easier to change the software slightly rather than develop the entire hardware from scratch. 6. The program written for embedded systems, firmware, is stored in a limited amount of memory. Designers need to consider the limited memory and computer hardware resources when developing embedded systems. 3
  18. The main goals when designing an embedded system are to minimize memory and power usage. The cost of the device will decrease when the parameters are optimized. Tradeoffs when designing are also encountered and they will be discussed in the next section. Design Considerations when Developing an Embedded System Embedded systems are within every industry, from aerospace to consumer applications. With the new advances in embedded systems design, more complex applications may be implemented. During the development of an embedded system certain process models are followed. These models usually include the development of a working prototype of the final system. Embedded systems are single-functioned systems which are tightly constrained by power and cost, and are reactive and real-time. Embedded problems can be solved using different approaches. Approaches that are used in practice are as follows. 1. The designer can use a combined hardware/software approach that contains some custom hardware and an embedded processor core integrated within the custom hardware. 2. The designer can create custom software that runs on an off-the-shelf embedded processor. 3. The designer uses another type of processor besides a general purpose embedded processor, such as a digital signal processor, and a custom software. 4
  19. Since embedded systems usually perform a single function, an Application Specific Integrated Circuit (ASIC) is usually used in the final product development. When designing an embedded system, many design challenges emerge. These challenges determine the type of chip that will be used. In order to design a near optimal system, the following need to be considered besides the functionality and safety of the system. 1) Cost 2) Performance 3) Power 4) Maintainability 5) Size 6) Time-to-Market Many embedded systems have substantially different design constraints than desktop computing applications. A single characterization cannot apply to the diverse spectrum of embedded system, and the considerations are weighed differently, based on the type of application and consumers. The cost of the embedded system is a very important factor during the embedded system design process. The affordability of the product by many consumers and the profit that can be generated by the device is important while designing. The cost is considered based on the application at hand and it can vary depending on the product requirements. Performance is a factor that is always considered in systems. An embedded system should perform its functions and complete them quickly and accurately. High performance is especially emphasized in many embedded systems. 5
  20. People using these systems want the functions of the system to be optimal. Low power is an important requirement for embedded systems. The embedded systems usually run on batteries and should last a long time before those batteries need to be changed. An ultra-low power design needs to be developed for long-term battery operation. In many cases embedded systems must be repairable in a fe w minutes to a few hours, which imply that spare components and maintenance personnel must be located close to the system. A fast repair time may also imply that extensive diagnosis and data collection capabilities must be built into the system, which may affect the goal of keeping production costs low. A system self-test can be created in the design to lower the maintenance and diagnosis costs that might be incurred later. Typically, embedded computers are physically located within some larger device or casing. Therefore, their shape and size may be dictated by the space available and the connections to the mechanical components. Time-to-market (TTM) is the length of time from the product idea conception until it is available for sale. TTM is important in industries where products are outdated quickly, such as the technology industry. The market window, shown in Figure 1, is crucial to deploying a product in the embedded systems technology industry. The typical TTM is eight months. The company needs to deploy when the peak revenue can be attained. Importance of Rapid Prototyping of Embedded Systems using FPGAs The significance of rapid prototyping of embedded systems can best be explained by briefly reviewing the trends seen in the embedded system development process. 6

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản