US20140312929A1 - Self-Recovering Bus Signal Detector - Google Patents

Self-Recovering Bus Signal Detector Download PDF

Info

Publication number
US20140312929A1
US20140312929A1 US13/868,930 US201313868930A US2014312929A1 US 20140312929 A1 US20140312929 A1 US 20140312929A1 US 201313868930 A US201313868930 A US 201313868930A US 2014312929 A1 US2014312929 A1 US 2014312929A1
Authority
US
United States
Prior art keywords
input
circuit
output
signal
sequential logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US13/868,930
Other versions
US8878569B1 (en
Inventor
Ian Fullerton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Assigned to ATMEL CORPORATION reassignment ATMEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FULLERTON, IAN
Application filed by Atmel Corp filed Critical Atmel Corp
Priority to US13/868,930 priority Critical patent/US8878569B1/en
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT PATENT SECURITY AGREEMENT Assignors: ATMEL CORPORATION
Publication of US20140312929A1 publication Critical patent/US20140312929A1/en
Publication of US8878569B1 publication Critical patent/US8878569B1/en
Application granted granted Critical
Assigned to ATMEL CORPORATION reassignment ATMEL CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INC., MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to MICROCHIP TECHNOLOGY INC., MICROSEMI CORPORATION, SILICON STORAGE TECHNOLOGY, INC., MICROSEMI STORAGE SOLUTIONS, INC., ATMEL CORPORATION reassignment MICROCHIP TECHNOLOGY INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INC., MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATMEL CORPORATION, MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., SILICON STORAGE TECHNOLOGY, INC.
Assigned to MICROCHIP TECHNOLOGY INCORPORATED, SILICON STORAGE TECHNOLOGY, INC., MICROSEMI STORAGE SOLUTIONS, INC., ATMEL CORPORATION, MICROSEMI CORPORATION reassignment MICROCHIP TECHNOLOGY INCORPORATED RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to ATMEL CORPORATION reassignment ATMEL CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to MICROSEMI CORPORATION, SILICON STORAGE TECHNOLOGY, INC., ATMEL CORPORATION, MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI STORAGE SOLUTIONS, INC. reassignment MICROSEMI CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Assigned to ATMEL CORPORATION, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., MICROCHIP TECHNOLOGY INCORPORATED, SILICON STORAGE TECHNOLOGY, INC. reassignment ATMEL CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Assigned to MICROCHIP TECHNOLOGY INCORPORATED, SILICON STORAGE TECHNOLOGY, INC., ATMEL CORPORATION, MICROSEMI CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC. reassignment MICROCHIP TECHNOLOGY INCORPORATED RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Assigned to SILICON STORAGE TECHNOLOGY, INC., ATMEL CORPORATION, MICROSEMI STORAGE SOLUTIONS, INC., MICROCHIP TECHNOLOGY INCORPORATED, MICROSEMI CORPORATION reassignment SILICON STORAGE TECHNOLOGY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0021Modifications of threshold

Definitions

  • This disclosure relates generally to bus signal decoding.
  • Inter-Integrated Circuit is a multi-master, serial, single-ended computer bus used for attaching low-speed peripherals to a motherboard, embedded system, mobile device or other electronic device.
  • I 2 C uses two bidirectional open-drain lines, Serial Data Line (SDA) and Serial Clock (SCL), pulled up with resistors. Nodes on the bus can have a master or slave role.
  • I 2 C defines three basic types of messages, each of which begins with START and ends with STOP. These messages include: 1) single message where a master writes data to a slave; 2) single message where a master reads data from a slave; and 3) combined messages, where a master issues at least two reads and/or writes to one or more slaves.
  • FIG. 1 is a timing diagram illustrating START/STOP conditions for an I 2 C bus.
  • a START condition S is denoted by a high to low transition on SDA while SCL is high
  • the STOP condition P is denoted by a low to high transition on SDA while SCL is high.
  • a slave device or a master device in a multi-master system coupled to an I 2 C bus requires a START/STOP detector to detect the START/STOP conditions on SDA and SCL.
  • One commonly used method is to synchronize SDA and SCL to a system clock, and use synchronous logic for START and STOP detection. The drawback of this method is that it requires a running system clock that is faster than the SCL frequency.
  • a detector circuit that detects bus signal conditions (e.g., I 2 C bus signals).
  • bus signal conditions e.g., I 2 C bus signals.
  • asynchronous sequential logic detects a first bus signal transition (e.g., from high to low) and a second bus signal (e.g., a high signal).
  • the outputs of the asynchronous sequential logic are combined to produce a message START signal that can be latched, so that the message START signal can be used to wake up a system or for other purposes.
  • asynchronous sequential logic To detect a STOP condition, asynchronous sequential logic detects a first bus signal transition (e.g., low to high) and a second bus signal (e.g., a high signal), producing a STOP signal that can be used to reset the asynchronous sequential logic and the latch.
  • a first bus signal transition e.g., low to high
  • a second bus signal e.g., a high signal
  • Delay elements and combinational logic are used with the asynchronous sequential logic devices to apply Boolean logic to signals and handle potential illegal conditions.
  • a circuit for detecting bus signals on a bus includes first asynchronous sequential logic (e.g., a flip-flop) having a first input for receiving a first bus signal (e.g., I 2 C SDA) and a second input.
  • the circuit further includes first combinational logic (e.g., XOR gate) having a first input for receiving an output of the first asynchronous sequential logic and a second input for receiving a second bus signal (e.g., I 2 C SCL), an output of the first combinational logic coupled to the second input of the first asynchronous sequential logic.
  • the circuit further includes second asynchronous sequential logic (e.g., a flip-flop) having a first input for receiving the second bus signal and a second input for receiving the output of the first asynchronous sequential logic.
  • the circuit further includes second combinational logic (e.g., XOR gate) having a first input for receiving the output of the first asynchronous sequential logic device and a second input for receiving the output of the second asynchronous sequential logic device, an output of the second combinational logic providing a START signal.
  • second asynchronous sequential logic e.g., a flip-flop
  • second combinational logic e.g., XOR gate
  • bus signal conditions are detected without a running system clock; 2) no requirement for a bus clock to system clock ratio; and 3) noise immunity.
  • FIG. 1 is a timing diagram illustrating START/STOP conditions for an I 2 C bus.
  • FIG. 2 is a schematic diagram of an example START/STOP detector circuit.
  • FIG. 3 is timing diagram illustrating repeated START conditions that can be handled by the detector circuit of FIG. 2 .
  • FIG. 4 is timing diagram illustrating an illegal START condition followed by a STOP condition that can be handled by the detector circuit of FIG. 2 .
  • FIG. 5 is timing diagram illustrating an illegal START/STOP condition with low bus clock that can be handled by the detector circuit of FIG. 2 .
  • All of the sequential logic devices 203 , 204 , 207 in circuit 200 are configured to operate asynchronously (without a system clock).
  • a sequential logic device is a digital circuit whose output depends not only on the present value of its input signals but also on the past history of its inputs. This is in contrast to combinational logic devices, whose output is a function of only the present input. That is, sequential logic devices have state (memory) while combinational logic devices do not.
  • Digital sequential logic devices are divided into synchronous and asynchronous types. In synchronous sequential devices, the state of the device changes only at discrete times in response to a clock signal. In asynchronous sequential logic devices, the state of the device can change at any time in response to changing inputs. Because it is desired to construct a detector that does not rely on a system clock, the sequential logic devices used in the example detector 200 are asynchronous type sequential logic devices.
  • Delay element 201 e.g., an inverter chain or an RC time delay circuit receives SDA and has an output coupled to the enable inputs of sequential logic devices 203 , 207 .
  • delay element 201 can provide a delay that is greater than 50 nanoseconds. Delay element 201 allows time for SCL to stabilize through circuit 200 before enabling devices 203 , 207 , as shown in FIG. 2 .
  • Device 203 has a data input D 1 and inverted enable input E 1 . Each time a transitioning SDA signal (e.g. high to low) is applied to the inverted enable input E 1 , the signal propagates from D 1 to Q 1 .
  • the output of XOR gate 202 is coupled to input D 1 and propagates to output Q 1 when SDA transitions from high to low.
  • XOR gate 202 takes as inputs the bus clock SCL and the output Q 1 .
  • the output Q 1 of device 203 is coupled to input D 2 of device 204 .
  • the inverted enable input E 2 of device 204 is coupled to SCL.
  • Device 204 is included in circuit 200 for stable operation.
  • the output Q 2 of device 204 is input into XOR gate 205 together with the output Q 1 of device 203 .
  • the START signal can be used to set latch 206 , which can be used to wake up a system or for other purposes.
  • the sequential logic device 207 in the lower portion of circuit 200 is used to detect STOP conditions.
  • SCL is coupled to input D 3 of device 207 and propagates to output Q 3 when SDA transitions from low to high.
  • the enable input E 2 is coupled to the output of delay element 201 .
  • the inputs of OR gate 208 are output Q 3 and signal ⁇ twi_en. Note that the symbol “ ⁇ ” means complement.
  • the signal twi_en can be generated by another component in the system and is used to reset devices 203 , 204 , 206 , and 207 independent of the output Q 3 .
  • OR gate 208 When SDA transitions from low to high while SCL is high, Q 3 generates a STOP signal.
  • the STOP signal and ⁇ twi_en are inputs to OR gate 208 .
  • the output of OR gate 208 is coupled to the reset inputs of devices 203 , 204 and latch 206 by way of OR gate 212 .
  • the inputs of OR gate 212 are the output Q 3 and inactive bus signal tout_inactive_bus. If either the output Q 3 or tout inactive_bus are high, latch 206 is reset.
  • Circuit 200 includes delay element 209 , OR gate 211 and AND gate 210 to allow device 207 to reset itself.
  • the output of OR gate 208 is coupled to the input of delay element 209 (e.g., an inverter chain or RC time delay circuit) and signal tout_inactive_bus. In some implementations, delay element 209 can provide a delay that is greater than 50 nanoseconds.
  • the output of OR gate 211 is coupled to an input of AND gate 210 .
  • the other input of AND gate 210 (inverted input) is coupled to the output of latch 206 . When latch 206 is reset, its output is low and the output of OR gate 211 is high. The signals cause AND gate 210 to output a high signal, which resets device 207 .
  • Delay element 209 allows time for latch 206 to be reset before resetting device 207 .
  • FIG. 3 is timing diagram illustrating repeated START conditions that can be handled by the detector circuit of FIG. 2 .
  • a START is followed by a repeated START.
  • both START conditions are detected by circuit 200 .
  • FIG. 4 is timing diagram illustrating an illegal START condition followed by a STOP condition that can be handled by the detector circuit of FIG. 2 .
  • FIG. 4 illustrates how circuit 200 responds when noise is present on the SDA line. If the pulse is long enough, the START will be detected, but detection is reset once SDA goes high.
  • FIG. 5 is timing diagram illustrating an illegal START/STOP condition with low bus clock that can be handled by the detector circuit of FIG. 2 .
  • FIG. 5 illustrates how circuit 200 handles an illegal START/STOP when SCL also goes low.

Abstract

A detector circuit is disclosed that detects bus signal conditions. To detect a START condition, asynchronous sequential logic detects a first bus signal transition (e.g., from high to low) and a second bus signal (e.g., a high signal). The outputs of the asynchronous sequential logic are combined to produce a START signal that can be latched, so that the START signal can be used to wake up a system or for other purposes. To detect a STOP condition, asynchronous sequential logic is set by a transition (e.g., low to high) of the first bus signal and a second bus signal (e.g., a high signal), producing a STOP signal that can be used to reset the asynchronous sequential logic and the latch.

Description

    TECHNICAL FIELD
  • This disclosure relates generally to bus signal decoding.
  • BACKGROUND
  • Inter-Integrated Circuit (I2C) is a multi-master, serial, single-ended computer bus used for attaching low-speed peripherals to a motherboard, embedded system, mobile device or other electronic device. I2C uses two bidirectional open-drain lines, Serial Data Line (SDA) and Serial Clock (SCL), pulled up with resistors. Nodes on the bus can have a master or slave role. I2C defines three basic types of messages, each of which begins with START and ends with STOP. These messages include: 1) single message where a master writes data to a slave; 2) single message where a master reads data from a slave; and 3) combined messages, where a master issues at least two reads and/or writes to one or more slaves.
  • FIG. 1 is a timing diagram illustrating START/STOP conditions for an I2C bus. A START condition S is denoted by a high to low transition on SDA while SCL is high, and the STOP condition P is denoted by a low to high transition on SDA while SCL is high.
  • A slave device or a master device in a multi-master system coupled to an I2C bus requires a START/STOP detector to detect the START/STOP conditions on SDA and SCL. One commonly used method is to synchronize SDA and SCL to a system clock, and use synchronous logic for START and STOP detection. The drawback of this method is that it requires a running system clock that is faster than the SCL frequency.
  • SUMMARY
  • A detector circuit is disclosed that detects bus signal conditions (e.g., I2C bus signals). To detect a START condition, asynchronous sequential logic detects a first bus signal transition (e.g., from high to low) and a second bus signal (e.g., a high signal). The outputs of the asynchronous sequential logic are combined to produce a message START signal that can be latched, so that the message START signal can be used to wake up a system or for other purposes.
  • To detect a STOP condition, asynchronous sequential logic detects a first bus signal transition (e.g., low to high) and a second bus signal (e.g., a high signal), producing a STOP signal that can be used to reset the asynchronous sequential logic and the latch. Delay elements and combinational logic are used with the asynchronous sequential logic devices to apply Boolean logic to signals and handle potential illegal conditions.
  • In some implementations, a circuit for detecting bus signals on a bus includes first asynchronous sequential logic (e.g., a flip-flop) having a first input for receiving a first bus signal (e.g., I2C SDA) and a second input. The circuit further includes first combinational logic (e.g., XOR gate) having a first input for receiving an output of the first asynchronous sequential logic and a second input for receiving a second bus signal (e.g., I2C SCL), an output of the first combinational logic coupled to the second input of the first asynchronous sequential logic. The circuit further includes second asynchronous sequential logic (e.g., a flip-flop) having a first input for receiving the second bus signal and a second input for receiving the output of the first asynchronous sequential logic. The circuit further includes second combinational logic (e.g., XOR gate) having a first input for receiving the output of the first asynchronous sequential logic device and a second input for receiving the output of the second asynchronous sequential logic device, an output of the second combinational logic providing a START signal.
  • Particular implementations of the self-recovering bus signal detector disclosed herein provide one or more of the following advantages: 1) bus signal conditions are detected without a running system clock; 2) no requirement for a bus clock to system clock ratio; and 3) noise immunity.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a timing diagram illustrating START/STOP conditions for an I2C bus.
  • FIG. 2 is a schematic diagram of an example START/STOP detector circuit.
  • FIG. 3 is timing diagram illustrating repeated START conditions that can be handled by the detector circuit of FIG. 2.
  • FIG. 4 is timing diagram illustrating an illegal START condition followed by a STOP condition that can be handled by the detector circuit of FIG. 2.
  • FIG. 5 is timing diagram illustrating an illegal START/STOP condition with low bus clock that can be handled by the detector circuit of FIG. 2.
  • DETAILED DESCRIPTION
  • FIG. 2 is a schematic diagram of an example START/STOP detector circuit 200. In some implementations, detector circuit 200 can include sequential logic devices 203, 204, 207, combinational logic devices 202, 205, 208, 211, 212, 210, delay elements 201, 209 and latch 206.
  • All of the sequential logic devices 203, 204, 207 in circuit 200 are configured to operate asynchronously (without a system clock). A sequential logic device is a digital circuit whose output depends not only on the present value of its input signals but also on the past history of its inputs. This is in contrast to combinational logic devices, whose output is a function of only the present input. That is, sequential logic devices have state (memory) while combinational logic devices do not. Digital sequential logic devices are divided into synchronous and asynchronous types. In synchronous sequential devices, the state of the device changes only at discrete times in response to a clock signal. In asynchronous sequential logic devices, the state of the device can change at any time in response to changing inputs. Because it is desired to construct a detector that does not rely on a system clock, the sequential logic devices used in the example detector 200 are asynchronous type sequential logic devices.
  • The devices 202, 203, 204 and 205 are used to detect START conditions. Delay element 201 (e.g., an inverter chain or an RC time delay circuit) receives SDA and has an output coupled to the enable inputs of sequential logic devices 203, 207. In some implementations, delay element 201 can provide a delay that is greater than 50 nanoseconds. Delay element 201 allows time for SCL to stabilize through circuit 200 before enabling devices 203, 207, as shown in FIG. 2.
  • Device 203 has a data input D1 and inverted enable input E1. Each time a transitioning SDA signal (e.g. high to low) is applied to the inverted enable input E1, the signal propagates from D1 to Q1. In this example, the output of XOR gate 202 is coupled to input D1 and propagates to output Q1 when SDA transitions from high to low. XOR gate 202 takes as inputs the bus clock SCL and the output Q1. When Q1=1, SCL=0 or when Q1=0, SCL=1 and SDA transitions from high to low, output Q1 toggles.
  • In some implementations, the output Q1 of device 203 is coupled to input D2 of device 204. The inverted enable input E2 of device 204 is coupled to SCL. Device 204 is included in circuit 200 for stable operation. The output Q2 of device 204 is input into XOR gate 205 together with the output Q1 of device 203. When Q1=1, Q2=0 or when Q1=0, Q2=1, a START signal is generated. The START signal can be used to set latch 206, which can be used to wake up a system or for other purposes.
  • The sequential logic device 207 in the lower portion of circuit 200 is used to detect STOP conditions. SCL is coupled to input D3 of device 207 and propagates to output Q3 when SDA transitions from low to high. The enable input E2 is coupled to the output of delay element 201. The inputs of OR gate 208 are output Q3 and signal ˜twi_en. Note that the symbol “˜” means complement. The signal twi_en can be generated by another component in the system and is used to reset devices 203, 204, 206, and 207 independent of the output Q3.
  • When SDA transitions from low to high while SCL is high, Q3 generates a STOP signal. The STOP signal and ˜twi_en are inputs to OR gate 208. The output of OR gate 208 is coupled to the reset inputs of devices 203, 204 and latch 206 by way of OR gate 212. The inputs of OR gate 212 are the output Q3 and inactive bus signal tout_inactive_bus. If either the output Q3 or tout inactive_bus are high, latch 206 is reset.
  • Circuit 200 includes delay element 209, OR gate 211 and AND gate 210 to allow device 207 to reset itself. The output of OR gate 208 is coupled to the input of delay element 209 (e.g., an inverter chain or RC time delay circuit) and signal tout_inactive_bus. In some implementations, delay element 209 can provide a delay that is greater than 50 nanoseconds. The output of OR gate 211 is coupled to an input of AND gate 210. The other input of AND gate 210 (inverted input) is coupled to the output of latch 206. When latch 206 is reset, its output is low and the output of OR gate 211 is high. The signals cause AND gate 210 to output a high signal, which resets device 207. Delay element 209 allows time for latch 206 to be reset before resetting device 207.
  • FIG. 3 is timing diagram illustrating repeated START conditions that can be handled by the detector circuit of FIG. 2. A START is followed by a repeated START. As shown in FIG. 3, both START conditions are detected by circuit 200.
  • FIG. 4 is timing diagram illustrating an illegal START condition followed by a STOP condition that can be handled by the detector circuit of FIG. 2. FIG. 4 illustrates how circuit 200 responds when noise is present on the SDA line. If the pulse is long enough, the START will be detected, but detection is reset once SDA goes high.
  • FIG. 5 is timing diagram illustrating an illegal START/STOP condition with low bus clock that can be handled by the detector circuit of FIG. 2. FIG. 5 illustrates how circuit 200 handles an illegal START/STOP when SCL also goes low.
  • While this document contains many specific implementation details, these should not be construed as limitations on the scope what may be claimed, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub combination or variation of a sub combination.

Claims (13)

What is claimed is:
1. A circuit for detecting bus signals on a bus, the circuit comprising:
first asynchronous sequential logic having a first input for receiving a first bus signal and a second input;
first combinational logic having a first input for receiving an output of the first asynchronous sequential logic and a second input for receiving a second bus signal, an output of the first combinational logic coupled to the second input of the first asynchronous sequential logic;
second asynchronous sequential logic having a first input for receiving the second bus signal and a second input for receiving the output of the first asynchronous sequential logic; and
second combinational logic having a first input for receiving the output of the first asynchronous sequential logic and a second input for receiving the output of the second asynchronous sequential logic, an output of the second combinational logic providing a start signal.
2. The circuit of claim 1, further comprising:
a latch coupled to the output of the second combinational logic for latching the start signal.
3. The circuit of claim 1, where the first combinational logic includes an exclusive OR (XOR) gate.
4. The circuit of claim 1, where the second combinational logic includes an exclusive OR (XOR) gate.
5. The circuit of claim 1, where the first and second asynchronous sequential logic includes flip-flops.
6. The circuit of claim 2, further comprising:
a first delay element coupled to the first bus signal and the first input of the first asynchronous sequential logic.
7. The circuit of claim 1, where the bus signals are Inter-Integrated Circuit (I2C) bus signals and the first bus signal is SDA and the second bus signal is SCL.
8. The circuit of claim 6, further comprising:
third asynchronous sequential logic having a first input for receiving the first bus signal and a second input for receiving the second bus signal, an output of the third asynchronous sequential logic providing a stop signal.
9. The circuit of claim 8, where the stop signal is coupled to reset inputs of the first, second, third asynchronous sequential logic and the latch.
10. The circuit of claim 8, where the third asynchronous sequential logic includes a flip-flop.
11. The circuit of claim 10, further comprising:
third combinational logic having an output coupled to a reset input of the third asynchronous sequential logic, a first input coupled to the output of the latch and a second input coupled to the output of the third asynchronous sequential logic.
12. The circuit of claim 11, where the third combinational logic includes an AND gate.
13. The circuit of claim 12, further comprising:
a second delay element coupled between the output of the third asynchronous sequential logic and the second input of the third combinational logic.
US13/868,930 2013-04-23 2013-04-23 Self-recovering bus signal detector Active 2033-04-30 US8878569B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/868,930 US8878569B1 (en) 2013-04-23 2013-04-23 Self-recovering bus signal detector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/868,930 US8878569B1 (en) 2013-04-23 2013-04-23 Self-recovering bus signal detector

Publications (2)

Publication Number Publication Date
US20140312929A1 true US20140312929A1 (en) 2014-10-23
US8878569B1 US8878569B1 (en) 2014-11-04

Family

ID=51728550

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/868,930 Active 2033-04-30 US8878569B1 (en) 2013-04-23 2013-04-23 Self-recovering bus signal detector

Country Status (1)

Country Link
US (1) US8878569B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081936A1 (en) * 2013-09-13 2015-03-19 Stmicroelectronics Asia Pacific Pte. Ltd. Iic bus start-stop detection circuit
CN105608038A (en) * 2014-11-17 2016-05-25 罗伯特·博世有限公司 Control device for I2C slave device
GB2537856A (en) * 2015-04-28 2016-11-02 Nordic Semiconductor Asa Communication between intergrated circuits
CN112395143A (en) * 2019-08-13 2021-02-23 智原科技股份有限公司 Apply to I3Device and method for detecting start and end of C bus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596288A (en) * 1993-06-30 1997-01-21 Vlsi Technology, Inc. Status register with asynchronous read and reset and method for providing same
US5925135A (en) * 1996-09-26 1999-07-20 Intel Corporation Clock rate compensation for a low frequency slave device
US20090102507A1 (en) * 2007-10-17 2009-04-23 International Business Machines Corporation Design structure for shutting off data capture across asynchronous clock domains during at-speed testing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596288A (en) * 1993-06-30 1997-01-21 Vlsi Technology, Inc. Status register with asynchronous read and reset and method for providing same
US5925135A (en) * 1996-09-26 1999-07-20 Intel Corporation Clock rate compensation for a low frequency slave device
US20090102507A1 (en) * 2007-10-17 2009-04-23 International Business Machines Corporation Design structure for shutting off data capture across asynchronous clock domains during at-speed testing

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081936A1 (en) * 2013-09-13 2015-03-19 Stmicroelectronics Asia Pacific Pte. Ltd. Iic bus start-stop detection circuit
US9436647B2 (en) * 2013-09-13 2016-09-06 Stmicroelectronics Asia Pacific Pte Ltd IIC bus start-stop detection circuit
CN105608038A (en) * 2014-11-17 2016-05-25 罗伯特·博世有限公司 Control device for I2C slave device
GB2537856A (en) * 2015-04-28 2016-11-02 Nordic Semiconductor Asa Communication between intergrated circuits
WO2016174432A1 (en) * 2015-04-28 2016-11-03 Nordic Semiconductor Asa Communication between integrated circuits
CN107533533A (en) * 2015-04-28 2018-01-02 北欧半导体公司 Communication between integrated circuit
US10454478B2 (en) 2015-04-28 2019-10-22 Nordic Semiconductor Asa Communication between integrated circuits
CN112395143A (en) * 2019-08-13 2021-02-23 智原科技股份有限公司 Apply to I3Device and method for detecting start and end of C bus

Also Published As

Publication number Publication date
US8878569B1 (en) 2014-11-04

Similar Documents

Publication Publication Date Title
JP5355401B2 (en) Pulse counter with clock edge recovery
EP2976853B1 (en) Multi-wire open-drain link with data symbol transition based clocking
KR102328014B1 (en) Device including single wire interface and data processing system having the same
US9685953B1 (en) Low latency asynchronous interface circuits
US9294263B2 (en) Methods and systems of synchronizer selection
US9824731B2 (en) Data reading circuit
US8878569B1 (en) Self-recovering bus signal detector
US10075153B2 (en) Low-power clock-gated synchronizer, a data processing system that incorporates the same and a synchronization method
US9607153B2 (en) Apparatus and method for detecting clock tampering
US8350596B1 (en) Clock loss detection circuit for PLL clock switchover
US9436647B2 (en) IIC bus start-stop detection circuit
US9899992B1 (en) Low power adaptive synchronizer
EP3289471B1 (en) Communication between integrated circuits
US10630271B2 (en) Self timed data sampler
US9054685B2 (en) Programmable bus signal hold time without system clock
JP5109717B2 (en) Transmitter circuit
JP2003273716A (en) Power on reset circuit
CN103873031A (en) Non-clock trigger register
WO2017117123A1 (en) Solving unstable universal asynchronous receive transmit (uart) communication between a power manager and a universal serial bus (usb) - bridge device
US8400188B2 (en) Methods, systems and arrangements for edge detection
JP2004348460A (en) Semiconductor integrated circuit and usb controller using same
TW202044765A (en) Signal transmission circuit and method
TWI459401B (en) Latch system applied to a plurality of banks of a memory circuit
TWI452837B (en) Clock recovery circuit and frequency detection module thereof
JP7001314B2 (en) Signal transmission equipment and signal transmission system

Legal Events

Date Code Title Description
AS Assignment

Owner name: ATMEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FULLERTON, IAN;REEL/FRAME:030270/0872

Effective date: 20130423

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:031912/0173

Effective date: 20131206

Owner name: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRAT

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:031912/0173

Effective date: 20131206

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: ATMEL CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:038376/0001

Effective date: 20160404

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:041715/0747

Effective date: 20170208

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: SECURITY INTEREST;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:041715/0747

Effective date: 20170208

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001

Effective date: 20180529

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001

Effective date: 20180529

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206

Effective date: 20180914

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES C

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206

Effective date: 20180914

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INC.;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:053311/0305

Effective date: 20200327

AS Assignment

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011

Effective date: 20200529

Owner name: MICROSEMI CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011

Effective date: 20200529

Owner name: MICROCHIP TECHNOLOGY INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011

Effective date: 20200529

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011

Effective date: 20200529

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011

Effective date: 20200529

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INC.;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:053468/0705

Effective date: 20200529

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:055671/0612

Effective date: 20201217

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:057935/0474

Effective date: 20210528

AS Assignment

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222

Effective date: 20220218

Owner name: MICROSEMI CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222

Effective date: 20220218

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222

Effective date: 20220218

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222

Effective date: 20220218

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222

Effective date: 20220218

AS Assignment

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059262/0105

Effective date: 20220218

AS Assignment

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001

Effective date: 20220228

Owner name: MICROSEMI CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001

Effective date: 20220228

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001

Effective date: 20220228

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001

Effective date: 20220228

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001

Effective date: 20220228

AS Assignment

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400

Effective date: 20220228

Owner name: MICROSEMI CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400

Effective date: 20220228

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400

Effective date: 20220228

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400

Effective date: 20220228

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400

Effective date: 20220228

AS Assignment

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001

Effective date: 20220228

Owner name: MICROSEMI CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001

Effective date: 20220228

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001

Effective date: 20220228

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001

Effective date: 20220228

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001

Effective date: 20220228

AS Assignment

Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437

Effective date: 20220228

Owner name: MICROSEMI CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437

Effective date: 20220228

Owner name: ATMEL CORPORATION, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437

Effective date: 20220228

Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437

Effective date: 20220228

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437

Effective date: 20220228

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8