Dove iniziare per programmare SAM3U

orcaccia per l'ADC passiamo dai Ksps ai Msps :grin:
bello anche il fatto che se non erro gestire la SD col DMA a piena velocità, e non con il trucchetto che si usa con l'arduino
supporto per un secondo cristallo da 32K per fare da RTC senza perdere prestazioni
credo ci si possa tranquillamente campionare audio

e chissà cos'altro...

credo ci si possa tranquillamente campionare audio

Per quel poco che ne so, con a bordo il dsp si dovrebbe anche fare decimazione, compressione, equalizzazione in digitale, cioè ci puoi regolare il volume di uno stream audio ecc.

Ma qui astro saprebbe dire qualcosa in più.

Ciao.

Ho fatto solo un veloce riassunto delle caratteristiche ed ho lasciato fuori un po di cose anche perchè non tutte i pin del micro sono disponibili (l'ethernet non è mappato, viene lasciato ad un prodotto nuovo)

Il sam3x perchè dopo la MF di settembre atmel ci ha fatto vedere il nuovo processore ed aveva senso aspettare un pochino ed avercelo almeno quando facciamo la nuova scheda eth+wifi abbiamo già tutte le periferiche pronte. Inoltre la piedinatura è compatibile con il Cortex M4 ...

m

Perfetto, grazie mille. Rimaniamo in attesa di sviluppi... =)

non ho capito bene l'affermazione, i pin sono portati all'esterno o sono lasciati scollegati? nel primo caso basta una board probabilmente di soli componenti passivi e si risolve :slight_smile:

Penso che intendesse che i relativi pin sono lasciati scollegati.

lesto:
nel primo caso basta una board probabilmente di soli componenti passivi e si risolve :slight_smile:

Serve molto di più di qualche componente passivo, occorre un completo physical layer transceiver Ethernet quale il DM9161AEP.

Purtroppo lo vedo come un prodotto avanzato che non farà concorrenza ad Arduino Uno che potrà continuare a mio parere ad essere venduto in concomitanza col due per i seguenti motivi:

L'ARM è disponibile solamente in package QFP o BGA (in varianti low-profile), questo preclude versioni standalone su breadboard o millifori, l'alta frequenza di funzionamento impone poi tutta una serie di complicazioni di signal integrity (in poche parole i segnali vengono distorti molto facilmente con capacità parassite, se non terminati correttamente, etc.. etc..) che probabilmente precludono la versione standalone anche a chi fa PCB fatti in casa se non con attrezzatura per diagnosticare questi problemi (oscilloscopi con elevata banda, etc.. etc..)

Per questi motivi prevedo che l'AtMega328p, con il suo package DIP, il basso costo, e la bassa frequenza e quindi bassi problemi, continuerà ancora a lungo ad essere tra i cassetti di componenti degli hobbisty e nei progetti low-cost o fatti in casa.

Probabilmente sarà possibile farlo girare a frequenze minori con qualche "flag" ma a questo punto sarebbe un po' come comprare una ferrari e andare al massimo a 50 all'ora.. forse anche un modello più economico sarebbe adatto.

Rimane utile come schedina ad alte prestazioni da usare nei progetti più avanzati dove i limiti di Arduino Uno si fanno sentire.

Aspetto volentieri smentite per questi dubbi che mi sono venuti in mente e spero non siano così realistici.
Ciao a tutti

Janos:
Non lo vedo il supporto per l'encoder ma solo per il decoder. In pratica è in grado di generare due treni di impulsi sfasati di 90° come se fosse arduino stesso un encoder. Spesso i brushless vengono pilotati proprio così.

Il decoder serve per leggere l'encoder :slight_smile:
Il data sheet cita testualmente "Quadrature Decoder Logic and 2-bit Gray Up/Down Counter", ovvero prevede un modulo decoder in quadratura per acquisire i dati da un encoder a doppio canale, può essere di qualunque tecnologia.
Inutile aggiungere che se devi gestire più motori dotati di encoder non ha alcun senso utilizzare un SAM3X per ogni motore, molto meglio usare una mcu low cost dedicata alla decodifica in quadratura che passa i dati al SAM, meglio ancora una MCU dotata di modulo QEI verticalizzata per il controllo dei motori quale il PIC18F2431 o un dsPIC33 serie MC (Motion Control) che può gestire due encoder e due motori con un solo micro.

flz47655:
che probabilmente precludono la versione standalone anche a chi fa PCB fatti in casa s

Impossibile realizzare in casa un pcb per un processore di questa classe, puoi solo farlo realizzare da un service.

Per questi motivi prevedo che l'AtMega328p, con il suo package DIP, il basso costo, e la bassa frequenza e quindi bassi problemi, continuerà ancora a lungo ad essere tra i cassetti di componenti degli hobbisty e nei progetti low-cost o fatti in casa.

Sono due prodotti diversi con un target diverso, la DUE non nasce per sostituire la UNO, nasce per ampliare le possibilità.

leggendo il datasheet veloce ho aftto caso ad una cosa.. va a 3,3v!
quindi non sarà retrocompatibile o ci sono degli adattatori di livello sulle porte?

Il decoder serve per leggere l'encoder smiley

Ecco appunto, dicevo io che c'èra. 8)

No in realta ho dato una lettura super super super rapida al datasheet.

Inutile aggiungere che se devi gestire più motori dotati di encoder non ha alcun senso utilizzare un SAM3X per ogni motore, molto meglio usare una mcu low cost dedicata alla decodifica in quadratura che passa i dati al SAM, meglio ancora una MCU dotata di modulo QEI verticalizzata per il controllo dei motori quale il PIC18F2431 o un dsPIC33 serie MC (Motion Control) che può gestire due encoder e due motori con un solo micro.

Come mai su Atmega non c'è nulla di simile, ma c'è su Xmega, io penso che l'interfaccia QEI o simile, risolve la gestione alla base, lasciando il programmatore libero di occuparsi del codice anziche pensare a come ottimizzare le ISR.

Ciao.

flz47655:
Per questi motivi prevedo che l'AtMega328p, con il suo package DIP, il basso costo, e la bassa frequenza e quindi bassi problemi, continuerà ancora a lungo ad essere tra i cassetti di componenti degli hobbisty e nei progetti low-cost o fatti in casa.
[...]
Aspetto volentieri smentite per questi dubbi che mi sono venuti in mente e spero non siano così realistici.
Ciao a tutti

Concordo con flz47655, anche se questi problemi si presentano anche con i Mega 1280 e 2560, ma questo punto, perchè non usare un processore in formato DIP che lavori a frequenze sopra i 7/80MHz e magari con più di 28 Pin , ne esistono una valanga di PIC così, degno di nota cè anche il propeller, se non sbaglio ce nè addirittura una versione con 8 core indipendenti, quello che manca secondo mè è il chip che faccia da anello di ongiunzione tra un ATmega 328 (costo ridotto etc..) ed un ARM (velocità, periferiche etc..).
In questo modo vi sarebbe il prodotto perfetto per l'hobbista "spinto" :smiley:

Non è che avete dimenticato il prototipo in un bar ad Ivrea? :grin:
Mi piacerebbe avere una foto in anteprima. Giusto per iniziare a "criticare" il nuovo prodotto. ]:smiley:

ratto93:
Concordo con flz47655, anche se questi problemi si presentano anche con i Mega 1280 e 2560, ma questo punto, perchè non usare un processore in formato DIP che lavori a frequenze sopra i 7/80MHz e magari con più di 28 Pin , ne esistono una valanga di PIC così,

Ma siamo sempre ad 8 bit. I PIC che dici viaggiano ad 80 MHz mi pare siano a 32 bit. Se vogliamo rimanere sugli Atmega ad 8 bit ci sono i 1284 in formato DIP40 :wink:

degno di nota cè anche il propeller, se non sbaglio ce nè addirittura una versione con 8 core indipendenti, quello che manca secondo mè è il chip che faccia da anello di ongiunzione tra un ATmega 328 (costo ridotto etc..) ed un ARM (velocità, periferiche etc..).
In questo modo vi sarebbe il prodotto perfetto per l'hobbista "spinto" :smiley:

C'è. Ed è il Mega2560. Lo puoi acquistare su breakout. E' logico che non lo faranno mai in formato DIP: t'immagini un chip DIP100!?! :astonished:
E dove lo monteresti? Sul righello per farci stare tutti i suoi piedini? :wink:

leo72:
C'è. Ed è il Mega2560. Lo puoi acquistare su breakout. E' logico che non lo faranno mai in formato DIP: t'immagini un chip DIP100!?! :astonished:
E dove lo monteresti? Sul righello per farci stare tutti i suoi piedini? :wink:

Gia il 644 e il 1284 sono dei "chipponi", un DIP 100 --> :astonished:

io il dip 100 lo farei, con piedinatura stile CPU ma con spaziature standard da breadboard... una specie di piastrella del pavimento per fachiri :slight_smile:

lesto:
io il dip 100 lo farei, con piedinatura stile CPU ma con spaziature standard da breadboard... una specie di piastrella del pavimento per fachiri :slight_smile:

Ho fatto un calcolo "a braccia"... dovrebbe venire lungo circa 13 cm!!! XD XD ]:smiley: ]:smiley: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:
Se te lo scordi rigitaro sulla sedia e ti ci metti a sedere sopra lo puoi davvero sentire in tutto il suo splendore ]:smiley: ]:smiley:

leo72:

ratto93:
Concordo con flz47655, anche se questi problemi si presentano anche con i Mega 1280 e 2560, ma questo punto, perchè non usare un processore in formato DIP che lavori a frequenze sopra i 7/80MHz e magari con più di 28 Pin , ne esistono una valanga di PIC così,

Ma siamo sempre ad 8 bit. I PIC che dici viaggiano ad 80 MHz mi pare siano a 32 bit. Se vogliamo rimanere sugli Atmega ad 8 bit ci sono i 1284 in formato DIP40 :wink:

I PIC 18F sono a 16 bit, i ds33 sono a 32 (non tutti mi pare), ciò che credo interessi è gestire il flusso video, audio e cose simili, cose che con un ds33 si fanno senza troppi sbattimenti, il problema a quel punto resta il software, unire la semplicità di wiring alla potenza di queste bestie da tiro sarebbe un must.
Il propeller di cui parlavo prima è a 32 bit ha le seguenti caratteristiche :slight_smile:
Package Types 40-pin DIP, 44-pin LQFP, 44-pin QFN
Model Number P8X32A
Power Requirements 3.3 volts DC
External Clock Speed DC to 80 MHz
(4 MHz to 8 MHz with Clock PLL running)
Internal RC Oscillator 12 MHz or 20 KHz
System Clock Speed DC to 80 MHz
Global RAM/ROM 64 K bytes; 32K RAM / 32 K ROM
Processor RAM 2 K bytes each
RAM/ROM Organization 32 bits (4 bytes or 1 long)
I/O Pins 32
Current Source/Sink per I/O 40 mA

Per di più i DIP 100 mi pare esistano... Non lo dico con certezza perchè i miei ricordi sono offuscati da un velo di sonno causato dagli integrali ma mi pare di aver visto dei chipponi anni fà nelle schede per videogames.

leo72:

lesto:
io il dip 100 lo farei, con piedinatura stile CPU ma con spaziature standard da breadboard... una specie di piastrella del pavimento per fachiri :slight_smile:

Ho fatto un calcolo "a braccia"... dovrebbe venire lungo circa 13 cm!!! XD XD ]:smiley: ]:smiley: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:
Se te lo scordi rigitaro sulla sedia e ti ci metti a sedere sopra lo puoi davvero sentire in tutto il suo splendore ]:smiley: ]:smiley:

ma no scusa, una bradboard di ascissa 100 punti è lunga circa 20cm... quindi il perimetro deve essere 20cm.. o un quadrato di 5cm o un classico dip di 10cm, no?

@ratto: ah gli integrali... mi ricordo solo e^n :slight_smile: