POR and LVD on Teensy

Status
Not open for further replies.

wazuki

Member
Hi Everyone,

We're running Teensyduino V1.27 & Arduino 1.6.5-r5 on Teensy 3.1's. We're using the FastLED library to configure a large array of WS2812B (NeoPixel) LEDs. We're using 74HCT245 to convert the data to 5V before sending to the WS2812B pixels. We're consistently seeing a flash of random LEDs when we turn on the system, and looking at it on a logic analyzer (capture attached), we can see that there's a bunch of garbage data being sent to the LEDs on turn-on. We only see this problem when we turn on power to the system. If we upload new code and thereby reset the Teensy, we never see this problem. We have a lot of capacitance in the system to deal with power fluctuations from so many LEDs in our system, and we have ample power coming into the system from the power supply and 5V DC-DC converter. The 5V power rail is clean coming up, as seen by the attached scope capture.

So we're at a loss as to what could be different between powering up, and resetting the system. We looked into changing the LVDSC1 to use LVDH (2.56V) instead of LVDL (1.60V), but it doesn't seem like this would do anything for us, since the garbage data is happening over 100ms from the time that the Teensy powers up.

Anyone out there have any ideas on what this could be? Or a work-around?

Thanks and best regards,
Kent
 

Attachments

  • Garbage data on power up.jpg
    Garbage data on power up.jpg
    37.1 KB · Views: 78
  • 5V power on string 1 (internal DC-DC).png
    5V power on string 1 (internal DC-DC).png
    15.4 KB · Views: 65
i had a similar issue in a different context (garbage data on powerup but ok on reset) ...it turned out to be a grounding issue. not much help I know but there you go ...
 
some ideas:

Does this occur if the LEDs are already powered up and you just power the Teensy ?
If you don't have a Teensy connected to the LEDs, do they flash ?
To confirm that it's not your code -- if you modify it so it can't drive the LEDs (e.g. don't enable the pin), do they still flash ?
The 74HCT245 has Output Enable and Direction pins -- if you drive them from your Setup() code (rather than perhaps hard wiring to Supply/GND) does it fix it ?

Note the 74HCT245 are not really intended to be level shifters -- with 5 V supply, the high threshold is quite close to 3.3 V; perhaps as the 5 V rises (long tail on the last part ?), an oscillation is induced because of an interaction with the supply ?

Perhaps something from the 74AHCT1G08 series (like Paul uses on the Prop shield) would be better ?
 
Hi Jp3141,

Thanks for the feedback! As far as the 74HCT245's input levels go, I think you're thinking of the 74HC245. The 74HCT245 has a Vih min of 2.0V, as you can see in the comparison between pages 5 and 6 here: http://www.nxp.com/documents/data_sheet/74HC_HCT245.pdf

I'll definitely try some of the code modifications you're referring to, and powering up the Teensy last (after the LED strips are powered), but your suggestion of setting the Output Enable on the 74HCT245 later in the code is a great one! Will try that one first, since that should definitely work.
 
Status
Not open for further replies.
Back
Top