A Hands-On Guide to Designing Embedded Systems.
Saved in:
: | |
---|---|
TeilnehmendeR: | |
Place / Publishing House: | Norwood : : Artech House,, 2021. ©2021. |
Year of Publication: | 2021 |
Edition: | 1st ed. |
Language: | English |
Online Access: | |
Physical Description: | 1 online resource (269 pages) |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
5006877368 |
---|---|
ctrlnum |
(MiAaPQ)5006877368 (Au-PeEL)EBL6877368 (OCoLC)1305844638 |
collection |
bib_alma |
record_format |
marc |
spelling |
Taylor, Adam. A Hands-On Guide to Designing Embedded Systems. 1st ed. Norwood : Artech House, 2021. ©2021. 1 online resource (269 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier Intro -- A Hands-On Guide to Designing Embedded Systems -- Contents -- Acknowledgments -- Introduction -- CHAPTER 1 Programmatic and System-Level Considerations -- 1.1 Introduction: SensorsThink -- 1.2 Product Development Stages -- 1.3 Product Development Stages: Tailoring -- 1.4 Product Development: After Launch -- 1.5 Requirements -- 1.5.1 The V-Model -- 1.5.2 SensorsThink: Product Requirements -- 1.5.3 Creating Useful Requirements -- 1.5.4 Requirements: Finishing Up -- 1.6 Architectural Design -- 1.6.1 SEBOK: An Invaluable Resource -- 1.6.2 SensorsThink: Back to the Journey -- 1.6.3 Systems Engineering: An Overview -- 1.6.4 Architecting the System, Logically -- 1.6.5 Keep Things in Context (Diagrams) -- 1.6.6 Monitor Your Activity (Diagrams) -- 1.6.7 Know the Proper Sequence (Diagrams) -- 1.6.8 Architecting the System Physically -- 1.6.9 Physical Architecture: Playing with Blocks -- 1.6.10 Trace Your Steps -- 1.6.11 System Verification and Validation: Check Your Work -- 1.7 Engineering Budgets -- 1.7.1 Types of Budgets -- 1.7.2 Engineering Budgets: Some Examples -- 1.7.3 Engineering Budgets: Finishing Up -- 1.8 Interface Control Documents -- 1.8.1 Sticking Together: Signal Grouping -- 1.8.2 Playing with Legos: Connectorization -- 1.8.3 Talking Among Yourselves: Internal ICDs -- 1.9 Verification -- 1.9.1 Verifying Hardware -- 1.9.2 How Much Testing Is Enough? -- 1.9.3 Safely Navigating the World of Testing -- 1.9.4 A Deeper Dive into Derivation (of Test Cases) -- 1.10 Engineering Governance -- 1.10.1 Not Just Support for Design Reviews -- 1.10.2 Engineering Rule Sets -- 1.10.3 Compliance -- 1.10.4 Review Meetings -- References -- CHAPTER 2 Hardware Design Considerations -- 2.1 Component Selection -- 2.1.1 Key Component Identification for the SoC Platform -- 2.1.2 Key Component Selection Example: The SoC. 2.1.3 Key Component Selection Example: Infrared Sensor -- 2.1.4 Key Component Selection: Finishing Up -- 2.2 Hardware Architecture -- 2.2.1 Hardware Architecture for the SoC Platform -- 2.2.2 Hardware Architecture: Interfaces -- 2.2.3 Hardware Architecture: Data Flows -- 2.2.4 Hardware Architecture: Finishing Up -- 2.3 Designing the System -- 2.3.1 What to Worry About -- 2.3.2 Power Supply Analysis, Architecture, and Simulation -- 2.3.3 Processor and FPGA Pinout Assignments -- 2.3.4 System Clocking Requirements -- 2.3.5 System Reset Requirements -- 2.3.6 System Programming Scheme -- 2.3.7 Summary -- 2.3.8 Example: Zynq Power Sequence Requirements -- 2.4 Decoupling your Components -- 2.4.1 Decoupling: By the Book -- 2.4.2 To Understand the Component, You Must Be the Component -- 2.4.3 Types of Decoupling -- 2.4.4 Example: Zynq-7000 Decoupling -- 2.4.5 Additional Thoughts: Specialized Decoupling -- 2.4.6 Additional Thoughts: Simulation -- 2.5 Connect with Your System -- 2.5.1 Contemplating Connectors -- 2.5.2 Example: System Communications -- 2.6 Extend the Life of the System: De-Rate -- 2.6.1 Why De-Rate? -- 2.6.2 What Can Be De-Rated? -- 2.6.3 Example: De-Rating the Zynq-7000 -- 2.6.4 Additional Thoughts: Exceptions to the Rule -- 2.7 Test, Test, Test -- 2.7.1 Back to Basics: Pre-Power-On Checklist -- 2.7.2 Check for Signs of Life: Crawl Before Walking -- 2.7.3 Roll Up Your Sleeves and Get Ready to Run -- 2.7.4 Example: I2C Interface -- 2.7.5 Additional Thoughts -- 2.8 Integrity: Important for Electronics -- 2.8.1 Power Integrity -- 2.8.2 Signal Integrity -- 2.8.3 Digging Deeper into Power Integrity -- 2.8.4 Digging Deeper into Signal Integrity -- 2.8.5 Example: ULPI Pre-Layout Analysis -- 2.8.6 Suggested Additional Reading -- 2.9 PCB Layout: Not for the Faint of Heart -- 2.9.1 Floor Planning -- 2.9.2 Follow the Rats -- 2.9.3 Mechanical Constraints. 2.9.4 Electrical Constraints -- 2.9.5 Stack-Up Design -- 2.9.6 Experience Matters -- References -- CHAPTER 3 FPGA Design Considerations -- 3.1 Introduction -- 3.2 FPGA Development Process -- 3.2.1 Introduction to the Target Device -- 3.2.2 FPGA Requirements -- 3.2.3 FPGA Architecture -- 3.3 Accelerating Design Using IP Libraries -- 3.4 Pin Planning and Constraints -- 3.4.1 Physical Constraints -- 3.4.2 Timing Constraints -- 3.4.3 Timing Exceptions -- 3.4.4 Physical Constraints: Placement -- 3.5 Clock Domain Crossing -- 3.6 Test Bench and Verification -- 3.6.1 What Is Verification? -- 3.6.2 Self-Checking Test Benches -- 3.6.3 Corner Cases, Boundary Conditions, and Stress Testing -- 3.6.4 Code Coverage -- 3.6.5 Test Functions and Procedures -- 3.6.6 Behavioral Models -- 3.6.7 Using Text IO Files -- 3.6.8 What Else Might We Consider? -- 3.7 Finite State Machine Design -- 3.7.1 Defining a State Machine -- 3.7.2 Algorithmic State Diagrams -- 3.7.3 Moore or Mealy: What Should I Choose? -- 3.7.4 Implementing the State Machine -- 3.7.5 State Machine Encoding -- 3.7.6 Increasing Performance of State Machines -- 3.7.7 Good Design Practices for FPGA Implementation -- 3.7.8 FLIR Lepton Interface -- 3.8 Defensive State Machine Design -- 3.8.1 Detection Schemes -- 3.8.2 Hamming Schemes -- 3.8.3 Deadlock and Other Issues -- 3.8.4 Implementing Defensive State Machines in Xilinx Devices -- 3.9 How Does FPGA Do Math? -- 3.9.1 Representation of Numbers -- 3.10 Fixed Point Mathematics -- 3.10.1 Fixed-Point Rules -- 3.10.2 Overflow -- 3.10.3 Real-World Implementation -- 3.10.4 RTL Implementation -- 3.11 Polynomial Approximation -- 3.11.1 The Challenge with Some Algorithms -- 3.11.2 Capitalize on FPGA Resources -- 3.11.3 Multiple Trend Lines Selected by Input Value -- 3.12 The CORDIC Algorithm -- 3.13 Convergence -- 3.14 Where Are These Used -- 3.15 Modeling in Excel. 3.16 Implementing the CORDIC -- 3.17 Digital Filter Design and Implementation -- 3.17.1 Filter Types and Topologies -- 3.17.2 Frequency Response -- 3.17.3 Impulse Response -- 3.17.4 Step Response -- 3.17.5 Windowing the Filter -- 3.18 Fast Fourier Transforms -- 3.18.1 Time or Frequency Domain? -- 3.19 How Do We Get There? -- 3.19.1 Where Do We Use These? -- 3.19.2 FPGA-Based Implementation -- 3.19.3 Higher-Speed Sampling -- 3.20 Working with ADC and DAC -- 3.20.1 ADC and DAC Key Parameters -- 3.20.2 The Frequency Spectrum -- 3.20.3 Communication -- 3.20.4 DAC Filtering -- 3.20.5 In-System Test -- 3.21 High-Level Synthesis -- CHAPTER 4 When Reliability Counts -- 4.1 Introduction to Reliability -- 4.2 Mathematical Interpretation of System Reliability -- 4.2.1 The Bathtub Curve -- 4.2.2 Failure Rate (λ) -- 4.2.3 Early Life Failure Rate -- 4.2.4 Key Terms -- 4.2.5 Repairable and Nonrepairable Systems -- 4.2.6 MTTF, MTBF, and MTTR -- 4.2.7 Maintainability -- 4.2.8 Availability -- 4.3 Calculating System Reliability -- 4.3.1 Scenario 1: All Critical Components Connected in Series -- 4.3.2 Scenario 2: All Critical Components Connected in Parallel -- 4.3.3 Scenario 3: All Critical Components Are Connected in Series-Parallel Configuration -- 4.4 Faults, Errors, and Failure -- 4.4.1 Classification of Faults -- 4.4.2 Fault Prevention Versus Fault Tolerance: Which One Can Address System Failure Better? -- 4.5 Fault Tolerance Techniques -- 4.5.1 Redundancy Technique for Hardware Fault Tolerance -- 4.5.2 Software Fault Tolerance -- 4.6 Worst-Case Circuit Analysis -- 4.6.1 Sources of Variation -- 4.6.2 Numerical Analysis Using SPICE Modeling -- Selected Bibliography -- About the Authors -- Index. Description based on publisher supplied metadata and other sources. Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. Embedded computer systems--Design and construction. Field programmable gate arrays--Design and construction. Electronic books. Binnun, Dan. Srivastava, Saket. Print version: Taylor, Adam A Hands-On Guide to Designing Embedded Systems Norwood : Artech House,c2021 9781630816834 ProQuest (Firm) https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6877368 Click to View |
language |
English |
format |
eBook |
author |
Taylor, Adam. |
spellingShingle |
Taylor, Adam. A Hands-On Guide to Designing Embedded Systems. Intro -- A Hands-On Guide to Designing Embedded Systems -- Contents -- Acknowledgments -- Introduction -- CHAPTER 1 Programmatic and System-Level Considerations -- 1.1 Introduction: SensorsThink -- 1.2 Product Development Stages -- 1.3 Product Development Stages: Tailoring -- 1.4 Product Development: After Launch -- 1.5 Requirements -- 1.5.1 The V-Model -- 1.5.2 SensorsThink: Product Requirements -- 1.5.3 Creating Useful Requirements -- 1.5.4 Requirements: Finishing Up -- 1.6 Architectural Design -- 1.6.1 SEBOK: An Invaluable Resource -- 1.6.2 SensorsThink: Back to the Journey -- 1.6.3 Systems Engineering: An Overview -- 1.6.4 Architecting the System, Logically -- 1.6.5 Keep Things in Context (Diagrams) -- 1.6.6 Monitor Your Activity (Diagrams) -- 1.6.7 Know the Proper Sequence (Diagrams) -- 1.6.8 Architecting the System Physically -- 1.6.9 Physical Architecture: Playing with Blocks -- 1.6.10 Trace Your Steps -- 1.6.11 System Verification and Validation: Check Your Work -- 1.7 Engineering Budgets -- 1.7.1 Types of Budgets -- 1.7.2 Engineering Budgets: Some Examples -- 1.7.3 Engineering Budgets: Finishing Up -- 1.8 Interface Control Documents -- 1.8.1 Sticking Together: Signal Grouping -- 1.8.2 Playing with Legos: Connectorization -- 1.8.3 Talking Among Yourselves: Internal ICDs -- 1.9 Verification -- 1.9.1 Verifying Hardware -- 1.9.2 How Much Testing Is Enough? -- 1.9.3 Safely Navigating the World of Testing -- 1.9.4 A Deeper Dive into Derivation (of Test Cases) -- 1.10 Engineering Governance -- 1.10.1 Not Just Support for Design Reviews -- 1.10.2 Engineering Rule Sets -- 1.10.3 Compliance -- 1.10.4 Review Meetings -- References -- CHAPTER 2 Hardware Design Considerations -- 2.1 Component Selection -- 2.1.1 Key Component Identification for the SoC Platform -- 2.1.2 Key Component Selection Example: The SoC. 2.1.3 Key Component Selection Example: Infrared Sensor -- 2.1.4 Key Component Selection: Finishing Up -- 2.2 Hardware Architecture -- 2.2.1 Hardware Architecture for the SoC Platform -- 2.2.2 Hardware Architecture: Interfaces -- 2.2.3 Hardware Architecture: Data Flows -- 2.2.4 Hardware Architecture: Finishing Up -- 2.3 Designing the System -- 2.3.1 What to Worry About -- 2.3.2 Power Supply Analysis, Architecture, and Simulation -- 2.3.3 Processor and FPGA Pinout Assignments -- 2.3.4 System Clocking Requirements -- 2.3.5 System Reset Requirements -- 2.3.6 System Programming Scheme -- 2.3.7 Summary -- 2.3.8 Example: Zynq Power Sequence Requirements -- 2.4 Decoupling your Components -- 2.4.1 Decoupling: By the Book -- 2.4.2 To Understand the Component, You Must Be the Component -- 2.4.3 Types of Decoupling -- 2.4.4 Example: Zynq-7000 Decoupling -- 2.4.5 Additional Thoughts: Specialized Decoupling -- 2.4.6 Additional Thoughts: Simulation -- 2.5 Connect with Your System -- 2.5.1 Contemplating Connectors -- 2.5.2 Example: System Communications -- 2.6 Extend the Life of the System: De-Rate -- 2.6.1 Why De-Rate? -- 2.6.2 What Can Be De-Rated? -- 2.6.3 Example: De-Rating the Zynq-7000 -- 2.6.4 Additional Thoughts: Exceptions to the Rule -- 2.7 Test, Test, Test -- 2.7.1 Back to Basics: Pre-Power-On Checklist -- 2.7.2 Check for Signs of Life: Crawl Before Walking -- 2.7.3 Roll Up Your Sleeves and Get Ready to Run -- 2.7.4 Example: I2C Interface -- 2.7.5 Additional Thoughts -- 2.8 Integrity: Important for Electronics -- 2.8.1 Power Integrity -- 2.8.2 Signal Integrity -- 2.8.3 Digging Deeper into Power Integrity -- 2.8.4 Digging Deeper into Signal Integrity -- 2.8.5 Example: ULPI Pre-Layout Analysis -- 2.8.6 Suggested Additional Reading -- 2.9 PCB Layout: Not for the Faint of Heart -- 2.9.1 Floor Planning -- 2.9.2 Follow the Rats -- 2.9.3 Mechanical Constraints. 2.9.4 Electrical Constraints -- 2.9.5 Stack-Up Design -- 2.9.6 Experience Matters -- References -- CHAPTER 3 FPGA Design Considerations -- 3.1 Introduction -- 3.2 FPGA Development Process -- 3.2.1 Introduction to the Target Device -- 3.2.2 FPGA Requirements -- 3.2.3 FPGA Architecture -- 3.3 Accelerating Design Using IP Libraries -- 3.4 Pin Planning and Constraints -- 3.4.1 Physical Constraints -- 3.4.2 Timing Constraints -- 3.4.3 Timing Exceptions -- 3.4.4 Physical Constraints: Placement -- 3.5 Clock Domain Crossing -- 3.6 Test Bench and Verification -- 3.6.1 What Is Verification? -- 3.6.2 Self-Checking Test Benches -- 3.6.3 Corner Cases, Boundary Conditions, and Stress Testing -- 3.6.4 Code Coverage -- 3.6.5 Test Functions and Procedures -- 3.6.6 Behavioral Models -- 3.6.7 Using Text IO Files -- 3.6.8 What Else Might We Consider? -- 3.7 Finite State Machine Design -- 3.7.1 Defining a State Machine -- 3.7.2 Algorithmic State Diagrams -- 3.7.3 Moore or Mealy: What Should I Choose? -- 3.7.4 Implementing the State Machine -- 3.7.5 State Machine Encoding -- 3.7.6 Increasing Performance of State Machines -- 3.7.7 Good Design Practices for FPGA Implementation -- 3.7.8 FLIR Lepton Interface -- 3.8 Defensive State Machine Design -- 3.8.1 Detection Schemes -- 3.8.2 Hamming Schemes -- 3.8.3 Deadlock and Other Issues -- 3.8.4 Implementing Defensive State Machines in Xilinx Devices -- 3.9 How Does FPGA Do Math? -- 3.9.1 Representation of Numbers -- 3.10 Fixed Point Mathematics -- 3.10.1 Fixed-Point Rules -- 3.10.2 Overflow -- 3.10.3 Real-World Implementation -- 3.10.4 RTL Implementation -- 3.11 Polynomial Approximation -- 3.11.1 The Challenge with Some Algorithms -- 3.11.2 Capitalize on FPGA Resources -- 3.11.3 Multiple Trend Lines Selected by Input Value -- 3.12 The CORDIC Algorithm -- 3.13 Convergence -- 3.14 Where Are These Used -- 3.15 Modeling in Excel. 3.16 Implementing the CORDIC -- 3.17 Digital Filter Design and Implementation -- 3.17.1 Filter Types and Topologies -- 3.17.2 Frequency Response -- 3.17.3 Impulse Response -- 3.17.4 Step Response -- 3.17.5 Windowing the Filter -- 3.18 Fast Fourier Transforms -- 3.18.1 Time or Frequency Domain? -- 3.19 How Do We Get There? -- 3.19.1 Where Do We Use These? -- 3.19.2 FPGA-Based Implementation -- 3.19.3 Higher-Speed Sampling -- 3.20 Working with ADC and DAC -- 3.20.1 ADC and DAC Key Parameters -- 3.20.2 The Frequency Spectrum -- 3.20.3 Communication -- 3.20.4 DAC Filtering -- 3.20.5 In-System Test -- 3.21 High-Level Synthesis -- CHAPTER 4 When Reliability Counts -- 4.1 Introduction to Reliability -- 4.2 Mathematical Interpretation of System Reliability -- 4.2.1 The Bathtub Curve -- 4.2.2 Failure Rate (λ) -- 4.2.3 Early Life Failure Rate -- 4.2.4 Key Terms -- 4.2.5 Repairable and Nonrepairable Systems -- 4.2.6 MTTF, MTBF, and MTTR -- 4.2.7 Maintainability -- 4.2.8 Availability -- 4.3 Calculating System Reliability -- 4.3.1 Scenario 1: All Critical Components Connected in Series -- 4.3.2 Scenario 2: All Critical Components Connected in Parallel -- 4.3.3 Scenario 3: All Critical Components Are Connected in Series-Parallel Configuration -- 4.4 Faults, Errors, and Failure -- 4.4.1 Classification of Faults -- 4.4.2 Fault Prevention Versus Fault Tolerance: Which One Can Address System Failure Better? -- 4.5 Fault Tolerance Techniques -- 4.5.1 Redundancy Technique for Hardware Fault Tolerance -- 4.5.2 Software Fault Tolerance -- 4.6 Worst-Case Circuit Analysis -- 4.6.1 Sources of Variation -- 4.6.2 Numerical Analysis Using SPICE Modeling -- Selected Bibliography -- About the Authors -- Index. |
author_facet |
Taylor, Adam. Binnun, Dan. Srivastava, Saket. |
author_variant |
a t at |
author2 |
Binnun, Dan. Srivastava, Saket. |
author2_variant |
d b db s s ss |
author2_role |
TeilnehmendeR TeilnehmendeR |
author_sort |
Taylor, Adam. |
title |
A Hands-On Guide to Designing Embedded Systems. |
title_full |
A Hands-On Guide to Designing Embedded Systems. |
title_fullStr |
A Hands-On Guide to Designing Embedded Systems. |
title_full_unstemmed |
A Hands-On Guide to Designing Embedded Systems. |
title_auth |
A Hands-On Guide to Designing Embedded Systems. |
title_new |
A Hands-On Guide to Designing Embedded Systems. |
title_sort |
a hands-on guide to designing embedded systems. |
publisher |
Artech House, |
publishDate |
2021 |
physical |
1 online resource (269 pages) |
edition |
1st ed. |
contents |
Intro -- A Hands-On Guide to Designing Embedded Systems -- Contents -- Acknowledgments -- Introduction -- CHAPTER 1 Programmatic and System-Level Considerations -- 1.1 Introduction: SensorsThink -- 1.2 Product Development Stages -- 1.3 Product Development Stages: Tailoring -- 1.4 Product Development: After Launch -- 1.5 Requirements -- 1.5.1 The V-Model -- 1.5.2 SensorsThink: Product Requirements -- 1.5.3 Creating Useful Requirements -- 1.5.4 Requirements: Finishing Up -- 1.6 Architectural Design -- 1.6.1 SEBOK: An Invaluable Resource -- 1.6.2 SensorsThink: Back to the Journey -- 1.6.3 Systems Engineering: An Overview -- 1.6.4 Architecting the System, Logically -- 1.6.5 Keep Things in Context (Diagrams) -- 1.6.6 Monitor Your Activity (Diagrams) -- 1.6.7 Know the Proper Sequence (Diagrams) -- 1.6.8 Architecting the System Physically -- 1.6.9 Physical Architecture: Playing with Blocks -- 1.6.10 Trace Your Steps -- 1.6.11 System Verification and Validation: Check Your Work -- 1.7 Engineering Budgets -- 1.7.1 Types of Budgets -- 1.7.2 Engineering Budgets: Some Examples -- 1.7.3 Engineering Budgets: Finishing Up -- 1.8 Interface Control Documents -- 1.8.1 Sticking Together: Signal Grouping -- 1.8.2 Playing with Legos: Connectorization -- 1.8.3 Talking Among Yourselves: Internal ICDs -- 1.9 Verification -- 1.9.1 Verifying Hardware -- 1.9.2 How Much Testing Is Enough? -- 1.9.3 Safely Navigating the World of Testing -- 1.9.4 A Deeper Dive into Derivation (of Test Cases) -- 1.10 Engineering Governance -- 1.10.1 Not Just Support for Design Reviews -- 1.10.2 Engineering Rule Sets -- 1.10.3 Compliance -- 1.10.4 Review Meetings -- References -- CHAPTER 2 Hardware Design Considerations -- 2.1 Component Selection -- 2.1.1 Key Component Identification for the SoC Platform -- 2.1.2 Key Component Selection Example: The SoC. 2.1.3 Key Component Selection Example: Infrared Sensor -- 2.1.4 Key Component Selection: Finishing Up -- 2.2 Hardware Architecture -- 2.2.1 Hardware Architecture for the SoC Platform -- 2.2.2 Hardware Architecture: Interfaces -- 2.2.3 Hardware Architecture: Data Flows -- 2.2.4 Hardware Architecture: Finishing Up -- 2.3 Designing the System -- 2.3.1 What to Worry About -- 2.3.2 Power Supply Analysis, Architecture, and Simulation -- 2.3.3 Processor and FPGA Pinout Assignments -- 2.3.4 System Clocking Requirements -- 2.3.5 System Reset Requirements -- 2.3.6 System Programming Scheme -- 2.3.7 Summary -- 2.3.8 Example: Zynq Power Sequence Requirements -- 2.4 Decoupling your Components -- 2.4.1 Decoupling: By the Book -- 2.4.2 To Understand the Component, You Must Be the Component -- 2.4.3 Types of Decoupling -- 2.4.4 Example: Zynq-7000 Decoupling -- 2.4.5 Additional Thoughts: Specialized Decoupling -- 2.4.6 Additional Thoughts: Simulation -- 2.5 Connect with Your System -- 2.5.1 Contemplating Connectors -- 2.5.2 Example: System Communications -- 2.6 Extend the Life of the System: De-Rate -- 2.6.1 Why De-Rate? -- 2.6.2 What Can Be De-Rated? -- 2.6.3 Example: De-Rating the Zynq-7000 -- 2.6.4 Additional Thoughts: Exceptions to the Rule -- 2.7 Test, Test, Test -- 2.7.1 Back to Basics: Pre-Power-On Checklist -- 2.7.2 Check for Signs of Life: Crawl Before Walking -- 2.7.3 Roll Up Your Sleeves and Get Ready to Run -- 2.7.4 Example: I2C Interface -- 2.7.5 Additional Thoughts -- 2.8 Integrity: Important for Electronics -- 2.8.1 Power Integrity -- 2.8.2 Signal Integrity -- 2.8.3 Digging Deeper into Power Integrity -- 2.8.4 Digging Deeper into Signal Integrity -- 2.8.5 Example: ULPI Pre-Layout Analysis -- 2.8.6 Suggested Additional Reading -- 2.9 PCB Layout: Not for the Faint of Heart -- 2.9.1 Floor Planning -- 2.9.2 Follow the Rats -- 2.9.3 Mechanical Constraints. 2.9.4 Electrical Constraints -- 2.9.5 Stack-Up Design -- 2.9.6 Experience Matters -- References -- CHAPTER 3 FPGA Design Considerations -- 3.1 Introduction -- 3.2 FPGA Development Process -- 3.2.1 Introduction to the Target Device -- 3.2.2 FPGA Requirements -- 3.2.3 FPGA Architecture -- 3.3 Accelerating Design Using IP Libraries -- 3.4 Pin Planning and Constraints -- 3.4.1 Physical Constraints -- 3.4.2 Timing Constraints -- 3.4.3 Timing Exceptions -- 3.4.4 Physical Constraints: Placement -- 3.5 Clock Domain Crossing -- 3.6 Test Bench and Verification -- 3.6.1 What Is Verification? -- 3.6.2 Self-Checking Test Benches -- 3.6.3 Corner Cases, Boundary Conditions, and Stress Testing -- 3.6.4 Code Coverage -- 3.6.5 Test Functions and Procedures -- 3.6.6 Behavioral Models -- 3.6.7 Using Text IO Files -- 3.6.8 What Else Might We Consider? -- 3.7 Finite State Machine Design -- 3.7.1 Defining a State Machine -- 3.7.2 Algorithmic State Diagrams -- 3.7.3 Moore or Mealy: What Should I Choose? -- 3.7.4 Implementing the State Machine -- 3.7.5 State Machine Encoding -- 3.7.6 Increasing Performance of State Machines -- 3.7.7 Good Design Practices for FPGA Implementation -- 3.7.8 FLIR Lepton Interface -- 3.8 Defensive State Machine Design -- 3.8.1 Detection Schemes -- 3.8.2 Hamming Schemes -- 3.8.3 Deadlock and Other Issues -- 3.8.4 Implementing Defensive State Machines in Xilinx Devices -- 3.9 How Does FPGA Do Math? -- 3.9.1 Representation of Numbers -- 3.10 Fixed Point Mathematics -- 3.10.1 Fixed-Point Rules -- 3.10.2 Overflow -- 3.10.3 Real-World Implementation -- 3.10.4 RTL Implementation -- 3.11 Polynomial Approximation -- 3.11.1 The Challenge with Some Algorithms -- 3.11.2 Capitalize on FPGA Resources -- 3.11.3 Multiple Trend Lines Selected by Input Value -- 3.12 The CORDIC Algorithm -- 3.13 Convergence -- 3.14 Where Are These Used -- 3.15 Modeling in Excel. 3.16 Implementing the CORDIC -- 3.17 Digital Filter Design and Implementation -- 3.17.1 Filter Types and Topologies -- 3.17.2 Frequency Response -- 3.17.3 Impulse Response -- 3.17.4 Step Response -- 3.17.5 Windowing the Filter -- 3.18 Fast Fourier Transforms -- 3.18.1 Time or Frequency Domain? -- 3.19 How Do We Get There? -- 3.19.1 Where Do We Use These? -- 3.19.2 FPGA-Based Implementation -- 3.19.3 Higher-Speed Sampling -- 3.20 Working with ADC and DAC -- 3.20.1 ADC and DAC Key Parameters -- 3.20.2 The Frequency Spectrum -- 3.20.3 Communication -- 3.20.4 DAC Filtering -- 3.20.5 In-System Test -- 3.21 High-Level Synthesis -- CHAPTER 4 When Reliability Counts -- 4.1 Introduction to Reliability -- 4.2 Mathematical Interpretation of System Reliability -- 4.2.1 The Bathtub Curve -- 4.2.2 Failure Rate (λ) -- 4.2.3 Early Life Failure Rate -- 4.2.4 Key Terms -- 4.2.5 Repairable and Nonrepairable Systems -- 4.2.6 MTTF, MTBF, and MTTR -- 4.2.7 Maintainability -- 4.2.8 Availability -- 4.3 Calculating System Reliability -- 4.3.1 Scenario 1: All Critical Components Connected in Series -- 4.3.2 Scenario 2: All Critical Components Connected in Parallel -- 4.3.3 Scenario 3: All Critical Components Are Connected in Series-Parallel Configuration -- 4.4 Faults, Errors, and Failure -- 4.4.1 Classification of Faults -- 4.4.2 Fault Prevention Versus Fault Tolerance: Which One Can Address System Failure Better? -- 4.5 Fault Tolerance Techniques -- 4.5.1 Redundancy Technique for Hardware Fault Tolerance -- 4.5.2 Software Fault Tolerance -- 4.6 Worst-Case Circuit Analysis -- 4.6.1 Sources of Variation -- 4.6.2 Numerical Analysis Using SPICE Modeling -- Selected Bibliography -- About the Authors -- Index. |
isbn |
9781630816841 9781630816834 |
callnumber-first |
T - Technology |
callnumber-subject |
TK - Electrical and Nuclear Engineering |
callnumber-label |
TK7895 |
callnumber-sort |
TK 47895 G36 |
genre |
Electronic books. |
genre_facet |
Electronic books. |
url |
https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6877368 |
illustrated |
Not Illustrated |
dewey-hundreds |
600 - Technology |
dewey-tens |
620 - Engineering |
dewey-ones |
621 - Applied physics |
dewey-full |
621.395 |
dewey-sort |
3621.395 |
dewey-raw |
621.395 |
dewey-search |
621.395 |
oclc_num |
1305844638 |
work_keys_str_mv |
AT tayloradam ahandsonguidetodesigningembeddedsystems AT binnundan ahandsonguidetodesigningembeddedsystems AT srivastavasaket ahandsonguidetodesigningembeddedsystems AT tayloradam handsonguidetodesigningembeddedsystems AT binnundan handsonguidetodesigningembeddedsystems AT srivastavasaket handsonguidetodesigningembeddedsystems |
status_str |
n |
ids_txt_mv |
(MiAaPQ)5006877368 (Au-PeEL)EBL6877368 (OCoLC)1305844638 |
carrierType_str_mv |
cr |
is_hierarchy_title |
A Hands-On Guide to Designing Embedded Systems. |
author2_original_writing_str_mv |
noLinkedField noLinkedField |
_version_ |
1792331061919744000 |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>10327nam a22004693i 4500</leader><controlfield tag="001">5006877368</controlfield><controlfield tag="003">MiAaPQ</controlfield><controlfield tag="005">20240229073845.0</controlfield><controlfield tag="006">m o d | </controlfield><controlfield tag="007">cr cnu||||||||</controlfield><controlfield tag="008">240229s2021 xx o ||||0 eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781630816841</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781630816834</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(MiAaPQ)5006877368</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(Au-PeEL)EBL6877368</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1305844638</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">MiAaPQ</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">MiAaPQ</subfield><subfield code="d">MiAaPQ</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">TK7895.G36</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">621.395</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Taylor, Adam.</subfield></datafield><datafield tag="245" ind1="1" ind2="2"><subfield code="a">A Hands-On Guide to Designing Embedded Systems.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1st ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Norwood :</subfield><subfield code="b">Artech House,</subfield><subfield code="c">2021.</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">©2021.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (269 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Intro -- A Hands-On Guide to Designing Embedded Systems -- Contents -- Acknowledgments -- Introduction -- CHAPTER 1 Programmatic and System-Level Considerations -- 1.1 Introduction: SensorsThink -- 1.2 Product Development Stages -- 1.3 Product Development Stages: Tailoring -- 1.4 Product Development: After Launch -- 1.5 Requirements -- 1.5.1 The V-Model -- 1.5.2 SensorsThink: Product Requirements -- 1.5.3 Creating Useful Requirements -- 1.5.4 Requirements: Finishing Up -- 1.6 Architectural Design -- 1.6.1 SEBOK: An Invaluable Resource -- 1.6.2 SensorsThink: Back to the Journey -- 1.6.3 Systems Engineering: An Overview -- 1.6.4 Architecting the System, Logically -- 1.6.5 Keep Things in Context (Diagrams) -- 1.6.6 Monitor Your Activity (Diagrams) -- 1.6.7 Know the Proper Sequence (Diagrams) -- 1.6.8 Architecting the System Physically -- 1.6.9 Physical Architecture: Playing with Blocks -- 1.6.10 Trace Your Steps -- 1.6.11 System Verification and Validation: Check Your Work -- 1.7 Engineering Budgets -- 1.7.1 Types of Budgets -- 1.7.2 Engineering Budgets: Some Examples -- 1.7.3 Engineering Budgets: Finishing Up -- 1.8 Interface Control Documents -- 1.8.1 Sticking Together: Signal Grouping -- 1.8.2 Playing with Legos: Connectorization -- 1.8.3 Talking Among Yourselves: Internal ICDs -- 1.9 Verification -- 1.9.1 Verifying Hardware -- 1.9.2 How Much Testing Is Enough? -- 1.9.3 Safely Navigating the World of Testing -- 1.9.4 A Deeper Dive into Derivation (of Test Cases) -- 1.10 Engineering Governance -- 1.10.1 Not Just Support for Design Reviews -- 1.10.2 Engineering Rule Sets -- 1.10.3 Compliance -- 1.10.4 Review Meetings -- References -- CHAPTER 2 Hardware Design Considerations -- 2.1 Component Selection -- 2.1.1 Key Component Identification for the SoC Platform -- 2.1.2 Key Component Selection Example: The SoC.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">2.1.3 Key Component Selection Example: Infrared Sensor -- 2.1.4 Key Component Selection: Finishing Up -- 2.2 Hardware Architecture -- 2.2.1 Hardware Architecture for the SoC Platform -- 2.2.2 Hardware Architecture: Interfaces -- 2.2.3 Hardware Architecture: Data Flows -- 2.2.4 Hardware Architecture: Finishing Up -- 2.3 Designing the System -- 2.3.1 What to Worry About -- 2.3.2 Power Supply Analysis, Architecture, and Simulation -- 2.3.3 Processor and FPGA Pinout Assignments -- 2.3.4 System Clocking Requirements -- 2.3.5 System Reset Requirements -- 2.3.6 System Programming Scheme -- 2.3.7 Summary -- 2.3.8 Example: Zynq Power Sequence Requirements -- 2.4 Decoupling your Components -- 2.4.1 Decoupling: By the Book -- 2.4.2 To Understand the Component, You Must Be the Component -- 2.4.3 Types of Decoupling -- 2.4.4 Example: Zynq-7000 Decoupling -- 2.4.5 Additional Thoughts: Specialized Decoupling -- 2.4.6 Additional Thoughts: Simulation -- 2.5 Connect with Your System -- 2.5.1 Contemplating Connectors -- 2.5.2 Example: System Communications -- 2.6 Extend the Life of the System: De-Rate -- 2.6.1 Why De-Rate? -- 2.6.2 What Can Be De-Rated? -- 2.6.3 Example: De-Rating the Zynq-7000 -- 2.6.4 Additional Thoughts: Exceptions to the Rule -- 2.7 Test, Test, Test -- 2.7.1 Back to Basics: Pre-Power-On Checklist -- 2.7.2 Check for Signs of Life: Crawl Before Walking -- 2.7.3 Roll Up Your Sleeves and Get Ready to Run -- 2.7.4 Example: I2C Interface -- 2.7.5 Additional Thoughts -- 2.8 Integrity: Important for Electronics -- 2.8.1 Power Integrity -- 2.8.2 Signal Integrity -- 2.8.3 Digging Deeper into Power Integrity -- 2.8.4 Digging Deeper into Signal Integrity -- 2.8.5 Example: ULPI Pre-Layout Analysis -- 2.8.6 Suggested Additional Reading -- 2.9 PCB Layout: Not for the Faint of Heart -- 2.9.1 Floor Planning -- 2.9.2 Follow the Rats -- 2.9.3 Mechanical Constraints.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">2.9.4 Electrical Constraints -- 2.9.5 Stack-Up Design -- 2.9.6 Experience Matters -- References -- CHAPTER 3 FPGA Design Considerations -- 3.1 Introduction -- 3.2 FPGA Development Process -- 3.2.1 Introduction to the Target Device -- 3.2.2 FPGA Requirements -- 3.2.3 FPGA Architecture -- 3.3 Accelerating Design Using IP Libraries -- 3.4 Pin Planning and Constraints -- 3.4.1 Physical Constraints -- 3.4.2 Timing Constraints -- 3.4.3 Timing Exceptions -- 3.4.4 Physical Constraints: Placement -- 3.5 Clock Domain Crossing -- 3.6 Test Bench and Verification -- 3.6.1 What Is Verification? -- 3.6.2 Self-Checking Test Benches -- 3.6.3 Corner Cases, Boundary Conditions, and Stress Testing -- 3.6.4 Code Coverage -- 3.6.5 Test Functions and Procedures -- 3.6.6 Behavioral Models -- 3.6.7 Using Text IO Files -- 3.6.8 What Else Might We Consider? -- 3.7 Finite State Machine Design -- 3.7.1 Defining a State Machine -- 3.7.2 Algorithmic State Diagrams -- 3.7.3 Moore or Mealy: What Should I Choose? -- 3.7.4 Implementing the State Machine -- 3.7.5 State Machine Encoding -- 3.7.6 Increasing Performance of State Machines -- 3.7.7 Good Design Practices for FPGA Implementation -- 3.7.8 FLIR Lepton Interface -- 3.8 Defensive State Machine Design -- 3.8.1 Detection Schemes -- 3.8.2 Hamming Schemes -- 3.8.3 Deadlock and Other Issues -- 3.8.4 Implementing Defensive State Machines in Xilinx Devices -- 3.9 How Does FPGA Do Math? -- 3.9.1 Representation of Numbers -- 3.10 Fixed Point Mathematics -- 3.10.1 Fixed-Point Rules -- 3.10.2 Overflow -- 3.10.3 Real-World Implementation -- 3.10.4 RTL Implementation -- 3.11 Polynomial Approximation -- 3.11.1 The Challenge with Some Algorithms -- 3.11.2 Capitalize on FPGA Resources -- 3.11.3 Multiple Trend Lines Selected by Input Value -- 3.12 The CORDIC Algorithm -- 3.13 Convergence -- 3.14 Where Are These Used -- 3.15 Modeling in Excel.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">3.16 Implementing the CORDIC -- 3.17 Digital Filter Design and Implementation -- 3.17.1 Filter Types and Topologies -- 3.17.2 Frequency Response -- 3.17.3 Impulse Response -- 3.17.4 Step Response -- 3.17.5 Windowing the Filter -- 3.18 Fast Fourier Transforms -- 3.18.1 Time or Frequency Domain? -- 3.19 How Do We Get There? -- 3.19.1 Where Do We Use These? -- 3.19.2 FPGA-Based Implementation -- 3.19.3 Higher-Speed Sampling -- 3.20 Working with ADC and DAC -- 3.20.1 ADC and DAC Key Parameters -- 3.20.2 The Frequency Spectrum -- 3.20.3 Communication -- 3.20.4 DAC Filtering -- 3.20.5 In-System Test -- 3.21 High-Level Synthesis -- CHAPTER 4 When Reliability Counts -- 4.1 Introduction to Reliability -- 4.2 Mathematical Interpretation of System Reliability -- 4.2.1 The Bathtub Curve -- 4.2.2 Failure Rate (λ) -- 4.2.3 Early Life Failure Rate -- 4.2.4 Key Terms -- 4.2.5 Repairable and Nonrepairable Systems -- 4.2.6 MTTF, MTBF, and MTTR -- 4.2.7 Maintainability -- 4.2.8 Availability -- 4.3 Calculating System Reliability -- 4.3.1 Scenario 1: All Critical Components Connected in Series -- 4.3.2 Scenario 2: All Critical Components Connected in Parallel -- 4.3.3 Scenario 3: All Critical Components Are Connected in Series-Parallel Configuration -- 4.4 Faults, Errors, and Failure -- 4.4.1 Classification of Faults -- 4.4.2 Fault Prevention Versus Fault Tolerance: Which One Can Address System Failure Better? -- 4.5 Fault Tolerance Techniques -- 4.5.1 Redundancy Technique for Hardware Fault Tolerance -- 4.5.2 Software Fault Tolerance -- 4.6 Worst-Case Circuit Analysis -- 4.6.1 Sources of Variation -- 4.6.2 Numerical Analysis Using SPICE Modeling -- Selected Bibliography -- About the Authors -- Index.</subfield></datafield><datafield tag="588" ind1=" " ind2=" "><subfield code="a">Description based on publisher supplied metadata and other sources.</subfield></datafield><datafield tag="590" ind1=" " ind2=" "><subfield code="a">Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. </subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Embedded computer systems--Design and construction.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Field programmable gate arrays--Design and construction.</subfield></datafield><datafield tag="655" ind1=" " ind2="4"><subfield code="a">Electronic books.</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Binnun, Dan.</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Srivastava, Saket.</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Taylor, Adam</subfield><subfield code="t">A Hands-On Guide to Designing Embedded Systems</subfield><subfield code="d">Norwood : Artech House,c2021</subfield><subfield code="z">9781630816834</subfield></datafield><datafield tag="797" ind1="2" ind2=" "><subfield code="a">ProQuest (Firm)</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6877368</subfield><subfield code="z">Click to View</subfield></datafield></record></collection> |