Pagina 1 di 2

PIC + memoria

MessaggioInviato: 12 mar 2011, 0:59
da uelfox
Nn so se fare questa figura da deficente, ma avrei la necessita di leggere dei dati provenienti da due PIC serie 18F... con firmware privato.
Pensavo di mettere un PIC, che facesse da tramite tra i 2 PIC privati e la trasmissione seriale, ma visto che si lavora con diverse velocità di baudrate, e un certo traffico di dati, avrei sicuramente una perdita di dati.
Quindi vorrei utilizzare un PIC con memoria, così da poter avere una specie di buffer/tampone.
E' fattibile tutto ciò?
Su quale modello dovrei lavorare?

Re: PIC + memoria

MessaggioInviato: 12 mar 2011, 2:04
da TardoFreak
Certo che e' fattibile. Ci sono diverse soluzioni. La piu' semplice e' usare un PIC con una bella quantita' di memoria ram interna (serie 24 o 32) oppure metterci una o piu' memorie esterne seriali tipo 23K256.
Si puo' anche utilizzare un PIC che abbia accesso alla memoria esterna parallela ma non e' il caso, a meno che le seriali non viaggino ad 2Mbs.
Resta comunque il fatto che un buffer non e' infinito quindi bisogna, in qualche modo, dire ogni tanto ai due "parlatori" di tacere per un po'.
Se pero' spighi bene cosa devi fare si puo' trovare una buona soluzione.
Parla dunque, entra nei particolari ... tu devi dirci tutto. -:-

Re: PIC + memoria

MessaggioInviato: 12 mar 2011, 18:46
da uelfox
Grazie per il tuo interessamento...
Vediamo di aggiungere altre info:
i 2 PIC privati sono questi --> http://www.elmelectronics.com/DSheets/ELM327DS.pdf
uno è settato per lavorare su una canbus a 33.3kbs e l'altro a 85kbs.
Io pensavo di utilizzare un PIC che dialogasse con entrambi i PIC, in questa maniera:
P1 = riferito al PIC che viaggia a 33.3
P2 = riferito al PIC che viaggia a 85
Volendo attivare la lettura del traffico can su entrambi i PIC, invierei al mio PIC "mediatore" tramite seriale:
AT P1 MA
AT P2 MA
Di conseguenza entrambi i PIC P1 e P2, inizierebbero a passare al PIC mediatore, i dati che ognuno acquisisce dalla canbus:
letti da P1
    110 20 00 AB 00
    120 00 00 00 00 00 00
    188 A0
    ...
letti da P2
    200 A1 F0 FF A0
    230 00 1A 11 70
    ...
Il mio PIC mediatore mi restituirebbe un flusso di dati così:
    P1 110 20 00 AB 00
    P2 200 A1 F0 FF A0
    P2 230 00 1A 11 70
    P1 188 A0
    ...

Fin qui è chiaro?

Re: PIC + memoria

MessaggioInviato: 12 mar 2011, 18:53
da TardoFreak
Si, e' chiaro.
Anche qui bisogna assicurarsi che il mediatore possa mandare in uscita i dati ad una velocita' uguale o superiore al caso peggiore: quello in cui i due PIC trasmettono contemporaneamente e costantemente. In questo caso la velocita' di trasmissione del mediatore (che poi e' un concentratore, chiamiamolo come vogliamo) e di chi riceve i dati da esso deve essere maggiore o uguale a 85+33.3 cioe' maggiore di 118,3.

Re: PIC + memoria

MessaggioInviato: 12 mar 2011, 23:53
da uelfox
Attualmente utilizzo un circuito dove cambio di PIC privato, in base a quale canbus devo lavorare;
Quando utilizzo la 85, setto la connessione della seriale a 115200.
So che oltre a questa velocità la seriale del PC nn lavora +....
Nn capisco perché devo sommare le 2 velocità... nn bastano i 115200, visto che entrambi i 2 PIC privati, sono sotto a questa velocità?

Re: PIC + memoria

MessaggioInviato: 13 mar 2011, 1:30
da TardoFreak
Paragone idraulico:
Ho un tubo che mi puo' portare 5 litri al secondo di acqua. Me ne arriva un secondo che me ne puo' portare 2 di litri al secondo.
Se io non ho un serbatoio devo avere un tubo di uscita che mi garantisce una portata di 5+2 l/s. cioe' di 7 l/s.
Se ho un tubo di uscita da 5 devo prevedere il caso peggiore: i due tubi buttano tutta l' acqua possibile.
Se puo' defluire non ci sono problemi, se quello che esce e' meno della somma dei due (e' questo il caso sfigato in cui mi trovo) e' necessario avere un serbatoio (un buffer) per accantonare temporaneamente l' acqua (i dati) in eccesso..
Eppero' non posso riempirlo oltre la sua capacita'...

Re: PIC + memoria

MessaggioInviato: 13 mar 2011, 1:39
da uelfox
ti ho inviato un MP

Re: PIC + memoria

MessaggioInviato: 13 mar 2011, 13:42
da uelfox
Facendo un passo indietro,
TardoFreak ha scritto:Resta comunque il fatto che un buffer non e' infinito quindi bisogna, in qualche modo, dire ogni tanto ai due "parlatori" di tacere per un po'.

questo è fattibile, visto che posso sospendere la ricezione dei dati, inviando un carattere qualunque al ogni PIC privato......

Quindi alla luce di tutto, quale soluzione ho?
Cosa mi consigli?

Re: PIC + memoria

MessaggioInviato: 13 mar 2011, 13:59
da TardoFreak
Dipende. Se hai gia' come ingresso 2 seriali e devi metterne una terza come uscita basta un PIC con 4 seriali. Un PIC24 o un PIC32 (ancora meglio).
Per fare un lavoro da fighetti puoi anche prendere un PIC con due CAN ed una seriale per l' uscita. Se vuoi fare un po' di buffer lascia perdere la famiglia PIC18, hanno troppa poca memoria RAM.

Re: PIC + memoria

MessaggioInviato: 13 mar 2011, 14:03
da uelfox
Mi riesci a dire quali modelli farebbero al caso mio?
Ti chiedo anche se avresti la possibilità di scrivere il firmware, x la gestione di tutto, dietro compenso