Forum Rule: Always post complete source code & details to reproduce any issue!
-

Originally Posted by
PaulStoffregen
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.
-
Senior Member
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 for full size)
-
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
-
Senior Member

Originally Posted by
local_dani_21
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.
-
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.
-
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
-
Senior Member
Yup, that looks exactly like what I did. I used the 2 buffers on pin 1-6, but otherwise it looks exactly the same.
-
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.
-
Senior Member
Something's probably not connected properly.
Yes, using the normal code, no modifications. I only added the 74HC125 chip.
-
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.
-
Senior Member
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.
-
Paul, you should send that link to adafruit support or post it in adafruit's forum!
-
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.
-
Senior Member
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
-
Forum Rules