Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 8 of 8

Thread: Tri-state buffer, on all MISO lines?

  1. #1

    Tri-state buffer, on all MISO lines?

    All,

    I have a 3.5" TFT display and I need to use the boards SD card, display and touch. Unfortunately I'm running into the inability to use display MISO and the SD card. The SD and the display SPI are shared but the touch is usign the UTOUCH lib and it's spi is on different pins. Normally I can get the 2.8" to fire right up, but the SD will not work if the display is used. Reason I need MISO for the display is so I can use my PrintScreen function to save the display to the SD card. I'm sure the issue is the infamous tri-state buffer problem and my tests confirm based on this page.

    https://www.pjrc.com/better-spi-bus-design-in-3-steps/


    I can put a buffer say the 74AHC1G125 as cited on the web page, on the display MISO, but do I need to put another buffer on the SD MISO as well?

  2. #2
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,760
    Is the T_3.5 onboard the SD card in use? It has no common connections to SPI as it uses unique SDIO pins. Only an slower external SD on SPI could present this problem.

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    23,086
    Every SD card I have used seems to be able to properly tri-stat its MISO pin.

    But if you have any doubt, the way to check involves using only the SPI device in question with 2 resistors on the MISO pin, as I tried to describe in that article. If you measure half the power supply voltage when the device is idle, you can be confident its MISO pin is working properly. If the voltage stays stuck either high or low, that's a sure sign you need to add the tri-state buffer chip.

  4. #4
    The SPI are separate for SD, Touch and the display.

    Not sure you can see it in this image

    https://www.amazon.com/Naliovker-480...3234716&sr=8-6

    Note: i have replaced the SD resistors with 0 ohm and soldered J1--the trick to getting SD+Touch+Display working with Teensy (assuming tri-state MISO).

  5. #5
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,760
    Not sure if note below on this page applies the same to this display :: pjrc.com/store/display_ili9341.html

    We do not recommend using the SD card socket on this display. It does not work, but this hardware modification may be able to get it working.

  6. #6
    And that modification works like a million bucks--at least for the 10 or so displays i've used.

  7. #7
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,760
    What Teensy is this? ... just noticed I saw 3.5" and assumed T_3.5

    okay ... so not using the native SDIO SD - but external on the display and it works fine alone, but causes grief when also using MISO to read back from display ...

    They present unique pins on the device - but are wired back to the same SPI bus on Teensy ...

    Do Touch and SD work together? Though with blocking SD - or during Touch testing - they likely don't overlap I/O but they don't interfere?

    I had one 9488 (?) display where the display MISO wasn't tri-state and I just cut that connect, which won't work to read display as noted without p#3 mod Paul noted.

  8. #8
    Oh well.

    I got the buffer chip (74ahc1g125) and wired it up. The SD card works with display MISO connected so the buffer is disconnecting MISO correctly, but when code request data from the display the display's MISO is still not sending data--it always returns 0. My cheap scope shows only one pulse on MISO during readPixel() so I'm guessing the display is just not capable of reading display data.

    Oh well...back to the trusty 2.8" units that I can get to work.

Posting Permissions

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