Skip to content

queueRAM/ti_graph_link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TI-Graph Link adapters

This repository contains information about three types of TI-Graph Link adapters:

TI-Graph Link serial (grey)

The grey TI-Graph Link cable uses a DB-25 serial connector and works with Windows and Macintosh computers. Merthsoft's Link Cables page contains some basic information about this cable. TI-Graph Link serial grey

TI-Graph Link serial (black)

The black serial Graph Link cable was the later revision with a female DB-9 connector and is only intended to work with Windows PCs. TI-Graph Link serial black

TI-Graph Link serial black annotated PCB

Black Link: Schematic

Full schematic is included in the repository as TI-Graph Link serial (black) PDF or KiCad. TI-Graph Link serial (black) Schematic

  • CNTR: connector for serial port control lines
  • CR3/CR4: M1M diodes to supply power from RTS/DTR control lines
  • C1/C2: bypass caps
  • U1: LM339AM single supply quad comparator
  • CR6/CR7/CR8: diodes for inverting input and pullups
  • R6/R10: pullups for inverting input and link port
  • R1/R2/R3/R4/R5/R7/R8/R9: graph link circuitry around LM339
  • JACK: 2.5mm 3-conductor graph link jack

TI USB Graph Link (Silver)

There are two hardware models of the Silver Graph Link USB cable: "A" and "B" as denoted by the last character of its production code. Most graph link cables contain a production code on the back label in the following format: FMMYYH:

  • F - Factory: I (Taiwan), S (China), P (China)
  • MM - Month of manufacture
  • YY - Year of manufacture
  • H - Hardware: either "A" or "B" (see description below)

The "A" version uses a Cypress CY7C64013 chipset and was manufactured from sometime in the early 2000s through March 2003. Starting around April 2003 through 2010, the "B" hardware version using the TI TUSB3410 was manufactured.

Silver Link "A": Cypress CY7C64013

Some info about the "A" TI Silver Link is documented here: http://merthsoft.com/linkguide/usbdevices/SilverLink%20USB.txt Silver Link "A" CY7C64013

Silver Link "A": Schematic

Full schematic is included in the repository as "A" Rev 1 PDF or KiCad. Silver Link "A" Schematic

Cypress CY7C64013

Cypress M8 Series (M8 Core w/ 8K EPROM)

The CY7C64013 is a Full-Speed USB microcontroller made by Cypress. It uses a 6MHz external clock source. The CPU uses a proprietary 8-bit RISC M8 architecture and is clocked at 12MHz.

GPIO connectivity

Graph Link GPIO SOIC Pin
Tip (red) P0[0] 17
Ring (white) P0[1] 13

Silver Link "B": TI TUSB3410

Silver Link "B" TUSB3410

Silver Link "B": Schematic

Full schematic is included in the repository as "B" Rev 3 PDF or KiCad. TI Silver Graph Link "B" Schematic rev3

GPIO connectivity

Graph Link GPIO VQFN Pin
Tip (red) P3.3 30
Ring (white) P3.4 29

EEPROM data

The EEPROM data contains a header which is first read by the bootloader in the TUSB3410 ROM. If the header matches the expected format, the size as is described in the header is read out from the EEPROM into Code RAM. The bootloader then jumps to this code.

Autoexec Binary Firmware:

OFFSET TYPE SIZE VALUE DESCRIPTION
0x0000 Signature0 1 0x10 FUNCTION_PID_L
0x0001 Signature1 1 0x34 FUNCTION_PID_H
0x0002 Data Type 1 0x07 Autoexec binary firmware
0x0003 Data Size(low byte) 1 0x00 0x1400 bytes of application code
0x0004 Data Size(high byte) 1 0x14
0x0005 Check Sum 1 0x5a Checksum of the following firmware
0x0006 Program 0x1400 Binary application code
0x1406 Data Type 1 0x00 End of header

Silver Link "B": Firmware

TUSB3410 contains an 8052 microprocessor. The application code contained within the EEPROM is responsible for receiving commands over USB and communicating with the calculator over its PORT3 GPIO.

Building Firmware

The disassembled firmware can be built using sdcc and the included makefile build system. The resulting .eep file should be bit-compatible with the EEPROM contents. Build dependencies are:

  • sdcc: versions 3.8.0 through 4.2.0 have been tested
  • GNU make
  • Python 3: for the script which generates the Autoexec header and checksum
$ make
sdas8051 -lops ti_graph_link_silver.asm
sdcc -mmcs51 --code-size 0x1400 ti_graph_link_silver.rel -o ti_graph_link_silver.hex
makebin -p ti_graph_link_silver.hex ti_graph_link_silver.bin
./tools/generate_eeprom.py ti_graph_link_silver.bin ti_graph_link_silver.eep
ti_graph_link_silver.bin: OK

TI USB Graph Link Breadboard Edition

User "okrayo" on the Cemetech forums recreated the TI USB Graph Link "B" on a breadboard using a TUSB3410 and through-hole alternatives for the power supply, transistors, diodes, and passive components. Since this uses the same USB chipset and firmware as the official Silver USB Graph-Link, this works with existing SW and TI graphing calculators with 2.5mm data port.

TI USB Graph Link Breadboard Edition

Component Replacements

The table below enumerates the part replacements that "okrayo" used in the design relative to the original "B" schematic. In addition to these parts, the following modifications were made:

  • Added 0.1µF decoupling capacitor between 1V8 and GND
  • Removed the L2/C9 L1/C10 filter on tip and ring connections
  • Added LED + 330Ω resistor on 3V3
  • Left 24LC256 WP pin disconnected to prevent inadvertent writes
RefDes Description "B" Part Breadboard Part
C1/C5 Xtal caps 33pF SMT 22pF through-hole
D2 Suspend Diode CH461FGP 1N4148
R8/R9 USB D+/D- Res. 22Ω 27Ω
R20/R21 1V8 voltage divider 90.5k/100kΩ 15k/18kΩ
R24 VREGEN Resistor 32.4kΩ 33kΩ
U2 3.3V volt. regulator TPS71533 MCP17003302E
U4 Transistors IMH8A 2x PN2222A
U1 EEPROM 24LC64 24LC256
D1 Schottky Diodes RB471E 2x MBR150

TI USB Graph Link Breadboard Edition: Schematic

Full schematic is included in the repository as TI Graph-Link "okrayo" Breadboard PDF or KiCad. TI Graph Link "okrayo" Breadboard Schematic rev3

About

Reverse engineering TI Graph Link cables

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published