-
1. Data: 2016-08-22 20:29:05
Temat: Raspberry Pi + codec audio na I2S
Od: Atlantis <m...@w...pl>
Próbuję w tej chwili podłączyć Raspberry Pi Zero do modułu z układem
wm8731. System wykrywa chip na magistrali i2c. Pierwotnie posługiwałem
się tym opisem:
http://blog.koalo.de/2013/05/i2s-support-for-raspber
ry-pi.html
Pominąłem jedynie opis poświęcony kompilowaniu jądra, bo AFAIK od
jakiegoś czasu niezbędne moduły są już standardowo dołączane do Rapbiana
Jessie. Niestety stosowanie się do tej instrukcji nie przynosiło żadnych
efektów - w systemie nie pojawiała się żadna nowa karta dźwiękowa.
Trochę doczytałem i wygląda na to, że w nowszych wersjach systemu
ładowanie modułów odbywa się przez wpisy w /boot/config.txt
Dodałem więc następujące wpisy:
dtparam=i2s=on
dtoverlay=i2s-mmap
dtoverlay=rpi-proto
Po restarcie nastąpił połowiczny sukces "aplay -l" pokazuje kartę
dźwiękową, jednak dmesg pokazuje następujące błędy podczas startu systemu:
[ 9.949830] snd-rpi-proto soc:sound: ASoC: CPU DAI (null) not registered
[ 9.949873] snd-rpi-proto soc:sound: snd_soc_register_card() failed: -517
[ 10.033350] snd-rpi-proto soc:sound: ASoC: CODEC DAI wm8731-hifi not
registered
[ 10.033391] snd-rpi-proto soc:sound: snd_soc_register_card() failed: -517
Nie jestem też w stanie niczego odtworzyć za pośrednictwem tej karty - w
głośnikach cisza, a w dmesg kolejne błędy:
[ 175.093402] bcm2835-i2s 20203000.i2s: I2S SYNC error!
[ 176.125304] bcm2835-dma 20007000.dma: DMA transfer could not be
terminated
[ 176.126270] bcm2835-i2s 20203000.i2s: I2S SYNC error!
[ 176.265806] bcm2835-dma 20007000.dma: DMA transfer could not be
terminated
Ktoś ma jakiś pomysł? problem prawie na pewno nie jest sprzętowy.
Próbowałem na dwóch różnych Raspberry Pi i wielokrotnie sprawdzałem
połączenia.
-
2. Data: 2016-08-22 21:40:31
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Artur Miller <n...@n...com>
W dniu 2016-08-22 o 20:29, Atlantis pisze:
> Próbuję w tej chwili podłączyć Raspberry Pi Zero do modułu z układem
> wm8731. System wykrywa chip na magistrali i2c. Pierwotnie posługiwałem
> się tym opisem:
>
[...]
>
>
> Ktoś ma jakiś pomysł? problem prawie na pewno nie jest sprzętowy.
> Próbowałem na dwóch różnych Raspberry Pi i wielokrotnie sprawdzałem
> połączenia.
>
z I2S kiedyś walczyłem, niestety nie na Raspie, tylko na DSP TI, ale...
sam I2S ma kilka trybów (podobnie jak SPI) rózniących się polaryzacją
zegara, liczbą bitów, kodowaniem kanałów itp. Jak się format nadawania
nie zgadza z wymaganym przez kodek - nie zadziała. Polecam DOKŁADNĄ
lekturę datasheetów.
a.
-
3. Data: 2016-08-22 22:02:33
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Atlantis <m...@w...pl>
W dniu 2016-08-22 o 21:40, Artur Miller pisze:
> z I2S kiedyś walczyłem, niestety nie na Raspie, tylko na DSP TI, ale...
> sam I2S ma kilka trybów (podobnie jak SPI) rózniących się polaryzacją
> zegara, liczbą bitów, kodowaniem kanałów itp. Jak się format nadawania
> nie zgadza z wymaganym przez kodek - nie zadziała. Polecam DOKŁADNĄ
> lekturę datasheetów.
Tylko co mi dadzą datasheety, jeśli używam Raspberry Pi?
Nie znam się na Linuksie na tyle, żeby myśleć o napisaniu własnego
sterownika. Mogę jedynie operować na tym, co już jest w systemie i
zastanawiać się, dlaczego nie działa.
-
4. Data: 2016-08-22 22:05:34
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Artur Miller <n...@n...com>
W dniu 2016-08-22 o 22:02, Atlantis pisze:
> W dniu 2016-08-22 o 21:40, Artur Miller pisze:
>
>> z I2S kiedyś walczyłem, niestety nie na Raspie, tylko na DSP TI, ale...
>> sam I2S ma kilka trybów (podobnie jak SPI) rózniących się polaryzacją
>> zegara, liczbą bitów, kodowaniem kanałów itp. Jak się format nadawania
>> nie zgadza z wymaganym przez kodek - nie zadziała. Polecam DOKŁADNĄ
>> lekturę datasheetów.
>
> Tylko co mi dadzą datasheety, jeśli używam Raspberry Pi?
> Nie znam się na Linuksie na tyle, żeby myśleć o napisaniu własnego
> sterownika. Mogę jedynie operować na tym, co już jest w systemie i
> zastanawiać się, dlaczego nie działa.
>
dadzą to, że zapewne da się jakoś konfigurowac I2S w tym Linuxie. I
warto go tak skonfigurować, jak potrzebuje tego kodek.
a.
-
5. Data: 2016-08-23 06:09:14
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Atlantis <m...@w...pl>
W dniu 2016-08-22 o 22:05, Artur Miller pisze:
> dadzą to, że zapewne da się jakoś konfigurowac I2S w tym Linuxie. I
> warto go tak skonfigurować, jak potrzebuje tego kodek.
Takimi niskopoziomowymi operacjami raczej zajmuje się steronik. Wątpię,
żeby użtykownik miał coś do powiedzenia.
-
6. Data: 2016-08-23 08:03:17
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Artur Miller <n...@n...com>
W dniu 2016-08-23 o 06:09, Atlantis pisze:
> W dniu 2016-08-22 o 22:05, Artur Miller pisze:
>
>> dadzą to, że zapewne da się jakoś konfigurowac I2S w tym Linuxie. I
>> warto go tak skonfigurować, jak potrzebuje tego kodek.
>
> Takimi niskopoziomowymi operacjami raczej zajmuje się steronik. Wątpię,
> żeby użtykownik miał coś do powiedzenia.
>
na niechęć do posiadania wiedzy ja już nic nie poradzę :)
a.
-
7. Data: 2016-08-23 08:37:04
Temat: Re: Raspberry Pi + codec audio na I2S
Od: wchpikus <w...@w...wp.pl>
na początek sprawdź czy cokolwiek masz na linii i2s, zegar, jakieś dane,
cokolwiek (oscyloskopem).
Potem możesz się bawić w ustawianie i2s..
http://cdn.sparkfun.com/datasheets/Dev/Arduino/Shiel
ds/WolfsonWM8731.pdf
-
8. Data: 2016-08-23 08:56:02
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Atlantis <m...@w...pl>
W dniu 2016-08-23 o 08:03, Artur Miller pisze:
> na niechęć do posiadania wiedzy ja już nic nie poradzę :)
Jaką niechęć? Przeczytałem dokumentację poświęconą konfiguracji
interfejsu i2s w Raspberry Pi oraz poszczególnych kart audio (w moim
przypadku układ ma byś software'owo kompatybilny z rpi-proto).
Nie było tam ani słowa o konfiguracji interfejsu. W ogólne nie było
wyszczególnionych żadnych opcji konfiguracyjnych. Zakładam więc, że są
one hardkodowane w driverze. Bo niby czemu miałoby być inaczej? Wiadomo
jaki układ zastosowano w danej karcie, więc wystarczy raz podać
odpowiadające mu parametry. Ingerencja użytkownika jest całkowicie zbędna.
-
9. Data: 2016-08-23 09:30:35
Temat: Re: Raspberry Pi + codec audio na I2S
Od: Atlantis <m...@w...pl>
W dniu 2016-08-23 o 08:37, wchpikus pisze:
> na początek sprawdź czy cokolwiek masz na linii i2s, zegar, jakieś dane,
> cokolwiek (oscyloskopem).
Niestety mój jedyny oscyloskop to zabytek, który nadaje się właściwie
tylko do pracy z układami analogowymi. Nie ma wyzwalania zboczem ani
pamięci.
Prosty analizator stanów logicznych wystarczy? Mam go podpiąć do
magistrali i2s zamiast karty dźwiękowej, czy podłączyć go równolegle,
jako kolejne urządzenie na magistrali?
Rozumiem, że po i2s lecą tylko próbki dźwięku, a sterowanie odbywa się
poprzez i2c?
-
10. Data: 2016-08-23 09:58:55
Temat: Re: Raspberry Pi + codec audio na I2S
Od: wchpikus <w...@w...wp.pl>
> Prosty analizator stanów logicznych wystarczy? Mam go podpiąć do
> magistrali i2s zamiast karty dźwiękowej, czy podłączyć go równolegle,
> jako kolejne urządzenie na magistrali?
>
> Rozumiem, że po i2s lecą tylko próbki dźwięku, a sterowanie odbywa się
> poprzez i2c?
>
Analizator starczy
Zobacz czy Pi cokolwiek wysyla do ukladu.
Jesli jest jako master, bedzie zegar WS i linie danych.
Jesli nie ma nic, to trzeba go zmusic do tego.
Co do kodeka, nie wiem jak jest sterowany z Pi, nie znam tej plyty, moze
byc i2c lub spi, ale samo ustawienie karty to tez troche zabawy.
Ustawienie powinno byc takie
pi (master, wystawia zegar) , kodek(slave), bez zegara.
Ustawienie ramek tez powinno być zgodne w obu urządzeniach (próbkowanie
itp).
Jeśli sygnały fizycznie są i sa zgodne, to zadziała.
Nie wiem czy kodek nie potrzebuje tez master-clock,warto sprawdzić czy jest