okrayo wrote:
Nice! Just some corrections:
C2: 1uF
C4: 1uF
Rok1: 330Ω
...
I approve whatever you want!

Thanks, I corrected these and the EEPROM refdes and committed them to the repo. I also added a TI USB Graph Link Breadboard Edition section to the README detailing your breadboard and component changes.

I think I've managed to track down a TUSB3410 to try and replicate this breadboard setup. I'll update this thread if that works out. I'm thinking about taking this design to something that is more easily and cheaply sourced, like an RP2040. In order to do that, I need to understand the firmware more completely. I've disassembled all of it, except for these 209 bytes at the end which are probably data.

One interesting thing I've observed in the firmware is there is a routine to write to the EEPROM and it is actually called within some USB handler. I don't understand the USB code well enough to know what data it is being provided or their data sizes, but I suspect the top-level entry point can be the RSTR interrupt. This is probably why the EEPROM WP pin is grounded in the USB Graph-Link design.

Good news, I was able to find a local distributor who had exactly one TUSB3410VF (LQFN package) in their inventory and was able to get it shipped. It took a little while to get it soldered, but in the end was able to replicate okrayo's breadboard setup. I also picked up on TUSB3410RHB (VQFN package), but haven't tried to mount it yet.

Although I had to order some of the components, I did not end up making many BOM changes:

  • R7/R9 USB series resistors: used original 22Ω
  • C1/C5 crystal caps: 20pF
  • U1 EEPROM: used DIP version of original 24LC64
  • D1A/D1B Schottky diodes: MBR160RLG

For Linux/macOS people: programming the EEPROM worked very well with minipro open source tools.

Code:
minipro -s -p 24LC64 -w ti_graph_link_silver.eep


After replicating the schematic on the breadboard, I still had an issue that took a little while to debug because I actually had an error in the original "B" schematic! The R4 `PUR` pull-up-resistor should be connected to D+, not D- as I had originally. I corrected these in the "B" and "okrayo" breadboard schematics.


Below are images of the construction of my version of the breadboard using TUSB3410 and connectivity with macOS and TI Connect. I tried, but not nearly as clean as okrayo's breadboard Smile



queueRAM wrote:

After replicating the schematic on the breadboard, I still had an issue that took a little while to debug because I actually had an error in the original "B" schematic! The R4 `PUR` pull-up-resistor should be connected to D+, not D- as I had originally. I corrected these in the "B" and "okrayo" breadboard schematics.


Very good catch! I wonder why I didn't make the same mistake? My guess is that I was also looking at figure 6-3 in the datasheet and thought "1.5kΩ between pins 5 and 6, easy to bread board!" Also there is another small difference: I connected the 1.5kΩ after the D+ resistor as indicated in figure 6-3 of the datasheet, not before as in the corrected schematic. 1.5kΩ is so much bigger than 33Ω that it most likely doesn't matter where is connected though.

okrayo wrote:
Also there is another small difference: I connected the 1.5kΩ after the D+ resistor as indicated in figure 6-3 of the datasheet, not before as in the corrected schematic. 1.5kΩ is so much bigger than 33Ω that it most likely doesn't matter where is connected though.

You definitely must have read the datasheet closely instead of blindly following the schematic like I had done at first Smile
Thank you for this correction. You're absolutely right, both the datasheet and the schematic for the TUSB3410 Eval Board SLLU041 (PDF) have the 1.5kΩ pullup after the series 33Ω resistor. However, the USB Graph Link definitely has the R4 pull-up before R8 series resistor, as you can see in the PCB photo. I also just double-checked with a multimeter there wasn't some tricky PCB routing. The "B" schematic is accurate, but I have updated your breadboard schematic to reflect this correction.

  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement