Newsgroup: it.hobby.elettronica.digitale
Titolo: st6---->pic

Ragazzi (e non :-) )secondo voi e' difficile passare dalla
programmazione degli st6 a quella dei pic?visto che la mia intenzione
sarebbe di utilizzare un pic con 10 uscite pwm.E poi il pwm del pic
gestisce solo una porta?se si,posso riuscire a fare 10 uscite pwm via
software ed avere una frequenza abbastanza alta >50hz?
grazie

 grazie
si. Non definirei una frequenza superiore a 50hz "abbastanza alta", ma
"piuttosto bassa".
Via software puoi probabilmente gestire anche più di 10 canali pwm a,
diciamo, 1kHz, 10bit di risoluzione, contemporaneamente ad una seriale
a 19200 baud.
Saluti,
Simone.bern

simone.bern ha scritto:

quale pic useresti per 10 canali pwm 10 bit 1KHz ?
ciao

 ciao
Uno qualunque della famiglia 16. Decidi in funzione degli I/O
necessari oltre ai 10 pwm, alle periferiche (ADC, UART, ecc.).
per es. il classico 16f877, oppure 16f818 (minor numero di I/O) o uno
degli altri, anche meno costosi, che escono dalla selection table del
sito.
simone,bern

simone.bern ha scritto:

ok, dalla specifica del 16F877A vedo che usando il timer2 + i due moduli CCP posso ottenere facilmente 2 canali PWM 10bit a 1.22KHz .
pero' considera che non ci sono altri timer con compare.
ma se anche ci fossero, considera la potenza di calcolo (5 istruzioni/uS) : solo per salvare_ripristinare il contesto prima_dopo
interrupt servono 7+6 istr , +latenza iniziale + RETFIE(2) siamo gia' oltre 3 uS , senza fare niente!  e il pwm 10bit 1KHz ha step=1uS .
imho questo pic non riesce a fare nemmeno il terzo pwm 10bit 1KHz.
imho nessun pic riesce a fare 10 pwm 10bit 1KHz.
ciao

 ciao
Hai ragione, ho sovrastimato di almento un ordine di grandezza le
prestazioni ottenibili. Chiedo venia.
simone.bern

simone.bern ha scritto:

  un signore.



Tu hai chiesto info sui PIC e visto non ci si riesce, se sei interessato ad
allargare i tuoi orizzonti io credo che con un AtMega1280, che ha 6 timers di
cui 4 a 16 bits con 3 comparatori ciascuno, ci riesci abbastanza bene.
Tra l'altro i timers hanno già delle funzioni in hw per il PWM per cui il lavoro
del software è minimo.
Qui il datasheet:
http://www.atmel.com/dyn/resources/prod_documents/doc2549.pdf
--
ciao
  Stefano

   Stefano
pero' tiz79 parlava di "fare 10 uscite pwm via software ed avere una frequenza abbastanza alta >50hz "
se fossero 8bit la situazione sarebbe 1024/256step * 1000/50Hz = 80 volte piu' "tranquilla" della mission impossible.
ma quale uC "normale" ha i requisiti hw minimi ? (1 timer + 1 overflow interr + 10 compare interr)
imho userei 1 solo (o 2) pwm veloce e N sample&hold (switch cmos + cap + opamp).
ora guardo mister atmel
ciao

   Stefano
ok, il 64pin ha 8 pwm hw (6*16bit + 2*8bit , minimo impegno cpu) + 2 pwm sw 8bit(compare senza pin, serve cpu e interr).
invece il 100pin ha ben 15 pwm hw (12*16bit + 3*8bit) + 1 pwm sw 8bit.
ciao

invece il 100pin ha ben 15 pwm hw (12*16bit + 3*8bit) + 1 pwm sw 8bit.
Tieni conto che i timers a 16 hanno anche le funzioni di fast pwm che consentono
di fissare la risoluzione a 8  9 o 10 bits poi fanno quasi tutto loro. (pag.144
e seguenti)
E' un aggeggino davvero molto versatile, e non ha un prezzo esorbitante  ~8 Eur.
--
ciao
  Stefano