Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sound Blaster 16 + STM32, czyli co nuda robi z człowiekiem

polprzewodnikowy 27 Jan 2012 19:35 36205 46
  • #31
    pgoral
    Level 26  
    No i dawne CD-romy pięknie wstrzymywały transmisję z dysku. Choć nieczęsto był to problem - bo używane wtedy programy nie działały zbyt więlowątkowo.

    Więc podłączenie cd pod dodatkowe złącze było bardzo wygodne. I unikało się wszelkich konfliktów i niezgodności konkretnego modelu cd i dysku.

    Do tego te standardy Sony, Mitsumi. To były inne złącza o zupełnie innym protokole. Ale to osobna działka.
  • #32
    marti_944
    Level 28  
    Quote:
    Karta dźwiękowa nie była zintegrowana z płytą główną :)
    (...)
    Druga sprawa, że dysk twardy trzeba było konfigurować w BIOS-ie (tj. wpisywać jego parametry w BIOS-ie).


    Nie no... aż tak bardzo młody nie jestem. Najstarszy sprzęt z jakim miałem praktycznie do czynienia to machina na Intelu 486 ;). Powszechnie zaś Pentium.

    Ale tak - przepraszam za offtopa, już kończę.

    Wracając do tematu. Czy taki sprzęt ma praktyczne zastosowanie, czy został stworzony wyłącznie jako ciekawostka (co oczywiście nie ujmuje mu w żaden sposób) ?
    Dodatkowo plus za to, że nagrałeś film, w którym była muzyka (Queen - Made In Heaven), a nie jakieś umcyk ;).

    Pozdrawiam! \m/
  • #33
    polprzewodnikowy
    Level 26  
    marti_944 wrote:
    (Queen - Made In Heaven)


    Nie, "Queen - Heaven For Everyone". "Made In Heaven" było samego Freddiego. Kompletnie nie trawię dzisiejszej muzyki.

    marti_944 wrote:
    Czy taki sprzęt ma praktyczne zastosowanie, czy został stworzony wyłącznie jako ciekawostka (co oczywiście nie ujmuje mu w żaden sposób) ?


    W sumie to nie ma, są prostsze sposoby na dźwięk w uC. Projekt stanowił w pewnym stopniu wyzwanie.

    popaw1 wrote:
    bardzo chętnie poczytałbym jakie zastosowania autor w ramach "nudy" ma dla podobnych układów.


    Niestety ten projekt poszedł w odstawkę, ilość zużywanych pinów jest absurdalna w stosunku do możliwości karty.

    pandy wrote:
    kiedys plyta glowna nie miala zadnego interfejsu poza interfejsem klawiatury - podlaczenie urzadzen takich jak FDD, HDD wymagalo posiadania karty wkladanej w jeden ze slotow, zazwyczaj istniejace rozwiazania to byla tzw karta combo posiadajaca 2 porty szeregowe, jeden port drukarkowy, interfejs FDD i port HDD (czasem dwa), posiadanie przez karte dodatkowego portu dla podlaczenia CD-ROM bylo czesto jedynym sposobem korzystania z CD-ROM zwlaszcza ze w poczatkowym okresie CD-ROM korzystaly z niestandardowych rozwiazan i wymagaly specjalnych portow/kart - czesto na kracie bylo kilka roznych portow - w roznym standardzie - np CD-ROM Mitsumi zdaje sie 1x i 2x uzywaly wlasnego interfejsu a tych interfejsow bylo 2 albo 3 rodzaje plus wlasnie ATA/IDE.


    popaw1 wrote:
    Karta rozszerzeń w czasach "ISA" posiadała tylko jeden port IDE. Karta dźwiękowa nie była zintegrowana z płytą główną. Faktem jest, że w tych czasach dyski twarde były strasznie drogie, ale jeśli ktoś chciał podłączyć dwa dyski twarde to nie mógł podłączyć CD-ROM-u. Druga sprawa, że dysk twardy trzeba było konfigurować w BIOS-ie (tj. wpisywać jego parametry w BIOS-ie). Podejrzewam, że producenci kart dźwiękowych zauważyli problem tylko dwóch urządzeń IDE i dzięki temu teraz możemy podłączyć co najmniej 4 urządzenia IDE/SATA:).

    Bardzo przepraszam za OFF-TOPIC.


    pgoral wrote:
    No i dawne CD-romy pięknie wstrzymywały transmisję z dysku. Choć nieczęsto był to problem - bo używane wtedy programy nie działały zbyt więlowątkowo.

    Więc podłączenie cd pod dodatkowe złącze było bardzo wygodne. I unikało się wszelkich konfliktów i niezgodności konkretnego modelu cd i dysku.


    Ależ bardzo dziękuję za ten OT, sam nie wiedziałem o tym.

    Tak swoją drogą to dziękuję za obejrzenie filmu, w życiu nie spodziewałem się 3000 wyświetleń! (You Tube przysłało mi e-mail w sprawie zarabiania na reklamach w filmach :lol:)
  • #34
    Hetii
    Level 16  
    Witam serdecznie :)

    Projekt bardzo ciekawy, powiem więcej, wielokrotnie rozmyślałem nad czymś podobnym.

    Idea była taka aby użyć karty Sound Blaster Live na PCI (dźwięk wiadomo - rewelacja) plus odpowiedni uC.

    Na uC byłby zaimplementowany któryś z serwerów dźwięku np pulse-audio, a całość dostępna dla świata za pośrednictwem np LAN / WIFI.

    Niestety na przemyśleniach się zakończyło, ale jeżeli dało by się coś takiego poskładać, to ktoś mądry może się tutaj wypowiedzieć, co by było konieczne do zrealizowania takiego projektu.

    Pozdrawiam.
  • #35
    esperoaranos
    Level 14  
    Witam, jestem trochę a nawet bardzo zielony w tych sprawach... i mam pytanie :D Do czego to służy ? Tak na chłopski rozum.
  • #36
    polprzewodnikowy
    Level 26  
    esperoaranos wrote:
    Do czego to służy ?


    Do odtwarzania plików dźwiękowych w formacie WAV.
  • #37
    nikdob
    Level 1  
    eXcLiFe wrote:
    STM32F100RBT6B Ma max 24Mhz, W zasadzie są podobne tylko u mnie PB1 i PB2 są wykorzystane do przycisków, i nie mam JTAG jako takiego


    Nie ma co się poddawać - często producenci wykorzystują ten sam krzem dla różnych wersji MCU, więc może tak być i w tym przypadku. Oczywiście na 72MHz ST nie zagwarantuje Ci, że wszystko poprawnie będzie działać ale rakiety z tego nie robisz.
  • #38
    RSP
    Level 27  
    polprzewodnikowy wrote:
    RSP, zainteresowałeś mnie tymi układami. U siebie znalazłem takie jak CMI9739A, AD1980, AD1881A i ALC260. Z tego co czytałem wychodzi na to, że wszystkie obsługuje się przez coś podobnego do SPI czy I2S, niejaki AC-Link. Wygląda na prosty lecz martwi mnie jak z mikrokontrolera uzyskać ciągły sygnał 12.288MHz. W dodatku trzeba przesyłać próbki 20 bitowe.


    Chyba nie chodzi o ciągły sygnał, ale o maksymalną częstotliwość zegara podczas szeregowej transmisji danych. Układ jest najprawdopodobniej przystosowany do współpracy z jakimś elementem PG komputera, który to element używa zegara właśnie 12,288MHz. Przypuszczam że układ będzie doskonale współpracował z częstotliwościami poniżej 1MHz-a, byle nie zejść poniżej minimalnej wymaganej szybkości transmisji, bo pojawią się zniekształcenia dźwięku. Transmisję szeregową trzeba na procesorze zrobić na piechotę, bez wspomagania sprzętowego, więc 16, 18, czy 20 bitów da się prosto rozwiązać.
  • #39
    iagre
    Level 35  
    Nie wiem czy wszystkie ale część kart ISA na pewno wymagała zasilania -5V Czy SB16 też do działania wymaga takiego napięcia czy może się bez niego obejść? Jeżeli może się obejść bez -5V to czy trudne byłoby przerobienie jej z ISA na PCI?
  • #40
    polprzewodnikowy
    Level 26  
    iagre wrote:
    trudne byłoby przerobienie jej z ISA na PCI?


    Niestety obsługa PCI jest daleko poza moim zasięgiem, potrzeba do tego szybszego procesora, poza tym nie wiem czy znajdę jakiś przystępny opis tej szyny danych.

    iagre wrote:
    Nie wiem czy wszystkie ale część kart ISA na pewno wymagała zasilania -5V Czy SB16 też do działania wymaga takiego napięcia czy może się bez niego obejść?


    -5V jest praktycznie niewykorzystywane w kartach ISA ale takie napięcie jest generowane na karcie przez stabilizator z -12V.
  • #42
    Gloomwing
    Level 17  
    Witam!

    Pomysł rewelacyjny. Sam mam gdzieś SB32 i to dwie. Chyba nawet 64 o ile były takie. Jeśli dobrze kojarzę, to nie różniły się specjalnie, poza sekcją midi i 'bajerami'.

    Najsłabszym elementem projektu, w mojej opinii, jest fakt, że te SB nie są już tak rewelacyjne jak były kiedyś.

    To tyle, jeśli chodzi o wady.
    Świetnie byłoby wykorzystać kontroler IDE zamiast karty SD - jak komuś gdzieś zalega taka dźwiękówka, to ciężko sobie wyobrazić, żeby gdzieś nie leżał jakiś dysk.
    Faktem jest, że SD 'łatwiej' przepiąć do komputera i wrzucić jakieś nutki.

    Można by było zmontować wszystko wraz z gniazdem ISA (przecież stara płyta główna też gdzieś się poniewiera, nie?).

    Trochę wracając do OT, z tego co wiem, te kontrolery owszem, pozwalały podpiąć dodatkowy dysk lub cdrom, ale jak to stwierdził ktoś na jakimś innym forum 'o odpaleniu z tego systemu, to możesz tylko pomarzyć'.

    Duży plus za wykorzystanie 'legendy'.

    Cholera, przypomniałem sobie, że mam gdzieś jeszcze większą gabarytowo kartę - Gravis UltraSound. Zabawne, to był sprzęt 'lepszy' ale o znacznie gorszym wsparciu w kwestii sterowników - przegrali z Creativem.
  • #43
    polprzewodnikowy
    Level 26  
    Gloomwing wrote:
    Pomysł rewelacyjny.

    Dziękuję, ale te stwierdzenie jest przesadzone :)
    Gloomwing wrote:
    Świetnie byłoby wykorzystać kontroler IDE zamiast karty SD

    Myślałem nad tym ale jak wspomniałeś "o odpaleniu z tego systemu, to możesz tylko pomarzyć". W internecie nie mogę znaleźć żadnych informacji jak to obsłużyć więc uznałem to za zbędne męczenie się z rozgryzieniem tego.
    Gloomwing wrote:
    Można by było zmontować wszystko wraz z gniazdem ISA (przecież stara płyta główna też gdzieś się poniewiera, nie?).

    Mam tylko jedną płytę główną z tym złączem ale nie chciałbym jej psuć ponieważ jest jeszcze sprawna.
    Gloomwing wrote:
    Najsłabszym elementem projektu, w mojej opinii, jest fakt, że te SB nie są już tak rewelacyjne jak były kiedyś.

    Jakbym myślał w ten sposób prawdopodobnie ten projekt nigdy by nie powstał ;)

    Korzystając z okazji wstawiam ponownie prawidłowy kod, usunąłem z niego obsługę komend po UART, nie spełniały moich oczekiwań i zrywały transmisję z kartą (nie chciało mi się tego poprawiać :) ).
    Attachments:
  • #44
    Gloomwing
    Level 17  
    Mogę wygrzebać jakąś płytę i Tobie wysłać - daj mi priva.

    Jeśli chodzi o kontroler IDE, to na linuchu działa 'out of the box'. Ja się na tym dobrze nie znam, ale kernelowcy dokładnie to wszystko opisują. Jeśli chcesz, to zajrzyj do źródeł sterowników, to powinno być proste. Odpalanie systemu, to jedno - tym musi zająć się bios (no, a w przypadku alpejskich kombinacji kernel - ale to sobie odpuścimy), a używanie kontrolera do czytania z dysku powinno być względnie proste.

    https://www.linux.com/learn/docs/ldp/758-Soundblaster-AWE#ss6.1
    Wydaje mi się, że to samodzielny kontroler IDE na osobnych przerwaniach itd.

    albo tu: ftp://ftp.pluto.it/pub/pluto/ildp/doc-it/pdf/IDE-ed-SB-HOWTO.pdf w nieprzyzwoitym języku, ale to co potrzebne powinno być uchwytne.

    Sterowanie via USB byłoby super.
  • #45
    marti_944
    Level 28  
    Hm... właśnie przeszła mi przez głowę myśl... czy ten uP można tak zaprogramować, żeby zaimplementować w nim obsługę innych formatów ? Na przykład popularny MP3, czy FLAC.

    Wybaczcie proszę - szczególnie o wybaczenie proszę autora - ale znów mam dwa pytania z deka poza tematem:

    Jak bardzo złożony (i czy w ogóle możliwy) byłby proces użycia tego kontrolera... jako kontrolera CD-Rom-u ? Takiego na wzór kitu AVT2660.

    Czy możliwe jest wykorzystanie podzespołów z tej karty do stworzenia samodzielnego DAC-a, który byłby użyty do przetwarzania sygnału z CD-Rom-u (pobranego z wyjścia SPDIF/TTL) ?

    Wikipedia wrote:
    Sound Blaster 16 - (...) przetwornik 16bit/44.1kHz stereo

    Czyli prawdopodobnie lepszy niż posiadają zwykłe CD-Rom-y.

    Pytania te wynikają z moich ostatnich poczynań związanych z odtwarzaczami CD ;).

    Pozdrawiam! \m/
  • #46
    polprzewodnikowy
    Level 26  
    marti_944 wrote:
    czy ten uP można tak zaprogramować, żeby zaimplementować w nim obsługę innych formatów ? Na przykład popularny MP3, czy FLAC.


    Do MP3 jest tu za mało ramu ale w drodze jest już STM32F407VGT6 (192kB RAM, w poprzednim było "tylko" 20kB). W zamierzeniu ten projekt miał być tylko próbą odpalenia tej karty dźwiękowej na mikrokontrolerze.

    marti_944 wrote:
    Jak bardzo złożony (i czy w ogóle możliwy) byłby proces użycia tego kontrolera... jako kontrolera CD-Rom-u ? Takiego na wzór kitu AVT2660.

    marti_944 wrote:
    Czy możliwe jest wykorzystanie podzespołów z tej karty do stworzenia samodzielnego DAC-a, który byłby użyty do przetwarzania sygnału z CD-Rom-u (pobranego z wyjścia SPDIF/TTL) ?


    Najpierw muszę to wszystko sam ogarnąć ale na pewno jest możliwość obsłużenia odtwarzacza CD.

    marti_944 wrote:

    Wikipedia wrote:

    Sound Blaster 16 - (...) przetwornik 16bit/44.1kHz stereo

    Czyli prawdopodobnie lepszy niż posiadają zwykłe CD-Rom-y.


    Taki przetwornik to minimum w odtwarzaczach CD.

    Quote:
    Sterowanie via USB byłoby super.


    Myślę nad zrobieniem karty dźwiękowej na USB ale powstrzymuje mnie na razie brak przykładów obsługi USB z klasą audio.
  • #47
    marti_944
    Level 28  
    polprzewodnikowy wrote:
    Taki przetwornik to minimum w odtwarzaczach CD.

    Gdzieś czytałem, że one mają odcięcie górnego pasma, powyżej 16kHz. Na jakiejś anglojęzycznej stronie.