Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 2 FirstFirst 1 2
Results 26 to 39 of 39

Thread: Teensy 3.* - Text rendering issue with RA8875 TFT display

  1. #26
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Quote Originally Posted by PaulStoffregen View Post
    Cool! The problem remains the linux-side of the bridge. I'm not the python guy, so I started a post in the arduino.cc forum http://forum.arduino.cc/index.php?topic=280585.0 ... let's see what people think.

  2. #27
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    The problem appears to be hardware, that the RA8875 chip does not tri-state its MISO pin when CS is high.

    Here is the example, with both MISO pins run through a 74HC125 tri-state buffer chip, controlled by the 2 chip selects.

    Click image for larger version. 

Name:	ra8875.jpg 
Views:	4530 
Size:	151.9 KB 
ID:	2990
    (click for full size)

  3. #28
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Hi Paul - so do you think that the tri-state-buffer is the solution and will solve all the conflict's I'm having? Thank you! Dani

  4. #29
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    Quote Originally Posted by local_dani_21 View Post
    Hi Paul - so do you think that the tri-state-buffer is the solution
    It certainly looks that way.

    I confirmed by hardware testing with resistors that the MISO pin was driven while CS was not asserted. When a chip tri-states the MISO pin, the resistors should take the pin to a voltage half way between GND and VCC. The voltage remained 3.3V (actually, a little less, since that chip doesn't drive very hard, but clearly still driving the line). You can pretty easily duplicate this test by just connecting two 10K resistors to MISO, and measure the signal with a scope or even a voltmeter when the display isn't being updated.

    and will solve all the conflict's I'm having?
    Yes, I believe it will. 2 displays that didn't work together, and which I confirmed were conflicting on MISO, clearly do work with the 74HC125 buffer added.

    When the 3rd display arrives, probably within the next 16 hours, I'll hook it up and try your 3-display test with the SD card. I'm only going to run the test on Teensy 3.1. If that works, and I'm pretty confident it will, I'm going to consider this fully "resolved".

    I sincerely hope Adafruit documents this limitation on their website and eventually makes a new version with the buffer and 2 pullup resistors. But that's really up to Adafruit. I have no control over what they do. I've done pretty much all I can here.

  5. #30
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    That is SOOOO cool! Thank you very much for your endurance and expertise! I'll do the installation with a teensy 3.1 anyway since it is a lot faster than it's 16MHz counterparts. I asked adafruit for some of the 74HC125 chips and hope to make a little daughterboard soon.

  6. #31
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Hi Paul, may I ask you a favor? I tried to set up what you did and failed - I seem to have gotten something wrong. Would you (or anybody reading this) go over my schema to find the mistake? Thank you very much, Dani
    Click image for larger version. 

Name:	teensy31_2xra8875_wiring_schema.jpg 
Views:	907 
Size:	225.9 KB 
ID:	2998

  7. #32
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    Yup, that looks exactly like what I did. I used the 2 buffers on pin 1-6, but otherwise it looks exactly the same.

  8. #33
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Weird, I don't understand it. Are you using the standard Adafruit RA8875 library? At the moment, I'm not even getting anything when I use only one display on a teensy 3.1.

  9. #34
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    Something's probably not connected properly.

    Yes, using the normal code, no modifications. I only added the 74HC125 chip.

  10. #35
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Well, I just switched to your library and now it worked. There seems to be a difference.

    Actually: Now EVERYTHING is well! I'm so glad and thankful to you!
    I have to go to bed - and get up again in 5 hours to go earn some money!
    Dani
    Last edited by local_dani_21; 11-24-2014 at 09:58 PM.

  11. #36
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    I published a blog article about these & other issues.

    http://www.dorkbotpdx.org/blog/paul/...ign_in_3_steps

    Hopefully this word can spread. If everyone in the Arduino world becomes more aware of these issues, hopefully someday shields and breakout boards without tri-state and pullups will become a relic of the past.

  12. #37
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    Paul, you should send that link to adafruit support or post it in adafruit's forum!

  13. #38
    Member
    Join Date
    Jan 2013
    Location
    Zürich, Switzerland
    Posts
    86
    I just connected 3 RA8875's with corresponding 5" TFT's (800x480) to a teensy 3.1. When using the MISO tri-state buffers and the pullup resistors on the CS- and RESET-lines, the setup works like a charm. However - the displays draw quite some power, each of them about 250mA @ 5V. Since the teensy 3.1 only delivers 500mA through USB, one has to consider an external power source that is connected directly to GND and VIN.

  14. #39
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    17,480
    Glad to hear it's working.

    I've exchanged emails (privately) with Adafruit and others. My influence is limited. Often the most effective way involves working behind-the-scenes, which never becomes public. I really can't comment on private communication, but I can assure you, I'm doing everything I can to improve compatibility of all Arduino-based products.

    Adafruit gave me access to repost my article on their learning site. Figuring out how to use their learning site and posting it there is on my TO-DO list for this weekend.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •