1. New to Christmas lighting? Get started with the AusChristmasLighting 101 Manual:
    auschristmaslighting.com/wiki/AusChristmasLighting-101

TLS3001 protocool question

Discussion in 'The Development Lab' started by charleskerr, Apr 9, 2012.

  1. charleskerr

    charleskerr New Elf

    Joined:
    May 28, 2011
    Messages:
    37
    Likes Received:
    0
    I thought some may be of some help, or suggestions. I understand the TLS3001 uses Manchester encoding, and I understand how that works. In perusing the data sheet, I believe the TLS3001 has three basic "packets" it gets sent:


    Sync packet consisting of :
    15 bits of 1
    3 bits of 0, one bit of 1
    11 bits of 0




    Reset packet of:
    15 bits of 1
    1 bit 0, 1 bit 1, 2 bits 0




    Data frame :
    15 bits of 1
    2 bits of 0, 1 bit 1, 1 bit 0
    for each pixel: 1 bit 0, 12 bits data,1bit 0, 12 bits data, 1 bit 0, 12 bits data




    If I understand correctly, one does the following:




    Send a reset
    Wait 1 ms
    send a sync
    wait for propagation down the string
    send the data


    Does anyone see anything wrong?
     
  2. OP
    OP
    charleskerr

    charleskerr New Elf

    Joined:
    May 28, 2011
    Messages:
    37
    Likes Received:
    0
    I have attached screen shots of the logic trace I am sending out. I am sending out a data stream of a single pixel, although I know i am delaying as if there are 50 pixel strings.


    Any thoughts or ideas on what I am missing?
     

    Attached Files:

  3. Tabor

    Tabor Full Time Elf

    Joined:
    May 16, 2010
    Messages:
    249
    Likes Received:
    0
    Location:
    Perth, WA
    Hello Charles


    I can not help you specifically with the 3001 protocol as I have not even tried to program it yet.


    You may want to message either Ed(J1sys) or jstjohnz.
     
  4. Barnabybear

    Barnabybear New Elf

    Joined:
    Mar 30, 2012
    Messages:
    37
    Likes Received:
    4
    Location:
    UK
    Hi, did you ever get to the bottom of this? I'm wanting to add TLS3001's to my E1.31 Arduino controller.
     
  5. Barnabybear

    Barnabybear New Elf

    Joined:
    Mar 30, 2012
    Messages:
    37
    Likes Received:
    4
    Location:
    UK
    Hi, I know this tread is over 6 years old but never confirmed how to light the TLS3001s.

    For reference my findings:

    Data is 12 bit, Manchester coded, 1 is a high to low transition, MSB first, 160KHz and 500KHz transmission speeds have been proven to work. The data sheet spec’s 100KHz to 2MHz.

    The pixels need to be ‘reset’ after power up. RESET = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, 1,0,0 followed by a 1mS delay.

    The pixels need to be ‘sync’d’ after a reset. SYNC_ = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, 0,0,1, 0,0,0,0,0,0,0,0,0,0,0 followed by a minimum delay of 28.34uS x the number of pixels in the string.

    Data needs to be preceded by a ‘start’. START = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, 0,1,0 then no delay the data must follow straight after.
    Data for a single pixel is 39 bits as follows. 0, 12 bits red data, 0, 12 bits green data, 0, 12 bits blue data. Example:
    0, R11, R10, R9 --- R0, 0, G11, G10, G19 --- G0, 0, B11, B10, B9 --- B0, repeat for next pixel.

    The pixels will not adopt the new data until another ‘start’ is received. 125uS delay is needed between the last data bit and the first start bit. START = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, 0,1,0.

    To send the post data start to get the pixel to update to the latest data you can loop resending the data or just send the start again with no data.

    Start – 512 blocks of data – Delay – Start. If sent @ 500KHz takes 13.6mS to complete.
     
    AAH likes this.

Share This Page