Dissertation Applications of Field Programmable Gate

Total Page:16

File Type:pdf, Size:1020Kb

Dissertation Applications of Field Programmable Gate DISSERTATION APPLICATIONS OF FIELD PROGRAMMABLE GATE ARRAYS FOR ENGINE CONTROL Submitted by Matthew Viele Department of Mechanical Engineering In partial fulfillment of the requirements For the Degree of Doctor of Philosophy Colorado State University Fort Collins, Colorado Summer 2012 Doctoral Committee: Advisor: Bryan D. Willson Anthony J. Marchese Robert N. Meroney Wade O. Troxell ABSTRACT APPLICATIONS OF FIELD PROGRAMMABLE GATE ARRAYS FOR ENGINE CONTROL Automotive engine control is becoming increasingly complex due to the drivers of emissions, fuel economy, and fault detection. Research in to new engine concepts is often limited by the ability to control combustion. Traditional engine-targeted micro controllers have proven difficult for the typical engine researchers to use and inflexible for advanced concept engines. With the advent of Field Programmable Gate Array (FPGA) based engine control system, many of these impediments to research have been lowered. This dissertation will talk about three stages of FPGA engine controller appli- cation. The most basic and widely distributed is the FPGA as an I/O coprocessor, tracking engine position and performing other timing critical low-level tasks. A later application of FPGAs is the use of microsecond loop rates to introduce feedback con- trol on the crank angle degree level. Lastly, the development of custom real-time computing machines to tackle complex engine control problems is presented. This document is a collection of papers and patents that pertain to the use of FPGAs for the above tasks. Each task is prefixed with a prologue section to give the history of the topic and context of the paper in the larger scope of FPGA based engine control. The author of this study founded, built up, and eventually sold Drivven Inc., a company dedicated to the implementation of FPGAs in engine control. As a result, this study spans a decade of time where we see the first few papers related to FPGA ii based engine control, and concludes with FPGA based engine controllers being the de facto standard for advanced combustion research. iii ACKNOWLEDGEMENTS I would like to thank John Silvestri at Gamma Technologies for allowing the use of GT-SUITE over the many years it took to complete this work. iv DEDICATION To my dad who taught me to never give up on a project, no matter how long it takes. v TABLE OF CONTENTS 1 Introduction . .1 1.1 The history of electronic engine control with a focus on FPGAs . .1 1.1.1 Automotive Microcontrollers . .1 1.1.2 FPGA . .3 1.2 FPGAs in engine control . .5 1.3 Advantages of FPGA based engine controllers . 10 1.4 Impact of Drivven FPGA based engine controllers . 12 2 Engine Control Co-Processing . 16 3 SAE2005-01-0067 . 19 3.1 Synopsis . 19 3.2 Introduction . 19 3.3 Overview . 21 3.4 Technology Background . 22 3.4.1 LabVIEW . 22 3.4.2 Compact RIO . 22 3.4.3 FPGA . 23 3.5 Research and I/O Module Creation . 24 3.5.1 Fuel Injector Driver Module . 24 3.5.2 Spark Module . 27 3.5.3 Input Module . 27 3.6 Mapping . 28 3.6.1 Mapping Method . 29 3.6.2 Data Collection . 30 3.6.3 Post Processing . 31 vi 3.7 Engine Controller . 34 3.7.1 Basic Engine Control Algorithms . 36 3.7.2 Speed-Density . 36 3.7.3 Alpha-N . 37 3.7.4 MAF . 39 3.7.5 Transient Compensation . 40 3.7.6 Closed Loop . 41 3.7.7 Fuel Calculation . 41 3.7.8 Transient Fuel Compensation . 44 3.7.9 Spark Control . 45 3.7.10 Rev Limiter . 47 3.7.11 Startup and Idle Control . 47 3.7.12 Other I/O . 48 3.7.13 User Interface . 48 3.8 FPGA Fuel and Spark Control . 49 3.9 Conclusion . 55 3.10 Acknowledgments . 55 3.11 Contact . 56 4 ICEF2011-60225 . 57 4.1 Synopsis . 57 4.2 Introduction . 57 4.2.1 Why a Free-Piston . 58 4.2.2 Breif Free-Piston History . 58 4.3 ATS HiPerTEC Engine . 60 4.4 Control System Overview . 64 4.4.1 Hardware . 64 4.4.2 Software . 66 vii 4.5 Engine Position Tracking . 70 4.5.1 Types of Outputs . 73 4.5.2 Free-Piston EPT . 74 4.6 Control System Operation . 74 4.6.1 Valve Operation and Timing Control . 84 4.7 Conclusion . 88 4.8 Future Work . 89 4.9 Acknowlegments . 89 5 Digital Signal Processing and Control . 90 6 ICEF2010-35119 . 92 6.1 Synopsis . 92 6.2 Introduction . 93 6.3 System Overview . 94 6.4 Next-Cycle Control Description . 97 6.5 Next-Cycle Results . 98 6.6 Same-Cycle Requirement . 101 6.7 Heat Release Calculations . 103 6.8 Conclusion . 113 6.9 Future Work . 117 6.10 Acknowlegments . 117 7 Custom Computing Machines . 118 8 FCCM2012 . 121 8.1 Synopsis . 121 8.2 Introduction . 122 8.3 Related Work . 125 8.4 Background . 127 8.4.1 One-Dimensional Computational Fluid Dynamics . 127 viii 8.4.2 Precision Timed Architecture . 129 8.5 Design Flow and Architecture . 130 8.5.1 System Description and Design Flow . 131 8.5.2 System Hardware Architecture . 134 8.5.3 Software Design . 138 8.6 Experimental Results and Discussion . 140 8.6.1 Setup . 141 8.6.2 Timing Requirement Validation . 142 8.6.3 Resource Utilization . 143 8.7 Conclusions and Future Work . 145 9 ICES2012-81138 . 147 9.1 Synopsis . 147 9.2 Introduction . 148 9.3 Computational Model . 150 9.3.1 One-Dimensional Computational Fluid Dynamics . 151 9.3.2 Mechanical Subsystem . 154 9.3.2.1 Mechanical Equilibrium Governing Equation . 154 9.3.2.2 Numerical Integration . 155 9.3.2.3 Modeling a Hydraulic Damper . 157 9.4 Real-Time Implementation . ..
Recommended publications
  • Build a Swtpc 6800
    Southwest Technical Products Corporation 6800 Computer System The Southwest Technical Products 6800 computer system is based upon the Motorola MC6800 microprocessor unit (MPU) and its matching support devices. The 6800 system was chosen for our computer because this set of parts is currently in our opinion the "Benchmark Family" for microprocessor computer systems. It makes it possible for us to provide you with an outstanding computer system having a minimum of parts, but with outstanding versatility and ease of use. In addition to the outstanding hardware system, the Motorola 6800 has without question the most complete set of documentation yet made available for a microprocessor system. The 714 page Applications Manual, for example, contains material on programming techniques, system organization, input/output techniques, hardware characteristics, peripheral control techniques, and more. Also available is a Programmers Manual which details the various types of software available for the system and instructions for programming and using the unique interface system that is part of the 6800 system. The M6800 family of parts minimizes the number of, required components and support parts, provides extremely simple interfacing to external devices and has outstanding documentation. The MC6800 is an eight-bit parallel microprocessor with addressing capability of up to 45,536 words (BYTES) of data. The system is TTL compatible requiring only a single fine-volt power supply. All devices and memory in the 6800 computer family are connected to an 8-bit bi-directional data bus. In addition to this a 16-bit address bus is provided to specify memory location. This later bus is also used as a tool to specify the particular input/ output device to be selected when the 6800 family interface devices are used.
    [Show full text]
  • Exorciser USER's GUIDE
    M6809EXOR(D1) ®MOTOROLA M6809 EXORciser User's Guide MICROSYSTEMS M6809EXOR (Dl} SEPTEMBER 1979 M6809 EXORciser USER'S GUIDE The information in this document has been carefully checked and is believed to be entirely reliable. However, no res pons i bi 1ity is assumed for inaccuracies. Furthermore, Motorola reserves the right to make changes to any products herein to improve reliability, function, or design. Motorola does not assume any liability arising out of the application or use of any product or circuit described herein; neither does it convey any license under its patent rights nor the rights of others. EXORciser®, EXORdisk, and EXbug are trademarks of Motorola Inc. First Edition ©Copyright 1979 by Motorola Inc. TABLE OF CONTENTS Page CHAPTER 1 GENERAL INFORMATION 1.1 INTRODUCTION 1-1 1.2 FEATURES 1-1 1.3 SPECIFICATIONS 1-2 1.4 EQUIPMENT SUPPLIED 1-2 1.5 GENERAL DESCRIPTION 1-3 1.5.1 EXORciser Memory Parity 1-3 1.5.2 Dual Map Concepts 1-5 1.5.3 Second level Interrupt Feature 1-7 1.5.4 Dynamic System Bus 1-10 CHAPTER 2 INSTALLATION INSTRUCTIONS AND HARDWARE PREPARATION 2.1 INTRODUCTION 2-1 2.2 UNPACKING INSTRUCTIONS 2-1 2.3 INSPECTION 2-1 2.4 INSTALLATION INSTRUCTIONS 2-1 2.5 DATA TERMINAL SELECTION AND CONNECTIONS 2-2 2.5.1 RS-232C Interconnections 2-2 2.5.2 20mA Current loop Interconnections 2-2 2.6 PREPARATION OF SYSTEM MODULES 2-2 CHAPTER 3 OPERATING INSTRUCTIONS 3.1 INTRODUCTION 3-1 3.2 SWITCHES AND INDICATORS 3-1 3.2.1 Front Panel Switches and Indicators 3-1 3.2.2 Switches on the DEbug Module 3-2 3.3 INITIALIZATION 3-3 3.3.1
    [Show full text]
  • MACABEL ABEL for the APPLE MACINTOSH Nor IIX WORKSTATION A/UX VERSION
    SPECIFICATIONS MACABEL ABEL FOR THE APPLE MACINTOSH nOR IIX WORKSTATION A/UX VERSION GENERAL DESCRIPTION ABEL.'" the industry standard PLD design software, is now available on the Apple Macintosh® II or IIx workstation. MacABEL allows you to take advantage of the personal productivity features of the Macintosh to easily describe and implement logic designs in programmable logic devices (PLDs) and PROMs. Like ABEL Version 3.0 for other popular workstations, MacABEL combines a natural high-level design language with a language processor that converts logic descriptions to programmer load files. These files contain the required information to program and test PLDs. MacABEL allows you to describe your design in any combi­ nation of Boolean equations, truth tables or state diagrams­ whichever best suits the logic you are describing or your comfort level. Meaningful names can be assigned to signals; signals grouped into sets; and macros used to simplify logic descriptions - making your logic design easy to read and • Boolean equations understand. • State machine diagram entry, using IF-THEN-ELSE, CASE, In addition, the software's language processor provides GOTQ and WITH-ENDWITH statements powerful logic reduction, extensive syntax and logic error • Truth tables to specify input to output relationships for both checking - before your device is programmed. MacABEL combinatorial and registered outputs supports the most powerful and innovative complex PLDs just • High-level equation entry, incorporating the boolean introduced on the market, as well as many still in development. operators used in most logic designs < 1 1 & 1 # 1 $ 1 1 $ ) , MacABEL runs under the Apple A/UX'" operating system arithmetic operators <- I + I * I I I %I < < I > > ) , relational utilizing the Macintosh user interface.
    [Show full text]
  • Lecture 1: Course Introduction G Course Organization G Historical Overview G Computer Organization G Why the MC68000? G Why Assembly Language?
    Lecture 1: Course introduction g Course organization g Historical overview g Computer organization g Why the MC68000? g Why assembly language? Microprocessor-based System Design 1 Ricardo Gutierrez-Osuna Wright State University Course organization g Grading Instructor n Exams Ricardo Gutierrez-Osuna g 1 midterm and 1 final Office: 401 Russ n Homework Tel:775-5120 g 4 problem sets (not graded) [email protected] n Quizzes http://www.cs.wright.edu/~rgutier g Biweekly Office hours: TBA n Laboratories g 5 Labs Teaching Assistant g Grading scheme Mohammed Tabrez Office: 339 Russ [email protected] Weight (%) Office hours: TBA Quizes 20 Laboratory 40 Midterm 20 Final Exam 20 Microprocessor-based System Design 2 Ricardo Gutierrez-Osuna Wright State University Course outline g Module I: Programming (8 lectures) g MC68000 architecture (2) g Assembly language (5) n Instruction and addressing modes (2) n Program control (1) n Subroutines (2) g C language (1) g Module II: Peripherals (9) g Exception processing (1) g Devices (6) n PI/T timer (2) n PI/T parallel port (2) n DUART serial port (1) g Memory and I/O interface (1) g Address decoding (2) Microprocessor-based System Design 3 Ricardo Gutierrez-Osuna Wright State University Brief history of computers GENERATION FEATURES MILESTONES YEAR NOTES Asia Minor, Abacus 3000BC Only replaced by paper and pencil Mech., Blaise Pascal, Pascaline 1642 Decimal addition (8 decimal figs) Early machines Electro- Charles Babbage Differential Engine 1823 Steam powered (3000BC-1945) mech. Herman Hollerith,
    [Show full text]
  • The Birth, Evolution and Future of Microprocessor
    The Birth, Evolution and Future of Microprocessor Swetha Kogatam Computer Science Department San Jose State University San Jose, CA 95192 408-924-1000 [email protected] ABSTRACT timed sequence through the bus system to output devices such as The world's first microprocessor, the 4004, was co-developed by CRT Screens, networks, or printers. In some cases, the terms Busicom, a Japanese manufacturer of calculators, and Intel, a U.S. 'CPU' and 'microprocessor' are used interchangeably to denote the manufacturer of semiconductors. The basic architecture of 4004 same device. was developed in August 1969; a concrete plan for the 4004 The different ways in which microprocessors are categorized are: system was finalized in December 1969; and the first microprocessor was successfully developed in March 1971. a) CISC (Complex Instruction Set Computers) Microprocessors, which became the "technology to open up a new b) RISC (Reduced Instruction Set Computers) era," brought two outstanding impacts, "power of intelligence" and "power of computing". First, microprocessors opened up a new a) VLIW(Very Long Instruction Word Computers) "era of programming" through replacing with software, the b) Super scalar processors hardwired logic based on IC's of the former "era of logic". At the same time, microprocessors allowed young engineers access to "power of computing" for the creative development of personal 2. BIRTH OF THE MICROPROCESSOR computers and computer games, which in turn led to growth in the In 1970, Intel introduced the first dynamic RAM, which increased software industry, and paved the way to the development of high- IC memory by a factor of four.
    [Show full text]
  • Programmable Digital Microcircuits - a Survey with Examples of Use
    - 237 - PROGRAMMABLE DIGITAL MICROCIRCUITS - A SURVEY WITH EXAMPLES OF USE C. Verkerk CERN, Geneva, Switzerland 1. Introduction For most readers the title of these lecture notes will evoke microprocessors. The fixed instruction set microprocessors are however not the only programmable digital mi• crocircuits and, although a number of pages will be dedicated to them, the aim of these notes is also to draw attention to other useful microcircuits. A complete survey of programmable circuits would fill several books and a selection had therefore to be made. The choice has rather been to treat a variety of devices than to give an in- depth treatment of a particular circuit. The selected devices have all found useful ap• plications in high-energy physics, or hold promise for future use. The microprocessor is very young : just over eleven years. An advertisement, an• nouncing a new era of integrated electronics, and which appeared in the November 15, 1971 issue of Electronics News, is generally considered its birth-certificate. The adver• tisement was for the Intel 4004 and its three support chips. The history leading to this announcement merits to be recalled. Intel, then a very young company, was working on the design of a chip-set for a high-performance calculator, for and in collaboration with a Japanese firm, Busicom. One of the Intel engineers found the Busicom design of 9 different chips too complicated and tried to find a more general and programmable solu• tion. His design, the 4004 microprocessor, was finally adapted by Busicom, and after further négociation, Intel acquired marketing rights for its new invention.
    [Show full text]
  • Review of FPD's Languages, Compilers, Interpreters and Tools
    ISSN 2394-7314 International Journal of Novel Research in Computer Science and Software Engineering Vol. 3, Issue 1, pp: (140-158), Month: January-April 2016, Available at: www.noveltyjournals.com Review of FPD'S Languages, Compilers, Interpreters and Tools 1Amr Rashed, 2Bedir Yousif, 3Ahmed Shaban Samra 1Higher studies Deanship, Taif university, Taif, Saudi Arabia 2Communication and Electronics Department, Faculty of engineering, Kafrelsheikh University, Egypt 3Communication and Electronics Department, Faculty of engineering, Mansoura University, Egypt Abstract: FPGAs have achieved quick acceptance, spread and growth over the past years because they can be applied to a variety of applications. Some of these applications includes: random logic, bioinformatics, video and image processing, device controllers, communication encoding, modulation, and filtering, limited size systems with RAM blocks, and many more. For example, for video and image processing application it is very difficult and time consuming to use traditional HDL languages, so it’s obligatory to search for other efficient, synthesis tools to implement your design. The question is what is the best comparable language or tool to implement desired application. Also this research is very helpful for language developers to know strength points, weakness points, ease of use and efficiency of each tool or language. This research faced many challenges one of them is that there is no complete reference of all FPGA languages and tools, also available references and guides are few and almost not good. Searching for a simple example to learn some of these tools or languages would be a time consuming. This paper represents a review study or guide of almost all PLD's languages, interpreters and tools that can be used for programming, simulating and synthesizing PLD's for analog, digital & mixed signals and systems supported with simple examples.
    [Show full text]
  • MACHXL Software User's Guide
    MACHXL Software User's Guide © 1993 Advanced Micro Devices, Inc. TEL: 408-732-2400 P.O. Box 3453 TWX: 910339-9280 Sunnyvale, CA 94088 TELEX: 34-6306 TOLL FREE: 800-538-8450 APPLICATIONS HOTLINE: 800-222-9323 (US) 44-(0)-256-811101 (UK) 0590-8621 (France) 0130-813875 (Germany) 1678-77224 (Italy) Advanced Micro Devices reserves the right to make changes in specifications at any time and without notice. The information furnished by Advanced Micro Devices is believed to be accurate and reliable. However, no responsibility is assumed by Advanced Micro Devices for its use, nor for any infringements of patents or other rights of third parties resulting from its use. No license is granted under any patents or patent rights of Advanced Micro Devices. Epson® is a registered trademark of Epson America, Inc. Hewlett-Packard®, HP®, and LaserJet® are registered trademarks of Hewlett-Packard Company. IBM® is a registered trademark and IBM PCä is a trademark of International Business Machines Corporation. Microsoft® and MS-DOS® are registered trademarks of Microsoft Corporation. PAL® and PALASM® are registered trademarks and MACHä and MACHXL ä are trademarks of Advanced Micro Devices, Inc. Pentiumä is a trademark of Intel Corporation. Wordstar® is a registered trademark of MicroPro International Corporation. Document revision 1.2 Published October, 1994. Printed inU.S.A. ii Contents Chapter 1. Installation Hardware Requirements 2 Software Requirements 3 Installation Procedure 4 Updating System Files 6 AUTOEXEC.BAT 7 CONFIG.SYS 7 Creating a Windows Icon
    [Show full text]
  • 6809 the Design Philosophy by Terry Ritter and Joel Boney
    The 6809 ing the performance of an unwieldy bureaucratic Part 1: Design Philosophy organization. And the computer makers clearly thought that processor time was valuable too; or Terry Ritter was a severely limited resource, worth as much as Joel Boney the market would bear. Motorola, Inc. Processor time was a limited resource. But 3501 Ed Blustein Blvd. some of us, a few small groups of technologists, Austin, TX 78721 are about to change that situation. And we hope we will also change how people look at computers, This is a story. It is a story of computers in and how professionals see them too. Computer general, specifically microcomputers, and of one time should be cheap; people time is 70 years and particular microprocessor - with revolutionary counting down. social change lurking in the background. The story The large computer, being a very expensive could well be imaginary, but it happens to be true. resource, quickly justified the capital required to In this 3 part series we will describer the design of investigate optimum use of that resource. Among what we feel is the best 8 bit machine so far made the principal results of these projects was the by human: the Motorola M6809. development of batch mode multiprocessing. The computer itself would save up the various tasks it Philosophy had to do, then change from one to the other at computer speeds. This minimized the wasted time A new day is breaking; after a long slow twi- between jobs and spawned the concept of an oper- light of design the sun is beginning to rise on the ating system.
    [Show full text]
  • Legal Notice
    Altera Digital Library September 1996 P-CD-ADL-01 Legal Notice This CD contains documentation and other information related to products and services of Altera Corporation (“Altera”) which is provided as a courtesy to Altera’s customers and potential customers. By copying or using any information contained on this CD, you agree to be bound by the terms and conditions described in this Legal Notice. The documentation, software, and other materials contained on this CD are owned and copyrighted by Altera and its licensors. Copyright © 1994, 1995, 1996 Altera Corporation, 2610 Orchard Parkway, San Jose, California 95134, USA and its licensors. All rights reserved. You are licensed to download and copy documentation and other information from this CD provided you agree to the following terms and conditions: (1) You may use the materials for informational purposes only. (2) You may not alter or modify the materials in any way. (3) You may not use any graphics separate from any accompanying text. (4) You may distribute copies of the documentation available on this CD only to customers and potential customers of Altera products. However, you may not charge them for such use. Any other distribution to third parties is prohibited unless you obtain the prior written consent of Altera. (5) You may not use the materials in any way that may be adverse to Altera’s interests. (6) All copies of materials that you copy from this CD must include a copy of this Legal Notice. Altera, MAX, MAX+PLUS, FLEX, FLEX 10K, FLEX 8000, FLEX 8000A, MAX 9000, MAX 7000,
    [Show full text]
  • MOS Technology – 1974 to 1976 3 Shovel Jobs Anymore,” He Says
    C H A P T E R 11 MMOOSS TTeecchhnnoollooggyy 11997744 ttoo 11997766 i-tech companies need three players in order to succeed: a financier, a technology-God, and a juggernaut with a type-A H personality. Commodore would require these three ingredients to take them to a new level. They had Irving Gould, with his financial expertise and deep pockets. They had Jack, so aggressive people sometimes referred to him as the scariest man alive. All Commodore needed was a visionary engineer to take Commodore into a new field of technology. The Grey Wizard of the East n the 1970's, the image of a computer genius was not in the mold of I the young hacker we are familiar with today. Teenaged tycoons like Bill Gates had not filtered into the public consciousness, and WarGames (1983, MGM) was not yet released, with the prototypical computer hacker portrayed by Matthew Broderick. The accepted image of a technological genius was a middle-aged man with graying hair and glasses, preferably wearing a long white lab coat. Chuck Peddle was the image of a technology wizard, with his wire- frame glasses, white receding hairline, and slightly crooked teeth. At two hundred and fifty pounds, the five foot eleven inch engineer always struggled with his weight. Peddle describes himself at that time as “totally out of shape,” but he was characteristically optimistic and never without a joke or story to tell. Peddle possessed the ability to see further into the future than most of his contemporaries and he obsessively searched for the next big innovation.
    [Show full text]
  • HDL and Programming Languages ■ 6 Languages ■ 6.1 Analogue Circuit Design ■ 6.2 Digital Circuit Design ■ 6.3 Printed Circuit Board Design ■ 7 See Also
    Hardware description language - Wikipedia, the free encyclopedia 페이지 1 / 11 Hardware description language From Wikipedia, the free encyclopedia In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic. It can describe the circuit's operation, its design and organization, and tests to verify its operation by means of simulation.[citation needed] HDLs are standard text-based expressions of the spatial and temporal structure and behaviour of electronic systems. Like concurrent programming languages, HDL syntax and semantics includes explicit notations for expressing concurrency. However, in contrast to most software programming languages, HDLs also include an explicit notion of time, which is a primary attribute of hardware. Languages whose only characteristic is to express circuit connectivity between a hierarchy of blocks are properly classified as netlist languages used on electric computer-aided design (CAD). HDLs are used to write executable specifications of some piece of hardware. A simulation program, designed to implement the underlying semantics of the language statements, coupled with simulating the progress of time, provides the hardware designer with the ability to model a piece of hardware before it is created physically. It is this executability that gives HDLs the illusion of being programming languages, when they are more-precisely classed as specification languages or modeling languages. Simulators capable of supporting discrete-event (digital) and continuous-time (analog) modeling exist, and HDLs targeted for each are available. It is certainly possible to represent hardware semantics using traditional programming languages such as C++, although to function such programs must be augmented with extensive and unwieldy class libraries.
    [Show full text]