re-definiranje pinova

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
mbocan
Pocetnik na forumu
Pocetnik na forumu
Posts: 28
Joined: 29-09-2011, 20:08

re-definiranje pinova

Post by mbocan »

Pozdrav,
u picbasic-u imam rutinu koja radi i2c komunikaciju (paralela i2cRead/i2cWrite).
kako napraviti da ta rutina radi sa varijabilnim portovima:
primjer: u jednom momentu sa scl=portB1, sda=portB2, u drugom sa scl=portA1, sda=portA2;
Zasto: na busu ima 5 slave_a: adc, temp, rtc, mem i drugi PIC; sve radi bez greske, no problem je sto drugi pic,koji je stalno iskljucen (dobije +5V samo kad treba, masa je spojena stalno), preko svojih scl-sda pinova trosi oko 10mA, (sda i scl u busu su stalno na 1). Zato bih njega prebacio na drugi bus, i kad ne treba njegov scl,sda staviti na 0.
hvala,
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: re-definiranje pinova

Post by pedja089 »

Tako ne mozes. Ali mozes samo upisati druge pinove u komande.
Znaci imas i2cread portb1,b.2 za jednu liniju
i2cread b.3, b.4 za drugu liniju.
Ali to mozes resiti i na drugi nacin, postavljanjem nekog prekidaca cd4066 il slicno.
Kako si resio drugi pic da bude i2c slave?
mbocan
Pocetnik na forumu
Pocetnik na forumu
Posts: 28
Joined: 29-09-2011, 20:08

Re: re-definiranje pinova

Post by mbocan »

hvala ti na brzom odgovoru;
radim sa 16F88. U drugom (slave) picu iskoristio sam njegov interni ssp i2c.
To sto si napisao moze sa funkcijama PICBASICa: i2cread i i2cwrite.
No ja sam napisao svoju funkciju. i sad bi tu jednu htio koristiti i za jednu i za drugu liniju.
glavni problem je potrosnja struje, to mi je bitno jel sve to skupa se napaja baterijom i radi daleko od 220V.
svaki mA mi je bitan.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: re-definiranje pinova

Post by pedja089 »

Ovako napamet ne mogu da ti pomognem. Jedino da kopiras rutinu ponovo pa sa drugim portovima. Ili nesto sa IF ELSE, pa tu ubacis 2 razlicita seta portova.
Daj ako hoces rutinu da vidim, pa mozda nesto padne na pamet.
EDIT:
Mozes ovako nesto da probas
recimo
x=PORTA.0[bitoffset]
ili
PORTA.0[bitoffset]=x
bitoffset bi bilo koliko je tvoj bit daleko od prvog bita portA.
Recimo b0 bi bilo 8, b1 je 9 itd...
Ovo isto mozes sa tris registrima.
mbocan
Pocetnik na forumu
Pocetnik na forumu
Posts: 28
Joined: 29-09-2011, 20:08

Re: re-definiranje pinova

Post by mbocan »

probao sam bitoffset, no nije to to...
ovo sa cd4066 mi se svidja, iskljucivanje sda,scl linije prema pic-u.
do sada sam samo napajanje tom picu gasio tranzistorom, no sad bi ovaj 4066 mogao ugasiti i napajanje i sda,scl.
samo da signal (scl,sda) uredno prolazi kroz cd4066 kad je ukljucen.
to cu isprobati.
puno ti hvala na ideji,
pozdrav
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: re-definiranje pinova

Post by pedja089 »

99% prolazi.
Javi rezultate.
mbocan
Pocetnik na forumu
Pocetnik na forumu
Posts: 28
Joined: 29-09-2011, 20:08

Re: re-definiranje pinova

Post by mbocan »

ovo je za sada najbolje rjesenje:
preko tri switcha prolaze scl, sda i ckp linije. pale se samo kada treba.
shema je takva da glavni pic, koji radi sa 3.3V, komunicira (izmedju ostalog) i sa pic-em, kojem kad mi zatreba, preko tranzistora saljem 8-12V (u 24sata zatreba mi 40-60sec; tamo se taj napon skida na 6.5V i na 5V sa dva stabilizatora. taj drugi pic radi sa 5V.
Rjesenje bi bilo jos bolje kada bih mogao preko 4066 progurati i paljenje tog drugog sklopa (8-12V, potrosnja oko 35mA).
no ne moze zato sto 4066 ne dozvoljava na IN/OUT pinovima veci napon od VDDa. Ako na VDD stavim taj visi napon (8-12V) ond on trazi na CONT pinovima paljenje sa takvim signalom (8-12V). (4066 ima malo kruta pravila).
No i da ostane ovako, je super rjesenje.
pozdrav
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: re-definiranje pinova

Post by pedja089 »

Pa u sustini mozes i to napraviti sa NPN i PNP tranzistorima. U iskljucenom stanju potrosnja ce da bude samo curenje kroz tranzistor. Ali u sustini isto to imas i za ukljucenje tog napona bez CD4066.
E sad koliko ti to znaci, ne znam...
Post Reply