TLS3001 protocool question

charleskerr

New elf
Joined
May 28, 2011
Messages
37
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?
 

charleskerr

New elf
Joined
May 28, 2011
Messages
37
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?
 

Attachments

  • TLS3001 stream.png
    TLS3001 stream.png
    51.5 KB · Views: 30
  • Reset.png
    Reset.png
    49.8 KB · Views: 19
  • Data.png
    Data.png
    51.3 KB · Views: 17
  • Sync pulse.png
    Sync pulse.png
    49.5 KB · Views: 17

Tabor

Full time elf
Joined
May 16, 2010
Messages
249
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.
 

Barnabybear

New elf
Joined
Mar 30, 2012
Messages
42
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.
 

Barnabybear

New elf
Joined
Mar 30, 2012
Messages
42
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, G9 --- 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 that gets the pixel to update to the latest data, you can loop resending the next 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.
 
Last edited:
  • Like
Reactions: AAH

Martin Mueller

Light Addicted and proud of it.
Generous elf
Joined
Nov 11, 2018
Messages
104
Location
Newtown CT
Hey BarnabyBear

Did you ever find a formal spec for this? I have been looking and other than a data sheet that mentions Manchester Encoding, I have found nothing from the vendor that describes the data messages.
 

keithsw1111

Senior elf
Joined
Oct 11, 2012
Messages
933
Location
Kellyville, NSW
The data sheet has everything you need to implement it. But be wary it is very sensitive to anything not sent to spec and when that happens it can behave really strangely.
 

keithsw1111

Senior elf
Joined
Oct 11, 2012
Messages
933
Location
Kellyville, NSW
 

Martin Mueller

Light Addicted and proud of it.
Generous elf
Joined
Nov 11, 2018
Messages
104
Location
Newtown CT
Thank You. The Chinese version has a lot more information than the English version. I had only been reading the English versions. The entire section between the Output Current testing and packaging was missing.
 
Top