logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega32][bascom]Problem z obsluga I2S po raz kolejny

ugh123 22 Lis 2010 22:10 1736 8
REKLAMA
  • #1 8777597
    ugh123
    Poziom 13  
    Witam wszystkich ;)
    Na wstepie opisze na czym polega moj problem . Mianowicie chodzi mi o pomoc w napisaniu w bascomie obslugi przetwornika cyfrowo-analogowego audio TDA1543 , owy uklad posiada interfejs i2s b.duzo czytalem i szukalem na ten temat ale za chiny nie moge znalezc nic pod bascom-a . Znalazlem na jakiejs czeskiej stronie o tym ale tam jest podany kod calego projektu i w dodatku jest w asm ktorego kompletnie nie rozumiem i posiada czeskie komentarze . Bardzo prosze o pomoc poniewaz sam nie umiem sobie z tym poradzic , z gory dziekuje i pozdrawiam Bartek :D Tutaj wstawiam link do tej stronki z czeskim projektem Link
  • REKLAMA
  • #2 8778281
    korrus666
    Poziom 40  
    Nota aplikacyjna tego układu jest dość krótka i prosta. Wysyłasz dwa razy po 16 bitów najpierw jeden kanał potem drugi. Masz w zasadzie 3 wejścia jeśli chodzi o dane.
    ws - wybór kanału dla którego przesyłane są dane.( lewy lub prawy)
    bck - wejście zegarowe
    data - wejście z danymi.
    Możesz wykorzystać sprzętowy spi w atmega32 do wysyłania danych. Banalna sprawa nawet w asemblerze. Trzeba tylko trochę znać architekturę procesora.
  • #3 8779783
    ugh123
    Poziom 13  
    Dzieki za odpowiedz ;) CZytalem w help-ie od bascoma na temat wysylania i wiem ze do tego sluzy komenda SPIOUT . Precyzujac na czym polega moj wlasciwy problem to to ze na sprzetowym Spi mam karte sd a na programowym spi mam wyswietlacz lcd od s65 i moje kolejne pytanie czy da sie napisac 2 programowe spi ? Czy moze jednak lepiej bedzie przelaczac sie miedzy odczytem z karty a wysylaniem tych danych do dac ? P.S Z karty maja byc odtwarzane pliki dzwiekowe Wav i wysylane na przetwornik . Prosil bym o jakis przyklad w jaki sposob przelaczas sie miedzy karta a przetwornikiem . Dziekuje i pozdrawiam serdecznie Bartek :D
  • REKLAMA
  • #4 8780029
    mirekk36
    Poziom 42  
    ugh123 napisał:
    Prosil bym o jakis przyklad w jaki sposob przelaczas sie miedzy karta a przetwornikiem . Dziekuje i pozdrawiam serdecznie Bartek :D


    Spróbuj sobie doczytać na temat znaczenia pinu/sygnału CS w SPI to ci się rozwiąże problem przełączania w mig ;)

    A programowych SPI to możesz zrobić i 50szt albo i więcej ;) toż w Bascomie to tylko użycie SPIOUT więc w czym problem ?
  • #5 8780501
    ugh123
    Poziom 13  
    Do mirekk36 doczytalem i juz teraz wiem ze sluzy on do przelaczania urzadzen podlaczonch do spi , ale ten przetwornik nie ma pinu CS lub SS , podejrzewam ze zeby wysylac dane do niego trzeba bedzie deaktywowac karte i wtedy dane beda szly do dac-a ? Czy dobrze mysle ? Dzieki za odpowiedzi :D
  • REKLAMA
  • #6 8780930
    mirekk36
    Poziom 42  
    A po co deaktywować kartę? przecież żeby mieć dostęp do karty to właśnie używasz pinu CS ..... no chyba że go nie używasz a to wejście na karcie na stałe podłączyłeś do GND - to twój błąd ;) odłącz je od GND i podłącz pod pin procka, którym będzie wybierał kartę.

    A poza tym chcesz mi powiedzieć że jakiś scalak obsługiwany przez SPI nie posiada wejścia CS ????? ;) ..... oj coś wierzyć mi się nie chce ;)


    aaa dobra chodzi ci o ten TDA ..... no to oczywiście on nie ma CS ;)

    WS - rozdział na kanał lewy i prawy, clock i data

    Możesz sobie bramkować clock i data jakąś bramką logiczną albo w ogóle wypuszczać te dane programowo, tu nawet nie ma po co specjalnie mieszać sprzętowego SPI. Odczytujesz jakiś bufor z karty i wysyłasz to od razu generując CLK, DATA i WS na 3 niezależnych pinach procka.
  • #7 8780984
    ugh123
    Poziom 13  
    A w jaki sposob mam wysylac te dane ? Sorki ze tak truje ale bardzo mi zalezy na zrobieniu tego urzadzenia . Pin CS karty mam podlaczony do procka a piszac o deaktywacji karty chodzilo mi takie cos ze w petli odczytujemy z karty powiedzmy 16 bitow i wysylamy je do przetwornika i petla od poczatku :D Prosze o jakis przykladowy kod taki jakby szablon . Z gory dziekuje Bartek :D
  • REKLAMA
  • #8 8780993
    mirekk36
    Poziom 42  
    Nie jestem w stanie napisać żadnego przykładowego kodu a szczególnie teraz w Bascomie, przykro mi - mam za dużo na głowie i sam się ledwo wyrabiam z kodem, który nad którym teraz siedzę.

    Poczytaj w Bascomie jak działa polecenie SPIOUT to cię powinno naprowadzić. A że jest to programowe to nie musisz deaktywować żadnej karty.
REKLAMA