Vai al contenuto
PLC Forum


ST7 o PIC - ST7 o PIC


tecnocoating

Messaggi consigliati

Ciao a tutti,

è un pò di tempo che sono iscritto e seguo il forum ma è la prima volta che ho bisogno di una info.

Dovrei realizzare un circuito che mi gestisca 5 potenziometri digitali(encoder) ,5 display a 2 e 3 digit, 2 input anlogici e 2 output analogici.Vorrei da voi avere un parere su quale micro tra ST7 lite e PIC è il più adatto , magari potreste anche fornirmi la sigla.

Premetto che 2 anni fa ero già arrivato a buon punto sia dal punto di vista hardware che software utilizzando ST7 Lite 29 ma poi visto che comunque essendo un hobbista necessitavo di maggiori informazioni che su questo tipo di micro ho faticato parecchio a trovare . Mi pare invece che per quello che riguarda il PIC il reperimento di informazioni e di aiuto sia molto facilitato visto la sua diffusione nei siti amatoriali e hobbistici.

Quindi questo è tutto , spero mi possiate aiutare nella scelta : continuare con l'ST7 o passare al PIC ?

Grazie a tutti

Link al commento
Condividi su altri siti


Io utilizzo da anni gli ST7FLite29 e ST7FLite39 e non ho mai avuto problemi per ottenere informazioni: basta conoscere l'inglese e frequentare il loro forum...

Con essi ho realizzato un progetto domotico open-source i cui schemi e firmware puoi scaricare da SourceForge.

Il circuito che devi realizzare probabilmente richiede più I/O dei quindici che un ST7Lite29 o ST7Lite39 ha.

Per questo motivo dovresti passare ad un ST7FLite49 o ad un ST7FoxK2 che è la versione economica di un ST7FLite49.

Se i ST7Lite ti stanno stretti, potresti considerare i PIC, anche se non te li consiglio.

Dovendo acquistare gli strumenti di sviluppo (*), io investirei nei micro-controllori a 32 bit basati sull'architettura ARM perché secondo me saranno il futuro.

Dato che conosci alcuni microcontrollori della ST, perché non consideri gli STM32?

La scelta sta comunque a te...

(*) anche se MPLAB, l'IDE della MicroChip è gratis, devi comprarti o auto-costruirti il programmatore e forse devi acquistare un compilatore se non vuoi programmare in assembler

Link al commento
Condividi su altri siti

Io ho progettato con uP Hw e Sw dal 1975. Per anni ho avuto come riferimento praticamente solo Intel, con qualche digressione nell'area Motorola, Toshiba e Mitsubishi.

Dal 2000 ho cominciato a considerare i PIC, proima gli 8 bit per lavoretti limitati, poi i DSPic e, ultimamente, anche i 32 bits.

A mio avviso offrono molti vantaggi sulla concorrenza: gamma completa per qualsiasi tipo di applicazioni, chip di pereiferia completi dall'espansioni di memoria all'analogica, dall'USB al WiFi.

Inoltre hanno dispositivi InCircuit per test e programmazione veramente efficienti a bassisimo costo (<100€). Se ci aggiungi che in rete trovi valanghe di applicazioni e tutorials...

Link al commento
Condividi su altri siti

Strano che non si siano ancora fatti sentire i sostenitori dei micro Atmel...

Livio, la situazione di tecnocoating è simile alla tua quando hai esplorato il mondo PIC per la prima volta nel "lontano" 2000...

Ad una tecnologia consolidata (probabilmente usavi gli 8052/8051 oppure schede con microprocessore 8088/8086) si era affiancata la tecnologia RISC dei PIC.

Inizialmente gli ultimi arrivati sembravano "giocattoli", poi questi "giocattoli" hanno creato una community molto attiva ed il tempo ha fatto il resto.

Secondo me lo stesso sta succedendo con i microcontrollori basati sulla CPU ARM Cortex-M3.

Secondo Bernie Cole, la recente (ed ultimamente ritirata) offerta della Microchip per acquisire la ATMEL si spiega nella mancanza di una licenza ARM, dato che i PIC32 usano un core MIPS.

Oggi la scelta PIC è la più sensata per un hobbista.

Non è detto che gli strumenti di sviluppo professionali per i PIC siano economici: l'ultimo grido è il compilatore C omniscente che dicono faccia miracoli sia come velocità del codice che per la sua densità.

Peccato che una sua licenza costa 1500$.

Per quanto riguarda gli STM32, con 99 euro compri un R-Link standard che consente di programmare gli ST7, gli ST8 e gli STM32. Esso salvaguarda la conoscenza di tecnocoating e gli apre l'opportunità ARM.

Secondo me una architettura non è superiore alle altre, la vera differenza la fa chi scrive il firmware. Lo stesso vale per la community PIC che è formata da tanti principianti e da persone competenti, come te.

Se la percentuale di persone in grado di insegnarci qualcosa è la stessa per ogni architettura, allora i numeri sono dalla parte dei PIC.

Tale situazione potrebbe però cambiare tra qualche anno...

Link al commento
Condividi su altri siti

No, son partito con lo 8085, per quanto riguarda Intel. Per quanto riguarda i micro in generale ho iniziato con lo F8 e lo SC/MP, anzoi dovrei citirare addirittura il 4040 Intel (preistoria). Con Intel sono arricìvato sino allo 80386 enbedded, poi ho stabilito che, per applicazioni industriali, il mondo Intel non era più valido.

Certo, negli ultimi 30 anni ci sono state diverse rivoluzioni. C'è la tendenza alla specializzazione. Anzi io penso che si andrà sempre più verso il mondo delle logiche embedded, tipo FPGA per intenderci.

In quanto ai costi degli strumenti di sviluppo, quando sono validi non sono mai a costo zero. Unbuon compilatore si paga. Però l'ASm dei Pic e gratis. Un ICD2 costa quqasi niente, e da prestazioni notevoli sia come in circuit sia come programamtore..

Link al commento
Condividi su altri siti

Grazie a tutti ragazzi per i vostri commenti che mi hanno aiutato molto.

Da un lato però mi avete leggermente confuso e abbattuto .

Io infatti ho imparato quel poco che conosco dei micro dai corsi di nuova elettronica prima sull'st6 poi sull'st7lite che peraltro non ha mai terminato. Partendo da questi corsi e dai loro circuiti base di esempio ,per conto mio ho realizzato un paio di progetti per poi abbandonare tutto per diversi anni.

Adesso però mi è tornata la voglia di confrontarmi con i micro per un nuovo progetto più grosso ,ma dalle vostre risposte mi sono reso conto di non avere una conoscenza così globale e profonda dei micro , infatti non ho idea delle differenze che ci sono tra le diverse architetture ( MIPS,RISC,ARM etc ) poi senza un corso base sul micro specifico da utilizzare ho paura di non riuscire a prtare avanti il progetto , anche se ho visto in effetti che grossomodo tutti funzionano allo stesso modo. Se comunque volessi rimanere su st e cimentarmi con gli st32 vi è l'equivalente della demo board ( mi pare STDV qualcosa) dell'st7lite anche per gli st32 ed anche ovviamente il programma che vi era allegato che permetteva di scrivere l'assembler programmare e debuggare il chip ?

Forse ho ampliato un pò troppo la problematica , ma spero possiate capire ugualmente ciò ch intendo.

Grazie a tutti.

Link al commento
Condividi su altri siti

tecnocoating, non preoccuparti di essere confuso.

E' normale esserlo perché le scelte sono molte.

STVD7 è l'IDE che consente di programmare ed eseguire il debug degli ST7 / ST8.

Ride7 è l'ambiente di sviluppo di Raisonance per gli ST7 ST8 e STM32.

Esso è fornito gratuitamente con tutte le loro schede per programmare i micro-controllori.

Se stai iniziando, potresti acquistare il STM32 Primer che contiene tutto il software e l'hardware per programmare un dispositivo dimostrativo con:

dispay touch screen TFT 128 x 160

debug/programmazione via USB

batterie Li-Ion di alimentazione

connettore USB per i dispositivi ausiliari

connettore MicroSD

ricevitore IrDA

sensore di movimento MEMS

joystick + quattro bottoni

connettore di espansione per accedere a: CAN, SPI, I2C, USART e I/O digitali

nessun limite sulla dimensione del codice durante il debug

Il tutto costa 129 euro.

Ovviamente è un sistema "chiuso", cioè non ci puoi programmare altri micro-controllori, ma per muovere i primi passi dovrebbe essere più che sufficiente.

Se i pin disponibili tramite il connettore non sono sufficienti per il tuo progetto, puoi sempre acquistare un RLink, ma non troverai tutto pronto per incominciare a programmare.

In fondo, il tuo hardware lo devi pur sempre realizzare per installarci il tuo firmware.

Buon divertimento!

PS: se hai qualche dubbio con gli ST7Lite, chiedi pure!

Link al commento
Condividi su altri siti

Grazie EtaPhi ,

probabilmente l'stm32 è anche troppo grosso , probabilmente mi basterebbe un st7lite49 , cosa mi può servire in questo caso per iniziare , cioè programmare in assembler (conosco solo questo) ,debuggare ,programmare e ovviamente una demo board come quella contenuta nell' stdv del st7lite29. Mi servirebbe un kit insomma "che mi prendesse per mano" con esempi e tutorial.

Ciao

Link al commento
Condividi su altri siti

tecnocoating,

nel caso di un ST7FLite49, la scelta si restringe a Raisonance perché ST Microelectronics sembra avere un rapporto privilegiato con tale produttore...

Sul sito di Raisonance (che oramai avrai visitato più volte) cerca REva.

A questa scheda puoi connettere uno schedino con il micro-controllore che intendi usare.

Fai bene i tuoi conti, perché lo schedino con il ST7FLite49 è un optional da acquistare a parte.

Una volta che hai l'hardware, puoi continuare ad usare STVD7 per sviluppare i tuoi programmi in assembler come faccio io.

Un'altra opzione consiste nel progettare la scheda che ti serve per la tua applicazione e connetterla al RLink per programmare/eseguire passo-passo il tuo firmware con STVD7.

Con REva devi solo sviluppare il firmware (ma forse l'hardware non soddisfa le esigenze della tua applicazione), nell'altro caso (RLink) devi sviluppare hardware e firmware della tua scheda. Ciò è più economico e divertente, ma devi sapere maneggiare un saldatore...

Per quanto riguarda gli esempi, oltre a quelli forniti a corredo dal produttore del sistema di sviluppo, ti consiglio di "saccheggiare" le application notes presenti fornite da St Microelectronics.

Non disdegnare le informazioni fornite dalla Microchip e dagli altri produttori di micro-controllori perché possono fornire spunti interessanti.

Un ultimo consiglio: leggi ogni virgola del datasheet perché esso è come un patto tra te e la ST Microelectronics che elenca tutti i dettagli di come vanno usati i loro micro-controllori.

Ciao

EtaPhi

Link al commento
Condividi su altri siti

EtaPhi ,

quindi se ho capito bene , l'harware contenuto nel kit STVD è ovviamente obsoleto e quindi dovrei aquistare la REVA ed anche lo schedino per l'st7lite49 ,visto che per il momento non voglio ancora progettare l'hardware ma preferisco prima dedicarmi all'apprendimento del software, però posso utilizzare il software ( che non mi ricordo come si chiama) contenuto nel kit dell'STDV per sviluppare iprogrammi?

Ma questo software mi permette di verificare /debuggare il programma che lancierò sul micro della schedina ? Anche se non capisco come, visto che tale software deve conoscere il micro che si stà utilizzando ed a quei tempi il 49 non esisteva ? Come detto , per cominciare vorrei fare come le altre volte , cioè utilizzare una schedina standard con ingressi analogici ed uscite che possono pilotare led ed altro, in modo da cominciare a prendere dimestichezza con tutte le periferiche magari montando di volta in volta quello che mi serve sul millefori a lato . A proposito la REVA ha il millefori ?

tecnocoating

Link al commento
Condividi su altri siti

Il STVD7 è l'ambiente in cui scrivi i programmi, li converti in codice eseguibile e trasferisci il codice eseguibile nella FLASH dei micro-controllori della famiglia ST7.

Dalle tue risposte mi sembra di capire (correggimi se mi sbaglio) che il STVD7 a cui mi riferisco io non coincide con quello che tu pensi.

Io mi riferisco all'ambiente di sviluppo che puoi scaricare da questo sito.

Al suo interno c'è un simulatore software dei micro-controllori che ti consente di provare (con alcune limitazioni) il firmware che hai sviluppato.

In pratica, esso ti consente di eliminare il 90% degli errori di programmazione, ma per il resto (es. uscite configurate come "open collector" ma che ti sei dimenticato di collegarle ad un resistore di pull-up) devi comunque realizzare un prototipo ed usare un oscilloscopio.

REva dispone di una piccola zona "millefori", ma forse non è quello che ti serve.

Se vuoi fare sperimenti con i micro-controllori, perché non consideri un Arduino che costa molto meno di un REva, è free, è prodotto italiano e ... non usa gli ST7Lite?

Gli ST7Lite vanno bene se devi realizzare molte schede e vuoi risparmiare sui componenti (lo stesso vale per qualsiasi altro micro-controllore), se invece ti serve un prodotto "pre-confezionato", un Arduino ha già tutta la circuiteria necessaria e dispone di un micro-controllore ATMEL che puoi programmare in C.

Per questo motivo moltissimi progetti hobbystici utilizzano tale hardware e gli esempi non ti mancheranno certamente!

Rifletti dunque su quello che desideri fare, perché la strada Raisonance può essere costosa...

Ciao

Link al commento
Condividi su altri siti

Si hai ragione mi sono solo spiegato con termini sbagliati . Ho detto che stvd è un programma ,mentre invece è un ambiente di sviluppo . Nel mio caso quello che ho usato per l'st7lite29 era composto da dall'ambiente di sviluppo che mi permetteva di linkare ,debuggare il software e programmare il dispositivo che era posto sulla evluation board. Questa eval era collegata al PC tramite un seconda schedina (indart) . Sò che può sembrare un poco avventato inoltrarmi nel mondo di questi micro anzichè provare con rduino ,ma è con questo tipo che ho iniziato hanni fà ed ho solo bisogno di rinfrescarmi la memoria per capire meglio le differenze rispetto ai micro attuali. A suo tempo era venduto tutto dalla Softec.

Link al commento
Condividi su altri siti

Anche io ho iniziato con lo stesso kit della Softec.

Ho anche acquistato l'InDART/STx per programmare i micro ST7.

Purtroppo la Softec sembra aver "divorziato" dalla ST, perché i ST7FLite49, i ST7Fox e tutti i recenti micro-controllori (es. ST8) non sono gestiti né Softec ha annunciato che li supporterà in futuro.

Per questo motivo, o si passa a Raisonance (RLink o REva) oppure ci si autocostruisce un Flashbash che probabilmente va esteso per gestire i ST7FLite39.

C'è però un'altra opportunità.

Invece di usare un micro-controllore con più I/O, puoi usare più micro-controllori collegati da un bus (es. SPI) o usare uno shift register per estendere il numero di I/O digitali.

In questo modo puoi continuare ad usare gli strumenti di sviluppo che hai.

Ciao

Link al commento
Condividi su altri siti

Quindi vuoi dirmi che per avere un ambiente di sviluppo per gli st7lite49 come l'indart per gli st7lite02 comprensivo di una demo board con potenz.-led-etc per sperimentazioni bisogna spendere un pò di soldi ?

Sempre che si voglia ovviamente rimanere su un micro con questo numero di uscite. Infatti questo progetto quando 2 anni fa lo abbandonai lo avevo già realizzato con 2 lite29 comunicanti in serie ma poi mi scontrai con le difficoltà della comunicazione seriale ed altri impegni lavorativi più impellenti.

Quindi cosa mi consigli ? Rimanere su micro piccoli in serie o un micro più grosso ?

Link al commento
Condividi su altri siti

Difficile dare consigli se non conosco i dettagli...

In linea di massima, se hai sviluppato qualcosa e non vuoi iniziare nuovamente da zero, ti conviene riciclare il tuo lavoro. A te la scelta.

Link al commento
Condividi su altri siti

tecnocoating,

come hai constatato da questa discussione, non è semplice scegliere un micro-controllore.

Ci sono alcuni aspetti facili da individuare:

- il numero di ingressi digitali

- il numero di ingressi analogici

- il numero di uscite digitali

- il numero di uscite PWM che, opportunamente filtrate, possono realizzare uscite analogiche.

Se poi devi misurare il tempo tra due eventi devi usare un contatore, le cui caratteristiche (frequenza di aggiornamento, numero di bit) dipendono dalle caratteristiche del tuo progetto.

Da quello che hai scritto, devi gestire cinque encoder, cinque display, due input analogici e due output analogici (PWM?).

Ciò non è tuttavia sufficiente per definire il numero di I/O necessari.

Gli encoder sono assoluti o incrementali? Se sono incrementali, sono previsti micro-interruttori di azzeramento o vuoi misurare solo la velocità di rotazione? Quanti ingressi pensi di utilizzare per ogni encoder (alcuni encoder hanno due uscite, altri prevedono anche un segnale per ogni rivoluzione completa)?

I display come sono controllati? Sono a led o a LCD? Se sono a LCD, devi generare i segnali di controllo per ogni segmento o è previsto un integrato di controllo?

Anche con queste informazioni la scelta di un micro-controllore non è semplice perché vanno considerati i limiti di spesa, la dimensione del firmware, gli strumenti di sviluppo, ...

Link al commento
Condividi su altri siti

Dopo una nuova analisi del circuito ho visto che il numero di I/O sono tali da richiedere un micro a 40pin come ad esempio un pic16f877 . Penso ancora che il pic sia quello più adatto anche e sopratutto per tutto il materiale che si trova in rete , ma sono aperto a tutte le soluzioni . Cosa ne pensate ?

Link al commento
Condividi su altri siti

Anche io mi associo al consiglio di RESNIC: dovendo iniziare con i PIC, è meglio usare l'architettura più recente dato che non c'è grande differenza di prezzo.

Buon lavoro!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...