I failed AGAIN at designing this FT232H circuit | Voltlog 379

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ก.ย. 2021
  • High quality PCB Services pcbway.com I failed once again at designing this FT232H board and I’m telling you all about it in this video. Although it’s a completely different mistake than last time (Voltlog 265) it’s still a failure that will require a redesign of the circuit/pcb to get to the desired functionality.
    →Source files on Github voltlog.com/y/voltag
    →Support the channel by clicking these links (CommissionsEarned)
    Aliexpress voltlog.com/y/kr0sa
    Ebay voltlog.com/y/jzkfp
    Amazon.com voltlog.com/y/qw4d3
    Banggood.com voltlog.com/y/o4025
    →Support the channel via Patreon, Paypal or Bitcoin
    www.voltlog.com/donations
    #VoltLog #FT232H #JTAG
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 61

  • @MarkLemanUK
    @MarkLemanUK 2 ปีที่แล้ว +23

    IIRC the FT232H is a USB2 highspeed (480MBit/s) device, I suspect the ESD diodes you have chosen have too much capacitance for this. They are probably fine for USB2 at 12MBit/s. I have had similar issues before.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +2

      Good point!

    • @AttilaAsztalos
      @AttilaAsztalos 2 ปีที่แล้ว +7

      If any datasheet you view today name-drops "USB 1.1" explicitly, ALL the warning sirens should go off. And that datasheet does just that on the front page.

  • @jordanwaeles
    @jordanwaeles 2 ปีที่แล้ว +10

    I'm sure you thought of it, but maybe hook up a scope to the USB data lines and see how the signal differs in regards to the diode being there or not. thanks for sharing failures too, there is so much second hand experience we all learn from it!

    • @voltlog
      @voltlog  2 ปีที่แล้ว +5

      As other people have pointed out, I missed the fact that the FT232H is a USB2.0 device while the diodes are designed only for USB1.1 so they are not rated for this scenario...

    • @MarkLemanUK
      @MarkLemanUK 2 ปีที่แล้ว

      With the FT232H being a USB2 high speed device and the bus running at 480Mbit/s, there are two problems doing this 1) you need a *very* fast scope to see anything useful, 2) The act of putting a scope probe on the bus can add enough capacitance to stop the bus working.

  • @DannyBokma
    @DannyBokma 2 ปีที่แล้ว +4

    Had the ESD protection diodes from preventing for USB to work as well. The problem is that some devices are high speed and the ESD diodes should match that, and most ESD diodes for USB are for low speed.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      Thanks! This became clear after a few people mentioned this in the comments!

  • @shahzaibshamim6524
    @shahzaibshamim6524 2 ปีที่แล้ว +4

    Nontented vias are good when doing prototypes, so you can reroute signals by thin wires on pcb

  • @964tractorboy
    @964tractorboy 2 ปีที่แล้ว +1

    Sorry to hear of your troubles; but for what it's worth, it's still a great-looking board.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      thanks! 😀

  • @Gameboygenius
    @Gameboygenius 2 ปีที่แล้ว +2

    My FT232 doh moment was when I forgot to ground the test pin. Luckily it's next to a ground pin, so it was an easy fix with a fine tip iron and a tiny bit of solder.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      Yeah it feels a bit weird that not tying that pin down will prevent it from functioning.

  • @rahulkushwaha1984
    @rahulkushwaha1984 2 ปีที่แล้ว +2

    We at work did similar sort of design error with "bi-directional" voltage buffer (level shifter). We were using the same IC on UART line and we were only able to send the data on other side but cannot receive, it was obvious what the error was but it took us whole day of debugging and scratching head. Then other day I looked into datasheet once again, logic circuit part and noticed the OE pin, and felt so dumb. Luckily we were using TSSOP package and not this DFN, so the fix was easy. We made a small board with TXS0108 (bi-directional buffer without Output Enable) and soldered it on the main board. It worked out, now next revision is under process.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      DId you experience any kind of reliability issues with the bi-directional transceiver? Is it working fine even at high baud rates?

    • @rahulkushwaha1984
      @rahulkushwaha1984 2 ปีที่แล้ว

      @@voltlog no problems so far, actually after reading your comment I got concerned about higher baud rate. We are only planning on maximun 115200 which works without any problems. Previously we were testing on 57600.

  • @leppie
    @leppie 2 ปีที่แล้ว +6

    Heads up: If you want SWD, you will need a bidirectional signal for IO.

  • @daque1960
    @daque1960 2 ปีที่แล้ว +1

    I always end up wanting to add something or see something I should change about the time the fab house is doing the solder mask. Rev 4 up on Kicad now. Simple circuits but aligning the 2 plug on boards made by others I get 50 mills with the stack up sometimes.

  • @danielegger6460
    @danielegger6460 2 ปีที่แล้ว +1

    A quick search shows that the capacitance of the SP050x is way too high and Littelfuse only recommends this discontinued part for USB 1.1 use. For 2.0 and higher speed protocols there's the SP3003 series...

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      Thanks! This became clear after a few people mentioned this in the comments!

  • @laryvideo4621
    @laryvideo4621 2 ปีที่แล้ว +1

    Toata stima ptr munca dvs depusa la acest proiect. As dori sa cumpăr un modul pcb complet echipat cu componentele electronice.

  • @trickyrat483
    @trickyrat483 2 ปีที่แล้ว +2

    Remember the old saying: Third time's a Charm. :)

  • @dreamcat4
    @dreamcat4 2 ปีที่แล้ว +1

    hey Voltlog!
    have here my TIAO Tumpa v2 which uses a similar chip for the level shifter / buffer. In the documentation it says it's a 74LVC14T245 (i guess that means 14 channels). However the chip actually soldered onto my device is a 74LVC16T245. Now when reading the datasheet for this 74LVC16T245 (16 channel) chip, it does not mention so clearly that it's 2x 8 channel chips stuck together. However when you look at the logic diagram... this seems to confirm that. As 2 banks of 8 channels. And with each bank having it's own DIR pin (a total of 2 DIR pins) labelled 1DIR and 2DIR. So given that this is what the TIAO Tumpa v2 has done, I don't see any reason why not just do the same thing here. So long as the part is in stock and available. As you are already familiar with the 8 bit version of this chip.
    This programmer is not in stock / available. Or it just keeps selling out very fast for each new batch. The extra protocols it can support: includes SPI, i2c. And RS232. For these extra protocols it adds a little bit more complexity. There are 2 additional chips... one is 93lc46 eeprom not sure what is for to remember here, but it connects to the FTDI chip. and also there is a 12Mhz crystal. And it has a MAX3243 chip for driving the RS232 port.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +2

      Thanks for the suggestion! I also have an EEPROM and crystal on board. The eeprom is used to save the config of the chip, like where are the TX/RX LEDs connected to and what is the USB descriptor strings. SPI, I2C is supported by default and for RS232 it's just not worth it anymore these days as far as I am concerned. I'll either end up using two transceiver chips or a 2in1 as you pointed out or I'm gonna do a discrete solution with mosfets because that would have the big advantage of using more easily savailable parts.

  • @cmuller1441
    @cmuller1441 2 ปีที่แล้ว +1

    For voltage translation, if it's going down, all you need is a voltage divider with 2 resistors...
    So just use the chip for going up and resistors in the other direction.

    • @Gameboygenius
      @Gameboygenius 2 ปีที่แล้ว +3

      In principle yes, but I'd worry about two things.
      1) a resistor divider will set a constant ratio, but you don't know the target system's voltage, if you want to do thing kosher. With a transceiver, you can use the target voltage from the JTAG header.
      2) for higher speeds, you might get communication errors due to the higher impedance combined with whatever stray capacitance the cables have. For an integrated solution, you might only have a short run of PCB tracks, but for an adapter you don't know how long the cable might be.

  • @superdau
    @superdau 2 ปีที่แล้ว

    I just recently totally messed up a circuit that integrated an ESP32-WROOM module. I mixed up the numbers for the IOs with the pin numbers of the module. Took me a while to find out why I couldn't detect any sensors on the I2C port and why the relay was always energized (it was connected to the pins for the WROOM's internal serial flash). Luckily it happened on the "proto"-prototype that I routed on my CNC. So no batch of unusable PCBs and remaking it didn't mean having to wait for a week for a new board.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      Because of that I miss doing my own PCBs where I could spin a new board in a matter of hours. It's just not as easy to deal with that in the new office building.

  • @philippeschjelderup9644
    @philippeschjelderup9644 2 ปีที่แล้ว

    Good video as always. Would you be able to use this board towards the new Attiny 0-series(ex. Attiny1614) which use JTAG2UPDI? Usually we download the JTAG2UPDI unto a Nano, which then connects the UPDI pin to the Tiny. You should really check out the mcu's! Only use one pin for programming :)

    • @Gameboygenius
      @Gameboygenius 2 ปีที่แล้ว +1

      JTAG2UPDI is one particular project that's using an additional host microcontroller between the serial line and target. So no, this board won't work right away with that. You could add one resistor or diode, and use the serial UPDI solution, and this board should work as well as any other serial adapter though.

    • @philippeschjelderup9644
      @philippeschjelderup9644 2 ปีที่แล้ว

      @@Gameboygenius good to know! Thank you!

  • @orkhanamiraslanov9198
    @orkhanamiraslanov9198 2 ปีที่แล้ว

    The boards looks nice. I'd suggest in this type of applications use a bi-directional, smth like TXS0108E.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +3

      Seems like using the TXS0108E would solve my problem and it's not too expensive either. I don't have too much experience with these transceivers but it would be interesting to give it a try and see if they cause any trouble. I've heard more than once that I should avoid using bi-directional transceiver if possible, to avoid any issues caused by the auto-sensing circuit.

  • @AndreDeLimburger
    @AndreDeLimburger 8 หลายเดือนก่อน +1

    Swapping the D+ and D- on the USB, been there, done that.

  • @gamerpaddy
    @gamerpaddy 2 ปีที่แล้ว +1

    i made a brushless motor controller and for testing purposes, it ran at like 12V on a generic hobby brushless motor, i didnt bother putting the filter caps on the switching side of the board, after a single startup it fried the dc-dc converter (80V rated) which let some nasty voltages down to the gate driver and mcu, all dead.
    also and long time ago i made a board that immitates a batterycontroller of a ebike, so 3rd party batteries can be used instead of the expensive original ones,
    it was my first pcb ever ordered, and after a long time figuring out why it wont work i noticed that i havent connected the ground to the ground pins of the mcu. wasnt quite obvious in the kicad schematic.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +1

      These all sounds like common mistakes that I did at some point :-)

  • @ovalwingnut
    @ovalwingnut 2 ปีที่แล้ว

    GOOD SHOW in spite of or most likely because-of these "real life scenarios". I enjoy them E-MENSE-LEE. It's like I'm your clueless neighbor and I can "sit and watch" if I keep my trap shut. I do & did :O)
    p.s. Your Sponsor RoCkS (did you hear that PCWay?)
    Cheers from So.Ca.USA, 3rd House On the Right..

    • @voltlog
      @voltlog  2 ปีที่แล้ว +1

      Glad you enjoyed it!

  • @jamesbrown99991
    @jamesbrown99991 2 ปีที่แล้ว

    You would only need voltage translation for TDO if the JTAG device is

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      I think you actually mean you don't need voltage translation for TDO, because it's going from target to debugger and the FT232H would be fine accepting a signal between 2.0V min and VCCIO (3V3 but extended to 5V because of it's 5V tolerance) on it's TDO defined pin. This would sure be the simplest solution to the problem but it would only cover 90% of the scenarios because if you try working with a 1.8V target I suspect it's either not going to work or it's going to be unreliable.

    • @jamesbrown99991
      @jamesbrown99991 2 ปีที่แล้ว

      @@voltlog Pretty sure that's what I said.

  • @carloca71
    @carloca71 2 ปีที่แล้ว +1

    Can you use the same transceiver just reversing the pins need a different direction? I guess it works.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +1

      But that would be a waste of resources 😬

    • @carloca71
      @carloca71 2 ปีที่แล้ว

      @@voltlog I means just wiring the pins in a different direction :-)

    • @carloca71
      @carloca71 2 ปีที่แล้ว

      You can test it cutting the tracks a re-wiring your board.

    • @Gameboygenius
      @Gameboygenius 2 ปีที่แล้ว

      @@carloca71 you need both directions at the same time. Clock out, data in...

    • @carloca71
      @carloca71 2 ปีที่แล้ว

      If each pin is one directional it is just a question of wiring the IC in the right way, I may be wrong but I remember that TTL ics, LS244, 245 been used that way for centronics ports in old pc boards, groups of 4 bits in different directions.

  • @electronash
    @electronash 2 ปีที่แล้ว

    I'm current 3 minutes into the vid. I'm gonna guess the signals aren't hooked up right for some JTAG signals, because the DIR pin on the voltage translator is tied high? hehe

    • @electronash
      @electronash 2 ปีที่แล้ว

      I started using FET switches recently on more projects, as I hate having to deal with a DIR pin, especially if interfacing something to an FPGA.
      The old QS3861Q FET switches from IDT were used a lot for 3V3 5V translation, with no need for a DIR pin. You can just power VCC on the chip via a diode, and the logic levels work OK in most scenarios. They used those chips a lot on PCI cards.

    • @electronash
      @electronash 2 ปีที่แล้ว

      I like the fact you show some of these mistakes on videos, btw, I think it's just as important as showing the successes, because we ALL screw up boards. lol
      (I'm sure there are some channels out there who don't show all their broken designs.)

    • @electronash
      @electronash 2 ปีที่แล้ว

      OK, yep, I watched the whole vid now. hehe
      I've made all the same mistakes in the past, and a fair few more. ;)
      I don't think the FET switch option would work for JTAG if you want to use the lower IO voltages on the JTAG side, since the diode "trick" only really works when the voltage on each side of the FET is closer.
      In that case, I would just use one of the chips you showed, with the separate VCCA and VCCB pins. At least then you know the logic levels on each side should be correct.
      One other minor thing I spotted on your schematic - you tied the unused pins of the '245 chip to ground, which is fine. But, one side of the chip will be forced as outputs, so it could cause excess current to flow there.
      (even though the inputs are also tied to ground, I would be wary of doing that to push-pull output pins as well, just in case.)

    • @electronash
      @electronash 2 ปีที่แล้ว

      Oh, and I tried some of the supposed "auto-direction sensing" voltage translator chips on a project last year, and they were crap. lol
      They didn't work at all, even for a simple low-speed connection between 3V3 and a 5V joypad.
      If I were to re-use the same '245 chip you used here, I would also want to rename the signals on each side, so I knew which ones were Inputs and which were the Outputs. (assuming the DIR pin is tied high again).
      (you should still be able to use that chip, just with the pin pairs swapped for the incorrect JTAG signal directions.)
      And although it's probably a bit overkill, I try to add some low-value series resistors to some user-accesible headers now, as it can help with cleaning up rough signal edges, but also help limit the current if somebody accidentally shorts an IO pin to a power rail.
      I tend to go for say 22R or 33R for that, but it depends on the signal freq etc.

    • @voltlog
      @voltlog  2 ปีที่แล้ว +1

      The QS3861Q seems very interesting, certainly cheaper than the other options and plenty of channels to go around. However currently not in stock and guaranteed logic high starts at 2.0V so it's not good if you plan to go below 2V IO. I am also worried about bi-directional transceivers as many people have had troubles with them, even TI recommends going with simple directional transceivers if possible.

  • @jstro-hobbytech
    @jstro-hobbytech 2 ปีที่แล้ว +1

    It's an impressive feat. Sure there are some set backs but you're not making a cheap Chinese nano clone. This is an original design that is very technical and would require a team of engineers to make if developed by a large company. I say be proud and the third time you'll get it. I can't imagine these were cheap for you to make even with the sponsorship.

    • @voltlog
      @voltlog  2 ปีที่แล้ว

      Thanks! Hopefully I'll have a new version on my workbench in a few weeks. 👍

  • @AnonymousRepair
    @AnonymousRepair 2 ปีที่แล้ว

    look at this chip YF08E

    • @voltlog
      @voltlog  2 ปีที่แล้ว +1

      Looking at that as someone else also pointed it out but I'm worried the bi-directional functionality is unreliable as some people are reporting. Even TI recommend going with a directional transceiver as a primary option.

  • @elektronikvideos-bremen2873
    @elektronikvideos-bremen2873 2 ปีที่แล้ว

    (Level) Shift happens...

  • @lesliepieterse1072
    @lesliepieterse1072 8 หลายเดือนก่อน

    human error 😅