TBC USB3 (Research Box) – Specifica Funzionale e Requisiti Hardware (V1) Versione: 1.1 0) Scopo Realizzare un prototipo (“research box”) per sperimentare e validare l’efficacia del TBC/frame synchronizer del chip ADV7802 su sorgenti analogiche instabili, e costruire una base tecnica per una V2. Criterio di successo V1: - collegato a un PC Linux, il dispositivo enumera come UVC e risulta disponibile come /dev/videoX; 1) Architettura (alto livello) - Video analogico SD (CVBS) -> ADV7802 (decoding + frame sync/TBC + processing base) - Memoria esterna DDR/SDR SDRAM -> necessaria per frame TBC/frame sync (e funzioni 3D se abilitate) - Bridge USB3 -> Cypress FX3 (CYUSB3014) per UVC e trasporto video verso PC - Controller di servizio -> RP2040 per controllo I²C, reset, bring-up e sperimentazione registri Nota: La V1 privilegia riduzione dei rischi e debuggabilità. 2) Ingressi/Uscite fisiche (V1) 2.1 Video - 1 x ingresso video analogico composito (CVBS) su RCA, impedenza nominale 75Ω. 2.2 Audio - 2 x ingressi audio analogici line-level consumer su RCA (L/R). - Audio acquisito tramite ADC stereo dedicato con uscita digitale I²S (o equivalente) verso FX3. 2.3 USB - 1 x USB-C, modalità device-only. - USB 3.0 SuperSpeed. - Il PC deve vedere un dispositivo UVC driverless e creare /dev/videoX. 3) Requisiti UVC/V4L2 (funzionali) - Protocollo: USB Video Class (UVC), compatibile Linux. - Output video: raw non compresso. - Modalità minime richieste (must): - PAL: 720x576 progressive 25 fps, YUV 4:2:2 (es. YUY2/UYVY) - NTSC: 720x480 progressive 29.97 fps, YUV 4:2:2 - Audio integrato nel device (obiettivo), ma priorità iniziale allo streaming video stabile. Nota: Non è obiettivo V1 avere un set completo di controlli V4L2; l’obiettivo principale è /dev/videoX + streaming stabile. L’obiettivo V1 è ottenere un flusso stabile e facilmente acquisibile su Linux; eventuali ottimizzazioni del formato video non sono vincolanti per il layout hardware. 4) Requisiti TBC / memoria - La board deve includere (come da documentazione chip) memoria esterna (DDR/SDR SDRAM) per abilitare frame TBC/frame synchronizer. - Richiesto supporto a procedura di test memoria (Memory BIST o equivalente) pilotabile via I²C per validare l’interfaccia RAM in bring-up. - Routing DDR con matching e regole adeguate (vincolo layout). 5) Controllo e sperimentazione 5.1 Master I²C (vincolante) - RP2040 è l’unico master I²C verso ADV7802. - FX3 non deve essere master I²C verso ADV7802 nella V1. 5.2 RP2040 (controller di servizio) - RP2040 utilizzato per: - controllo I²C ADV7802 - reset e diagnostica - future funzioni di console seriale (USB-CDC) - Predisposizioni HW minime: - linee I²C dedicate con testpoint (SDA/SCL) - collegamento del pin INT dell’ADV7802 a un GPIO del RP2040 + testpoint - reset ADV7802 controllabile via GPIO + testpoint - SWD per debug/programmazione RP2040 Obiettivo: consentire sperimentazione registri ADV7802 indipendentemente dal firmware FX3. 5.3 FX3 - FX3 usato esclusivamente per trasporto video UVC verso PC. - Predisposizioni: - SPI flash per boot standalone e/o accesso certo alla modalità boot USB - testpoint: reset, strap/boot pins, UART log (se prevista) - accesso GPIF II/pixel bus da ADV7802 con clock e segnali valid. 6) Clocking, reset, sequencing - Clock separati e dedicati per: - dominio video (ADV7802) - dominio USB (FX3) - Strategia reset/sequencing definita per ridurre instabilità e facilitare bring-up. - Stato di default sicuro all’accensione (reset/boot deterministici). 7) Alimentazione (Gate 0) - Alimentazione prevista: USB-C 5V senza USB-PD in V1. - Richiesto: stima assorbimento totale (incluse correnti di picco) e verifica sufficienza alimentazione 5V via USB. - Se insufficiente: proposta alternativa prima del layout (PD o alimentazione ausiliaria). 8) PCB - PCB multilayer (stima 6–8 layer, da confermare). - Impedenze controllate per USB3. - DDR: matching e layout conforme. - Separazione analogico/digitale e piani di massa coerenti. - Percorso CVBS corto e controllato (75Ω). 9) Debug/Bring-up - Mappa testpoint: - rail principali - clock ADV7802 - clock FX3 - reset ADV7802 - reset FX3 - I²C (SDA/SCL) - segnali video digitali minimi verso GPIF (almeno PCLK + valid/sync) - INT ADV7802 (OBBLIGATORIO) - Sequenza bring-up prevista: rail -> clock -> reset -> I²C ack ADV -> BIST RAM -> verifica bus video -> USB enumerate. Documentazione chip: https://ez.analog.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-10/1512.ADV7802Manuals.zip https://ez.analog.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-10/4064.ADV7802EvaluationBoardDocuments.zip https://ez.analog.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-10/4478.ADV7802_5F00_2D_5F00_only_5F00_operation.pdf https://ez.analog.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-10/2330.ADV7802ExternalMemoryTest.pdf