Witam
Swój kod częściowo wzorowałem na kodzie kitu AVT2660.
Kit bezproblemowo obsługuje napęd LG i TEAC CD-224-E na którym mi zależy.
Mój obsługuje bezproblemowo napędy LG ale tego TEAC ugryźć nie potrafię.
Schemat interface I2C na ATA:
Jedyna różnica w podłączeniu to brak podłączenia linii INTRQ (w AVT2660 jest wykorzystywany) i podłączenie sprzętowego RESET (który w AVT2660 nie jest wykorzystywany). Linia ta używana jest w funkcji identyfikacji napędu (tylko w jednym miejscu i zastąpiłem ją delay 5s).
Napęd LG błędnie odczytuje nazwę ale prawidłowo z punktu widzenia napędu wystawia DRQ i program idzie dalej, W przypadku TEAC zamiast nazwy są same FF lub czasami inne powtarzające się wartości i napęd nie wystawia DRQ przez co wisi w tej pętli.
TEAC:
LG:
Co robię źle, że jeden napęd działa bezproblemowo a drugi nie pomimo, że sam napęd w tym trybie działa ? (sprawdzone w innym urządzeniu).
Swój kod częściowo wzorowałem na kodzie kitu AVT2660.
Kit bezproblemowo obsługuje napęd LG i TEAC CD-224-E na którym mi zależy.
Mój obsługuje bezproblemowo napędy LG ale tego TEAC ugryźć nie potrafię.
Schemat interface I2C na ATA:
Jedyna różnica w podłączeniu to brak podłączenia linii INTRQ (w AVT2660 jest wykorzystywany) i podłączenie sprzętowego RESET (który w AVT2660 nie jest wykorzystywany). Linia ta używana jest w funkcji identyfikacji napędu (tylko w jednym miejscu i zastąpiłem ją delay 5s).
Napęd LG błędnie odczytuje nazwę ale prawidłowo z punktu widzenia napędu wystawia DRQ i program idzie dalej, W przypadku TEAC zamiast nazwy są same FF lub czasami inne powtarzające się wartości i napęd nie wystawia DRQ przez co wisi w tej pętli.
TEAC:
LG:
Co robię źle, że jeden napęd działa bezproblemowo a drugi nie pomimo, że sam napęd w tym trybie działa ? (sprawdzone w innym urządzeniu).
Kod: C / C++