Functional Description Rev. 1.70 / September 2013 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Automotive ICs Adaptable and Rugged ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Contents 1 2 Control Logic ......................................................................................................................................................5 1.1 General Description .....................................................................................................................................5 1.2 CMC Description..........................................................................................................................................5 1.3 General Working Modes ..............................................................................................................................5 1.3.1 Normal Operation Mode (NOM) ............................................................................................................6 1.3.2 Command Mode (CM)...........................................................................................................................6 1.3.3 Diagnostic Mode (DM) ..........................................................................................................................7 1.3.4 Failsafe Tasks and Error Codes ...........................................................................................................8 1.3.5 Temperature Out-Of-Range Check .......................................................................................................8 Signal Conditioning ............................................................................................................................................9 2.1 A/D Conversion............................................................................................................................................9 2.2 Bridge Sensor Signal Conditioning Formula .............................................................................................10 2.3 Digital Bridge Sensor Signal Filter Function ..............................................................................................11 2.4 Temperature Conditioning Formula ...........................................................................................................11 3 Digital PWM Output ..........................................................................................................................................12 4 Digital LIN Interface ..........................................................................................................................................14 4.1 General Description ...................................................................................................................................14 4.2 LIN Protocol ...............................................................................................................................................14 4.2.1 Frame ..................................................................................................................................................14 4.2.2 Bit Rate................................................................................................................................................15 4.2.3 Synchronization ...................................................................................................................................15 4.2.4 Bit Sampling ........................................................................................................................................15 4.2.5 Protected Identifier (PID).....................................................................................................................15 4.2.6 Checksum ...........................................................................................................................................15 4.3 LIN Publisher Frame – Normal Operation Mode (NOM) ...........................................................................16 4.4 LIN Slave Status Information .....................................................................................................................17 4.5 LIN Command Mode .................................................................................................................................18 4.6 LIN Transport Layer ...................................................................................................................................19 4.6.1 Assign-NAD .........................................................................................................................................20 4.6.2 Conditional-Change-NAD....................................................................................................................20 4.6.3 Read-By-Identifier ...............................................................................................................................21 4.6.4 Assign-Frame-Identifier .......................................................................................................................24 4.6.5 Assign-Frame-Identifier-Range ...........................................................................................................25 4.6.6 Save-Configuration .............................................................................................................................26 Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 2 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 5 6 7 4.6.7 Go-To-Sleep ........................................................................................................................................27 4.6.8 Data-Dump ..........................................................................................................................................27 4.7 LIN Sleep Mode .........................................................................................................................................28 4.8 Differences between LIN Mode 1.3 and LIN Mode 2.0/2.1 – Summary ....................................................28 2 Serial Digital I C™ Interface .............................................................................................................................29 5.1 General Description ...................................................................................................................................29 5.2 Digital I C™ Output ...................................................................................................................................30 5.3 I C™ Protocol ............................................................................................................................................31 2 2 Interface Commands ........................................................................................................................................34 6.1 Command Set ............................................................................................................................................34 6.2 Command Processing ...............................................................................................................................36 6.3 Output Data in Command and Diagnostic Mode .......................................................................................37 6.4 Detailed Description of Oscillator Frequency Adjustment .........................................................................37 EEPROM and RAM ..........................................................................................................................................39 7.1 Programming the EEPROM ......................................................................................................................39 7.2 EEPROM and RAM Contents ....................................................................................................................39 7.3 Configuration Words ..................................................................................................................................42 7.4 EEPROM Signature ...................................................................................................................................47 7.5 EEPROM Write Locking ............................................................................................................................47 8 Related Documents ..........................................................................................................................................48 9 Glossary ...........................................................................................................................................................48 10 Document Revision History ..............................................................................................................................49 List of Figures Figure 1.1 Figure 3.1 Figure 4.1 Figure 5.1 Figure 5.2 Figure 5.3 Figure 5.4 Figure 5.5 Figure 5.6 Figure 5.7 Figure 7.1 Modes of Digital Serial Communication ................................................................................................6 PWM Output Characteristics ..............................................................................................................12 LIN Publisher Frame ...........................................................................................................................16 2 I C™ Read Request during NOM, Temporary DM .............................................................................30 2 I C™ Read Request after Detecting an Error (Steady DM) ...............................................................30 2 I C™ Read Request Answering a Command (CM) ............................................................................30 2 Principles of I C™ Protocol.................................................................................................................31 2 Write Operation I C™ .........................................................................................................................32 2 Read Operation I C™ – (Data Request) ............................................................................................32 2 Timing I C™ Protocol .........................................................................................................................33 Source Code Signature Generation....................................................................................................47 Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 3 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface List of Tables Table 1.1 Table 3.1 Table 4.1 Table 4.2 Table 4.3 Table 4.4 Table 4.5 Table 4.6 Table 4.7 Table 4.8 Table 4.9 Table 4.10 Table 4.11 Table 4.12 Table 4.13 Table 4.14 Table 4.15 Table 4.16 Table 4.17 Table 4.18 Table 4.19 Table 4.20 Table 5.1 Table 6.1 Table 6.2 Table 6.3 Table 7.1 Table 7.2 Table 7.3 Table 7.4 Table 7.5 Table 7.6 Error Detection Functionality and Error Codes .....................................................................................8 PWM Configuration .............................................................................................................................12 LIN Status Bits Transmitted in Normal Operation Mode (NOM) .........................................................17 Assign-NAD Request ..........................................................................................................................20 Assign-NAD Positive Response .........................................................................................................20 Conditional-Change-NAD Request .....................................................................................................21 Conditional-Change-NAD Positive Response ....................................................................................21 Read-By-Identifier Request ................................................................................................................21 Read-By-Identifier - Supported Identifiers ..........................................................................................22 Read-By-Identifier Positive Response ................................................................................................23 Read-By-Identifier Negative Response ..............................................................................................23 Assign-Frame-Identifier Request ........................................................................................................24 Assign-Frame-Identifier Positive Response .......................................................................................24 Assign-Frame-Identifier-Range Request ............................................................................................25 Assign-Frame-Identifier-Range Positive Response ............................................................................25 Save-Configuration Request ...............................................................................................................26 Save-Configuration Positive Response ..............................................................................................26 Save-Configuration Negative Response ............................................................................................26 Go-To-Sleep Request .........................................................................................................................27 Data-Dump Request ...........................................................................................................................27 Data-Dump Positive Response ...........................................................................................................27 LIN modes...........................................................................................................................................28 2 Timing I C™ Protocol .........................................................................................................................33 Command Set .....................................................................................................................................34 Serial Digital Interface Output Registers ............................................................................................37 Oscillator Frequency Adjustment Sequence ......................................................................................38 EEPROM and RAM Contents .............................................................................................................40 Configuration Word CFGLIN ...............................................................................................................42 Configuration Word CFGAFE .............................................................................................................43 Configuration Word CFGTS ................................................................................................................44 Configuration Word CFGAPP .............................................................................................................45 Configuration Word CFGSF ................................................................................................................46 For more information, contact ZMDI via [email protected]. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 4 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 1 Control Logic 1.1 General Description The control logic of the ZSSC3170 consists of the calibration microcontroller (CMC), the module control logic of the analog-to-digital converter (ADC), and serial digital Interface. The configuration of the various modes of the device is done by programming an EEPROM. The CMC controls the measurement cycle and performs the calculations for sensor signal conditioning. This eliminates the gain deviation, the offset, the temperature deviation, and the non-linearity of the pre-amplified and A/D-converted sensor signal. The controller of the A/D conversion is started by the CMC and executed as a continuous measurement cycle. The conditioning calculation by the CMC is performed in parallel with the A/D conversion. An external microcontroller can read the sensor signal conditioning results from the ZSSC3170 via the LIN interface. PWM output is also available. Communication between an external microcontroller and the sensor system consisting of the transducer and the ZSSC3170, especially for calibration purposes, is done via serial digital interfaces. Communication protocols 2 according to the LIN and I C™* standards are supported. During calibration, the CMC performs internal processing of received interface commands. As a result, the measurement cycle is interrupted if a command is received. 1.2 CMC Description The calibration microcontroller (CMC) is especially adapted to the tasks connected with the signal conditioning. The main features are as follows: The microcontroller uses 16-bit processing width, and it is programmed via ROM. A watchdog timer controls the proper operation of the microcontroller. Constants/coefficients for the conditioning calculation are stored in the EEPROM. The EEPROM is mirrored to the RAM after power-on or after re-initialization from EEPROM by sending a specific command to the serial interface. Parity is checked continuously during every read from RAM. If incorrect data is detected, the Diagnostic Mode is activated (error code is written to the serial digital output). 1.3 General Working Modes ZSSC3170 supports three separate working modes: Normal Operation Mode (NOM) Command Mode (CM) Diagnostic Mode (DM) * I2C™ is a trademark of NXP. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 5 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 1.3.1 Normal Operation Mode (NOM) After power-on, the ZSSC3170 completes an initialization routine during which the EEPROM is mirrored to RAM and the content is checked against a stored signature. If enabled, a ROM signature check is processed (see Table 7.6). If any error is detected, the Diagnostic Mode is activated. Otherwise the configuration of the ZSSC3170 is set, serial digital interfaces are enabled, and Normal Operation Mode is started. In LIN mode, LIN communication is always available. This is used for reading the sensor signal using a publisher frame or for end-of-line configuration and calibration using transport layer services. For details, see section 4. In PWM mode, a start window of 30ms (nominal) is opened. During the start window, both PWM pins are set to the recessive level and the device can receive LIN frames via both pins. To activate the Command Mode for endof-line configuration and calibration, use the transport layer service Data-Dump (see section 4.6.8) to transmit the START_CM command. If this command is received, NOM is stopped and the ZSSC3170 waits for further commands. If no valid START_CM command is received during the PWM start window, the ZSSC3170 continues normal operation (NOM). In NOM, the continuous measurement cycle and conditioning calculations are processed. Bridge sensor and temperature signal conditioning results are frequently refreshed. The conditioning results can be read via the 2 serial digital interfaces (LIN or I C™), or they can generate a PWM output. Read out of the conditioning result via 2 LIN or I C™ does not interrupt the continuous processing of the signal measurement and conditioning routine. 1.3.2 Command Mode (CM) The CM start command START_CM generates an interrupt to the NOM, which stops the measurement cycle. The ZSSC3170 changes to CM only after receiving the START_CM command via the digital serial interface (LIN or 2 I C™). This protects the ZSSC3170 against interruption of processing during NOM (continuous signal conditioning mode) and/or unintentional changes of configuration. In CM, the full set of commands is supported (see section 6.1). If the ZSSC3170 receives a command other than START_CM in NOM, it is not valid. In this case, the invalid command is ignored and no interrupt to the continuous measurement cycle is generated. In CM, the full command set is enabled for processing. During processing of a received command, the serial interfaces are disabled; no further commands are recognized. After finishing the processing, the CMC waits for further commands or processes loops continuously (e.g. after measurement commands). Figure 1.1 Modes of Digital Serial Communication Normal Operation Mode Command START_CM Command Mode 2 I C™ read-out LIN read-out and transport layer PWM output Full command set EEPROM programming is only enabled after receiving the EEP_WRITE_EN command (see section 6.1). Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 6 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface In LIN mode, it is always possible to change to Command Mode via transport layer communication (see section 4.5), but this is not intended to use in a running cluster during the application. In PWM mode, the START_CM command must be transmitted during the start window (nominal 30ms). After the start window has expired, it is not possible to communicate with the ZSSC3170 via its PWM pins. 2 2 In I C™ mode, starting the CM via I C™ communication (pins SCL, SDA) is possible at any time. 1.3.3 Diagnostic Mode (DM) The ZSSC3170 detects various failures. When a failure is detected, Diagnostic Mode (DM) is activated. In LIN mode, the DM is indicated by error flags contained in the LIN signal that is transmitted when responding with a publisher frame in NOM. Thus every read-out of the bridge sensor signal and temperature is paired with failure status information. See section 4.4 for a detailed description of the LIN status information. In PWM mode, the DM is indicated by output of the recessive level. Note that the recessive level depends on the selected output driver. The low-side switch (pin LSS) uses a pull-up resistor for generating high levels. The highside switch (pin HSS) uses an internal pull-down resistor for generating low levels. For this reason LIN communication via pin HSS uses inverted LIN signal levels. During DM, LIN communication is possible via all output pins (LIN, HSS, LSS). This ensures that a non-configured device is accessible via LIN for end-of-line configuration. Transport layer service Read-by-Identifier-32 (see section 4.6.3 and Table 4.7) returns an error code specifying the reason for DM activation. Error codes are listed 2 in Table 1.1. Error codes can also be read out via I C™ during DM using the command GET_ERR_STATUS. Note that error detection functionality can be partly enabled/disabled by configuration word CFGSF (e.g. sensor connection check, sensor short check, sensor aging check, ROM check, etc.; see Table 7.6). There are three options for Diagnostic Mode: Steady Diagnostic Mode In steady DM, the measurement cycle is stopped and failure notification is activated. If enabled, a reset after the time-out of a watchdog is executed. Temporary Diagnostic Mode There is a failure counting sequence that can result in a temporary DM. DM is activated after two consecutively detected failure events and is deactivated after a failure counter counts down if the failure condition is no longer detected. The measurement cycle is continuously processed. Power and Ground Loss Power and ground loss cases are signaled by interrupting the communication/data stream at the output. Output pins are set to high-impedance states. The output level is determined by the external load. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 7 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 1.3.4 Failsafe Tasks and Error Codes Table 1.1 Error Detection Functionality and Error Codes Failsafe Task Description Messaging Time Error Code Activation Oscillator Fail Oscillator is observed generating clock pulses by an asynchronous timing logic < 200µs - ROM Signature CMC ROM signature check LIN controller ROM signature check Start-up 6500 CFGSF: CHKROM EEPROM Multiple-Bit Error Detection of non-correctable multiple-bit error per 16-bit word Start-up 6440 - EEPROM Signature Signature check for RAM mirror of EEPROM content Start-up 6600 - Watchdog Watchdog time-out during initialization or measurement cycle Start-up or 2 measurement times 6402 RAM Parity Parity check at every RAM access Immediately 6404 6408 - Register Parity Permanent parity check of configuration registers Immediately 6410 - Arithmetic Check Functional check of arithmetic unit One measurement cycle 6480 - SSC Sensor short check A820 CFGSF: CHKSSC SCC Sensor connection check A840 CFGSF: CHKSCC SAC Sensor aging check A880 CFGSF: CHKSAC BCC Broken chip check AA00 CFGSF: CHKBCC Temperature Outof-Range Check Detection of ADC range overflow for temperature measurement C900 CFGSF: CHKOOR Power & Ground Loss Power and ground loss detection Two measurement cycles < 5ms - - 6420 - - Action Temporary DM Steady DM Steady DM or reset after watchdog time-out (enabled by CFGAPP: DMRES) Temporary DM Reset Note that error codes can be bitwise ORed. MSB is even parity. The reset after the watchdog timeout overwrites previously detected errors. 1.3.5 Temperature Out-Of-Range Check The temperature out-of-range check detects whether the ADC dynamic range has been exceeded during the rADC temperature measurement. The signal raw value is checked if it is equal to 0 or (2 - 1). This can result from various causes: the external temperature sensor is unconnected; the analog temperature input channel is not sufficiently adjusted; or the input signal is out of the ADC range. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 8 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 2 Signal Conditioning 2.1 A/D Conversion During NOM, the analog preconditioned sensor signal is continuously converted from analog to digital. The A/D conversion has a resolution rADC of 13-bit or 14-bit, as set by configuration word CFGAFE:ADCRES, and it is performed in the two-step conversion mode. It is configurable for the inherent range shift rsADC by the configuration word CFGAFE:ADCRS. The resolution for the A/D conversion is equal for all measurements in the measurement cycle (e.g., input voltage, temperature, auto-zero, etc.). The measured digital raw values (e.g., bridge sensor signal, temperature) are determined by the following equations: Analog differential input voltage to A/D conversion VIN_DIFF Differential input voltage to analog front end Measured value VIN_DIFF to be conditioned: VOFF Residual offset voltage of analog front end (which is eliminated by the ZADC – ZAZ difference calculation) VXZC Extended zero compensation voltage (programmable via CFGAFE:PXZC) aIN Gain of analog front end for differential input voltage Auto-zero value aXZC VOFF Z AZ 2rADC rs ADC V ADC _ REF Gain for extended zero compensation voltage VADC_DIFF Differential input voltage to ADC VADC _ DIFF aIN VIN _ DIFF a XZC VXZC Digital raw A/D conversion results VADC _ DIFF VOFF Z ADC 2rADC rs ADC VADC _ REF Auto-zero corrected raw A/D conversion result Z CORR Z ADC Z AZ 2rADC Functional Description September 10, 2013 VADC_REF ADC reference voltage (ratiometric reference for measurement) VADC _ DIFF rADC Resolution of A/D conversion (13/14-bit) VADC _ REF rsADC Range shift of A/D conversion 1 1 Bridge Sensor Measurement: ½, ¼, /8, /16 Temperature Measurement: ½ © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 9 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 2.2 Bridge Sensor Signal Conditioning Formula The digital raw value ZP,CORR for the measured bridge sensor signal is further processed with the conditioning formula to remove offset and temperature dependency and to compensate non-linearity up to 3rd order. The signal conditioning equation is processed by the CMC and is defined as follows: Range definition of inputs ZP,CORR 2rADC ; 2rADC rADC ZP,CORR Z CT,CORR 2rADC 1; 2rADC 1 ZCT,CORR Conditioning Equations Y 2 ZP,CORR c 0 2(rADC 1) c 4 ZCT,CORR 22(rADC 1) c 5 ZCT ,CORR 2 c1 2(rADC 1) c 6 ZCT,CORR 22(rADC 1) c 7 ZCT ,CORR Y 0; 1 P Y 1 215 c2 215 c3 230 c2 Y 2 245 c3 Y 3 P 0; 1 P Resolution of A/D conversion (13 or 14-bit) Raw A/D conversion result for bridge sensor signal (auto-zero compensated) Raw A/D conversion result for calibration temperature (auto-zero compensated) Conditioned bridge sensor signal result Conditioning coefficients stored in EEPROM registers 0 to 7: ci [-2 ; 2 ), two’s complement c0 Bridge offset c1 Gain nd c2 Non-linearity correction 2 order rd c3 Non-linearity correction 3 order st c4 1 order temperature coefficient correcting bridge offset nd c5 2 order temperature coefficient correcting bridge offset st c6 1 order temperature coefficient correcting bridge gain nd c7 2 order temperature coefficient correcting bridge gain 15 15 The first equation above compensates the offset and fits the gain including its temperature dependence. The nonlinearity is then corrected for the intermediate result Y. The result of these equations is a non-negative value P for the measured bridge sensor signal in the range [0; 1). Note that the conditioning coefficients ci are positive or negative values in two’s complement. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 10 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 2.3 Digital Bridge Sensor Signal Filter Function The ZSSC3170 offers a digital (averaging) filter function for the bridge sensor signal output in NOM. The filter can be parameterized using two coefficients – the integrating coefficient CFGSF:PAVRG and the differential coefficient CFGSF:PDIFF (see Table 7.6). The filter function is implemented as follows: Digital Filter Function POUT ,i POUT ,i1 Pi POUT ,i1 PDIFF 1 2PAVRG i>0 with PAVRG, PDIFF [0; 7] POUT ,i 0; 1 Pi POUT,i PAVRG PDIFF Conditioned bridge sensor signal result (see section 2.2) Filtered output result Averaging filter coefficient Differential filter coefficient The result of the filter function is a non-negative value POUT for the measured bridge sensor signal in the range [0; 1). This value POUT is used for generating the continuously written output value during the measurement cycle. Note that the first output value POUT,0 is set equal to P0. Note that setting both of the coefficients CFGSF:PAVRG and CFGSF:PDIFF to 0 disables the filter function. 2.4 Temperature Conditioning Formula Output of the temperature value is only available in LIN mode. The digital raw value Z MT,CORR for the measured temperature is processed with the conditioning formula to remove offset and to compensate non-linearity up to 2nd order. The signal conditioning equation is processed by the CMC and is defined as follows: Range definition of inputs ZMT ,CORR 2rADC 1; 2rADC 1 rADC ZMT,CORR Conditioning Equations Z t YT MT ,CORR 0 t1 YT 0; 1 T YT 1 2 15 t 2 2 15 t 2 YT2 T 0; 1 Resolution of A/D conversion (13/14-bit) Raw A/D conversion result for temperature (auto-zero compensated) Conditioning coefficients stored in EEPROM registers 8 to 10 ti [-2 ; 2 ), two’s complement. t0 Temperature offset t1 Temperature gain t2 Temperature non-linearity correction nd 2 order 15 15 The first equation above compensates the offset and fits the gain. The non-linearity is then corrected for the intermediate result YT. The result of these equations is a non-negative value T for the measured temperature in the range [0; 1). This value T is used for generating the continuously written output value during the measurement cycle. Note that the conditioning coefficients ti are positive or negative values in two’s complement. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 11 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 3 Digital PWM Output Digital output via the PWM interface is processed with a bridge sensor signal value that is at least 11 bits. Temperature information is not available in PWM mode. The PWM output is synchronized to the measurement cycle. The PWM period is an even-numbered multiple of the A/D conversion time. Consequently the PWM resolution depends on the selected A/D conversion. PWMRSL is the maximum PWM output value. The PWM period depends on the resolution and LSB length and can be balanced by adjusting the frequency of internal oscillator f OSC (see section 6.4). Table 3.1 PWM Configuration A/D conversion Resolution CFGAFE:ADCRES Order CFGAFE:ADCORD PWM Mode CFGAFE:ADCMODE Resolution PWMRSL (in LSB) LSB (in 1/fOSC) Period @ fOSC = 1.8MHz (in ms) 2 3 4 5 2 3 4 5 - 4480 4864 5632 7168 8448 2432 2816 3584 5120 4352 8 4 2 1 8 8 4 2 1 8 19.9 10.8 6.3 4.0 37.5 10.8 6.3 4.0 2.8 19.3 2 step 14 1 step 2 step 13 1 step The bridge sensor signal output value POUT [0; 1) is normalized to the PWM period. Figure 3.1 PWM Output Characteristics PWM PWMRSL PWM output range PWMMAX LPON LPOFF PWMMIN PWMOFF 0 Functional Description September 10, 2013 Pmin Pmax Measurand © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 12 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface The following sequence of normalization, limitation, hysteresis, and noise suppression is processed (see Table 7.1 for settings for PWMMIN, PWMMAX, LPOFF, LPON, PWMOFF, and ZMIN). PWM Output Function PPWM POUT PWM RSL POUT with POUT ,i 0; 1 Limitation (clipping) PWM 0 PPWM PWM MIN ; PWM MAX PPWM PWM 0 PPWM PWM MAX PWM MAX PWM 0 PPWM PWM MIN PWM MIN Hysteresis PWMPWM 0 LPOFF PWM OFF PWMPWM PWM OFF & PWM 0 LPON PWM 0 Noise Suppression The switch between the characteristic curve and PWMOFF (in both directions) is processed only after a number of discrete result values PWM0 complying with hysteresis conditions. PWMRSL PPWM Bridge sensor signal output value (see section 2.2) PWM resolution (see Table 3.1) depending on A/D conversion setup Normalized PWM bridge sensor signal output PWMMIN Lower PWM output value (PWMMIN) PWMMAX Upper PWM output value (PWMMAX) PWM0 Limited PWM bridge sensor signal output LPOFF LPON PWMOFF PWM ZMIN Low bridge sensor signal off value (LPOFF) Low bridge sensor signal on value (LPON) PWM off output value (PWMOFF) PWM bridge sensor signal output Number of bridge sensor signal measurements for switch on/off noise suppression (ZMIN) Note that limitation can be disabled by setting PWMMIN to 0 and setting PWMMAX to greater than or equal to the PWM tick count for the application. Note that hysteresis can be disabled by setting LPOFF to a value less than or equal to PWMMIN or by setting ZMIN to 0. Note that noise suppression can be disabled by setting ZMIN to 1. Note: LIN Sleep Mode must be disabled for proper PWM operation. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 13 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4 Digital LIN Interface 4.1 General Description The ZSSC3170 includes a serial digital LIN interface. It allows the programming of the EEPROM to configure the application mode and to calibrate the sensor signal conditioning. During normal operation, it provides the read-out of the conditioned sensor signal and the temperature measurement. The LIN interface implemented in the ZSSC3170 is based on the LIN Specification Package 2.1 (2006-11-24), Package 2.0 (2003-09-23), and LIN 2.1 Specification Errata Sheet (Revision 1.3, (2009-04-02). For compatibility reasons, it includes a mode based on LIN Specification Package 1.3 (2002-12-13). The ZSSC3170 always works as a LIN slave node. The LIN interface is conceptually divided into two main parts: the LIN Protocol Controller and the LIN Physical Transceiver. This section describes the functionality of the LIN Protocol Controller. For the LIN Physical Transceiver, see the ZSSC3170 LIN Interface Description. The ZSSC3170 LIN interface supports the following features: 4.2 4.2.1 Single-wire LIN transceiver implementation Compatibility with LIN specification package 2.1, 2.0 and 1.3 Bit rates: 1kbit/s up to 20kbit/s Fast mode with bit rates up to 80kbit/s Signal-based application interaction Re-configurability Transport layer and diagnostic support Sleep mode Protection against short circuits on the supply and ground LIN pin load dump protection (40V) LIN pin ESD protection 8kV LIN Protocol Frame The entities that are transferred on the LIN bus are referred to as frames. The ZSSC3170 LIN publisher frame consists of a break field, a sync byte field, a protected identifier, 4 data bytes, and a checksum. This results in a publisher frame with a nominal length of 84 bit times (tBit). The break field, sync byte field, and protected identifier are also called the header. The data bytes and checksum are called the response. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 14 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.2.2 Bit Rate The supported LIN bit rate is specified in the range of 1kbit/s to 20kbit/s. The two preferred bit rates are 9.6kbit/s and 19.2kbit/s, especially for starting communication with a non-configured device. A fast mode is also supported with a bit rate up to 80kbit/s. This can be enabled by the command LIN_FAST. 4.2.3 Synchronization Synchronization is adjusted with the sync byte field of every LIN frame. The full bit rate in LIN mode is ensured for internal oscillator frequencies adjusted to be in the range of 1.5 to 3MHz. Oscillator frequency adjustment can be performed using the synchronization result of the LIN interface (see section 6.4). The precision of the internal oscillator guarantees synchronization between master and slave better than or equal to ±1%. The slave synchronizes to the sync byte field and triggers every new byte field with the falling edge of the start bit. As a result, the maximum deviation between master and slave within each byte field is less than or equal to ±10% according to the master clock time. 4.2.4 Bit Sampling A byte field is synchronized at the falling edge of the start bit. There are two possible bit sampling modes, selected via CFGLIN:LINSMPL. A bit is evaluated either with 3 samples within a window between 7/16 and 9/16 of bit time or with 5 samples within a window between 6/16 and 10/16 of bit time. The preferred sampling mode is 3 samples per bit. The bit data is determined by the bit sample majority. 4.2.5 Protected Identifier (PID) The protected identifier byte field consists of an identifier (6LSB) and parity bits (2MSB). The protected identifiers are used for signal-carrying publisher frames during NOM. These transmit 4 data byte fields carrying the transmitted signal containing bridge sensor signal and temperature result values and status information. The publisher PID is programmed in EEPROM with 8 bits and is valid if the EEPROM signature is valid. Note: PID parity information is not checked. It can be changed by transport layer communication even in normal operation. The ZSSC3170 supports transport layer communication using reserved identifiers 60 (PID 0x3C) and 61 (PID 0x7D). A non-configured device due to an invalid EEPROM signature subscribes and publishes only to transport layer frames. This must be used to define a valid configuration. See section 4.5 for details. Transport layer frames contain 8 data byte fields. 4.2.6 Checksum The checksum is defined as the inverted 8-bit sum with carry. It is calculated including all data bytes (classic checksum) or including all data bytes and the protected identifier (enhanced checksum). The classic checksum is used for publisher frames according to LIN 1.3 and for transport layer frames. The enhanced checksum is used for publisher frames according to LIN 2.1 and LIN 2.0. The checksum type is selected via CFGLIN:LINMODE. Commands received via master request frame are only processed if a valid checksum is detected. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 15 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.3 LIN Publisher Frame – Normal Operation Mode (NOM) During NOM, LIN communication is used to read out the conditioned bridge sensor and temperature sensor signal. Therefore the LIN master initiates a publisher frame by generating the header. The response is published by the ZSSC3170 slave node. The publisher PIDs are programmed in EEPROM register 0x18. NOM requires that the ZSSC3170 is configured (i.e., the EEPROM signature is valid). There are several signal formats for publisher frames according to PID1 configured by CFGLIN:LINCFGFRM. The publisher frame according to PID2 has a fixed format and can be used specifically to read 15-bit raw measurement values during calibration. Figure 4.1 LIN Publisher Frame NOM Includes Publisher PID1 NOM Includes Publisher PID1 NOM Includes Publisher PID1 NOM CM Includes Publisher PID2 September 10, 2013 (12-bit) (14-bit) (15-bit) (12-bit) MSB LSB (10-bit) MSB Temperature MSB LSB (8-bit) MSB LSB MSB (9-bit) Variant ID (4-bit) (4-bit) Variant ID MSB(4-bit) (8-bit) Error status Variant ID (4-bit) (8-bit) Temperature LSB 1 MSB (1) LSB (13-bit) 0x0000 (14-bit) MSB 1 MSB (1) Enhanced or classic Enhanced or classic (8-bit) Variant ID MSB Checksum Error status Error status Temperature Raw value (two’s complement) LSB Functional Description MSB Bridge sensor signal Includes Publisher PID2 Master (12-bit) (11-bit) LSB Frame 5 LSB Temperature Bridge sensor signal LSB Frame 4 MSB Bridge sensor signal LSB Frame 3 (12-bit) Data Byte 3 Temperature Bridge sensor signal LSB Frame 2 Data Byte 2 Bridge sensor signal LSB Frame 1 Data Byte 1 Enhanced or classic Enhanced or classic Response error (1) Response error (1) NOM Includes Publisher PID1 Data Byte 0 Error status (2) Frame 0 Header P error status (2) Byte Field Bit 31 MSB Signal Carrying Data Bytes T error status (2) Bit 0 LSB Enhanced or classic Enhanced or classic Slave © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 16 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Signals, including the bridge sensor and temperature values, are sent with LSB first. Bridge sensor and temperature values are limited to the values stored in EEPROM address 0x0B to 0x0D. Limitation is always based on the 12-bit internal values independent of the actual resolution of the values output in the frame. Error notification is transmitted with up to 4 status bits. See section 4.4 for a description. Bridge sensor and temperature values are transmitted even if an error status bit is set. Error status must be evaluated by the LIN master to assess the validity of bridge sensor and temperature values. The variant ID is stored in EEPROM register 0x16 (low byte). The enhanced checksum is used in LIN mode 2.0/2.1, and the classic checksum is used in LIN mode 1.3. 4.4 LIN Slave Status Information There are up to 4 status bits transferred in publisher frames during NOM to indicate the status of the LIN slave. The set of status bits to be used is configured by CFGLIN:LINCFGFRM (see section 7.3). Table 4.1 LIN Status Bits Transmitted in Normal Operation Mode (NOM) LIN Status Bit Description Bridge Sensor Error Bridge sensor value is out of defined limits. Limits are defined in EEPROM registers 0xB and 0xD. OR Any of the following internal error detections has indicated a failure: sensor connection or short check (SCC/SSC); sensor-aging check (SAC); calibration temperature out-of-range check; watchdog; arithmetic check; RAM parity; register parity; EEPROM error; ROM signature. Bridge Sensor Signal Out-of-Limits Temperature Error Bridge sensor value is out of defined limits. Limits are defined in EEPROM registers 0xB and 0xD. Temperature value is out of defined limits. Limits are defined in EEPROM registers 0xC and 0xD. OR Any of following internal error detections has indicated a failure: temperature out-of-range check; watchdog; arithmetic check; RAM parity; register parity; EEPROM error; ROM signature. Temperature Out-of-Limits Temperature value is out of defined limits. Limits are defined in EEPROM registers 0xC and 0xD. Bridge sensor or Temperature Invalid Any of following internal error detections has indicated a failure: sensor connection or short check (SCC/SSC); sensor aging check (SAC); calibration temperature out-of-range check; temperature out of range check; watchdog; arithmetic check; RAM parity; register parity; EEPROM error; ROM signature. Response Error The response error is annunciated if a checksum error in the subscriber frame is detected; a frame error in the subscriber frame is detected (byte field start and stop bit); or a bit error in the publisher frame is detected. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 17 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface LIN Status Bit Description Checksum Error A checksum error in a subscriber frame has been detected. Error notification is low-pass filtered: the failure counter is incremented by 8 up to 63 and decremented by 1; the status bit is set at 63 and reset at 0. Bit Error A bit error in a publisher frame has been detected. Error notification is low-pass filtered: the failure counter is incremented by 8 up to 63 and decremented by 1; the status bit is set at 63 and reset at 0. Value Refreshed Bridge sensor or temperature value has not been sent since last update. Also see section 1.3.3 for a detailed description of behavior in the Diagnostic Mode. 4.5 LIN Command Mode The ZSSC3170 allows end-of-line configuration and calibration via one-wire LIN communication. The ZSSC3170 functions as a LIN slave. When using LIN communication, the Command Mode starts after the ZSSC3170 receives the command START_CM from the master via the transport layer service Data-dump (see section 4.6.8). The ZSSC3170’s internal measurement cycle is stopped, and it waits for further commands. The full command set (section 6.1) is available. If LIN mode is configured (CFGAPP:PWMENA = 0), the master request is received via the LIN pin. Starting Command Mode is always available in LIN mode. Alternatively, in NOM, the bridge sensor and temperature values can be read using the publisher PIDs. If PWM mode is configured (CFGAPP:PWMENA = 1), the master request must be received during the start window via the PWM output pins HSS or LSS. During the start window, the recessive level is applied to both pads. The duration of the start window is 30ms (nominal). If the start window expires without receiving the START_CM, the PWM output (NOM) begins. After the start window, LIN communication via the HSS or LSS pins is no longer possible. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 18 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6 LIN Transport Layer LIN transport layer is used for diagnostics and for configuration of the ZSSC3170. The ZSSC3170 supports Diagnostic Class I according to the LIN Specification Package 2.1. The transport layer has fixed frame IDs. Messages issued by a master are called master requests and use the ID 60 (PID 0x3C). Messages issued by the slave are called slave requests and use the frame ID 61 (PID 0x7D). The ZSSC3170 transport layer supports only single frames containing the node address byte (NAD); protocol control information byte (PCI); service identifier byte (SID) or response service identifier byte (RSID); 5 additional data bytes; and classic checksum byte. Unused bytes must be filled with the recessive level (0xFF). NAD: The node address (NAD) uniquely identifies a slave node. NAD values are in the range of 0 to 127. NAD 127 is reserved as the broadcast NAD addressing all connected nodes. NAD 126 is reserved for functional requests in LIN 2.1. NAD 0 is reserved for the go-to-sleep master request. ZSSC3170 handles two NADs – the initial NAD and a configured NAD. The initial NAD and the LIN Product Identification form the node identity and are not changeable via LIN diagnostic services. The configured NAD must be identical to the initial NAD after manufacturing but can be changed using LIN master requests Assign-NAD (see section 4.6.1) or Conditional-Change-NAD (see section 4.6.2). A non-configured ZSSC3170 must be addressed using broadcast NAD 127. If the EEPROM signature is valid, the NADs programmed in EEPROM register 0x17 are used. PCI: The ZSSC3170 transport layer supports only single frames. Therefore the protocol control information (PCI) is equal to the number of data bytes used plus one (for SID or RSID). Frames with inconsistent length information are ignored. SID: The service identifier (SID) specifies the request that will be performed by the slave node addressed. See the following sections for a detailed description of supported services. RSID: The response service identifier (RSID) specifies the content of the response. A positive response is indicated by SID + 0x40. A negative response is indicated by 0x7F and is followed by the error code. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 19 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6.1 Assign-NAD The Assign-NAD service is used to set a configured NAD to resolve conflicting NADs in a LIN cluster. The initial NAD is stored in the EEPROM register 0x17 high byte; the configured NAD is stored in the EEPROM register 0x17 low byte. The master request frame contains the initial NAD, Supplier ID and Function ID. For identification, each of these can be replaced by wildcard values. Table 4.2 Assign-NAD Request NAD PCI SID D2 Supplier ID LSB Initial NAD Broadcast D1 0x06 0xB0 0x7F D3 MSB D4 Function ID LSB D5 MSB Wildcards 0xFF 0x7F 0xFF New configured NAD 0xFF A positive response is generated if transferred IDs match internally stored IDs. Table 4.3 Assign-NAD Positive Response NAD PCI RSID D1 D2 D3 D4 D5 Initial NAD 0x01 0xF0 0xFF 0xFF 0xFF 0xFF 0xFF Note that the positive response uses the initial NAD. If the initial NAD or transferred IDs do not match the stored values, no response is sent. Note that NADs and IDs are internally set to wildcard values if the EEPROM signature is not valid. Note that new configured NAD is not permanent initially. Use the LIN master request Save-Configuration (see section 4.6.6) to store the configured NAD to EEPROM. 4.6.2 Conditional-Change-NAD Conditional-Assign-NAD service is used to resolve conflicting NADs in a LIN cluster. The configured NAD is stored in EEPROM register 0x17 low byte. The master request frame contains an identifier that defines which internal identification number the condition is related to. Supported identifiers are listed in Table 4.8; e.g., identifier 0 means Supplier ID, Function ID and Variant ID and identifier 1 means the Serial Number. The master request frame also contains a byte identifier that defines which byte of the chosen identification number the condition is related to. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 20 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface The master request frame contains a mask and an invert byte at the end. It defines the condition. The selected byte of the internal identification number is first bitwise XORed with the invert byte and then bitwise ANDed with the mask. If the result is zero, then the configured NAD is changed. Table 4.4 Conditional-Change-NAD Request NAD PCI SID D1 D2 D3 D4 D5 0x06 0xB3 Identifier Byte Mask Invert New configured NAD Configured NAD Broadcast 0x7F A positive response is generated if the condition is successfully evaluated as zero. Table 4.5 Conditional-Change-NAD Positive Response NAD PCI RSID D1 D2 D3 D4 D5 New configured NAD 0x01 0xF3 0xFF 0xFF 0xFF 0xFF 0xFF Note that the positive response uses the new configured NAD. If initial NAD does not match the stored value or if the condition is not successfully evaluated, no response is sent. Note that NADs and IDs are internally set to wildcard values if the EEPROM signature is not valid, in which case, the Serial Number is set to 0xFFFF. Note that new configured NAD is not permanent initially. Use the LIN master request Save-Configuration to store the configured NAD to EEPROM. 4.6.3 Read-By-Identifier The Read-by-Identifier service is used to read out the LIN slave node properties. The master request frame contains the Supplier ID and Function ID. For identification, both of these can be replaced by wildcards. The LIN Product Identification is stored in EEPROM registers 0x14 (Supplier ID) and 0x15 (Function ID). Table 4.6 Read-By-Identifier Request NAD PCI SID D1 Supplier ID LSB Configured NAD Broadcast 0x7F Functional Description September 10, 2013 D2 0x06 0xB2 Identifier D3 D4 MSB Function ID LSB D5 MSB Wildcards 0xFF 0x7F 0xFF © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 0xFF 21 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface The requested property is specified by an identifier. Table 4.7 Read-By-Identifier - Supported Identifiers Identifier Service Response Data Read-by-Identifier-0: LIN Product Identification Supplier ID, Function ID, Variant ID (EEPROM register 0x14 to 0x16) 1 Read-by-Identifier-1: Serial Number Serial Number (EEPROM registers 0x1C to 0x1D) 16 Read-by-Identifier-16: Message ID 1 and PID1 Message ID 1 (EEPROM register 0x19), Publisher ID 1 (EEPROM register 0x18, low byte) (Service is specified in LIN 2.0. It is also supported in LIN 2.1.) 17 Read-by-Identifier-17: Message ID 2 and PID2 Message ID 2 (EEPROM register 0x1A), Publisher ID 2 (EEPROM register 0x18, high byte) (Service is specified in LIN 2.0. It is also supported in LIN 2.1.) 32 Read-by-Identifier-32: Diagnostic Mode Error Code Internal 16-bit error code (see Table 1.1) (If no error code is available, data bytes are set to 0x0000.) 33 Read-by-Identifier-33: Bit Rate Frequency ratio = 2 fOSC / fLIN – 2 where fOSC is the internal oscillator frequency, and fLIN is LIN frequency 34 Read-by-Identifier-34: LIN Output Buffer Internal 32-bit Response Buffer 0 (2MSB of high bytes are error status!) Normal Operation Mode D1 D2 2MSB .. P value invalid P value out-of-limits 14 bit .. Bridge sensor value LSB LSB MSB September 10, 2013 MSB MSB .. set to 1’b1 15 bit .. measured raw value (two’s complement) 0x8000 LSB Functional Description D4 2MSB .. T value invalid T value out-of-limits 14 bit .. Temperature value Command Mode STRT_AD_X Read raw measurement values. 35 D3 MSB LSB MSB Read-by-Identifier-35: Command Response Buffer Internal 32-bit Slave Response Buffer D1 D2 D3 D4 Normal Operation Mode n/a n/a n/a n/a Command Mode Data high byte Data low byte crc cmd Command Mode STRT_AD_X cmd 0xC3 cmd crc Command Mode READ_EEP_RAW 0x00 6-bit parity Data high byte Data low byte © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 22 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface A positive response is generated if transferred IDs match internally stored IDs. If EEPROM signature is not valid, the ZSSC3170 only responds to ID wildcard values. Table 4.8 Read-By-Identifier Positive Response ID NAD PCI RSID D1 D2 0 NAD 0x06 0xF2 Supplier ID LSB 1 NAD 0x05 0xF2 Serial Number LSB 16 NAD 0x04 0xF2 Message ID 1 LSB 17 NAD 0x04 0xF2 32 NAD 0x03 33 NAD 34 35 D3 MSB D4 Function ID LSB D5 MSB MSB MSB PID1 LSB MSB Message ID 2 LSB MSB PID2 LSB MSB 0xF2 Error code LSB MSB 0x03 0xF2 Bit Rate LSB MSB NAD 0x05 0xF2 D1 LSB MSB D2 LSB MSB D3 LSB MSB D4 LSB MSB NAD 0x05 0xF2 D1 LSB MSB D2 LSB MSB D3 LSB MSB D4 LSB MSB Variant ID LSB MSB 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF A negative response is generated if an unknown identifier is requested. Table 4.9 Read-By-Identifier Negative Response NAD PCI RSID D1 D2 D3 D4 D5 Configured NAD 0x03 0x7F 0xB2 0x12 0xFF 0xFF 0xFF If the NAD or transferred IDs do not match the stored values, no response is sent. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 23 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6.4 Assign-Frame-Identifier Assign-Frame-Identifier service is used to set or disable one PID. Note that Assign-Frame-Identifier service is specified in LIN 2.0 only. For setting PIDs according to LIN 2.1 see Assign-Frame-Identifier-Range. Two publisher PIDs are stored in EEPROM register 0x18. The message ID of publisher PID1 (low byte) is stored in EEPROM register 0x19. The message ID of publisher PID2 (high byte) is stored in EEPROM register 0x1A. Master request frame contains the Supplier ID and Message ID. For identification, both of these can be replaced by wildcards. Table 4.10 Assign-Frame-Identifier Request NAD PCI SID D2 Supplier ID LSB Configured NAD Broadcast D1 0x06 0xB1 0x7F D3 MSB Wildcards 0xFF D4 Message ID LSB D5 MSB Wildcards 0x7F 0xFF New PID LSB MSB 0xFF PID 0x00 disables the connected frame. A positive response is generated if transferred IDs match internally stored IDs. The new PID is assigned. Table 4.11 Assign-Frame-Identifier Positive Response NAD PCI RSID D1 D2 D3 D4 D5 Configured NAD 0x01 0xF1 0xFF 0xFF 0xFF 0xFF 0xFF If the NAD or transferred IDs do not match the stored values, no response is sent. Note that new PID is not permanent initially. Use the LIN master request Save-Configuration to store the new PID to EEPROM. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 24 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6.5 Assign-Frame-Identifier-Range The Assign-Frame-Identifier-Range service is used to set or disable PIDs. Note that the Assign-Frame-Identifier-Range service is specified in LIN 2.1. For setting PIDs according to LIN 2.0, see Assign-Frame-Identifier. Two publisher PIDs are stored in EEPROM register 0x18. The master request frame contains a start index (set to 0x00) and 4 PIDs. The first and second PID are assigned to publisher frame PID1 and PID2; the next 2 PIDs are not supported and must be set to “do not care” (0xFF). Table 4.12 Assign-Frame-Identifier-Range Request NAD PCI SID Configured NAD Broadcast 0x06 0xB7 D1 index = 0x00 0x7F D2 D3 New PID1 LSB MSB New PID2 LSB MSB Do not care Do not care 0xFF 0xFF D4 D5 0xFF 0xFF PID 0x00 disables the connected frame. PID 0xFF does not change the stored PID. A positive response is generated if all transferred PIDs can be assigned. Table 4.13 Assign-Frame-Identifier-Range Positive Response NAD PCI RSID D1 D2 D3 D4 D5 Configured NAD 0x01 0xF7 0xFF 0xFF 0xFF 0xFF 0xFF If the NAD does not match the stored value or if a transferred PID could not be assigned, no response is sent. Note that new PIDs are not permanent initially. Use LIN master request Save-Configuration to store new PIDs to EEPROM. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 25 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6.6 Save-Configuration Save-Configuration service is used to initiate the slave node to save its configuration into EEPROM. Upon receiving the master request Save-Configuration, the ZSSC3170 stores the LIN configuration (configured NAD, PIDs) into EEPROM registers 0x17 and 0x18. The new signature is also evaluated and stored in EEPROM register 0x1B. Important Note: Save-Configuration interrupts the normal operation measurement cycle and initiates 3 EEPROM programming cycles. Including restarting the measurement cycle, it takes a processing time of 50ms. The Save-Configuration service must be enabled by CFGLIN:LINSVCFG. ZSSC3170 does not check the EEPROM lock bit (CFGSF:EEPLOCK). Table 4.14 Save-Configuration Request NAD PCI SID D1 D2 D3 D4 D5 Configured NAD 0x01 0xB6 0xFF 0xFF 0xFF 0xFF 0xFF A positive response is generated if saving the configuration has started. It does not wait until programming is finished but is sent immediately if the slave response frame is recognized. Table 4.15 Save-Configuration Positive Response NAD PCI RSID D1 D2 D3 D4 D5 Configured NAD 0x01 0xF6 0xFF 0xFF 0xFF 0xFF 0xFF A negative response is generated if Save-Configuration service is disabled by CFGLIN:LINSVCFG. Table 4.16 Save-Configuration Negative Response NAD PCI RSID D1 D2 D3 D4 D5 Configured NAD 0x03 0x7F 0xB6 0x11 0xFF 0xFF 0xFF Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 26 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.6.7 Go-To-Sleep The Go-To-Sleep service is used to set the LIN cluster into sleep mode. NAD 0x00 is reserved for this service. No further relevant data is sent. The slave node ignores the subsequent byte fields but evaluates the transferred checksum. Table 4.17 Go-To-Sleep Request NAD PCI SID D1 D2 D3 D4 D5 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF No response is generated because slave node is set to sleep mode. 4.6.8 Data-Dump The Data-Dump service is used to configure and calibrate the ZSSC3170 slave node. This service must be used only by supplier diagnostics and not in a running cluster during the application. The signal format is ZSSC3170-specific. It makes available the complete command set defined in section 6. The master request contains the command byte and up to 2 optional data bytes. Data bytes that are not used must be filled with 0xFF. Note that PCI is always 0x05. Commands are only processed if the Command Mode has been entered previously. Therefore the command START_CM is sent first even using Data-Dump service. After changing to Command Mode all other commands are available. Table 4.18 Data-Dump Request NAD PCI SID NAD Broadcast 0x05 D1 D2 D3 D4 D5 Command LSB MSB 0xFF 0xFF 0xFF 0xFF Command LSB MSB Data1 LSB MSB Data2 LSB MSB 0xFF 0xFF 0xB4 0x7F A positive response is generated if the Command Mode is set. The response always contains 4 data bytes. See section 6.3 for the content of response data. Table 4.19 Data-Dump Positive Response NAD NAD PCI 0x05 RSID 0xF4 D1 Data1 LSB MSB D2 Data2 LSB MSB D3 Data3 LSB MSB D4 Data4 LSB MSB D5 0xFF If ZSSC3170 is not in Command Mode, no response is sent. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 27 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 4.7 LIN Sleep Mode The ZSSC3170 supports LIN sleep mode functionality if enabled by configuration bit CFGLIN:LINSLP. There are two conditions that initiate the ZSSC3170 switching to sleep mode: LIN bus inactivity (recessive or dominant level) for more than 4s. Sleep mode is achieved within 10s. Receipt of the master request frame Go-To-Sleep. In sleep mode, the LIN node retains its configuration but does not response to LIN communication. The measurement cycle is stopped. A wake up signal is issued by forcing the bus to a dominant state for at least 250µs. ZSSC3170 detects a dominant state longer than 150µs. It starts initialization from RAM and then the measurement cycle. Wake up time depends on configuration and is less than 50ms. ZSSC3170 slave node is not able to generate the wake up signal by itself. Note: LIN Sleep Mode must be disabled for proper PWM operation. 4.8 Differences between LIN Mode 1.3 and LIN Mode 2.0/2.1 – Summary Active LIN mode is selected via CFGLIN:LINMODE. It can be set to LIN mode 1.3, 2.0, or 2.1. The differences between available LIN modes are shown in Table 4.20. Table 4.20 LIN modes CFGLIN: LINMODE LIN Mode Publisher Frame Checksum type NAD 0x7E Slave Response Frame Timeout 0x0 LIN 1.3 Classic checksum Normal NAD Not available 0x1 LIN 2.0 Enhanced checksum Normal NAD Not available 0x2 LIN 2.1 Enhanced checksum Functional NAD (ignored) 1000ms 0x3 LIN 2.1 Enhanced checksum Functional NAD (ignored) 1000ms Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 28 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 5 Serial Digital I2C™ Interface 5.1 General Description 2 2 The ZSSC3170 includes a serial digital I C™ interface. The I C™ allows programming the EEPROM to configure the application mode for the ZSSC3170 and to calibrate the conditioning equation. It also provides the read out of the conditioning results as a digital value. The ZSSC3170 always works as the slave. 2 The I C™ interface is always enabled after power-on and a short initialization phase independent of programmed configuration. In Normal Operation Mode (NOM), the result values for the bridge sensor signal and for the temperature can be read out. In Command Mode (CM), all calibration commands are available. Note that Command Mode requires transmitting a command START_CM to enable processing calibration commands. 2 EEPROM access via I C™ is always available after this command. The EEPROM lock bit only affects EEPROM 2 access via LIN. Therefore EEPROM is always programmable via I C™. In Diagnostic Mode (DM), an error code is available to identify the error source. A command consists of a device address byte and a command byte. Some commands (e.g., writing data into EEPROM) also include two data bytes. Refer to section 1.3 for details of working modes and section 6 for command descriptions. 2 There are two general methods/requests for reading data via the I C™ from the ZSSC3170: Digital read out (Continuously) reading the conditioning result in Normal Operation Mode (NOM) During the measurement cycle, the ZSSC3170 transfers the conditioning results for the bridge sensor signal 2 and temperature into the output register of the I C™. These data will be sent if the master generates a readrequest. The active measurement cycle is not interrupted by this. Calibration and/or configuration tasks Reading internal data (e.g. EEPROM content) or acquired measurement data in Command Mode (CM) To read internal and/or measurement data from the ZSSC3170 in CM, normally a specific command must 2 be sent to transfer this data into the output register of the I C™. Thereafter the data will be sent if the master generates a read-request. After generating the start condition the master sends the device address byte containing a 7-bit address followed by a data direction bit (R/W). A ‘0’ indicates a transmission from master to slave (WRITE); a ’1’ indicates a data read-request (READ). During a read-request, the data bytes are repeatedly transmitted until the master sends a stop condition. The ZSSC3170 general slave address is 0x78 (7 bit). The addressed slave answers with an acknowledge; all 2 other slaves connected to the I C™ bus ignore this communication. Via EEPROM configuration (address 0x18), it is possible to activate an additional slave address with an available range of 0x40 to 0x7F to a single device. In this case, the ZSSC3170 recognizes communication on both device addresses, on the general one and on the additional one. 2 Both available protocols, I C™ and LIN, are active in parallel, but only one of them can be used at time. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 29 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 5.2 Digital I2C™ Output 2 A read request is answered by transmitting data from the I C™ output registers. 2 During the continuous measurement cycle (NOM, Temporary DM), digital output via I C™ interface is done with 13-bit bridge sensor and 13-bit temperature values. The MSB carries an even-parity (PAR) bit. 2 bits for the Diagnostic Status (ERR) are included. 2 Figure 5.1 I C™ Read Request during NOM, Temporary DM Device Address Bridge Sensor Signal High Byte Byte Value 0x78 R/W PAR ERR 1 0/1 00 Temperature Low Byte High Byte Bridge sensor (13-bit) MSB PAR ERR 0/1 00 LSB Low Byte Temperature (13-bit) MSB LSB 2 During Steady Diagnostic Mode (DM), i.e., when an error has been detected, the ERR status bits of each I C™ 16-bit output word are used as the error identifier. 2 Figure 5.2 I C™ Read Request after Detecting an Error (Steady DM) Device Address Error Code High Byte Byte Value 0x78 R/W PAR ERR 1 0/1 err Error Code Low Byte High Byte Error code MSB LSB PAR ERR 0/1 err Low Byte Error code MSB LSB In Command Mode (CM) a 16-bit answer is sent (2 bytes). A CRC is added (1 byte) followed by the command which is answered. The CRC and the returned command allow verification of received data by the master. For details and exceptions, see section 6.2. 2 Figure 5.3 I C™ Read Request Answering a Command (CM) Device Address Answer High Byte Byte R/W Value 0x78 Functional Description September 10, 2013 1 Verification Low Byte Response (16-bit) MSB LSB High Byte Low Byte CRC (8-bit) Responded command (8-bit) MSB LSB MSB © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. LSB 30 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface I2C™ Protocol 5.3 2 For I C™ communication, a data line (SDA) and a clock line (SCL) are required. 2 Figure 5.4 Principles of I C™ Protocol SCL SDA start condition valid data proper change of data stop condition 2 The I C™ communication and protocol used is defined as follows: Idle period When the bus is inactive, SDA and SCL are pulled-up to supply voltage VDDA. Start condition A high-to-low transition on SDA while SCL is at the high level indicates a start condition. Every command must be initiated by a start condition sent by a master. A master can always generate a start condition. Stop condition A low-to-high transition on SDA while SCL is at the high level indicates a stop condition. A command must be closed by a stop condition for the ZSSC3170 to start processing the command routine. The ZSSC3170 changes to inactive interface mode during processing of internal command routines started by a previously sent command. Valid data Data is transmitted in bytes (8 bits) starting with the most significant bit (MSB). Each byte transmitted is followed by an acknowledge bit. Transmitted bits are valid if after a start condition SDA maintains a constant level during a high period of SCL. The SDA level must change only when the clock signal at SCL is low. Acknowledge An acknowledge after a transmitted byte is obligatory. The master must generate an acknowledge-related clock pulse. The receiver (slave or master) pulls-down the SDA line during the acknowledge clock pulse. If no acknowledge is generated by the receiver, a transmitting slave will become inactive. A transmitting master can abort the transmission by generating a stop condition and can then repeat the command. A receiving master must signal the end of transfer to the transmitting slave by not generating an acknowledge and afterwards transmitting a stop condition. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 31 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Write operation During transmission from master to slave (WRITE), the device address byte, which includes a data direction bit set to ‘0’ (WRITE), is followed by a command byte and up to 2 optional data bytes, depending on the transmitted command. The internal microcontroller evaluates the received command and processes the related routine. 2 Figure 5.5 Write Operation I C™ Optional Start condition Sent by Slave address R/W 0 Master st nd ACKN Command byte ACKN 1 Data byte ACKN 2 Data byte ACKN Stop condition Slave Master Slave Master Slave Master Slave Master Read operation After the master data requests data from the slave by sending a device address byte including a datadirection bit set to ‘1’ (READ), the slave answers by sending data from the interface output registers. The master must generate the transmission clock on SCL, acknowledges after each data byte (except after the last one), and then the stop condition. A data request is answered by the interface module itself and consequently does not interrupt the current process of the internal microcontroller. The data in the output registers is sent continuously until an acknowledge is not received or a stop condition is detected. After transmitting all available data, the slave starts repeating the data. 2 Figure 5.6 Read Operation I C™ – (Data Request) Optional Start condition Sent by Slave address Master R/W 1 ACKN 1st Data byte Slave Slave ACKN 2nd Data byte ACKN … nth Data byte no ACKN Stop condition Master Slave Master Slave Master Master During operation, measurement cycle data is constantly updated with conditioning results. To get other data from the slave (e.g. EEPROM content), a specific command must be sent before the data request to initiate the transfer of this data to the interface output registers. This command does interrupt the current process of the internal microcontroller; e.g., the active measurement cycle. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 32 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 2 Figure 5.7 Timing I C™ Protocol tI2C_R tI2C_F SCL tI2C_SU_STA tI2C_HD_STA tI2C_SU_DAT tI2C_HD_DAT SDA tI2C_H tI2C_L SCL tI2C_SU_STO tI2C_HD_STA SDA tI2C_BF Table 5.1 2 Timing I C™ Protocol Nr. Parameter Symbol 1 SCL Clock frequency fSCL 2 Bus free time between start and stop condition tI2C_BF 1.3 s 3 Hold time start condition tI2C_HD_STA 0.6 s 4 Setup time repeated start condition tI2C_SU_STA 0.6 s 5 Low period SCL/SDA tI2C_L 1.3 s 6 High period SCL/SDA tI2C_H 0.6 s 7 Data hold time tI2C_HD_DAT 0 s 8 Data setup time tI2C_SU_DAT 0.1 s 9 Rise time SCL/SDA tI2C_R 0.3 s 10 Fall time SCL/SDA tI2C_F 0.3 s 11 Setup time stop condition tI2C_SU_STO 12 Noise interception SDA/SCL tI2C_NI Functional Description September 10, 2013 min typ Max 400 Unit kHz Conditions fOSC ≥ 2MHz s 0.6 50 ns Spike suppression © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 33 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 6 Interface Commands 6.1 Command Set 2 All commands are available for I C™ and LIN communication but only in Command Mode (CM). CM is initiated by sending the command START_CM [72 74] (see section 1.3.1). Every received command is answered. The response consists of the 2 bytes for the requested data or a validation code, 1 byte for the CRC, and a 1-byte command reply. See the following table for exceptions (also refer to section 6.2). Important: EEPROM programming must be enabled by sending the command EEP_WRITE_EN [6C F7 42HEX]. A read command can be sent during an active measurement cycle (i.e., the processing time has not yet elapsed after sending one of the STRT_CYC_x or START_AD_x commands). If any of the other commands is to be sent during an active measurement cycle, the measurement command must first be aborted. Typically an active measurement cycle is aborted if a non-read command is received, but in special cases, the command might not be received correctly and the active measurement is not aborted. Therefore, for safe communication during an active measurement cycle, ZMDI recommends sending the START_CM command [72 74] first for non-read commands. Table 6.1 Command (HEX) Command Set Data 01 / 02 Command Notes STRT_CYC_EEP STRT_CYC_RAM Start measurement cycle including initialization from EEPROM or RAM. Output mode as configured. Processing Time @ fOSC=2MHz 500s + A/D conversion time 10 to 2A READ_RAM Read data from RAM addresses 0x00 through 0x1A. 100s 30 to 4F READ_EEP Read data from EEPROM addresses 0x00 through 0x1F. 100s 50 ADJ_OSC_ACQ Use this command with LIN communication only! Acquire frequency ratio ( 2 fOSC / fLIN – 2 ) where fOSC is the frequency of the internal oscillator, and fLIN is LIN communication frequency. Use this for adjusting the internal oscillator frequency with CFGAPP:OSCADJ. 100s 58 GET_ERR_STATUS Read and reset error code. 100s 59 LIN_FAST Enable LIN fast communication mode. Allows communication frequency up to 80kbit/s. Disables slope control and current limitation of LIN Transceiver. 100µs 5B GET_BCC_STATUS Read status information from Broken Chip Check Returns 0xC35B if there is no failure. Returns 0xCF5B if there is a failure. 100µs Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 34 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Command (HEX) Processing Time @ fOSC=2MHz Data Command Notes 60 2 bytes PWM_OUT Set PWM output value and start PWM output. PWM must be configured in EEPROM/RAM! 100µs 65 2 bytes ADJ_OSC_WRI Write and activate oscillator adjust value CFGAPP:OSCADJ to RAM. Returns complete configuration word CFGAPP. 100µs 6C 2 bytes EEP_WRITE_EN Enable data write to EEPROM. To be sent with data 0xF742; sending any other data disables EEPROM writing. 100µs 6D 2 bytes CHECK_EEP Calculate and return EEPROM signature. Low byte is start address; high byte is end address of evaluated area. Use [6D 1A 00HEX] for getting EEPROM signature of configuration. 250µs 72 1 byte START_CM Start Command Mode. To be sent with data 0x74. 100µs 80 to 9A 2 bytes WRITE_RAM Write data to RAM addresses 0x00 through 0x1A respectively. 100µs A0 to BE 2 bytes WRITE_EEP Write data to EEPROM addresses 0x00 through 0x1E respectively. 12.5ms C0 COPY_EEP2RAM Copy content of EEPROM addresses 0x00 through 0x1A to RAM. Restores EEPROM configuration in RAM. 200s C3 COPY_RAM2EEP Copy contents of RAM addresses 0x00 through 0x1A to EEPROM. Generates EEPROM signature; writes it to address 0x1B. Returns EEPROM signature. 350ms C9 GEN_EEP_SIGN Calculate and return EEPROM signature and write it to EEPROM address 0x1B. 12.7ms CA GET_RAM_SIGN Calculate and return RAM signature. 250s CE GET_ROM_STATUS Check ROM Diagnostic Status. Returns 0xC3CE if there is no failure. Returns 0xCFCE if there is a failure. 10ms CF GET_ROM_REV Get hardware and ROM revision. 100µs The ROM version is defined by the low byte of the response to the CF command. The design version is defined by the high byte of the response to the CF command. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 35 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Command (HEX) 1 Data Command Notes Processing Time @ fOSC=2MHz D0 1 START_AD_P Start cyclic A/D conversion at channel bridge sensor. D1 1 START_AD_CT Start cyclic A/D conversion at channel calibration temperature. D2 1 START_AD_MT Start cyclic A/D conversion at temperature channel. D3 1 START_AD_SSCP Start cyclic A/D conversion for positive-biased Sensor Short Check. D4 1 START_AD_PAZ Start cyclic AD conversion auto-zero at channel bridge sensor. D5 1 START_AD_CTAZ Start cyclic A/D conversion auto-zero at channel calibration temperature. D6 1 START_AD_MTAZ Start cyclic A/D conversion auto-zero at channel temperature. D7 1 START_AD_SSCN Start cyclic A/D conversion for negative-biased Sensor Short Check. D8 1 START_AD_P_AZC Start cyclic A/D conversion at channel bridge sensor including auto-zero. D9 1 START_AD_CT_AZC Start cyclic A/D conversion at channel calibration temperature including auto-zero. DA 1 START_AD_MT_AZC Start cyclic A/D conversion at channel temperature including auto-zero. DB 1 START_AD_SSCPSSCN Start cyclic A/D conversion for Sensor Short Check positive biased – negative biased. DC 1 START_AD_CMV Start cyclic A/D conversion for Sensor Aging Check (Common Mode Voltage Measurement). DE 1 START_AD_CMV_AZ C Start cyclic A/D conversion for Sensor Aging Check (Common Mode Voltage Measurement) including autozero. 100s + A/Dconversion time 2 All DX commands are used for the calibration process and return raw conversion results via LIN and I C™. 6.2 Command Processing 2 All implemented commands are available for both protocols – I C™ and LIN. If CM is active, receiving a valid command interrupts the internal microcontroller (CMC) and starts a routine processing the received command. During this processing time, the interfaces are disabled and transmitted commands are ignored. The processing time depends on the internal system clock frequency. A command always returns data (e.g., register contents, acquired measurements) to interface output registers, which can be read out by read request. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 36 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 6.3 Output Data in Command and Diagnostic Mode Output data consists of two 16-bit words (4 bytes) that can be read out by read request via the LIN 2 (Read-by-Identifier 32 or 35, see 4.6.3) or I C™ interface. Depending on the current operation mode of the ZSSC3170 (CM or DM – see section 1.3), different data word formats are used. Table 6.2 Serial Digital Interface Output Registers Output Data Word 1 High Byte Command Mode Low Byte Requested data depending on command: Output Data Word 2 High Byte Low Byte CRC Processed command - Memory content - Conditioned value - Measured raw value - Success code {0xC3, command} - Failure code {0xCF, command} Diagnostic Mode Error code Error code The CRC is calculated with following formula: CRC = 0xFF – ( HighByte1st_word + LowByte1st_word ). 6.4 Detailed Description of Oscillator Frequency Adjustment ADJ_OSC_x commands are used to adjust the frequency of the internal oscillator. This frequency is adjustable in the range of 1.5 to 3MHz and has a directly proportional effect on the A/D conversion time and the PWM period. The internal oscillator frequency can be adjusted by CFGAPP:OSCADJ (see sections 7.2 and Table 7.5). The frequency is adjusted by steps with one step equal to approximately -125kHz (frequency is decreased if CFGAPP:OSCADJ is increased). The ADJ_OSC_ACQ command is sent first. This command works ONLY with the LIN Master Request DataDump. It returns a value F_RATIO, which is equal to (2 fOSC/fLIN – 2), where fOSC is the present frequency of the internal oscillator and fLIN is the LIN communication frequency. fLIN is known, so F_RATIO can be used to calculate the existing fOSC and determine if adjustment is needed. Alternatively, this frequency ratio can be read out with the LIN Master Request Read-by-Identifier-33. Note that the resolution of the frequency measurement is better when a lower communication frequency is used. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 37 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface The required adjustment D_OSCADJ for determining the new setting OSCADJNEW for CFGAPP:OSCADJ that is needed to set the internal oscillator to the target frequency fOSC_NEW can be calculated from F_RATIO and the adjustment increment of -125kHz/step: fRATIO 2 fOSC 2 fLIN D _ OSCADJ fOSC _ NEW fLIN (fRATIO 2) 0.5 125kHz and OSCADJNEW OSCADJ D _ OSCADJ Where D_OSCADJ is the difference between the present oscillator adjustment setting and the required setting. The ADJ_OSC_WRI command is used to write CFGAPP:OSCADJ to RAM and to activate the new adjustment. The command returns the complete configuration word CFGAPP (all other configuration bits retain their value). This sequence allows an easy and accurate adjustment of the internal frequency during end-of-line calibration. Table 6.3 Oscillator Frequency Adjustment Sequence Command Description Comment Task: Measure and adjust the internal oscillator frequency fOSC [72 74] START_CM Start command mode [22] READ_RAM 0x12 Read RAM CFGAPP [READ] READ CFGAPP Read CFGAPP; OSCADJ = CFGAPP[4:0] LIN[50] ADJ_OSC_ACQ Acquire frequency ratio [READ] READ F_RATIO Read F_RATIO Manually calculate D_OSCADJ from F_RATIO Manually calculate OSCADJnew = OSCADJ + D_OSCADJ [65 OSCADJnew] [READ] ADJ_OSC_WRI READ CFGAPP Write CFGAPP:OSCADJ Read CFGAPPnew Task: Check the resulting internal oscillator frequency (optional) LIN[50] ADJ_OSC_ACQ Acquire frequency ratio [READ] READ F_RATIO Read F_RATIO Task: Write the new oscillator frequency adjustment to EEPROM [6C F7 42] EEP_WRITE_EN Enable data write to EEPROM [B2 CFGAPPnew] WRITE_EEP 0x12 Write EEPROM CFGAPPnew [C9] GEN_EEP_SIGN Generate and write EEPROM signature Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 38 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 7 EEPROM and RAM 7.1 Programming the EEPROM Programming the EEPROM is done using an internal charge pump to generate the required programming voltage. The timing of the programming pulses is controlled internally. The programming time for a write operation is typically 12.5ms independent of the programmed clock frequency (CFGAPP:OSCADJ). Recommendation: Wait a minimum of 15ms per write operation before starting the next communication. To program the EEPROM, the ZSSC3170 must be set to Command Mode by the command START_CM [72 74] and EEPROM programming must be enabled by the command EEP_WRITE_EN [6C F7 42]. Writing data to the EEPROM is done via the serial digital interface by sending specific commands (refer to section 6). The WRITE_EEP command includes the address of the targeted EEPROM word and is followed by two data bytes. During EEPROM programming, the serial digital interface is disabled and no further commands can be recognized. The COPY_RAM2EEP command [C3] writes the contents of the RAM mirror area to the EEPROM. This is to simplify the calibration process when the ZSSC3170 is configured iteratively. The EEPROM signature, which is not mirrored in RAM, is generated, written to EEPROM, and returned to the interface output register. This copy operation includes 28 EEPROM write operations and therefore typically requires 350ms (recommended wait time 420ms). 7.2 EEPROM and RAM Contents The configuration of the ZSSC3170 is stored in 32 EEPROM 16-bit words. Calibration coefficients for conditioning the sensor signal via conditioning calculations and output limits are stored in 15 words. There are 5 words for setting the configuration of the ZSSC3170 for the application. 7 words are used to configure the LIN interface. One register is used for storing the EEPROM signature, which is used in NOM to check the validity of the EEPROM contents after power-on. 4 additional 16-bit words are available for optional user data. After every power-on, the EEPROM contents are mirrored to RAM. After this read out, the contents of the RAM mirror is checked by calculating the signature and comparing it to the one stored in EEPROM. If a signature error is detected, the ZSSC3170 changes to Diagnostic Mode (DM). In LIN mode, DM is indicated by error flags contained in the LIN signal. In PWM mode, the output is set to the recessive level. Subsequently the error code 2 can be read out via LIN or I C™. The LIN interface is also enabled in PWM mode. The configuration of the device is done from the mirrored area in RAM, so the configuration words are subsequently transferred to the internal registers. The calibration coefficients for the conditioning calculations are also read from RAM. As a result, every change to the RAM mirror area impacts the configuration and behavior of the device after the next start of the measurement cycle. After power-on, the contents of the RAM mirror area are determined by the EEPROM contents and can then be changed by specific commands writing to RAM. This new configuration can be activated by the STRT_CYC_RAM command or START_AD_x commands. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 39 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Table 7.1 EEPROM and RAM Contents EEPROM/RAM Address in Hex Write cmd RAM/EEPROM Description Note: The MSB is given first if an address has more than one assignment. Conditioning Coefficients – Correction Formula Bridge Sensor Signal (section 2.2) 00 80/A0 c0 - Offset 01 81/A1 c1 - Gain 02 82/A2 c2 - Non-linearity 2 nd order rd 03 83/A3 c3 - Non-linearity 3 order 04 84/A4 c4 - Temperature coefficient offset 1 order 05 85/A5 c5 - Temperature coefficient offset 2 06 86/A6 st c6 - Temperature coefficient gain 1 order 07 87/A7 c7 - Temperature coefficient gain 2 st nd nd order order LIN Mode Configuration (section 2.4 and section 4) 08 88/A8 t0 – Offset temperature 09 89/A9 t1 – Gain temperature 0A 8A/AA t2 – Non-linearity 2 0B 8B/AB LINPMAX:LINPMIN – Maximum/minimum LIN bridge sensor output value 0C 8C/AC LINTMAX:LINTMIN – Maximum/minimum LIN temperature output value 0D 8D/AD 4 LSBs of values LINPMAX:LINPMIN:LINTMAX:LINTMIN nd order temperature PWM Mode Configuration (section 3) 88/A8 PWMMIN – Minimum PWM output value 09 89/A9 PWMMAX – Maximum PWM output value 0A 8A/AA LPON – Low bridge sensor signal on-value – Low bridge sensor signal off-value 08 0B 8B/AB LPOFF 0C 8C/AC PWMOFF – PWM off-value 0D 8D/AD ZMIN – PWM off-filter parameter Sensor Aging Check (SAC) limits 0E 8E/AE CMVMAX:CMVMIN – Upper/lower limit common mode voltage Configuration Words (section 7.3) 0F 8F/AF CFGLIN – Configuration of LIN interface and frames 10 90/B0 CFGAFE – Configuration of analog front end 11 91/B1 CFGTS – Configuration of temperature measurement 12 92/B2 CFGAPP – Configuration of target application 13 93/B3 CFGSF Functional Description September 10, 2013 – Configuration of safety functions (Diagnostic function and bridge sensor signal filter function) © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 40 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface EEPROM/RAM Address in Hex Write cmd RAM/EEPROM Description Note: The MSB is given first if an address has more than one assignment. LIN Configuration (section 4) 14 94/B4 LIN Product Identification – Supplier ID 15 95/B5 LIN-Product Identification – Function ID 16 96/B6 LIN Product Identification – Variant ID (8 LSB) 17 97/B7 MSB: LSB: 0 (1 bit) | LIN Initial NAD (7 bit) 0 (1 bit) | LIN Configurable NAD (7 bit) 18 98/B8 MSB: LSB: LIN publisher PID2 for data transmission (8 bit) LIN publisher PID1 for data transmission (8 bit) 2 6 LSBs are also used as a singular device address for I C™ communication. 2 Resulting I C™ device address range is 0x40 to 0x7F. 19 99/B9 LIN message ID for publisher PID1 (LIN 2.0). 1A 9A/BA LIN message ID for publisher PID2 (LIN 2.0). 1B - /BB CRC Signature Free Memory Available for Optional Use by User Applications (not included in signature) 1C - /BC Free user memory, not included in signature (e.g., serial number) 1D - /BD Free user memory, not included in signature (e.g., serial number) 1E - /BE Free user memory, not included in signature - /BF No customer access - ZMDI restricted use Restricted 1F Note: The contents of the EEPROM registers at delivery are not specified and can be subject to changes. Particularly with regard to traceability, the contents can be unique per die. Note that contents at delivery might not have a valid signature. Consequently the ZSSC3170 would start in the Diagnostic Mode. All registers must be rewritten during the calibration procedure. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 41 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 7.3 Configuration Words The data stored in EEPROM at addresses 0x0F to 0x13 determine the configuration of the ZSSC3170, as explained in the following tables. Table 7.2 Bit Configuration Word CFGLIN CFGLIN - Configuration of LIN Interface and Frames 15:12 Not used 11:10 LIN ConFiGuration FRaMe EEPROM/RAM Address 0xF LINCFGFRM Data Byte 0 Data Byte 3 00 12-bit Bridge Sensor 12-bit Temperature 4-bit Status 4-bit Variant ID 01 12-bit Bridge Sensor 10-bit Temperature 2-bit Status 8-bit Variant ID 10 12-bit Bridge Sensor 8-bit Temperature 4-bit Status 8-bit Variant ID 11 11-bit Bridge Sensor 9-bit Temperature 4-bit Status 8-bit Variant ID Status Bits Frame 01: LSB: Bridge Sensor or Temperature Error 9:8 LIN ConFiGuration STATus bits LSB 7 1:0 Response Error 01 Bridge Sensor Signal Out of Limits Temperature Out of Limits Bridge Sensor or Temperature Invalid Response Error 10 Bridge Sensor Error Response Error Checksum Error Bit Error 11 Bridge Sensor Error Temperature Error Checksum Error Bit Error LIN SaVe ConFiGuration Service enable September 10, 2013 disabled 1 enabled 1 5 samples / bit LIN SaMPLe mode 3 samples / bit disabled 4 samples LINLP 10 11 8 samples 16 samples LIN SLeeP Mode disabled LINSVCFG LINSMPL LIN Low Pass LINSLP 1 enabled Not used - LIN MODE LINMODE 00 01 10 11 Functional Description LSB + 3 Values Refreshed 0 2 LSB + 2 Temperature Error 00 01 3 LSB + 1 Bridge Sensor Error 0 5:4 LINCFGSTAT 00 0 6 MSB: Response Error LIN Protocol Revision 1.3 LIN Protocol Revision 2.0 LIN Protocol Revision 2.1 LIN Protocol Revision 2.1 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 42 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Table 7.3 Bit Configuration Word CFGAFE CFGAFE - Configuration of analog front end 15 14:10 EEPROM/RAM Address 0x10 Bridge Sensor channel eXtended Zero Compensation POLarity (offset compensation by analog front end - refer to section 2.1) 0 negative – compensates positive offsets 1 positive – compensates negative offsets PXZCPOL Bridge Sensor channel eXtended Zero Compensation value (offset compensation by analog front end - refer to section 2.1) PXZC Offset compensation is only active if PXZC 0. The value of one compensation step depends on the selected input span (refer to section 2.3 in the ZSSC3170 Data Sheet). 9:6 Bridge Sensor channel GAIN (aIN - refer to section 2.1) 0000 0001 0010 0011 0100 420 280 210 140 105 0101 0110 0111 1000 70 52.5 35 26.25 1001 1010 1011 11dd PGAIN 14 9.3 7 2.8 5:4 A/D Conversion input Range Shift regarding measured signal (rsADC – refer to section 2.1) 1 00 /16 ADC range = [(–1/16 VADC_REF ) to (+15/16 VADC_REF)] 1 01 /8 ADC range = [ (–1/8 VADC_REF ) to (+7/8 VADC_REF)] 10 ¼ ADC range = [ (–1/4 VADC_REF ) to (+3/4 VADC_REF)] 11 ½ ADC range = [ (–1/2 VADC_REF ) to (+1/2 VADC_REF)] 3:2 A/D Conversion MODE (resolution 2 nd conversion step) ADCRS ADCMODE Valid for bridge sensor signal as well as for temperature measurement. 00 2 bit 10 4 bit 01 3 bit 11 5 bit 1 A/D Conversion RESolution (rADC - refer to section 2.1) ADCRES Valid for bridge sensor signal as well as for temperature measurement. 0 13 bit 1 14 bit 0 A/D Conversion ORDer 0 Functional Description September 10, 2013 1-step conversion ADCORD 1 2-step conversion © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 43 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Table 7.4 Bit Configuration Word CFGTS CFGTS - Configuration of Temperature Measurement 15:13 EEPROM/RAM Address 0x11 Temperature channel OFFSet value TOFFS Offset by analog front end. 12:10 Calibration Temperature channel OFFSet value CTOFFS Offset by analog front end. 9:8 Temperature channel GAIN TGAIN Internal sensor 7:6 External sensor Diode Diode Resistor LSB14 / K ppmFS / mV ppmFS / (mV/V) 0d GT2 -34 966 3333 10 GT3 -38 1063 3667 11 GT4 -41 1159 4000 Calibration Temperature channel GAIN CTGAIN Internal sensor 5:3 September 10, 2013 Diode Resistor LSB14 / K ppmFS / mV ppmFS / (mV/V) GT2 -34 966 3333 10 GT3 -38 1063 3667 11 GT4 -41 1159 4000 Temperature Sensor select: MTS on-chip diode external resistor on pin VTN1 external diode on pin VTN1 external resistor on pin VTN2 external diode on pin VTN2 Calibration Temperature Sensor select: 00d d10 d11 100 101 Functional Description Diode 0d 00d d10 d11 100 101 2:0 External sensor CTS on-chip diode external resistor on pin VTN1 external diode on pin VTN1 external resistor on pin VTN2 external diode on pin VTN2 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 44 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Table 7.5 Bit Configuration Word CFGAPP CFGAPP - Configuration of Target Application 15 LINTEST LIN Transceiver Conformity TEST 0 14 EEPROM/RAM Address 0x12 disabled 1 enabled Enables triggering a RESet if Diagnostic Mode (DM) occurs DMRES 0 stop and DM 1 reset and start-up again Reset is executed after time-out of watchdog. 13 0 12 10:9 8 BPOL positive (VIN_DIFF = VVBP – VVBN) negative (VIN_DIFF = VVBN – VVBP) PWM SLew Rate adjust PWMSLR PWMSLOPE PWM SLOPE control current control 1 voltage control PWMMODE PWM MODE low-side switch 1 high-side switch 1 enabled (output via PWM) PWMENA PWM ENAble 0 5 enabled - 0 6 1 Not used 0 7 disabled Bridge Signal POLarity (Differential voltage at pins VBP, VBN) 0 1 11 ADCSLOW A/D Conversion SLOW mode disabled (output via LIN) Enables Bias current BOOST for analog front end BBOOST 0 disabled 1 enabled Activation is recommended for clock frequency > 2.8MHz. 4:0 ADJust frequency fOSC of internal OSCillator OSCADJ Adjustment of fOSC in the range of 1.5 to 3MHz. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 45 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface Table 7.6 Bit Configuration Word CFGSF CFGSF - Configuration of Safety Functions 15:14 EEPROM/RAM Address 0x13 Not used - 13 Enables EEPROM lock for LIN communication 0 disabled 1 enabled EEPLOCK 12 Enable ROM Signature Check at power-on. Start-up time is increased by approximately 10ms. 0 disabled 1 enabled CHKROM 11 Enable Broken Chip Check 0 disabled 1 enabled CHKBCC 10 Enable Sensor Short Check 0 disabled 1 enabled CHKSSC 9 Enable Sensor Connection Check High Capacity Mode 0 disabled 1 enabled CHKSCCHIC 8 Enable Sensor Connection Check 0 disabled 1 enabled CHKSCC 7 Enable Sensor Aging Check 0 disabled 1 enabled CHKSAC 6 Enable Temperature Out-Of-Range Check Applies to temperature and calibration temperature. 0 disabled 1 enabled CHKOOR 5:3 Digital Low Pass Filter Bridge Sensor Signal Output - Differential coefficient Range [0; 7] Setting both PDIFF and PAVRG to 0 disables the filter. PDIFF 2:0 Digital Low Pass Filter Bridge Sensor Signal Output - Averaging coefficient Range {1; 2; 4; 8; 16; 32; 64; 128} Setting both PDIFF and PAVRG to 0 disables the filter. PAVRG Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 46 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 7.4 EEPROM Signature The EEPROM signature (address 0x1B) is used to check the validity of the EEPROM contents. The signature is built using a polynomial arithmetic modulo 2. The following source code generates the signature if the field eepcont[] is allocated by the EEPROM content (addresses 0x0 to 0x1A). The parameter N is the count of applicable addresses and must be set N=27. Figure 7.1 Source Code Signature Generation #define POLYNOM 0xA005 unsigned short signature(eepcont, N) unsigned short eepcont[], N; { unsigned short sign, poly, p, x, i, j; sign = 0; poly = POLYNOM; for (i=0; i<N; i++) { sign^=eepcont[i]; p=0; x=sign&poly; for (j=0; j<16; j++, p^=x, x>>=1); sign<<=1; sign+=(p&1); } return(~sign); } 7.5 EEPROM Write Locking The ZSSC3170 supports EEPROM write locking (EEPLOCK). If the mode is active (CFGSF:EEPLOCK=1), it is not possible to overwrite the current EEPROM content using the LIN Master Request Data-Dump. The ZSSC3170 answers the command EEP_WRITE_EN with error code 0xCF6C if the EEPROM is locked. Note that the LIN Master Request Save-Configuration stores the configured NAD and PIDs to EEPROM even if EEPLOCK is activated. 2 2 An activated EEPLOCK does not affect writing to the EEPROM using I C™ and can always be reset using I C™. EEPLOCK is active only if programmed into EEPROM and activated due to New power-on or Receiving the EEP_WRITE_EN command or Starting the measurement cycle by receiving the STRT_CYC_x command The following write sequence is possible: Write calibration data including EEPLOCK to RAM mirror Enable EEPROM writing by sending the command EEP_WRITE_EN Copy the RAM mirror to EEPROM Write the EEPROM signature directly to EEPROM If an invalid EEPROM signature is detected, the EEPROM lock is always deactivated. Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 47 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 8 Related Documents Document File Name ZSSC3170 Data Sheet ZSSC3170_DataSheet_Rev_*.pdf ZSSC3170 LIN Interface Description ZSSC3170_LIN_Interface_Description_Rev_*.pdf LIN Specification Package 2.1 (LIN Consortium, 2006-11-24) Visit ZMDI’s website www.zmdi.com or contact your nearest sales office for the latest version of these documents. 9 Glossary Term Description ADC Analog-to-Digital Converter BCC Broken Chip Check CM Command Mode CMC Calibration Microcontroller CMV Common Mode Voltage DM Diagnostic Mode LSB Least Significant Bit MSB Most Significant Bit NAD Node Address Byte NOM Normal Operating Mode PCI Protocol Control Information Byte PID Protected Identifier RSID Response Service Identifier Byte SAC Sensor Aging Check SCC Sensor Connection Check SID Service Identifier Byte SSC Sensor Short Check or Sensor Signal Conditioner Functional Description September 10, 2013 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 48 of 49 ZSSC3170 Automotive Sensor Signal Conditioner with LIN and PWM Interface 10 Document Revision History Revision Date 1.10 Description First release of document. 1.20 2010-05-27 Completely revised Functional Description. 1.30 2010-07-22 Broken Chip Check (section 6.1, Table 7.6). LIN Fast Mode (section 6.1). Sensor Connection Check High Capacity Mode (Table 7.6) Updated sales contact information. 1.40 2010-08-31 Error code Broken Chip Check (Table 1.1) LIN Publisher Frame regarding PID2 (section 4.3) Response LIN MRF Read-By-Identifier-34/35 (Table 4.7) Positive Response LIN 2.0 MRF Read-By-Identifier-16/17 (Table 4.8) Oscillator frequency adjustment sequence (Table 6.3) Gain Temperature Channel CFGTS:MTGAIN, CFGTS:CTGAIN (Table 7.4) 1.50 2011-01-10 Clarification of setting the LIN Protocol Revision (Table 4.20, Table 7.2) 1.60 2011 1.70 2013-09-10 Broadcast added (Table 4.18) Response Data Format for Read-By-Identifier-34 (Table 4.7) PWM operation and LIN Sleep mode incompatibility note added. Revision to conditioning equation in section 2.2. Recommendation regarding non-read commands added to section 6.1. Correction of write command EEPROM addresses for memory addresses 1B through 1F in Table 7.1. Minor edits for clarity. Sales and Further Information www.zmdi.com [email protected] Zentrum Mikroelektronik Dresden AG Global Headquarters Grenzstrasse 28 01109 Dresden, Germany ZMD America, Inc. 1525 McCarthy Blvd., #212 Milpitas, CA 95035-7453 USA Central Office: Phone +49.351.8822.0 Fax +49.351.8822.600 USA Phone +855.275.9634 Phone +408.883.6310 Fax +408.883.6358 European Technical Support Phone +49.351.8822.7.772 Fax +49.351.8822.87.772 DISCLAIMER: This information applies to a product under development. Its characteristics and specifications are subject to change without notice. Zentrum Mikroelektronik Dresden AG (ZMD AG) assumes no obligation regarding future manufacture unless otherwise agreed to in writing. The information furnished hereby is believed to be true and accurate. However, under no circumstances shall ZMD AG be liable to any customer, licensee, or any other third party for any special, indirect, incidental, or consequential damages of any kind or nature whatsoever arising out of or in any way related to the furnishing, performance, or use of this technical data. ZMD AG hereby expressly disclaims any liability of ZMD AG to any customer, licensee or any other third party, and any such customer, licensee and any other third party hereby waives any liability of ZMD AG for any damages in connection with or arising out of the furnishing, performance or use of this technical data, whether based on contract, warranty, tort (including negligence), strict liability, or otherwise. European Sales (Stuttgart) Phone +49.711.674517.55 Fax +49.711.674517.87955 Functional Description September 10, 2013 Zentrum Mikroelektronik Dresden AG, Japan Office 2nd Floor, Shinbashi Tokyu Bldg. 4-21-3, Shinbashi, Minato-ku Tokyo, 105-0004 Japan ZMD FAR EAST, Ltd. 3F, No. 51, Sec. 2, Keelung Road 11052 Taipei Taiwan Phone +81.3.6895.7410 Fax +81.3.6895.7301 Phone +886.2.2377.8189 Fax +886.2.2377.8199 Zentrum Mikroelektronik Dresden AG, Korea Office U-space 1 Building 11th Floor, Unit JA-1102 670 Sampyeong-dong Bundang-gu, Seongnam-si Gyeonggi-do, 463-400 Korea Phone +82.31.950.7679 Fax +82.504.841.3026 © 2013 Zentrum Mikroelektronik Dresden AG — Rev. 1.70 All rights reserved. The material contained herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. The information furnished in this publication is subject to changes without notice. 49 of 49