SPMA057E January   2018  – January 2025 TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD , TMP1826 , TMP1827

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction to 1-Wire®
    1. 1.1 Bus Requirements
    2. 1.2 Powering
  5. 2Functional Description
    1. 2.1 Signaling on 1-Wire®
    2. 2.2 Address Format of the 1-Wire® Device
    3. 2.3 Typical Communication Flow on the 1-Wire® Bus
  6. 3Functions Available in TivaWare for C Series for 1-Wire® Module
  7. 4Enumeration
    1. 4.1 Legacy Search Algorithm
      1. 4.1.1 Steps of the 3-Bit Search Algorithm
    2. 4.2 Fast Search Algorithm
  8. 5Summary
  9. 6References
  10. 7Revision History

Steps of the 3-Bit Search Algorithm

  1. Reset the bus and look for ATR responses. End the process if there are no devices on the bus.
  2. Send the Search ROM command if an ATR response is received.
  3. Read a bit from the devices on the bus.
  4. Read the complement of the bit in step 3 from the devices.
  5. Check if both the bits are 1. If ‘yes,’ end the process. If ‘no’, continue.
  6. Check if the first read bit is a 0 and the second read bit is a ‘1.’ If ‘yes,’ write 0 onto the bus and go to step 14. If ‘no’, continue.
  7. Check if the first read bit is a 1 and the second read bit is a zero. If ‘yes’, go to step 9. If ‘no’, continue.
  8. Check whether or not ui32BitNumber is equal to i32ConflictBitNumber. If ‘yes’, continue. If ‘no’, go to step 10
  9. Write 1 onto the bus. Go to step 14.
  10. Check whether or not ui32BitNumber is less than i32ConflictBitNumber. If ‘yes’, continue. If ‘no’, go to step 12.
  11. Check whether or not the bit in the ui32BitNumber of the last ROM number is equal to 1. If ‘yes’, go to step 9. If ‘no’, continue.
  12. Write 0 onto the bus.
  13. Update the value of i32LastConflictZeroBitNumber with the ui32BitNumber.
  14. Check whether or not ui32BitNumber is equal to 63. If ‘yes’, go to step 1. If ‘no’, go to step 3.