The story so far...

Update: Row scanning working.

Known/working:

Unknown

Unimplemented



Panel LEDs

Contributors: @Richard Aplin, @modder_mike

The panel is divided into twelve segments of 16x6.  Each segment is driven by three Texas Instruments TLC5941 16-channel LED drivers.  Each driver controls one color of the tri-color LEDs.  The three drivers have their serial data cascaded, with the first controller in the cascade being Red, then Green, then Blue.  Anode voltage is switched to each of the six rows of LEDs in sequence via a transistor controlled by the CPLD.

The 96 LEDs in the segment are controlled by only 16 driver channels by multiplexing the rows' LED anode voltage (TLC5941 switches the cathode side).  Each of the 36 rows has a transistor between the panel's +4.5V input and the LED anodes.  All like-numbered rows' transistors are connected to a common control pin on the CPLD.  The CPLD cycles through them in sequence as instructed by the FPGA, synchronized with the incoming display data.

Take care when rewriting HDL for the FPGA.  Because the LEDs are expecting to be run at only 1/6 duty cycle, they may theoretically be damaged if they are not cycled as quickly by user HDL.  (For experimenting, consider using the calibration LEDs on the rear of the panel, which are not multiplexed.)

There are three I2C devices on the LED panel, an EEPROM, a temperature sensor and an ambient light sensor used for brightness calibration.

Most of the LED driver control pins are brought out to the data connector by way of two buffers.  The remaining signals (SOUT for each driver string) are fed to the CPLD.


Back Panel Connectors

Contributors: @Richard Aplin, @modder_mike, @Chankster@Ian Hanschen

Input connector (TE AMP 206486-2 -  mates with 206485-1)

PinFunctionFPGA PinFPGA LVDS PairFPGA Direction
1+VIN. Connected to a Linear LTC1778.
Recommend 14.5-24V.
---
2-1172NIN
3-
1203NIN
4-
1131NOUT
5-
1121POUT
6GND---
7-
1162PIN
8-
1193PIN
9No discernible connection
---


Output connector (TE AMP 206433-2, mates with 206434-1)

PinFunctionFPGA PinFPGA LVDS PairFPGA Direction
1+VOUT---
2GND---
3-1342POUT
4-1311NOUT
5-128PIN
6-1352NOUT
7-1301POUT
8-129NIN


JTAG Pinout

Contributors: @Richard Aplin

Tap C103 for JTAG VREF. FPGA JTAG configured for 2.5V, do not use pin 4 - your FPGA will be harmed.

PinFunctionPinFunction
1 (near R103)TCLK2GND
3TDO4☠️ 3.3V ☠️
5TMS06GND
7NC
8GND
9TDI10GND


Xilinx XC3S250E FPGA Pinout

Contributors: @modder_mike, @Richard Aplin

Note that the SRAM and the Flash share an interface bus.  Also note that the JTAG interface is 2.5V logic.

PinFunctionPinFunction
1PROG_B (Pullup to +2.5V)73GND
2LED_L1_SIN74SRAM_A16; FLASH_A15
3LED_L2_SIN75SRAM_A15; FLASH_A14
4LED_L3_SIN76SRAM_A14; FLASH_A13
5LED_R1_SIN77SRAM_A13; FLASH_A12
6Not yet mapped78Not yet mapped
7LED_R2_SIN79VCCO_1 (+3.3V)
8LED_R3_SIN80VCCINT (+1.2V)
9VCCINT (+1.2V)81SRAM_A12; FLASH_A11
10LED_XERR82SRAM_A11; FLASH_A10
11GND83FLASH_RESET#
12Not yet mapped 84Not yet mapped
13VCCO_3 (+3.3V)85SRAM_A10; FLASH_A9
14LED_L4_SIN86SRAM_A9; FLASH_A8
15LED_L5_SIN87SRAM_A8; FLASH_A7
16LED_L6_SIN88SRAM_A7; FLASH_A6
17LED_R4_SIN89Not yet mapped
18Not yet mapped90GND
19GND91SRAM_A6; FLASH_A5
20LED_R5_SIN92SRAM_A5; FLASH_A4
21LED_R6_SIN93SRAM_A4; FLASH_A3
22LED_CAL_SIN94SRAM_A3; FLASH_A2
23CPLD_PIN_4495Not yet mapped
24CPLD_PIN_696SRAM_A2; FLASH_A1
25I2C_SCL97SRAM_A1; FLASH_A0
26I2C_SDA98SRAM_A0; FLASH_DQ15/A-1
27GND99GND
28VCCO_3 (+3.3V)100VCCO_1 (+3.3V)
29Not yet mapped101Not yet mapped
30VCCAUX (+2.5V)102VCCAUX (+2.5V)
31SRAM_CE#103SRAM_WE#; FLASH_WE#
32LED_XLAT104FLASH_CE#
33LED_MODE105FLASH_OE#
34LED_BLANK106Not yet mapped
35SRAM_OE#107FLASH_RY/BY#
36Not yet mapped108JTAG_TMS
37GND109JTAG_TDO
38Not yet mapped110JTAG_TCK
39VFAN_ENABLE111FAN_TACHOMETER
40Not yet mapped112INPUT_CONN_PIN_5
41Not yet mapped113INPUT_CONN_PIN_4
42VCCO_2 (+3.3V)114Not yet mapped
43SRAM_BHE#115VCCINT (+1.2V)
44SRAM_BLE#116INPUT_CONN_PIN_7
45VCCINT (+1.2V)117INPUT_CONN_PIN_2
46GND118GND
47Not yet mapped119INPUT_CONN_PIN_8
48Not yet mapped120INPUT_CONN_PIN_3
49VCCO_2 (+3.3V)121VCCO_0 (+2.5V)
50SRAM_IO7; SRAM_IO15; FLASH_DQ7122VFAN_ADJUST
51SRAM_IO6; SRAM_IO14; FLASH_DQ6123CPLD_PIN_8
52SRAM_IO5; SRAM_IO13; FLASH_DQ5124CPLD_PIN_3
53SRAM_IO4; SRAM_IO12; FLASH_DQ4125CPLD_PIN_2
54SRAM_IO3; SRAM_IO11; FLASH_DQ3126CPLD_PIN_5
55GND127GND
56OSC_40MHz128OUTPUT_CONN_PIN_5
57Not yet mapped129OUTPUT_CONN_PIN_8
58SRAM_IO2; SRAM_IO10; FLASH_DQ2130OUTPUT_CONN_PIN_7
59SRAM_IO1; SRAM_IO9; FLASH_DQ1131OUTPUT_CONN_PIN_4
60DIAGNOSTIC_LED_YELLOW132CPLD_PIN_43
61GND133GND
62DIAGNOSTIC_LED_RED134OUTPUT_CONN_PIN_3
63SRAM_IO0; SRAM_IO8; FLASH_DQ0135OUTPUT_CONN_PIN_6
64VCCO_2 (+3.3V)136Not yet mapped
65VCCAUX (+2.5V)137VCCAUX (+2.5V)
66FLASH_A19138VCCO_0 (+2.5V)
67FLASH_A18139LED_SCLK
68FLASH_A17140LED_GSCLK
69Not yet mapped141Not yet mapped
70SRAM_A17; FLASH_A16142CPLD_PIN_42
71DIAGNOSTIC_LED_ORANGE143CPLD_PIN_41
72DONE (Pullup to +2.5V)144JTAG_TDI


I²C Bus

Contributors: @modder_mike

AddressHexPartRemarks
0b0111001x0x39Taos TSL2560 Device maker/model unverified
0b1001000x0x48Analog Devices AD7416LED Panel temperature sensor
0b1001001x0x49Analog Devices AD7416Control Board temperature sensor
0b1010000x0x50Atmel AT24C512LED Panel EEPROM
0b1010001x0x51Atmel AT24C512Control Board EEPROM


LED Panel Connectors

Contributors: @modder_mike 

Power connector:

4GND
3GND
2+4.56V
1+4.56V

Data Connector:

CPLD_PIN_6*6030VIN
CPLD_PIN_44*5929VIN
CPLD_PIN_43*5828GND
CPLD_PIN_42*5727I2C_SDA
CPLD_PIN_41*5626I2C_SCL
LED_GSCLK5525LED_BLANK
LED_XLAT5424LED_MODE
CPLD_PIN_8*5323CPLD_PIN_2*
CPLD_PIN_5*5222CPLD_PIN_3*
+3.3V5121+3.3V
+3.3V5020+3.3V
+3.3V4919+3.3V
+3.3V4818+3.3V
GND4717GND
GND4616LED_XERR
GND4515LED_CAL_SIN
LED_R6_SIN4414GND
GND4313LED_R5_SIN
LED_R4_SIN4212GND
GND4111LED_L6_SIN
LED_L5_SIN4010GND
GND399LED_L4_SIN
LED_R3_SIN388GND
GND377LED_R2_SIN
LED_R1_SIN366GND
GND355LED_L3_SIN
LED_L2_SIN344GND
GND333LED_L1_SIN
GND322GND
GND311LED_SCLK

*CPLD pins are not yet mapped to functions.  CPLD functions include cycling through rows, routing SOUT data from LED drivers, and six pins mapped to transistors scattered across the board with yet unknown function.

As we solidify our analysis, @Ian Hanschen will add documentation (digested from the logs) here. Sometimes I'll lift the whole log. I don't have everything here yet, will keep adding more as we go.