2 MotivationThe need to consider both hardware and software is one of the characteristics of embedded/cyber-physical systems. Reasons:Real-time behaviorEfficiencyEnergy…SecurityReliability
3 Structure of this course 2: Specification & ModelingDesign repositoryDesign3: ES-hardware8: Test *Application Knowledge6: Application mapping5: Evaluation & Validation (energy, cost, performance, …)7: Optimization* Could be integrated into loop; not included in the current course4: System software (RTOS, middleware, …)Generic loop: tool chains differ in the number and type of iterationsNumbers denote sequence of chapters
4 Embedded System Hardware Embedded system hardware is frequently used in a loop (“hardware in a loop“): cyber-physical systems
6 SensorsProcessing of physical data starts with capturing this data. Sensors can be designed for virtually every physical and chemical quantity, includingweight, velocity, acceleration, electrical current, voltage, temperatures, andchemical compounds.Many physical effects used for constructing sensors.Examples:law of induction (generat. of voltages in an electric field),light-electric effects.Huge amount of sensors designed in recent years.
8 Charge-coupled devices (CCD) image sensors Based on charge transfer to next pixel cellCorresponding to “bucket brigade device” (German: “Eimerkettenschaltung”)
9 CMOS image sensorsBased on standard production process for CMOS chips, allows integration with other components.
10 Comparison CCD/CMOS sensors See also B. Diericks: CMOS image sensor concepts. Photonics West 2000 Short course (Web)PropertyCCDCMOSTechnology optimized forOpticsVLSI technologyTechnologySpecialStandardSmart sensorsNo, no logic on chipLogic elements on chipAccessSerialRandomSizeLimitedCan be largePower consumptionLowLargerApplicationsCompact camerasLow cost devices, SLR cameras
14 Artificial eyes (3)Translation into sound [Movie
15 Other sensorsRain sensors for wiper control (“Sensors multiply like rabbits“ [ITT automotive])Pressure sensorsProximity sensorsEngine control sensorsHall effect sensors
16 Signals Sensors generate signals Definition: a signal s is a mapping from the time domain DT to a value domain DV :s : DT DVDT : continuous or discrete time domainDV : continuous or discrete value domain.
17 Peter Marwedel Informatik 12 TU Dortmund Germany DiscretizationPeter MarwedelInformatik 12TU Dortmund Germany
18 Discretization of time Digital computers require discrete sequences of physical valuess : DT DVDiscrete time domain Sample-and-hold circuits
19 Sample-and-hold circuits Clocked transistor + capacitor;Capacitor stores sequence valuese(t) is a mapping ℝ ℝh(t) is a sequence of values or a mapping ℤ ℝ
20 Do we lose information due to sampling? Would we be able to reconstruct input signals from the sampled signals? approximation of signals by sine waves.
21 Approximation of a square wave (1) K=1Target: square wave with period p1=4K=3with k: pk= p1/k: periods of contributions to e’
24 Linear transformations Let e1(t) and e2(t) be signalsDefinition: A transformation Tr of signals is linear iffIn the following, we will consider linear transformations. We consider sums of sine waves instead of the original signals.
25 AliasingPeriods of p=8,4,1Indistinguishable if sampled at integer times, ps=1Matlab demo
26 Aliasing (2)Reconstruction impossible, if not sampling frequently enoughHow frequently do we have to sample?Nyquist criterion (sampling theory):Aliasing can be avoided if we restrict the frequencies of the incoming signal to less than half of the sampling rate.ps < ½ pN where pN is the period of the “fastest” sine waveor fs > 2 fN where fN is the frequency of the “fastest” sine wavefN is called the Nyquist frequency, fs is the sampling rate.See e.g. [Oppenheim/Schafer, 2009]
27 Anti-aliasing filter A filter is needed to remove high frequencies e4(t) changed into e3(t)Ideal filterRealizablefilterfs /2fs
28 Examples of Aliasing in computer graphics Sub-sampled, no filteringOriginalMoire_pattern_of_bricks_small.jpg
29 Examples of Aliasing in computer graphics (2) Original (pdf screen copy)Filtered & sub-sampledSub-sampled, no filteringImpact of rasterizationDocuments/Accuracy in Digital Image Processing.pdf
30 Discretization of values: A/D-converters Digital computers require digital form of physical valuess: DT DVDiscrete value domainA/D-conversion; many methods with different speeds.
31 No decoding of h(t) > Vref Encoding of voltage intervals“11““10““01““00“Vref /4Vref /23Vref /4Vrefh(t)
32 Resolution Resolution (in bits): number of bits produced Resolution Q (in volts): difference between two input voltages causing the output to be incremented by 1withQ: resolution in volts per stepVFSR: difference between largest and smallest voltagen: number of voltage intervalsExample:Q = Vref /4 for the previous slide, assuming * to be absent
33 Resolution and speed of Flash A/D-converter Parallel comparison with reference voltageSpeed: O(1)Hardware complexity: O(n)Applications: e.g. in video processing
34 Higher resolution: Successive approximation h(t)V-w(t)Key idea: binary search:Set MSB='1'if too large: reset MSBSet MSB-1='1'if too large: reset MSB-1Speed: O(log2(n))Hardware complexity: O(log2(n))with n= # of distinguished voltage levels;slow, but high precision possible.
36 Application areas for flash and successive approximation converters Effective number of bits at bandwidth(used in multimeters)(using single bit D/A-converters; common for high quality audio equipments) [ DeltaSigma/DeltaSigma.html](Pipelined flash converters)[Gielen et al., DAC 2003]Movie IEEE tv
37 Quantization Noise Assuming “rounding“ (truncating) towards 0 h(t) w(t)w(t)-h(t)
39 Signal to noise ratio e.g.: 20 log10(2)=6.02 decibels Signal to noise for ideal n-bit converter : n * [dB]e.g db for 16-bit converter, ~ 160 db for 24-bit converterAdditional noise for non-ideal convertersMATLAB demo
40 Summary Hardware in a loop Sensors Discretization Sample-and-hold circuitsAliasing (and how to avoid it)Nyquist criterionA/D-convertersQuantization noise
42 Flash A/D converter*Encodes input number of most significant ‘1’ as an unsigned number, e.g. “1111” -> “100”, “0111” -> “011”, “0011” -> “010”, “0001” -> “001”, “0000” -> “000” (Priority encoder).* Frequently, the case h(t) > Vref would not be decoded