W zasadzie jest to kontynuacja tematu sprzed paru dni związana z JTAGiem. Niestety porady z poprzedniego wątka nie pomogły. W międzyczasie wykonałem parę eksperymentów, które opiszę. Problem dotyczy "zacinającego" się zagara.
Najpierw odnośnie fragmentu projektu:
1) Do FPGA(XC6SLX45) wjeżdża zegar 20MHz parą różnicową LVDS z kostki AD9512. Używam wyjść OUT3 i OUT4 (standard LVDS).2) W FPGA daję bufor IBUFGDS (ustawiam terminację na TRUE), jadę z wyjścia na CLK licznika i z dowolnego bitu wychodzę na zewnątrz i obserwuję na oscyloskopie.
3) Wszystkie banki mają VCCO=2.5V, VCCAUX też 2.5V4) Napięcie 2.5V robię z napięcia USB (5V) z wykorzystaniem ADP2106. Schemat na pierwszej stronie:
==========================
No i teraz jaja:
1) spinam wszystko do kupy, programuję JTAGIEM układ, wszystko jest cacy, przebiegi na oscylu eleganckie i stabilne.2) Teraz wystarczy że odłączę zasilanie do XILINX platform cable, czyli wyjmę dziada z portu USB, no i przebieg na oscylu dostaje "czkawki".
3) Robię kolejny eksperyment: programuję flasha konfiguracyjnego tak, aby konfiguracja FPGA robiła się bez wykorzystania JTAGa. OK, FPGA się konfiguruje prawidłowo, ale nadal "czkawka".4) Wpinam z Xilinx Platform Cable do swojego badziewia tylko 2 druty: GND i VREF. Moje_Badziewie_2.5V => X_P_Cable_VREF. I zaś to samo, jeżeli zasilanie XPC jest włączone, to wszystko jest OK. Jeżeli nie, to "czkawka".
5) Aha, czyli gdzieś tutaj jest jajco. Robię podstawowe pomiary na samym XPC na wejściu VREF. Napięcie zgodnie z przewidywaniami na VREF=0V bez względu na to czy XPC jest podłączone do USB czy nie. Natomiast rezystancja pomiędzy VREF a GND jest oo przy nie zasilonym XPC i 40Kohm przy zasilonym.6) Eksperymentuję z różnymi wartościami dodatkowego obciążenia na moim badziewiu (VREF<=>GND), dalej "czkawka".
Nosz k@#$a !!! Brak mi dalej pomysłów. Co Wy na to? Najchętniej podglądnął bym schemat Xilinx Platform Cable. Macie jakiś namiar?