Product Information Using the SENT Communications Output Protocol with A1341 and A1343 Devices By Nevenka Kozomora Allegro MicroSystems, LLC System Requirements Allegro™ MicroSystems supports the Single-Edge Nibble Transmission (SENT) protocol in certain advanced digital output sensor ICs. The SENT protocol is a commonly accepted automotive protocol for highly efficient transfer of sensor data along intravehicular communications networks, and is standardized by the Society of Automotive Engineering in publication SAEJ2716. The Allegro devices comply with the SENT 3-wire standard: providing power along the 5 V wire, a logic-level signal output, and a ground reference. Specific devices may provide additional capabilities with other pin configurations. The system host controller must be capable of handling at least 20 bits of data, including data, cyclic redundancy checking (CRC), system status, and communication status. This application note provides a description of the Allegro implementation of the SENT protocol, which includes extensions developed by Allegro to enhance the information carrying dimensions of the output from the Allegro sensor IC to the vehicle electronic control units (ECU). Table of Contents System Requirements SENT Protocol Overview SENT Output Mode Message Structure Data Nibble Format Output Message Transfer Optional Serial Output Protocol Device Response Time Propagation Delay and Output Update Rate Asynchronous Transfer Minimum Response Time Asynchronous Transfer Maximum Response Time 296108-AN 1 2 3 4 6 7 12 13 13 14 15 Asynchronous Transfer with SENT Messages of Equal Duration Maximum Response Time Synchronous Transfer Mode Minimum Response Time Synchronous Transfer Maximum Response Time Device Response Time with Continuous Field Change Fast SENT Feature Minimum Message Length Device Response Time Example Calculation Electrical Specifications SENT Data Programming Parameters 16 17 18 19 20 20 22 26 27 SENT Protocol Overview The Allegro implementation of the SENT protocol complies with the J2716 Rev. 2010 SENT standard. The Allegro sensor IC takes the role of Slave in the SENT serial communications. In this role, the Allegro device sends information about the magnetic field applied to the device and about the internal status of the device. The Allegro device sends both types of information from the device output pin. The Allegro implementation of the SENT protocol has various programmable options: • Clock Rates from 0.25 to 31.75 µs • Type and quantity of Data nibbles • Output Frame Rate • Duration of nibble low state • Polarity on SENT output (to invert the signal) Two communications states are supported (figure 1): • Status and Communication nibble format (error and serial protocol) • Default state: Slave sends messages to Master continuously. • Programmable State: Slave sends one message to the Master after receiving a trigger signal from the Master. • Adjustable SENT nibble fall time The Allegro implementation of the SENT protocol enables the user to speed-up communication by using minimum tick time, minimum fixed time in the nibble, and minimum quantity of SENT nibbles in a message. Continuous Transfer Mode Master (System Microcontroller) Continuous Messages Slave (Allegro Sensor IC) Optional Triggered Transfer Mode Master (System Microcontroller) Trigger Message Slave (Allegro Sensor IC) Figure 1. Message communication from the Allegro IC can be either: continuous (upper panel) or individual messages can be in response to a trigger signal from the Master (lower panel). 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 2 SENT Output Mode The SENT output mode converts the input magnetic signal to a binary value digitally preprocessed and mapped to a Full-Scale Output (FSO) range as shown in figure 2. This data is inserted into a binary pulse message, referred to as a frame, that conforms to the SENT data transmission specification (SAEJ2716 JAN2010). Certain parameters for configuration of the SENT messages can be set in EEPROM. The SENT output mode is configured by setting the following parameters in EEPROM: • PWM_MODE parameter set to 0 (default) to select the SENT option • SENT_x programming parameters (see EEPROM Structure section) Magnetic Signal, BIN (G) 4095 (1111 1111 1111 1111) 2048 (1000 0000 0000 0000) 0000 (0000 0000 0000 0000) SENT Data Value (LSB) Nibble fall time is changed by changing the drive current to the output pin. Figure 2. SENT mode outputs a digital value that can be read by the external controller. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 3 Message Structure A SENT message is a series of nibbles, with the following characteristics: val (the SENT_LOVAR parameter selects the interval, and SENT_FIXED sets the duration). • The other interval in the pair, high-voltage, becomes the information state and is variable in duration, depending on the nibble data value. See table 1. • Each nibble is a pair of voltage intervals: a low-voltage interval and a high-voltage interval (figure 3). • The time duration of the nibble depends on the total duration, determined by the total quantity of time units, referred to as ticks, and the information contained by the nibble. The duration of a tick is set by dividing a 4 MHz clock by the value of the SENT_TICK parameter. The duration of the nibble is the sum of the low-voltage interval plus the high-voltage interval. The nibbles of a SENT message are arranged in the following required sequence (see figure 4 and table 2): 1. Synchronization and Calibration: flags the start of the SENT message 2. Status and Communication: provides the device status and the format of the data 3. Data: magnetic field and optional data 4. CRC: error checking 5. Pause Pulse (optional): sets timing relative to device updates • The low-voltage interval is by default the delimiting state, which only sets a boundary for the nibble; to assign the delimiting state, select a fixed number of ticks for the inter- 0 5 12 Ticks 0 5 Table 1. Nibble Composition and Value 27 Quantity of Ticks per Nibble Ticks Message Signal Voltage Message Signal Voltage Low High Interval Interval Low Interval Nibble Data Value = 0000 High Interval Nibble Data Value = 1111 12 0000 0 8 13 0001 1 9 14 0002 2 5 5 … … … SENT_FIXED 7 5 … SENT_FIXED Decimal Equivalent Value HighVoltage Interval … Figure 3. General value formulation for SENT nibble: (left) 0000, (right) 1111 (see table 1 for correspondence) Total Binary (4-Bit) Value LowVoltage Interval 5 21 26 1110 14 5 22 27 1111 15 SENT_FIXED SENT_FIXED SENT_FIXED SENT_FIXED SENT_LOVAR = 0 12 to 27 ticks 56 ticks Nibble Name Synchronization and Calibration 56 ticks SENT_LOVAR = 1 12 to 27 ticks 12 to 27 ticks 12 to 27 ticks Data 1 (MSB) Data n CRC 12 to 27 ticks 12 to 27 ticks 12 to 27 ticks Status and Communication 12 to 27 ticks SENT_FIXED SENT_FIXED SENT_FIXED SENT_FIXED Pause Pulse (optional) SENT_FIXED SENT_FIXED tSENT Figure 4. General format for SENT message frame: (upper panel) low state fixed, (lower panel) high state fixed 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 4 Table 2. SENT Message Frame Section Definitions Section Description Synchronization and Calibration Function Provide the external controller with a detectable start of the message frame. The large quantity of ticks distinguishes this section, for ease of distinction by the external controller. Nibbles: 1 Syntax Quantity of ticks: 56 Quantity of bits: 1 Status and Communication Function Provides the external controller with the status of the device and indicates the format and contents of the Data section. Nibbles: 1 Quantity of ticks: 12 to 27 Syntax Quantity of bits: 4 1:0 Device status (set by SENT_STATUS parameter) 3:2 Message serial data protocol (set by SENT_SERIAL parameter) Data Function Provides the external controller with data selected by the SENT_SERIAL parameter. Nibbles: 3 to 6 Syntax Quantity of ticks: 12 to 27 (each nibble) Quantity of bits: 4 (each nibble) CRC Function Syntax Provides the external controller with cyclic redundancy check (CRC) data for certain error detection routines applied to the Data nibbles and to the Status information. Nibbles: 1 Quantity of ticks: 12 to 27 (each nibble) Quantity of bits: 4 Pause Pulse Function (Optional) Additional time can be added at the end of a SENT message frame to ensure all message frames are of appropriate length. The SENT_UPDATE parameter sets format. Nibbles: 1 Quantity of ticks: 12 minimum (length determined by SENT_UPDATE option and by the Syntax individual structure of each SENT message) Quantity of bits: n.a. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 5 Data Nibble Format When transmitting normal operation data, information about the magnetic field is embedded in the first three Data nibbles (see figure 5). Each Data nibble consists of 4 bits with values ranging from 0 to 15. In order to present an output with the resolution of 12 bits, 3 Data nibbles are required. The Data nibble containing the MSB of the whole Data section is sent first. Three additional optional Data nibbles can be associated with other parameters, by setting the parameter SENT_DATA: • Counter – Each message frame has a serial number in each Counter nibble. SENT_DATA = 0 0 Data Nibble 1,2,3: Magnetic field Data Nibble 4,5: Counter Data Nibble 6: Inverted 1 (default) • Temperature – Temperature data from the device internal temperature sensor, in two’s complement format, with MSB first: ▫All zeros = 25°C. ▫Temperature slope is always 0.8 LSB/°C, except for serial output protocol. ▫For serial output protocol, temperature slope = 0.5 LSB/°C. • Inverted – The last nibble in the message frame is the first nibble, inverted (as an additional error check). 1 2 3 Device output (12 bits) SENT_DATA = 0 1 Data Nibble 1,2,3: Magnetic field Data Nibble 4,5: Counter Data Nibble 6: (zeros) 1 2 1 2 3 1 2 4 3 4 6 Inverted data nibble 1 5 Message counter (8 bits) Device output (12 bits) SENT_DATA = 1 0 Data Nibble 1,2,3: Magnetic field Data Nibble 4,5,6: (skipped) 5 Message counter (8 bits) Device output (12 bits) SENT_DATA = 1 0 Data Nibble 1,2,3: Magnetic field Data Nibble 4,5,6: Temperature 4 6 (zeros) 5 6 Temperature (12 bits) 3 Device output (12 bits) Figure 5. Options for SENT messages from the device (Slave), determined by the SENT_DATA field programmed value 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 6 Output Message Transfer In the output stage of the sensor IC, signal samples proportional to the magnetic information are latched into the SENT converter and transferred to the user. The timing relationship, between the moment when magnetic information is latched into the SENT converter and the moment when the SENT message is transmitted to the user, falls into two types of SENT message transfers: • Synchronous message transfer. Each SENT message is transmitted after new magnetic information (or multiples of magnetic information) reaches the SENT converter. • Asynchronous message transfer. SENT messages are transmitted continuously, one after the other, not waiting for new magnetic information. • Asynchronous message transfer with variable SENT message duration—the device default state (SENT_UPDATE = 0). The output stage transmits the SENT messages independently of device internal output update rate (see figures 6 and 7). Allows Status and Communication 12-27 ticks • Asynchronous triggered message transfer (SENT_UPDATE = 3 or 4). Data Nibble 1 12-27 ticks Synchronous Transfer Modes (SENT_UPDATE = 2) Latching Point: The last internal Output Update sample available before this time is latched into the Data nibbles for the next SENT message transfer. • Asynchronous data transfer with constant SENT message duration (SENT_UPDATE = 1). The output stage transmits the SENT messages independently of device internal output update rate (see figures 6 and 8). The Pause pulse is always inserted with a minimum nibble length of 12 ticks, but the nibble length is increased if the message is shorter than the maximum message length. • Synchronous data transfer (SENT_UPDATE = 2) where the SENT message frame transmission rate is synchronized with the device internal output update rate (set by BW value) (see figures 6 and 9). If a particular message is shorter, a Pause pulse is inserted with a length that completes the message period. The SENT_UPDATE parameter determines the message transfer state: Calibration and Synchronization Pulse 56 ticks message frame duration to vary according to the contents; no Pause pulse is applied. Data Nibble 2 12-27 ticks … Data Nibble n 12-27 ticks CRC 12-27 ticks Asynchronous Transfer Modes (SENT_UPDATE = 0, SENT_UPDATE = 1) Latching Point: The last internal Output Update sample available before this time is latched into the Data nibbles for the next SENT message transfer. Figure 6. Latching Points for Available Data for SENT Message Data Nibbles 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 7 TOUT SENT message 2 TSENT2 SENT message 3 TSENT3 n+5 n+6 (data skipped) data stat sync (data skipped) CRC data stat n+4 sync CRC sync CRC SENT message 1 TSENT1 n+3 data n+2 (data skipped) stat n+1 data sync SENT message stat n Output stage update with magnetic information SENT message 4 TSENT4 Panel 7(a). TOUT < TSENTx (some data is not transmitted) TOUT n SENT message n+1 SENT message 1 TSENT1 SENT message 2 TSENT2 SENT message 3 TSENT3 data stat sync CRC data stat sync (old data repeated) CRC data stat sync CRC data stat (old data repeated) sync Output stage update with magnetic information SENT message 4 TSENT4 Panel 7(b). TOUT > TSENTx (some data is repeated) Figure 7. Messages do not contain a Pause pulse (SENT_UPDATE = 0), so the SENT message frame rate is not constant. The value transmitted in a message is taken from the last internal update ready before the first Data nibble of the message is composed. Therefore, individual internal updates may be skipped (panel a) or repeated (panel b), depending on the BW bandwidth and the message length defined by the SENT_TICK parameter setting. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 8 TOUT SENT message 1 TSENT1 + TPAUSE1 SENT message 2 TSENT2 + TPAUSE2 n+5 n+6 sync pause (data skipped) CRC CRC data stat sync CRC data stat sync pause SENT message n+4 (data skipped) data n+3 (data skipped) stat n+2 sync n+1 (data skipped) pause n Output stage update with magnetic information SENT message 3 TSENT3 + TPAUSE3 Panel 8(a). TOUT < TSENT + TPAUSE (some data is not transmitted) TOUT SENT message 1 TSENT1 + TPAUSE1 SENT message 2 TSENT2 + TPAUSE2 SENT message 3 TSENT3 + TPAUSE3 SENT message 4 TSENT4 + TPAUSE4 pause CRC data stat sync pause CRC data stat (old data repeated) sync pause CRC data (old data repeated) stat CRC data stat sync CRC data stat pause sync SENT message n+1 sync Output stage update with magnetic information pause n SENT message 5 TSENT5 + TPAUSE5 Panel 8(b). TOUT > TSENT+ TPAUSE (some data is repeated) Figure 8. A constant message frame rate is used, and for each message, a Pause pulse is used to extend the message to match the frame rate (SENT_UPDATE = 1). Internal updates may be skipped or repeated depending on the BW bandwidth and SENT message time settings. The quantity of skipped (panel a) or repeated (panel b) internal updates can vary from message to message. Note: Although the frame transmission rate is constant, discrete SENT messages do not represent equal time interval sampling of the magnetic field. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 9 TOUT TOUT SENT message TSENT2 + TPAUSE2 Panel 9(c). (TOUT < TSENT +TPAUSE) The internal update rate is the same as in panel (b), but the tick duration is reduced slightly. The longest possible SENT message is now synchronized at the internal update rate. Each update is ready before the Synchronization nibble is composed, and is transmitted. No updates are skipped. SENT message 1 TSENT1 + TPAUSE1 data stat n+2 sync data (data skipped) CRC pause n+1 sync data stat sync CRC pause data stat SENT message 1 TSENT1 + TPAUSE1 sync TOUT Output stage n update with magnetic information n+1 sync SENT message TSENT2 + TPAUSE2 Panel 9(b). (TOUT < TSENT +TPAUSE) The filter bandwidth is reduced by twice relative to the bandwidth in panel (a), which doubles the internal update interval. The longest possible SENT message is now synchronized at two times the internal update rate. The first update is ready before the Synchronization nibble is composed, and is transmitted. Two more updates occur before the next SENT message, so only the second update data is included, and the one intervening update is skipped. TOUT Output stage n update with magnetic information pause SENT message 1 TSENT1 + TPAUSE1 TSENT2 + TPAUSE2 Panel 9(a). (TOUT < TSENT +TPAUSE) The longest possible SENT message is synchronized at three times the internal update rate. The first update is ready before the Synchronization nibble is composed, and is transmitted. Three more updates occur before the next SENT message, so only the third update data is included, and the two intervening updates are skipped. CRC data stat SENT message SENT message 1 TSENT1 + TPAUSE1 n+2 (data skipped) data n+1 stat n sync data stat (data skipped) CRC Output stage update with magnetic information n+3 stat SENT message data sync (data skipped) n+2 sync n+1 pause n stat Output stage update with magnetic information SENT TSENT2 + TPAUSE2 Panel 9(d). (TOUT < TSENT +TPAUSE) The faster update rate of panel (a) and the shorter tick duration of panel (c) are applied. Because the panel (d) higher bandwidth setting also applies, the overall device response time is faster than that shown in panel (c). However, the panel (c) settings reduce front-end noise better than those of panel (d), because of the lower bandwidth. Figure 9. The SENT message rate is synchronized with the internal device internal update rate. For each message, a Pause pulse is used to extend the message to match the internal update rate (SENT_UPDATE = 2). A consistent number of updates are skipped (panels a, b, and d) from message to message. The internal update value transmitted is from the last update ready before the Synchronization and Calibration nibble of the message is composed. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 10 requires a prompt response on the current magnetic field. The SENT_UPDATE parameter has two other options which allow direct control of when magnetic field data is sent to the external controller: • Tandem data latching and sending (SENT_UPDATE = 3) • Immediate data latching with a controllable delay before sending (SENT_UPDATE = 4) When SENT_UPDATE = 3 (upper panel in figure 10), while the sensor IC has a Pause pulse on the device output, the controller triggers a latch-and-send sequence by pulling the sensor IC output low. When the controller releases the output, the last processed signal (proportional to the magnetic field) is latched into the SENT converter, and after a delay of tdSENT, the latched data is sent to the controller. This option is useful when the controller When SENT_UPDATE = 4 (lower panel in figure 10), while the sensor IC has a Pause pulse on the device output, the controller triggers a latch-and-send sequence by pulling the output low, which immediately latches the last processed signal (proportional to the magnetic field) into the SENT converter. This option allows the controller to postpone receiving the data. When the output is eventually released, the data is sent to the controller after a delay of tdSENT . This option is useful where multiple sensor ICs are connected to the controller. All the sensor ICs can be instructed at the same time to latch magnetic field data, and the controller can then retrieve the data from each sensor IC individually. Controller pulls OUT low Controller releases OUT; magnetic data latched SENT messages sync pause CRC data stat Waiting period, twait sync ... VOUTx pause tdSENT (6 ticks) A1341 starts message containing latched data ... ... (previous message) SENT message SENT_UPDATE = 3 Panel 10(a). SENT_UPDATE = 3 Controller pulls OUT low; magnetic data latched Controller releases OUT tdSENT (6 ticks) SENT messages sync pause CRC data stat Waiting period, twait sync ... VOUTx pause A1341 starts message containing latched data ... ... (previous message) SENT message SENT_UPDATE = 4 Panel 10(b). SENT_UPDATE = 4 Figure 10. Device output behavior where normal operation magnetic field data is latched at a defined time: (panel a) if SENT_UPDATE = 3, latched and sent at end of a low pulse, or (panel b) if SENT_UPDATE = 4, latched at the beginning of a low pulse, but not sent until the end of the pulse. The total delay from the beginning of the low pulse until the data message begins is: twait + tdSENT . 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 11 Optional Serial Output Protocol In the Status and Communication section, the data format selection can be: • Normal device output (voltage proportional to applied magnetic field) in SENT protocol (SENT_SERIAL = 0). • Augmented data on the magnetic parameters and device settings, in an optional Serial Output protocol (SENT_SERIAL = 1, 2, or 3). Any of these three protocols enables transmission of values from the following EEPROM parameters, in the following order: Message ID (4 or 8 bits) Data (8, 12, or 16 bits) 0 Corrected temperature 1 SENS_COARSE 2 SIG_OFFSET 3 QOUT_FINE 4 SENS_MULT 5 CLAMP_HIGH 6 CLAMP_LOW 7 DEVICE_ID (134110 or 134310 , per device) 296108-AN ▫ Additional Short serial protocol (SENT_SERIAL = 1). Has a message payload of 12 bits: 8 bits are for value data, and 4 bits for the message ID (identification). A total of 16 separate SENT messages are required to transmit the entire data group. ▫ Additional Enhanced 16-bit serial protocol (SENT_SERIAL = 2). Has 12 bits for value data, and 4 bits for the message ID. A total of 18 SENT messages are required to transmit the entire data group. ▫ Additional Enhanced 24-bit serial protocol (SENT_SERIAL = 3). Has 16 bits for value data, and 8 bits for the message ID. A total of 18 SENT messages are required to transmit the entire data group. Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 12 Device Response Time The Device Response Time depends on three factors: Table 3. Bandwidth Settings and Outcomes • Propagation Delay – This is the traveling time of the signal from the Input Stage of the Hall device to the Output Stage. • Output Message Transfer – Synchronous and asynchronous. • SENT Message Length – The various choices for the SENT message configuration give different SENT message lengths. These three factors are applied sequentially, as illustrated in figure 11. Propagation Delay and Output Update Rate Propagation Delay and the Output Update Rate depend greatly on the device internal filter bandwidth. The bandwidth is set by programming the BW field in EEPROM. The correspondence of programmed value with Propagation Delay and Output Update Rate is given in table 3. Programming Code, BW 3-dB Bandwidth (kHz) Maximum Propagation Delay (ms) Output Stage Update Frequency (kHz) 0 1.5 0.63 8 1 3 0.37 16 2 1.5 0.63 8 3 0.750 1.26 4 4 0.375 2.52 2 5 0.188 5.04 1 6 0.094 10.08 0.500 7 0.047 20.16 0.250 Device Response Time Propagation Delay Magnetic Signal Analog and Digital Signal Processing of Input Magnetic Signal (Internal Filtering) TOUT Output Update K × SENT Message Length Output Stage Conversion to SENT SENT Message Figure 11. Model of Overall SENT Response Time. The summation of the significant processes is expressed in the following equation: Device Response Time = Propagation Delay + TOUT + K × SENT Message Length where TOUT is the period of the Output Update rate, and K is the coefficient determined by the moment of the Output Stage update 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 13 Asynchronous Transfer Minimum Response Time The shortest device response time is realized when the Output Update sample appears immediately before a new SENT message is configured. In asynchronous mode, this can occur later in the SENT message period, up to the Status and Communication bit, as shown in figure 12. Magnetic Field (B) Input Signal after Processing Filter Delay This is the sample with new information that will be transferred in the SENT message Internal Output Update Dat a SENT Message (Minimum Response) Device Response Time Figure 12. Minimum Device Response Time, Asynchronous Transfer mode Minimum Device Response Time = Filter Delay + 3 × Data Nibble + CRC Magnetic Field (B) Input Signal after Processing Filter Delay This is the sample with new information that will be transferred in the SENT message Internal Output Update Data SENT Message (Minimum Response) Device Response Time 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 14 Asynchronous Transfer Maximum Response Time With Asynchronous Transfer selected, the longest device response time is realized when an internal Output Update sample appears immediately before the Filter Delay period ends, and the next Status and Communication nibble ends before the next sample occurs, as shown in figure 13. Latching of the sample occurs near the end of the Status and Communication nibble. This sample contains new information but it comes during Data nibbles Magnetic Field (B) Input Signal after Processing Filter Delay This sample contains new information that is transferred in the SENT message TOUT Internal Output Update Data Data SENT Message (Maximum Response) TSENT Device Response Time Status and Communication nibble Panel 13(a). TOUT < TSENT This is the first sample containing new information that is transferred in a SENT message Magnetic Field (B) Input Signal after Processing Filter Delay TOUT Internal Output Update Data SENT Message (Maximum Response) Data TSENT Status and Communication nibble Device Response Time Panel 13(b). TOUT > TSENT Figure 13. Maximum Device Response Times Compared for TOUT < TSENT (panel a) and TOUT > TSENT (panel b) Maximum Device Response Time = Filter Delay + TOUT + 3 × Data Nibble + CRC + TSENT 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 15 Asynchronous Transfer with SENT Messages of Equal Duration Maximum Response Time With Asynchronous Transfer selected, and use of a Pause Pulse is enabled to ensure all SENT messages are of the same duration, the longest device response time is realized when an internal Output Update sample appears immediately before the Filter Delay period ends, and the next Status and Communication nibble ends before the next sample occurs, as shown in figure 14. Latching of the sample occurs near the end of the Status and Communication nibble. This sample contains new information but it comes during Data nibbles Magnetic Field (B) Filter Delay Input Signal after Processing Internal Output Update SENT Message (Maximum Response) This sample contains new information that is transferred in the SENT message TOUT Data Data Data Data P P P TSENT Status and Communication nibble P indicates Pause Pulse Device Response Time Panel 14(a). TOUT < TSENT + TPAUSE This is the first sample containing new information that is transferred in a SENT message Magnetic Field (B) Input Signal after Processing Filter Delay TOUT Internal Output Update SENT Message (Maximum Response) Data P P Data P P P P TSENT Device Response Time Status and Communication nibble P indicates Pause Pulse Panel 14(b). TOUT > TSENT + TPAUSE Figure 14. Maximum Device Response Times Compared for TOUT < TSENT + TPAUSE (panel a) and TOUT > TSENT + TPAUSE (panel b). Note: For purposes of comparison, the total length of the equal length SENT messages is for messages having the maximum number of ticks in each section and a minimum Pause Pulse of 12 ticks. Maximum Device Response Time = Filter Delay + TOUT + 3 × Data Nibble + CRC + TPAUSE + TSENT 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 16 Magnetic Field (B) Input Signal after Processing Filter Delay This is the sample with new information that will be transferred in the SENT message Synchronous Transfer Mode Minimum Response Time Internal Output Update The shortest device response time is realized when the Output Update sample appears immediately before a new SENT message SENT is configured. In synchronous mode,Message this must occur simulta(Minimum Response) neously with the start of the Synchronization bit, as shown in figure 15. Dat a Device Response Time Magnetic Field (B) Input Signal after Processing Filter Delay This is the sample with new information that will be transferred in the SENT message Internal Output Update Data SENT Message (Minimum Response) Device Response Time Figure 15. Minimum Device Response Time, Synchronous Transfer mode Minimum Device Response Time = Filter Delay + TSENT 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 17 Synchronous Transfer Maximum Response Time With Synchronous Transfer selected, the longest device response time is realized when an internal Output Update sample appears immediately before the Filter Delay period ends, and the next Status and Communication nibble ends before the next sample occurs, as shown in figure 16. Latching of the sample occurs near the end of the Status and Communication nibble. This is the first sample with new information that is transferred in a SENT message This is the first sample with new new information Magnetic Field (B) Filter Delay Input Signal after Processing Internal Output Update TOUT Data SENT Message (Maximum Response) Data Data PP PP PP TSENT Status and Communication nibble P indicates Pause Pulse Device Response Time Panel 16(a). TOUT < TSENT + TPAUSE; Maximum Device Response Time = Filter Delay + TSENT + TPAUSE + TOUT This is the first sample containing new information that is transferred in a SENT message Magnetic Field (B) Input Signal after Processing Filter Delay TOUT Internal Output Update SENT Message (Maximum Response) P P P Data Data Data PP P PP P TSENT TPAUSE Device Response Time Status and Communication nibble P indicates Pause Pulse Panel 16(b). TOUT = TSENT + TPAUSE; Maximum Device Response Time = Filter Delay + TSENT + TOUT Figure 16. Maximum Device Response Times Compared for TOUT < TSENT + TPAUSE (panel a) and TOUT > TSENT + TPAUSE (panel b). Note: For purposes of comparison, the total duration of the equal SENT messages is for messages having the maximum number of ticks in each section and a Pause Pulse of 12 ticks or more, satisfying the equation: TSENT + TPAUSE. = n × TOUT, where n is an integer number. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 18 Device Response Time with Continuous Field Change In the case where the applied magnetic field is continuously changing and the application requires the device output to track the magnetic field closely: • The Initial Response Delay can be treated the same as a device response to a magnetic step function. The Initial Response Delay can be as long as the Maximum Response Time. • After the Initial Response Delay, updates reflecting the continuous change are transferred with every SENT message. These considerations are represented in figure 17. The Response Delay for field A represents the minimum step response. Filter Delay Field B Magn 0 eti (B) c Field Field A al H a Intern ll Sign Initial Response Delay to magnetic change from zero field al Data nibbles corresponding to field A Data nibbles corresponding to field B One SENT message tracking delay Figure 17. Device Response Time Characteristics for Device in Continuously Changing Magnetic Field 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 19 Fast SENT Feature The Allegro proprietary programmable Fast SENT feature includes: • Minimum clock rate: 0.25 µs. This can be achieved by programming parameter SENT_TICK, register 7, bits 17:11, to code 1. • Minimum quantity of fixed ticks for low-voltage interval: 4 ticks. This can be achieved by programming SENT_FIXED, register 7, bits 10:9, to code 1. • Number of Data nibbles: 3. This can be achieved by programming SENT_DATA, register 7, bits 4:3. • Default update rate: One message after another, with no pause pulse. Accept the default for SENT_UPDATE, register 7, bits 7:5, default 0. • Serial data: No serial data. Accept the default for SENT_SERIAL, register 7, bits 1:0, default 0. The Tick Time is set by programming the SENT_TICK field in EEPROM. Tick Time is the internal 4 MHz count divided by the SENT_TICK setting. The correspondence of programmed value with Tick Time is given in table 4. The shortest Tick Time is 0.25 µs. Given the Minimum Message Length, as defined above, and the maximum ticks as shown in figure 9, the shortest SENT message duration is: Minimum Message Length = (56 ticks + 27 ticks + 27 ticks × 3 + 27 ticks) × 0.25 = 191 × 0.25 = 47.75 µs Table 4. Tick Settings and Outcomes 0 (default) 3 Calibration and Synchronization Pulse 56 ticks Status and Communication 12-27 ticks Data Nibble 1 12-27 ticks Data Nibble 2 12-27 ticks 0.25 2 0.5 12 3 … Minimum Message Length = (Synchronization and Calibration Pulse + Status and Communication + Data Nibble × 3 + CRC) × Tick Time 1 … Tick Time (4 MHz / SENT_TICK) (µs) … The shortest SENT message contains 6 sections, as illustrated in figure 18. The shortest duration of a SENT message can be calculated using the following equation: Programming Code SENT_TICK … Minimum Message Length 127 31.75 Data Nibble 3 12-27 ticks CRC 12-27 ticks Figure 18. Model of Shortest Valid SENT Message 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 20 A comparison of the default SENT message transmission rate and the Fast SENT rate is shown in figure 19. Approximately 12 Fast SENT messages can be sent in the same time period as one message at the default rate. An expanded view of one Fast SENT message is provided in figure 20. Including a payload of three data nibbles, the total elapsed time is approximately 33 µs. Single message at default SENT rate Default SENT Single tick duration = 3 µs Fast SENT Single tick duration = 0.25 µs 1 Fast SENT Messages 2 3 4 5 6 7 8 9 10 11 12 le 3) ibb C CR Da ta nib ble s( nn St Co atus mm an un d ica tio Sy nc hro niz ati on nib ble Figure 19. Comparison of time required to output (top) a default SENT mode message, and (bottom) a Fast SENT mode message Single message at Fast SENT rate Total duration ≈ 33 µs Figure 20. Expanded view of a single Fast SENT mode message 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 21 Device Response Time Example Calculation A comparison of typical minimum and maximum device response times is presented in table 5. The results are based on the following assumptions: • Tick Time = 0.25 µs • Bandwidth = 3 kHz • Length of 4 data nibbles = 27 ticks (every nibble has the maximum number of ticks) • Maximum Message Length TSENT = 47.75 µs (every SENT message has the maximum message length, and each message section has the maximum number of ticks) • Maximum Device Response Time formula applied is for condition where TOUT > TSENT ( + TPAUSE ) • TOUT = 1 / 16 kHz = 62.5 µs • Internal Filter Delay = 350 µs Table 5. Comparative Response Times Asynchronous Transfer (µs) Asynchronous Transfer with equal SENT Duration (µs) Synchronous Transfer (µs) Minimum Response Times Internal Filter Delay + 4 data nibbles = 350 + 27 = 377 Internal Filter Delay + 4 data nibbles = 350 + 27 = 377 Internal Filter Delay + SENT message = 350 + 47.75 = 397.75 Maximum Response Times Internal Filter Delay + SENT message + Synch pulse + Status/Communication = 350 + 47.75 + 20.75 = 418.5 Internal Filter Delay + SENT message + Synch pulse + Status/Communication = 350 + 47.75 + 20.75 = 418.5 Internal Filter Delay + TOUT = 350 + 62.5 = 412.5 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 22 Trigger Mode Fast SENT Feature Trigger mode can be applied to the Allegro Fast SENT feature by setting the SENT_UPDATE field to 3 or 4. When the message should be transmitted, the device output must be pulled low for a minimum interval of 2 ticks, and then pulled high. After 6 ticks have expired at the high level, the SENT message is transmitted. In preparation for transmission, the sample data is latched at the end of the Status and Communication nibble. It is then sent at the beginning of a Trigger pulse (SENT_UPDATE set to 3) or at the end of the pulse (SENT_UPDATE set to 4). The actual response time depends on the relative timing of the internal output update and the latching (figure 21): • The minimum response time occurs when the output data was latched immediately after a new internal sample emerged. • The maximum response time occurs when the output data was latched immediately before a new internal sample emerged. Magnetic Field (B) Internal Delay Internal Output Update TOUT Dat a Data latched into Data nibbles SENT Message (Minimum Response) 2 ticks at low + 6 ticks at high SENT Message (Maximum Response) TSENT Da ta Data latched into Data nibbles TOUT 2 ticks at low + 6 ticks at high TSENT Maximum Device Response Time Figure 21. Sensor IC response characteristics using triggered Fast SENT mode Calculation assuming following parameters: • Tick time of 0.25 µs • Message format of 3 data nibbles with maximum length of 27 ticks • Device internal bandwidth of 3000 Hz • Propagation delay of 350 µs Minimum Response Time ≈ Propagation Delay + Length of 4 Data Nibbles = 350 + 27 = 377 µs Maximum Response Time ≈ Propagation Delay + TOUT + Length of 4 Data Nibbles (3 Data and 1 CRC) = 350 + 62.5 + 27 = 439.5 µs 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 23 Trigger Mode with Two Sensor ICs Trigger mode can be applied to compare the simultaneous output of two Allegro devices. This feature allows dual sources to be used without any requirement to synchronize the clocking of the Allegro devices. The actual response time of each of the devices depends on the independent relative timing of the internal sampling cycle and the latching (see the Trigger Mode Fast SENT feature section). If the two devices receive the Trigger pulse at the same time, the internal timing can lead to a maximum difference defined by the period of the output update signal between the actual sample acquisitions of the two devices. As shown in figure 22, the effect is that different sample points can be used for the data output. Magnetic Field (B) Signal after Processing (Sensor IC 1) TOUT Data SENT data from Sample 8 SENT Message (Sensor IC 1) Both Sensor IC outputs released at the same time Signal after Processing (Sensor IC 2) TSENT Data latched into Data nibbles TOUT Data SENT data from Sample 7 SENT Message (Sensor IC 2) TSENT Figure 22. Sensor IC differential response characteristics using two Sensor ICs in Trigger mode 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 24 Adjustable Nibble Fall Time The timing of the nibble fall time can be adjusted by a combination of an external capacitor and the value programmed for the OUTDRV_CFG parameter. The value of an external capacitor, CLOAD , on the the OUT pin sets the coarse range for the fall time. Within that range, a fine setting is determined by the OUTDRV_DFG programmed code, according to table 6. Table 6. Nibble Fall Time Values (OUTDRV_CFG) Fall Time (Typical) (µs) Code Values 000 (Default) 001 010 011 100 101 110 111 CLOAD = 100 pF CLOAD = 1 nF CLOAD = 10 nF 0.048 0.114. 0.202 0.290 0.760 1.539 3.161 4.819 0.149 0.217 0.309 0.400 0.854 1.555 2.978 4.442 1.324 1.323 1.404 1.492 1.948 2.669 4.118 5.557 NOTE: Values are based on design simulations. Lower values have been obtained in actual benchtop tests. 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 25 Electrical Specifications Typical Allegro device specifications are given in table 7. Table 7. OPERATING CHARACTERISTICS Valid through full operating temperature range, TA , and supply voltage, VCC , CBYPASS = 10 nF, unless otherwise specified Characteristics Symbol Test Conditions Min. Typ. Max. Unit General Electrical Characteristics1 SENT Message Duration Minimum Programmable SENT Message Duration tSENT Tick time = 3 µs, 3 data nibbles of information, nibble length = 27 ticks – 573 – µs tSENTMIN Tick time = 0.25 µs, 3 data nibbles of information, nibble length = 27 ticks – 47 – µs VSENT(L) 10 kΩ ≤ Rpullup ≤ 50 kΩ SENT Programmable Characteristics1 SENT Output Signal2,3 SENT Output Trigger Signal VSENT(H) – – 0.05 V Minimum Rpullup = 10 kΩ 0.9 × VCC – – V Maximum Rpullup = 50 kΩ 0.7 × VCC – – V VSENTtrig(L) – – 1.2 V VSENTtrig(H) 2.8 – – V 1 Determined by design. 2 For pull-up values lower than 10 kΩ, V SENT(L) will be higher and can be calculated as: VSENT(L) = VPULL-UP × [60 (Ω) / (60 (Ω) + RPULL-UP) ]. Therefore, for RPULL-UP = 500 Ω, and VPULL-UP = 5 V, low voltage will be a minimum of 535 mV. 3 For pull-up values lower than 10 kΩ, V SENT(H) will be higher than 0.9 × VCC . 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 26 SENT Data Programming Parameters OUTDRV_CFG (Register Address: 0x07, bits 20:18) Function Syntax Related Commands Output Signal Configuration Sets configuration of the output signal slew-rate control. Sets the ramp rate on the gate of the output driver, thereby changing slew rate at the output. Quantity of bits: 3 – Fall Time (Typical) (µs) Code 000 (Default) 001 010 011 100 101 110 111 Values Options Examples CLOAD = 100 pF CLOAD = 1 nF CLOAD = 10 nF 0.048 0.114. 0.202 0.290 0.760 1.539 3.161 4.819 0.149 0.217 0.309 0.400 0.854 1.555 2.978 4.442 1.324 1.323 1.404 1.492 1.948 2.669 4.118 5.557 NOTE: Fall Time values are based on design simulations. Lower values have been obtained in actual benchtop tests. – SENT_DATA (Register Address: 0x07, bits 4:3) Function Syntax Related Commands Values 296108-AN Data Nibble Format Quantity and contents of Data nibbles in message. (Does not relate to data contained in the Status and Communication nibble.) Quantity of Bits: 2 – 0 0: Nibbles 1,2,3: magnetic field data; nibbles 4,5: counter data; nibble 6: inverted nibble 1 (Default) 0 1: Nibbles 1,2,3: magnetic field data; nibbles 4,5: counter data; nibble 6: all zeros 1 0: Nibbles 1,2,3: magnetic field data; nibbles 4,5,6: current temperature data 1 1: Nibbles 1,2,3: magnetic field data (nibbles 4,5,6 skipped) Options – Examples – Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 27 SENT_FIXED (Register Address: 0x07, bits 10:9) Function Syntax Related Commands Values Options Examples Fixed Interval Duration Indicates the quantity of ticks in fixed-duration intervals. Quantity of Bits: 2 SENT_LOVAR 0 0: 0 1: 1 0: 1 1: 5 ticks (Default) 4 ticks 7 ticks 8 ticks SENT_FIXED = 1 (4 ticks) does not meet the SENT spec, but is provided for custom fast or improved-EMI communication. – SENT_LOVAR (Register Address: 0x07, bit 8) Function Syntax Related Commands Quantity of Bits: 1 SENT_FIXED Values 0: Low interval of every nibble is fixed in duration, and the high interval becomes the information state (Default). 1: High interval of every nibble is fixed in duration, and the low interval becomes the information state. Options SENT_LOVAR = 0 meets the SENT specification. SENT_LOVAR = 1 does not meet the SENT spec, but is provided for custom improved-EMI communication. For SENT_UPDATE = 3 or 4, the Pause pulse has a fixed low time regardless of the SENT_LOVAR setting. Examples 296108-AN State Assignments Assigns fixed duration state (becomes delimiting state; other interval becomes the information state) – Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 28 SENT_SERIAL (Register Address: 0x07, bits 1:0) Function Syntax Related Commands Status and Communication Nibble Format Defines values of bits 2 and 3 inside the Status and Communication nibble. Quantity of Bits: 2 – 0 0: Bits 2 and 3 are 0 (Default). 0 1: Bits 2 and 3 are 0 part of the Short Serial protocol: 8-bit value data, 4-bit message ID, 16 SENT frames are required to send an entire serial message. 1 0: Bits 2 and 3 are part of the Enhanced 16-bit Serial protocol: 12-bit value data, 4-bit message ID, 18 SENT frames are required to send an entire serial message. 1 1: Bits 2 and 3 are part of the Enhanced 24-bit Serial protocol: 16-bit value data, 8-bit message ID, 18 SENT frames are required to send an entire serial message. Values Options – Examples – SENT_STATUS (Register Address: 0x07, bit 2) Function Syntax Related Commands Values Error Condition Status Defines values of bits 0 and 1 inside the Status and Communication nibble. Defines data inside the Status and Communication nibble on device error status. Quantity of Bits: 1 SENT_SERIAL (SENT_STATUS = 0) 0 0: No error (Default) 0 1: Not used 1 0: Overvoltage condition 1 1: Nonrecoverable EEPROM error, bad Linearization table or other error (SENT_STATUS = 1) 0 0: No error (Default) 0 1: Error condition Options Examples 296108-AN – A Status and Communication nibble value of 0010 indicates an overvoltage condition. Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 29 SENT_TICK (Register Address: 0x07, bits 17:11) Function Syntax Related Commands Tick Duration Sets the SENT tick rate coefficient: 4 MHz / SENT_TICK = tick (µs) Quantity of Bits: 7 Any value from 0 to 127 can be used – PWM Frequency (Typical) (µs) Code 000 0000 000 0001 000 0010 000 0111 111 1111 111 1110 111 1111 Values Options Examples 3.0 (Default) 0.25 0.5 0.75 32 31.5 31.75 Coefficient (MHz/SENT_TICK) 4/12 4/1 4/2 4/3 4/125 4/126 4/127 SENT_TICK = 1 through 11 do not meet the SENT spec, but are provided for custom fast communication. – SENT_UPDATE (Register Address: 0x07, bits 7:5) Function Syntax Related Commands Values 296108-AN Pause Pulse and Frame Rate Pause pulse usage and message frame rate. Quantity of Bits: 3 SENT_LOVAR 000: No Pause pulse; new frame immediately follows previous frame (Default). 001: Pause pulse used for minimum constant frame rate (Length of other message sections, plus length of Pause Pulse nibble, is constant. For the maximum message length, Pause pulse information state is the minimum size of 12 ticks.) 010: Pause pulse used for constant frame rate, synchronized with device internal update rate. (Handshaking occurs such that the Synchronization and Calibration nibble starts immediately after the next new data word is ready.) 011: Pause pulse held indefinitely until receipt of trigger pulse (OUT pulled low) from the controller, data latched after output released and message is sent. 100: Pause pulse held indefinitely until receipt of trigger pulse (OUT pulled low) from the controller, data latched immediately and sent when output is released. 101, 110, 111: Same function as 000. Options – Examples – Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 30 Copyright ©2015, Allegro MicroSystems, LLC The information contained in this document does not constitute any representation, warranty, assurance, guaranty, or inducement by Allegro to the customer with respect to the subject matter of this document. The information being provided does not guarantee that a process based on this information will be reliable, or that Allegro has explored all of the possible failure modes. It is the customer’s responsibility to do sufficient qualification testing of the final product to insure that it is reliable and meets all design requirements. For the latest version of this document, visit our website: www.allegromicro.com 296108-AN Allegro MicroSystems, LLC 115 Northeast Cutoff Worcester, Massachusetts 01615-0036 U.S.A. 1.508.853.5000; www.allegromicro.com 31