Git Product home page Git Product logo

ti_graph_link's Introduction

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 2 PDF or KiCad. TI Silver Graph Link "B" Schematic

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

ti_graph_link's People

Contributors

queueram avatar logicaljoe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.