PGA 2310

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
febo26
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 12-08-2008, 19:58

PGA 2310

Post by febo26 »

Mada jos nemam ovaj cip u rukama cekam da stigne kao fr*e sample, razmisljam kako izvrsiti kontrolu pojacavanja s njim.

U datasheetu pise da se pin CS mora postaviti na 0 i onda se vrsi upis podataka u registar u duzini od 16 bitova.Prvih 8 bitova je za regulaciju desnog kanala a drugih 8 bitova za regulaciju lijevog kanala.
Sada sam nabrzinu osmisio kod ali nisam siguran da ce raditi pa bi volio cuti vase misljenje da li bi to tako radilo.

Code: Select all

UVOD.....
bla bla bla,



datapin var b.1
clockpin var b.2
CS var portb.0   'cs pin je port b.0
VOLUME  var byte
VOL_L var byte
VOL_R var byte

pocetak:
if PORTA.0 =1 THEN VOLUME = VOLUME + 1  'POJACAVANJE
if PORTA.1 =1 THEN VOLUME = VOLUME - 1  'STISAVANJE
IF VOLUME = 255 THEN VOLUME = 254  'MAX VRIJEDNOST
IF VOLUME = 0 THEN VOLUME = 1      ' MIN VRIJEDNOST

VOL_R = VOLUME    'prvih 8 bitova ima vrijednost volume
VOL_L = VOLUME    'drugih 8 bitova ima vrijednos volume

CS = 0   'PIN CS postavimo na nulu da omogucimo upis

SHIFTOUT DATAPIN,CLOCKPIN,5[VOL_R,VOL_L]

CS = 1 

GOTO POCETAK
jazz
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 21-10-2010, 21:18
Location: Hrvatska

Re: PGA 2310

Post by jazz »

Na početku postaviš CS=0.
Rotiraš uljevo broj prema izlazu, znači ako šalješ broj "1100010..." redosljed slanja bitova je "1", "1", "0"...
Za slanje svakog bita, prije postaviš CLK na 0, a nakon što je bit poslan postaviš CLK na 1.
Na kraju postaviš CS=1.

Za gore navedeni broj bi išlo ovako (sveukupno 16 bitova)...

CS=0

CLK=0
DATA=1
CLK=1

CLK=0
DATA=1
CLK=1

CLK=0
DATA=0
CLK=1

...

CS=1
jazz
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 21-10-2010, 21:18
Location: Hrvatska

Re: PGA 2310

Post by jazz »

Moj pogled na dobar način opsluživanje audia, djelomično offtopic :roll:

uC radi na niskom taktu, npr. 1Mhz je više nego dovoljno. Cijelo vrijeme uC spava dubokim snom, dok ga ne probudi neki signal izvana iliti komanda koja dolazi od daljinca i/ili par tipaka (volume up/down, input selector up/down). Nakon što uC obavi posao (pošalje ono što treba poslati dig pot-u, i promjeni prikaz na display-u) opet zaspe.

Najbolji izbor za display je 7-seg led dimenzije da se vidi sa 10m šta je prikazano, kod kojeg je svaka ledica spojena na zasebin pin uC, bez ikakvih multipleksiranja. Može se i display isključiti kad uC zaspe (ali i ne mora). Bilo kakve VFD/LCD igračke (s kojima se definitivno lijepo igrati) nisu potrebne.

i možebitni ontopic...

Na ulaz PGA2310 je bolje ništa ne stavljati (osim ako se ne kuži do jaja u tematiku). PGA2310 na izlazu ima like OPA2132/OPA2134 opamp, tako da ni na izlazu ne treba stavljati ništa (osim ako se...). Radi se o sasvim solidnom, klasičnom BB zvuku. Obavezno trafo sa (najmanje) 3 namota, dva za +15V/-15V analogni dio, i jedan za +5V logiku.
jazz
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 21-10-2010, 21:18
Location: Hrvatska

Re: PGA 2310

Post by jazz »

Još malo offtopic-a.

I da... 2 pločice. Ona sa uC i display-om skroz naprijed, uz tipke, s prednje strane uređaja, a ona sa dig pot-om i relay-ima za input selector, sa stražnje strane uređaja, kod cinch konektora. Pločice su međusobno povezane flat kablom (preko kojeg idu samo dig linije uC za relay-e i CS/CLK/DATA za pot).
febo26
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 12-08-2008, 19:58

Re: PGA 2310

Post by febo26 »

Da nastavimo offtopicariti.Zamisao je ovakva da se za preklapanja ulaza koriste cipovi ADG409(nema škljocanja pri odabiru ulaza),volume kontrola s PGA2310 i jos kao opcija stoji regulacija boje tone izvedena po shemi od g.Jagodica.Imam jednu napravljenu i svidja mi se zvuk preko nje.Releje mi se vise neda koristiti kvalitetni su preskupi a s jeftinjakima s ebaya imam neugodna iskustva,ponekad mi znadu prekidati bez razloga.Naravno da su plocice odvojene i oklopljene i napajanja izvedena svako za sebe.Posebno analogni dio posebno digitalni.
E sad koliki utjecaj ima mikroprocesor na kvalitetu zvuka neznam ali ova ideja s spavanjem procesora me vrlo zainteresirala pa cu poradit na njoj da vidim da li cu uspjeti i to rjesiti.LCD display ipak bude na prednjoj ploci zbog jednostavnije izvedbe natpisa , mada bi se dalo izvest da LED diode oznacavaju izabrani ulaz a na LED displayu pise samo do koliko je pojacan.Eventuanlo bi se jos koristili blok kondenzatori od WIME 10uf MKP10 serije na ulazu u PGA2310.Veci dio problema je napisat program za PIC da sve lijepo radi a i da ja nesto naucim konkretno pisat.
jazz
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 21-10-2010, 21:18
Location: Hrvatska

Re: PGA 2310

Post by jazz »

Meni je na preampu dovoljno samo 2 ulaza, i kao idealno rješenje za to su 2 relay-a (4 prekidača) koja prekidaju kompletno i signal i GND liniju source-a. Znači kad je odabran ulaz 1, ulaz 2 je kompletno izoliran (i GND) od svega, i obratno. Naravno ako je nekom minimalno potrebno 10 ulaza da je to onda sasvim neka druga priča.

Škljocanje relay-a je zadnja stvar koja bi mi smetala, a implementacija je full jednostavna, bez ikakvih (značajnijih) utjecaja na kvalitetu zvuka. Slušao sam zvuk koji je bio više nego dobar, a prolazio je kroz lošije chipove od ADG409, tako da to ne mora biti loše uopće, al implementacija (meni) nije jednostavna. Znači (da bi stvari ostale na ozbiljnom nivou) opet treba makar 2 posebna navoja na trafou za analogni dio napajanja ADG409, neloša regulacija, dobar layout i tako to... uglavnom složenije nego relay-i, sa šansom da krajnji rezultat bude nezadovoljavajući.

Boja tona meni nema veze sa dobrim zvukom (bez obzira na izvedbu). Ako fali visokih ili basa ili ne znam čega u sustavu, onda sustav smrdi kao takav, i treba vidjet/čuti u čemu je problem te ga riješit po mogućnosti. Odnosno, opcija boje tona meni nije opcija.

Ako te zanima utjecaj uC na zvuk, kad složiš taj preamp, napravi test, pa će ti sve (ili neće) biti jasno. Ja sam to obavio davnih dana. Recimo da stvari u momentu pojačavanja/stišavanja nisu bitne (eto, da te obradujem, PGA2310 ne škljoca). Kad ta radnja prođe, dvije su opcije. Prva je spavanje uC, a druga je da se sa dva relay-a (4 prekidača) kompletno prekine veza imeđu pota i uC (GND, CLK, WS, DATA). Meni je prva više nego OK. DOT segment zadnje 7-seg znamenke mi služi za indikaciju budnosti uC, tako da točno znam, jel se budi i kad ne treba.

LCD display zbog jednostavnije izvedbe natpisa? Kakvih natpisa? Ti vidiš te natpise na LCD-u sa 10m udaljenosi? LED, LED, LED...

WIMA 10uf MKP10, na ulazu pota, bit će više nego OK. Ništa osim nje na ulazu ti ni ne treba.

Pa barem to (PIC source za PGA2310) nije problem naći na net-u, i prilagoditi ga svojim željama.
http://till.pm-si.com/PGA/index.html
febo26
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 12-08-2008, 19:58

Re: PGA 2310

Post by febo26 »

LCD mi dolazi u obzir jer imam 5 ulaza za spojiti u predpojacalo a boravak mi je i ovako 30 m2 velicine tak da nemam potrebu gledat na display s 10m udaljenosti. (cd,dvd,tuner,tv,sat prijemnik)

Boja tona kao opcija mi je ok , jer nisu svi cd-ei jednako snimljeni ,gdi mi fali malo basa ili visokih zasto si ih nebi dodao, a moze i bypass bez boje tona.Ne patim na vrhunski HI-FI jer nemam ni uho ,ni prostor a ni para za to, a pogotovo ljeti dok mi je glavna igracka Hilti i Makita sluh mi je onda u banani.

Vise mi od svega gust to sve lepo sloziti nauciti neke stvari i da to jos lijepo radi.Konkretno u ovom primjeru vezano za PIC je skalupiti sve da radi,znaci jedan enkoder za volume,jedan za biranje ulaza,RC5 kod za daljinske,prikaz na LCDu,SPI komunikacija za PGA2310,PWM za dimmer osvjetljenje,vjerojatno bez interapta nebu islo,a i uspavljivanje i budjenje PICa bi moglo stvarat problem.Sad dajem vecu paznju programiranju nego audiu zvuku.Ako nebu radilo navek postoji opcija s relejima za ulaze i ALPSov motorizirani potenciometar za volume bez ikakave digitalizirane sminke.

Valjda ce i PGA stici za koji dan pa da probam komunikaciju.
febo26
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 12-08-2008, 19:58

Re: PGA 2310

Post by febo26 »

primjer koda za PGA2310 u pic basic pro.Jucer napisano danas istestirano u praksi i radi bez greske
Regulacija volume i balance.

Code: Select all

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 23.12.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
include "MODEDEFS.BAS"
INCLUDE "LCDbar_INC.PBP"  'include file s foruma http://www.picbasic.co.uk/forum/showthread.php?t=2359&page=1
                           'autor Darrel Taylor

define OSC 20

DEFINE LCD_BITS 4      ' LCD broj Bita na liniji 4 ili 8
DEFINE LCD_DREG PORTB  ' LCD data port
DEFINE LCD_DBIT 0      ' LCD pocetni bit podataka 0 ili 4(od kojeg pina na mikrokontroleru pocinje 0 bit podataka)
DEFINE LCD_RSREG PORTB ' LCD registar select port
DEFINE LCD_RSBIT 4     ' LCD registar select bit (na koji pin na mikrokontroleru je povezan RS bit)
DEFINE LCD_EREG PORTB  ' LCD enable port
DEFINE LCD_EBIT 5      ' LCD enable bit(na koji pin na mikrokontroleru je povezan E bit)
DEFINE LCD_LINES 2     'LCD koristi 2 reda za ispis 2x16 lcd

TRISA = %111111       'Postavi sve pinove porta A kao ULAZNI 
TRISB = %00000000     'Postavi sve pinove porta B kao IZLAZNI ZA LCD EKRAN  
TRISC = %00000000     'Postavi sve pinove porta C kao IZLAZNI 
TRISD = %00000000     'Postavi sve pinove porta D kao izlazne 
TRISE = %111          'Postavi sve pinove porta E kao ulazne
ADCON1 = 7	          ' PORTA i PORTE su digitalni  ISKLJUCI KOMPARATORE I ANALOGNE ULAZE
PORTC.3=0 'MUTE AKTIVAN


 'DEFINICIJE ZA PGA2310
symbol CS   = PORTC.0
symbol DOUT = PORTC.1
symbol CLK  = PORTC.2
SYMBOL MUTE = PORTC.3


'DEFINICIJE TIPKI ZA VOLUME UP I DOWN   I  BALANCE
SYMBOL VOL_UP  = PORTA.0
SYMBOL VOL_DWN = PORTA.1
SYMBOL BAL_L = PORTA.2
SYMBOL BAL_R = PORTA.3

VOLUME_L VAR WORD
VOLUME_R VAR WORD

'MALA REKLAMA O AUTORU
PAUSE 500
LCDOUT $FE,1,   " PGA 2310 PREAMP"
LCDOUT $FE,$C0 ,"  ZELJKO FERIC  "
PAUSE 3000

LCDOUT $FE,1 'BRISI EKRAN I STARTAJ PROGRAM
MUTE = 1'MUTE ISKLJUCEN
VOLUME_L = 30
VOLUME_R = 30


POCETAK: 'POCETAK PROGRAMA
portc.4=0
IF VOL_UP  = 1  THEN   'POJACAVANJE 
VOLUME_L = VOLUME_L +1 : VOLUME_R = VOLUME_R +1 
ENDIF
PAUSE 10

 
IF VOL_DWN = 1  THEN 'STISAVANJE
VOLUME_L = VOLUME_L -1 : VOLUME_R = VOLUME_R -1 
ENDIF
PAUSE 10


IF BAL_L = 1 THEN        'BALANCE LIJEVI KANAL
VOLUME_L = VOLUME_L -1 : VOLUME_R = VOLUME_R +1  
ENDIF
PAUSE 10
 

IF BAL_R = 1 THEN       'BALANCE DESNI KANAL
VOLUME_R = VOLUME_R -1 : VOLUME_L = VOLUME_L +1  
ENDIF
PAUSE 10

IF VOLUME_L = 255 THEN VOLUME_L = 254
IF VOLUME_L =   0 THEN VOLUME_L = 1
 
IF VOLUME_R = 255 THEN VOLUME_R = 254
IF VOLUME_R =   0 THEN VOLUME_R = 1 

 IF VOLUME_L = 1  OR VOLUME_R = 1 THEN ' AKO JE NEKI KANAL NA NULI 
 GOTO NULA                             ' AKTIVIRA SE MUTE ZA OBA KANALA 
 ELSE 
 MUTE=1
 ENDIF
 
LCDOUT $FE,$80, "R:" 
LCDOUT $FE,$C0, "L:" 
'ispis bargrafa na lcd 2x16  za volume vrijednost
;    syntax- BARgraph   Value,     Row, Col, Width, Range, Style
 @         BARgraph    _VOLUME_L, 1,   2,    14,   255,  lines
 @         BARgraph    _VOLUME_R, 2,   2,    14,   255,  lines
 
 gosub upis
 
 
 GOTO POCETAK
 

NULA: ' MUTE NA OBA KANALA
MUTE = 0 
LCDOUT,$FE,$80 ,"  MUTE   MUTE   "
LCDOUT,$FE,$C0 ,"----------------"
IF VOL_UP = 1 THEN POCETAK
GOTO NULA


upis: 'upis podatka u PGA 2310
cs=0
shiftout dout,clk,5,[volume_r,volume_l]
cs=1
return
END











User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PGA 2310

Post by pedja089 »

Po meni ne bi bilo lose dodati zapisivanje u eeprom, pa kad ga upalis, ostane na istim podesavanjima kako si i ostavio...
Inace svaka cast...
febo26
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 12-08-2008, 19:58

Re: PGA 2310

Post by febo26 »

auuu? kak to napraviti? nisam nigda to isprobavao?razmisljao sam o tomu ali jos nije doslo na red.Budem probao navecer natipkat ,sada moram zeni ici pomoci pravit salatu sa sezamom
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PGA 2310

Post by pedja089 »

Zavisi koji pic...
Pogledaj read i write.
acavp
Posts: 1
Joined: 07-02-2013, 13:40

Re: PGA 2310

Post by acavp »

Pozdrav ljudi,
da li neko moze da mi objasni kako da ubacim ovaj INC fajl i gde da ga snimim?
Mislim na LCDbar_INC.PBP fajl. Jel ga skinem u txt formatu pa ga sacuvam kao INC fajl? Gde da ubacim taj fajl?
Post Reply