Riešenie s USB zvukovkou SL-9950

Obsah

Úvod

Nedávno som objavil mini USB sound card - Speed Link SL-8850 - ktorá sa ukázala ako veľmi ľahko adaptovateľná.

SL-8850

Obr. 1: Pohľad na SL-8850.

Táto hračka sa pomaly vytráca z trhu ale dúfam, že bude mať náhradu alebo upgrade.

Srdcom tohto zariadenia je čip od firmy C-Media chip CM-108. Z toho istého zdroja je aj data sheet.

Vybrané technické parametre CM-108:

  • 1 (mikrofónny) mono vstup so zosilnením
  • 2 nízkovýkonové stereo výstupy
  • 16-bit A/D
  • 48K/44.1KHz sampling rate pre vstup aj výstup
  • v súlade s USB 2.0

Výsledky analýzy

Pomocou lupy a ohmmetra som porovnával schému a skutočné zapojenie SL-8850. Našiel som veľmi dobrú zhodu. Presnejšie - skutočná doska používa rovnaké označenie ako originálna schéma od výrobcu, niektoré súčiastky však chýbajú, s ohľadom na redukovanú funkčnosť potrebnú pre náhlavnú súpravu.

Originálna schéma SL-8850 (len podstatná časť):

SL-8850 original

Obr. 2: Originálna schéma SL-8850

Mikrofónny vstup je urobený štandardným spôsobom. Sluchátkový výstup je urobený odlišne od originálnej schémy - chýbajú výstupné oddeľovacie elektrolyty. Namiesto toho je využitý špeciálny vývod čipu - "LOBS" - "DC 2.25V výstup pre posunutý výstup" (pin 31).

Zistil som, že mikrof=onny vstup na vývode 27 - "MICIN" - akceptuje jednosmerné napätie a potrebuje jednosmernú úroveň 2.2V aby na výstupe bola nula.

Možnosti jednosmerných meraní

Použitie zapojenia s operačným zosilňovačom by vyžadovalo pridať dodatočná súčiastky. Hlavným problémom však je napájanie. Záporné napätie -5V na USB zásuvke nie je a získať ho z notebooku nie je jednoduché.

Možnosťou je posunúť jednosmernú úroveň signálovej zeme namiesto manipulovania so vstupom:

CM108 hack

Obr. 3: Jednosmerné posunutie signálovej zeme.

Je jednoduché urobiť nastaviteľný zdroj jednosmerného napätia (napr. LM317LZ) a použiť ho na posunutie jednosmernej úrovne signálovej zeme.

Podrobné preskúmanie CM108 ukázalo, že potrebné napätie už je k dispozícii!

CM108 modified

Obr. 4: Upravená schéma CM108.

Potrebné napätie je na vývode 31. Originálne je použité ako spoločný bod pripojenia sluchátok. Ako vidno, netreba pridávať žiadne súčiastky.

Áno, v skutočnosti nejaké súčiastky pribudli - rezistor 1k, dve spínacie ochranné diódy a elektrolyt medzi signálovou zemou a skutočnou zemou. Asi by to fungovalo aj bez týchto súčiastok, takto je to však o niečo bezpečnejšie aj čistejšie...

Výsledok

Čo treba:

  • odstrániť rezistory R10, R13
  • nahradiť kondenzátor C11 rezistorom 1k (napr. práve získaným R13)
  • prerušiť zemniacu fóliu na vhodnom mieste
  • premostiť spoločné vývody sluchátkovej a mikrofónnej zásuvky
  • pridať 2 rýchle diódy
  • pridať miniatúrny elektrolyt (5 - 50 uF/min 6.3V)

Výsledný pohľad na upravený SL-8850 je na obr. 5.

CM-108 modifications

Obr. 5: Upravený SL-8850.

Funguje to perfektne. S týmto zariadením som urobil zopár meraní. Zistil som, že citlivosť mikrofónneho vstupu bez predzosilnenia je +/- 120 mV.

Mikrofónny predzosilňovač má +20bB (10x), čo by znamenalo citlivosť +/- 12 mV! Zdalo sa mi to príliš. Ani som to netestoval. Pre "normálnu" prácu predzosilnenie mikrofónneho vstupu treba vypnúť v zvukových nastaveniach Windows.

Program

Originálny program bol pre toto zariadenia prepracovaný. Používa súbor soundscope.ini na ukladanie parametrov programu.

Obsah súboru soundscope.ini:

      [Program]
      Debug=1
      [Devices]
      Device Name = C-Media USB Headphone Set
      LineIn Name = Microphone
      ADBites     = 16
      [Calibration]
      Zero left   = 95
      Zero right  = 95
      MaxLevel    = 30480
      MaxVoltage  = 0,117
      [Range1]
      LabelL      = '0.2V'
      LabelR      = '0.2V'
      CalFactorR  = 1
      CalFactorL  = 1
      [Range2]
      LabelL      = '1V'
      LabelR      = '1V'
      CalFactorR  = 1
      CalFactorL  = 1
      [Range3]
      LabelL      = '4V'
      LabelR      = '4V'
      CalFactorR  = 1
      CalFactorL  = 1
      [Range4]
      LabelL      = '20V'
      LabelR      = '20V'
      CalFactorR  = 1
      CalFactorL  = 1
      

Sekcia [Program] obsahuje len jeden parameter - "Debug". 1 znamená, že program zapisuje debugovacie informácie do textového súboru - log.txt. 0 znamená, že žiadne informácie sa nezapisujú. Normálne tam má byť 0.

Sekcia [Devices] obsahuje nasledovné parametre:

  • Device Name=C-Media USB Headphone Set - tento parameter treba starostlivo odpísať z HW manažéra Windows alebo zvukových nastavení Windows.
  • LineIn Name=Microphone - názov vstupného zariadenia, treba ho vziať zo zvukových nastavení Windows
  • ADBites=16 - môže byť 14, 15 alebo 16 podľa čipu - pre SL-8850 je to 16

Sekcia [Calibration] obsahuje základné parametre pre meranie:

  • Zero left = 95
  • Zero right = 95 - údaje zobrazené pre oba kanály pri uzemnenom vstupe
  • MaxLevel = 30480 - hodnota zobrazená programom pri meraní citlivosti, je to hodnota, ktorú program vobrazí pri vstupnom napätí, ktoré spôsobí posun
  • MaxVoltage = 0,117 - jednosmerné napätie potrebné na posun

4 sekcie rozsahov [Range1 -4]:

  • LabelL = '0.2V'
  • LabelR = '0.2V' - hodnoty na tlačidlách
  • CalFactorR = 1
  • CalFactorL = 1 - kalibračné faktory na kompenzáciu malých nepresností vstupných deličov prepínača rozsahov - hodnoty okolo 1

Táto verzia programu má plne konfigurovateľné meracie rozsahy.

Kalibrácia

Princípy kalibrácie popísané v originálnom postupe ostávajú v platnosti. Aby kalibrácia bola čo najjednoduchšia zmenil som filozofiu kalibrácie v tejto verzii programu zásadným spôsobom.

Pred začatím kalibrácie treba prepnúť zobrazovací mód do režimu priameho zobrazovania kliknutím na tlačidlo "Calibrated". Nápis na ňom sa zmení na "Raw data".

Kalibrácia pozostáva z nasledovných krokov:

Prvým krokom je kalibrácia nuly. Treba spojiť vstupy so signálovou zemou. Ak sa používa mikrofónny vstup treba predzosilnenie vypnúť. Údaje zobrazené programom sa zapíšu ako hodnoty Zero left and Zero right do súboru soundscope.ini.

Druhým krokom je zmeranie základnej citlivosti zariadenia. Na vstup sa privedie napätie z regulovateľného zdroja a nastaví sa tak, aby línia bola zhodná s treťou líniou (prvá nad červenou). Priemerná hodnota oboch kanálov sa zapíše ako MaxLevel potrebné napätie ako MaxVoltage.

Pred kalibrovaním jednotlivých rozsahov treba prepnúť do kalibrovaného režimu zobrazenia kliknutím na tlačidlo "Raw data".

Tretím krokom je postupné overovanie jednotlivých rozsahov. Predpokladá sa, že vstupný prepínač rozsahov je pripojený. Zvolí sa prvý rozsah na prepínači aj na obrazovke a privedie sa naň vhodné napätie - tak aby línia bola blízko tretej čiary. Jednotlivé kanály zobrazia nejaké údaje, ktoré pravdepodobne nebudú zhodné so skutočnou veľkosťou privedeného napätia. Tieto hodnoty sa použijú na prepočítanie korekčných faktorov pre kanály a zapíšu sa ako nové hodnoty CalFactorR a CalFactorL do príslušnej sekcie v súbore soundscope.ini.

Príklad (kanál L):

Zobrazené napätie: 190 mV
Skutočná hodnota: 200 mV
 
CalFactorL = 200/190 = 1,0526

Pri zapisovaní do súboru treba dať pozor na desatinný oddeľovač. Podľa nastavení Windows to môže byť "," alebo ".".

Uvedený postup sa zopakuje pre všetky rozsahy. Nakoniec sa ešte raz preveria všetky rozsahy a prípadne sa upravia korekčné faktory. Treba poznamenať, že program číta hodnoty z INI súboru le pri spustení, preto treba po vykonaných zmenách program reštartovať.

Poznámky

Pri používaní zariadenia treba mať na pamäti, že signálová zem a zem počítača nie sú totožné. Pri meraní s počítačom napájaným zo siete na zariadeniach tak isto napájaných zo siete je výsledok merania neodhadnuteľný. Jedno je však skoro isté - dôjde k zničeniu SL-8850!

Pri meraní na zariadeniach napájaných z elektrorozvodnej siete treba počítač prevádzkovať z batérií. Pri meraní na zariadenia napájaných z batérií možno mať počítač napájaný zo siete.

Varovanie

V prípade poškodenia meraného alebo meracieho zariadenia alebo počítača sa autor necíti ani v najmenšom za tieto škody zodpovedý.