![](https://www.baronerosso.it/img/t.gif)
![]() | #1 (permalink) Top |
UserPlus | microcontrollori
leggendo le specifiche sia di atmel che di microchip, ho notato che su alcuni microcontrollori e' possibile per il sw scrivere dati in area programma, e siccome in alcune applicazioni avrei bisogno di una memoria dati piu' grande della EEPROM onboard, ho pensato di far scireve i dati da memorizzare dall mio sw direttamente su una porzione non usata della memoria programma, che ne pensate?? e' una pratica sporca? utilizzata di frequente? sicuramente mi risparmio una memoria esterna, e quindi meno peso e meno spazio occupato, ma la memoria programma e' data per scrivibile 100000 volte solamente..... che ne pensate?
__________________ 73 de davidea!!! |
![]() | ![]() |
![]() | #2 (permalink) Top |
User |
Non è una procedura sporca... se memorizzi dei dati nella memoria programma, questi puoi solo scriverli in fase di scrittura del sorgente (almeno credo...di solito si memorizzano in memoria programma, delle costanti)... poi ci sono dei microcontrollori che permettono la scrittura della EEprom programma anche durante il funzionamento del PIC (per esempio si può variare, agendo a livello codice, il programma mentre è in esecuzione)... oppure ti resta sempre la memoria RAM che è abbastanza grande...ma è sempre RAM... effettivamente la EEprom interna del PIC, a seconda dell'applicazione che si vuole fare, può risultare piccola, però puoi sempre valutare l'idea di collegare una EEprom esterna su bus I2C, ad esempio le eeprom del tipo 24LCXX...non sono poi tanto pesanti.... certo, ti complichi la vita a livello software, però hai un sacco di memoria a disposizione...eheh.... non so se mi spiego...il gioco vale la candela....eheh
|
![]() | ![]() |
![]() | #3 (permalink) Top | |
UserPlus | Citazione:
no, intendevo pic16f877a e atmega32 che permettono di avere un bootloader che scrive il programma che dovra' essere eseguito, io invece di scrivere il nuovo programma, vorrei memorizzare delle letture effettuate sulla porta ADC!! se consideri che il pic ha 8k di memoria programma e l' atmel ne ha 32k, anche se ne sfrutto solo 4k, e' come se avessi una 24lc32 onboard!!!
__________________ 73 de davidea!!! | |
![]() | ![]() |
![]() | #5 (permalink) Top | |
UserPlus | Citazione:
__________________ 73 de davidea!!! | |
![]() | ![]() |
![]() | #6 (permalink) Top |
User |
Allora...a quel che ho capito...devi fare delle letture da ADC e memorizzare i risultati... OK ? La EEPROM PROGRAMMA non è su tutti i modelli di PIC che la puoi andare a scrivere !!! sugli atmel non ho esperienza... allora..scusa, ho controlato adesso, nel 16f877 puoi scrivere la memoria programma, basta andare a mettere un "1" nel bit n° 7 del registro EECON1 prima di scrivere su EEPROM.... comunque secondo me resta sempre più logico andare a leggere/scrivere su EEprom esterna.... ce ne sono anche da 1 Mega !!! pesano e consumano pochissimo.... e poi ti porto un esempio.... Supponiamo che il circuito sia montato in un modello dove acquisisce temperatura, velocità.... ecc (è un esempio). Fai un volo... quindi la eeprom si riempie...poi scendi a terra, cambi la eeprom (ci stai due secondi se monti uno zoccolino) e ne metti una nuova...tanto costano pochissimo... così le usi tipo le card delle fotocamere... Una cosa simile l'ho usata nella realizzazione di un circuito che gestisce l'apertura di un cancello automatico tramite autenticazione di chiave a codice (64 bit di codice...eheh)... se serve modificare i codici degli utenti che hanno accesso al parcheggio basta che programmo una eeprom con i nuovi codici, vado nella centralina (fatta col PIC) tolgo la vecchia eeprom e metto la nuova... se avessi inserito i codici nella memoria programma avrei dovuto rimettere mano al programma...ecc poi in ogni cosa ci sono i pro e i contro... se qualche grammo di eeprom in più sono eccessivi...allora la strada tua è preferibile... |
![]() | ![]() |
![]() | #7 (permalink) Top |
UserPlus |
Si puo' scrivere su EEPROM programma anche su atmega, il problema e' che a differenza della EEprom classica (100Kcicli scrittura) la EEprom Programma supporta solo 10000 cicli scrittura che possono essere comunque tanti.... Su Atmega pero' si trovano gia dalla ver 32 le librerie per scrivere su memoria SD(secure digital) in modalita' fat16 quindi ribalti tutto su pc ed hai gia il file di testo ![]() Io ti consiglio di usare la memoria EEprom dati per quel 1K che serve e lasciar stare la eeprom programma che ti permette di metterci ben altro ![]() ![]()
__________________ C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano. ![]() ________________________________________________ ProtoMax proudly present: ProtoMeter 2 32bit ARM core + ZigBee Radio all in one Telemetry system ... Next on this forum |
![]() | ![]() |
![]() | #8 (permalink) Top |
User |
Ciao.. Se ti interessa ho visto che anche per i pic esistono librerie per scrivere su memorie SD..se conosci il C c'è un programma che si chiama mikroC di mikroelettronika, l'unica pecca è che il programma lo forniscono tutto completo ma puoi compilare fino ad un massimo di non ricordo quanti K di codice..le versioni free ti fregano sempre.. ![]() |
![]() | ![]() |
![]() | #9 (permalink) Top | |
UserPlus | Citazione:
ho visto che comunque non ha riscosso molto successo la mia idea, e cio' mi basta per orientarmi altrove, d' altronde la domanda era fatta per avere dei pareri da chi magari ci lavora da piu' tempo di me!!!
__________________ 73 de davidea!!! | |
![]() | ![]() |
![]() | #10 (permalink) Top | |
UserPlus | Citazione:
![]()
__________________ C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano. ![]() ________________________________________________ ProtoMax proudly present: ProtoMeter 2 32bit ARM core + ZigBee Radio all in one Telemetry system ... Next on this forum | |
![]() | ![]() |
![]() |
Bookmarks |
| |