|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
Introduction to Mixed-Signal, Embedded Design
Acknowledgment xxiii
1 An Overview of Mixed-Signal, Embedded System Design 1
1.1 Embedded Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Embedded Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Top-Down Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Embedded Systems Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5 Embedded Design Example: Fan Control System . . . . . . . . . . . . . . . . . . . 23
1.5.1 Description of the Fan Controller System . . . . . . . . . . . . . . . . . . . 24
1.5.2 Design of the Fan Controller System . . . . . . . . . . . . . . . . . . . . . . 29
1.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.7 Further Readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.8 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2 Microcontroller Architecture 51
2.1 Microcontroller Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.1.1 Microcontroller Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . 53
2.1.2 Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2 Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.4 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3 Hardware and Software Subsystems of Mixed-Signal Architectures 103
3.1 Subsystems of the PSoC Mixed-Signal Architecture . . . . . . . . . . . . . . . . . . 104
3.1.1 PSoC Hardware Components . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.1.2 PSoC Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.2 The PSoC Interrupt Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.2.1 Case Study: Tachometer Interrupt Service Routines . . . . . . . . . . . . . 117
3.3 Global I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.4 System Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.5 System Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.7 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
vi CONTENTS
4 Performance Improvement by Customization 151
4.1 Introduction to Application-Specific Customization . . . . . . . . . . . . . . . . . . 152
4.2 Design Methodology for Architecture Customization . . . . . . . . . . . . . . . . . 155
4.2.1 System Specification and Profiling . . . . . . . . . . . . . . . . . . . . . . . 155
4.2.2 System Partitioning and Implementation . . . . . . . . . . . . . . . . . . . 160
4.3 Programmable Digital Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
4.3.1 Timer Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.3.2 Counter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.3.3 Deadband Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.4 Customized PSoC Digital Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
4.4.1 Pulse Width Modulator Blocks . . . . . . . . . . . . . . . . . . . . . . . . . 184
4.4.2 Multiply ACcumulate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.4.3 Decimator Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
4.6 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5 Programmable Data Communication Blocks 207
5.1 Abstract Communication Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.2 Channel Implementation Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.3 Hardware–Software Implementation of Channels . . . . . . . . . . . . . . . . . . . 214
5.4 Channel Implementation Unit: SPI Block . . . . . . . . . . . . . . . . . . . . . . . 219
5.4.1 Hardware Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
5.4.2 Software Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
5.5 Channel Implementation Unit: UART Block . . . . . . . . . . . . . . . . . . . . . 229
5.5.1 UART Hardware Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
5.5.2 Software Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
5.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
5.7 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
6 Continuous-Time, Analog Building Blocks 243
6.1 Introduction to Operational Amplifiers . . . . . . . . . . . . . . . . . . . . . . . . . 244
6.1.1 Ideal OpAmps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
6.1.2 Real OpAmps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
6.1.3 OpAmp Macromodeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
6.2 Continuous-Time Analog Building Blocks . . . . . . . . . . . . . . . . . . . . . . . 263
6.2.1 Inverting Amplifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
6.2.2 Non-Inverting Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
6.2.3 Summing Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
6.2.4 Difference Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
6.2.5 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
6.2.6 Comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
6.3 Reconfigurable Continuous-Time Analog Blocks . . . . . . . . . . . . . . . . . . . . 276
6.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.5 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
7 Switched-Capacitor Blocks 289
7.1 Introduction To Switched Capacitor Techniques . . . . . . . . . . . . . . . . . . . . 290
7.1.1 Nonidealities in Switched Capacitor Circuits . . . . . . . . . . . . . . . . . 291
7.2 Active Switched Capacitor Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
7.2.1 Fixed Gain Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
CONTENTS vii
7.2.2 Comparators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
7.2.3 Switched Capacitor Integrator . . . . . . . . . . . . . . . . . . . . . . . . . 300
7.2.4 Switched Capacitor Differentiator . . . . . . . . . . . . . . . . . . . . . . . . 302
7.2.5 Reference Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
7.2.6 Analog-to-Digital Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . 305
7.3 Switched Capacitor PSoC Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
7.3.1 Type C Switched Capacitor Blocks . . . . . . . . . . . . . . . . . . . . . . . 307
7.3.2 Type D Switched Capacitor Blocks . . . . . . . . . . . . . . . . . . . . . . . 311
7.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
7.5 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
8 Analog and Digital Filters 325
8.1 Filter Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
8.1.1 Passive Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
8.1.2 Linear Active Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
8.1.3 Digital Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
8.1.4 Filter Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
8.2 Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8.2.1 Specific Filter Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
8.2.2 Filter Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
8.2.3 Scaling and Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
8.2.4 Cascading Analog Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
8.3 Analog Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
8.3.1 Time-Continuous Integrators as Filters . . . . . . . . . . . . . . . . . . . . . 344
8.3.2 The Passive Lowpass Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
8.3.3 The Sallen–Key Lowpass Active Filter . . . . . . . . . . . . . . . . . . . . . 349
8.3.4 The Switched-Capacitance Filter . . . . . . . . . . . . . . . . . . . . . . . . 351
8.3.5 Biquad Switched Capacitor Filter . . . . . . . . . . . . . . . . . . . . . . . . 352
8.3.6 An Allpass Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8.4 Digital Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
8.4.1 Digital FIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
8.4.2 Infinite Impulse Response Filter . . . . . . . . . . . . . . . . . . . . . . . . 362
8.5 Filter Design Software Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
8.7 Recommended Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
9 ΔΣ Analog-to-Digital Converters 373
9.1 Nyquist ADCs-A Short Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 374
9.1.1 Sampling and Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
9.1.2 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
9.1.3 Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
9.2 ΔΣ ADCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
9.2.1 Oversampling and Noise-Shaping . . . . . . . . . . . . . . . . . . . . . . . . 380
9.2.2 ΔΣ ADC Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
9.2.3 First-Order ΔΣ Modulator . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
9.2.4 PSoC Implementation of First-Order ΔΣ Modulators . . . . . . . . . . . . 387
9.2.5 Impact of Circuit Non-Idealities on ΔΣ Modulator Performance . . . . . . 394
9.2.6 Second-Order ΔΣ Modulator . . . . . . . . . . . . . . . . . . . . . . . . . . 405
9.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
viii CONTENTS
10 Future Directions in Mixed-Signal Design Automation 413
10.1 Top-Down Design and Design Activities . . . . . . . . . . . . . . . . . . . . . . . . 413
10.2 Two Examples of Architecture Customization . . . . . . . . . . . . . . . . . . . . . 415
10.2.1 IDEA Algorithm for Data Encryption . . . . . . . . . . . . . . . . . . . . . 415
10.2.2 Face Detection for Image Processing . . . . . . . . . . . . . . . . . . . . . . 417
10.3 Challenges in Mixed-Signal Design Automation . . . . . . . . . . . . . . . . . . . . 421
10.3.1 High-Level Specification of Analog and Mixed-Signal Systems . . . . . . . . 422
10.3.2 Fast Performance Estimation by Customized Simulation Code . . . . . . . 424
10.3.3 High-Level Synthesis of Analog Subsystems . . . . . . . . . . . . . . . . . . 435 |
|