Colorlight – skener všech FPGA I/O pinů

Colorlight – skener slouží k fyzickému zjištění přiřazení kontaktů SO-DIMM konektoru k pinům FPGA na SO-DIMM modulech Colorlight i5, i5+ a i9. Sleduje všech 194 (200 na i9) dostupných uživatelských I/O pinů pouzdra CABGA381, které nepotřebuje pro vlastní běh.

Skener jsem vytvořil pro ověření správnosti elektrického propojení SO-DIMM modulu s konektorem na PCB vlastní aplikace a pro kontrolu správného přiřazení jednotlivých signálů I/O.

Skener lze použít také k fyzickému ověření přiřazení vývodů součástek k pinům FPGA přímo na modulu. Některé piny FPGA však mohou být prostřednictvím připojených součástek již pevně drženy na určitém potenciálu. Pokud je takový pin trvale stažen na úroveň LOW, skener jej bude indikovat jako aktivní a jeho přiřazení proto nelze tímto způsobem jednoznačně určit.

FPGA SO-DIMM moduly Colorlight

I5-v7.0
Modul Colorlight i5 v7.0 s demontovaným pasivním chladičem.
I9-v7.2
Modul Colorlight i9 v7.2 s demontovaným pasivním chladičem.

 

Obrázky jsou použité z https://github.com/wuxx/Colorlight-FPGA-Projects


Vyloučené FPGA piny

Funkce FPGA pin Režim
Hodiny P3 vstup 25 MHz
UART J17 jediný aktivní datový výstup, 115200 Bd, 8N1
Zelená LED U16 (L2)* diagnostika průchodu úvodního banneru

* U16 – i5 i5+, L2 – i9

Skenované FPGA piny

Funkce FPGA pin Režim
scan_i[193:0] zbývajících 194 PIO pinů pouze vstup, interní weak pull-up

Piny bank 3 a 8 jsou v projektu deklarované jako LVCMOS25. Banky 0, 1, 2, 6 a 7 jsou deklarované jako LVCMOS33. Deklarace I/O standardu napětí banky nevytváří ani nemění: interní pull-up se fyzicky vytahuje k reálnému VCCIO dané banky. Napětí proto ověř multimetrem na Ext-Boardu.

Sestavení

Spusť:

project\VYTVORIT_A_BUILD_I5.bat
project\VYTVORIT_A_BUILD_I9.bat

Očekávaný bitstream:

project\output\i5_v7\i5_pin_scanner_i5_v7.bit
project\output\i5_v7\i9_pin_scanner_i9_v7_2.bit

Programuj pouze volatilní SRAM přes HW-USBN-2A. Neprogramuj externí SPI Flash.

Terminál a start

Nastav USB COM Ext-Boardu na 115200 Bd, 8 datových bitů, bez parity, 1 stop bit a bez flow control. FPGA začne vypisovat ihned po synchronním uvolnění PLL resetu:

COLORLIGHT I5 FPGA INPUT SCANNER R10
UART 115200 8N1 TX=J17
MONITORED FPGA IOS: 194
EXCLUDED: P3 J17 U16
READY

Před každým bannerem je jedna sekvence CR+LF, aby se banner nepřipojil za poslední detekci. Za READY jsou dvě sekvence CR+LF, tedy jeden prázdný řádek. Pro diagnostiku se celý banner opakuje přibližně každých 2,68 s nečinnosti. Po dokončení prvního banneru skener sejme klidový stav všech vstupů a zůstane aktivní i při opakování.

Projekt skeneru používá pro výpisy na terminál service_uart.v a knihovní uart_tx.v. Plánovač a formátovač zpráv jsou oddělené. data_valid zůstává aktivní a znak se nemění, dokud jej UART nepotvrdí signálem data_ready.

Zelená LED rozlišuje tři stavy:

  • pomalá perioda asi 0,67 s: konzole se po resetu vůbec nespustila,
  • střední perioda asi 0,34 s: konzole běží, ale vyslání první banneru nebyl dokončeno,
  • rychlá perioda asi 0,17 s: všech 120 bajtů prvního banneru bylo vysláno UARTem.

Měření SO-DIMM

  1. Připoj jeden konec měřicího vodiče ke GND desky.
  2. Do hrotu zapoj sériový rezistor 1 kΩ. 470 Ω je také možné minimum.
  3. Počkej na READY. Při startu nedrž žádný kontakt v nule.
  4. Dotkni se hrotem jednoho signálového kontaktu SO-DIMM a drž jej alespoň 200 ms.
  5. Terminál žlutě vypíše například LOW BALL= A6 BANK=0. Detekční řádek je obalen standardními ANSI sekvencemi ESC[33m a ESC[0m.
  6. Po odpojení hrotu obvykle následuje HIGH BALL= A6 BANK=0.

Změna musí být shodná ve všech 64 vzorcích jednoho 64ms okna. Protože dotyk může začít uprostřed okna, drž hrot přibližně 200 ms. To potlačuje zákmit i rychlé hodinové/datové signály osazených obvodů. Piny, které byly v nule už při READY, nevyvolají počáteční hlášení; hlásí se až jejich pozdější stabilní změna.

Podle specifikace i5 jsou cílové signálové kontakty 41, 42, 44, 46, 48–52, 54, 57–104 a 109–156. Nedotýkej se napájecích, zemních ani Ethernet kontaktů. SO-DIMM 41/U16 a SO-DIMM 84/J17 jsou již známé servisní výjimky a skener je nesleduje; J17 je aktivní výstup UART TX.

H18 / SO-DIMM 86

Pokud je SO-DIMM modul vložen ve vývojové desce Ext-Board, běžící MCU STM32 drží svůj UART TX na H18 v logické jedničce. Sériový rezistor 1 kΩ na hrotu pak pouze omezí proud a nestáhne vodič pod vstupní práh logické nuly FPGA a pin H18 nebude detekován.


Projekt

Kompletní sestavený projekt, včetně vygenerovaného bitstreamu, je distribuován jako jediný ZIP soubor.

Translate »