Sari la conținut
ELFORUM - Forumul electronistilor

Viteza ARM


Mondan

Postări Recomandate

La un integrat cu ARM core si frecventa 80MHz

Daca scriu in ASM la ce viteza pot sa fac schimb 1/0 maxim un pin.

 

Se vrea obtinerea unei frecvente. La ce frecventa maxima se va ajunge pentru un semnal dreptunghiular obtinut pe un pin cu umplere 50% folosind instructiuni de ASM.

Stiu ca vorbim imprpriu de freceventa la semnal dreptunghiular, dar merge.

 

De exemplu aici:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0432c/CHDCICDF.html

 

Scrie ca o adunare simpla ia un ciclu !!!!

Da' cat dureaza un ciclu daca frecventa la care merge e 80MHz

Link spre comentariu
  • Răspunsuri 7
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Mondan

    3

  • moro

    2

  • Liviu M

    1

  • godFather89

    1

Top autori în acest subiect

Depinde de perifericul de GPIO care nu e standard ARM ci e specific fiecarui producator in parte.Daca tot ce vrei sa faci e un semnal dreptunghiular, un procesor ARM probabil nu e cea mai buna solutie... dar depinde.

Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator cristi_an

Un ciclu dureaza 1/F = 1/80 MHz = 12.5 ns

 

Ar fi interesant sa stim ce anume vrei sa rezolvi, poate iti sugeram altceva. In lumea reala nu se foloseste mecanismul descris de tine, ci se folosesc periferice specializate, module de pwm (le mai gasesti si sub denumirea de capture and control). 

 

Daca e doar o problema doar teoretica, trebuie sa iei in considerare:

1. Latenta intreruperii -> cat ii ia procesorului din momentul in care a sarit intreruperea pana cand se ajunge in isr (interrupt service routine). Tot aici, trebuie sa iei in considerare daca intreruperea e mascabila sau nu, daca exista prioritati, daca exista nesting de intreruperi, etc.

2. O instructiune este rezolvata in medie intr-un ciclu, dar asta e doar teoretic. Pactic o instructiune trece prin fiecare stagiu de pipeline intr-un ciclu. Pentru ca stagiile de pipeline se executa in paralel, la fiecare ciclu iese o instructiune la fiecare ceas.  Daca pipeline-ul tau are 3 stagii: fetch, decode, execute, la fiecare ceas o sa ai:

- instr x => executed

- instr X+1 => decoded

- instr X+2 => fetched

Avand in vedere modul asincron de aparitie si tratare a intreruperii, s-ar putea ca acest aspect sa te influenteze pentru ca atunci cand se sare in rutina de tratare a intreruperii ai pipeline-ul clean. 

3. Cel mai mare lag probabil ca o sa-l ai de la slew-rate-ul pinilor de GPIO. Exista si pe ARM GPIO foarte rapide pentru ca trebuie sa mearga mai ales pe SPI la viteze mari. Acest parametru il gasesti in datasheet la caracteristicile electrice ale modului de GPIO. 

Link spre comentariu
  • 1 lună mai târziu...
  • 2 luni mai târziu...

Din pacate singurele ARM-uri pe care le am sunt ESP8266 si Raspberry.

 

<<Ar fi interesant sa stim ce anume vrei sa rezolvi, poate iti sugeram altceva.>>

Vreau sa fac analizor logic de viteaza mare.

 

Vreau sa notati va rog ca prezenta mea pe forum are ca scop pierderea de timp. Intrebarea este foarte buna.

Cum unii dezleaga rebus de plictiseala eu fac electronica.

 

La semnatura am:

digamyhobby.weebly.com

Are un DSP care comunica cu un microcontroller.

 

Vreau sa pun analizorul logic pe magistrala prin care comunica.

Scopul este sa folosesti o gramada de piese super hi-tech cumparate super ieftin din un telefon de 1E.

 

Mi-ar trebui un analizor logic cat se poate de rapid.  Nu prea dau banii pe piese scumpe.

 

Decind intre:

- dsPIC30F la 120MHz deci 30Minstr/s

am nevoie de minim 2 instructiuni pentru a "fotografia" magistrala paralele din telefon.

adica pe la 15MS/s as putea sa prind maxim.

- ESP8266 care are ARM core 80Mz si 80MI.s suna foarte bine.

As putea sa scriu cateva linii in ASM pentru el si apoi sa masor viteze cu care comuta un pin. Totusi nu am frecventmetru si lucrurile se complica.

Link spre comentariu

Din pacate singurele ARM-uri pe care le am sunt ESP8266

ESP8266 nu e ARM. :rade:

In rest, nu-s convins ca o sa reusesti ce vrei cu microcontrollere, dar m-as bucura sa ma insel.

Daca e doar pentru studiu, atunci da-i bataie. Daca vrei rezultate, probabil mai simplu e sa cumperi de la chinezi o clona saleae; softul il descarci de la saleae de pe site si, cel putin asa zic ei, merge pana la 20 M si peste.

Link spre comentariu

http://www.esp8266.com/viewtopic.php?f=24&t=1486

 

Totusi ei nu folosesc instructiuni ASM, ce-o pune compilatorul, dar oricum nu pot fi departe de realitate.

Even the Arduino platform blows it out of the water - See more at: http://www.esp8266.com/viewtopic.php?f=24&t=1486#sthash.vJSFxdkt.dpuf
Even the Arduino platform blows it out of the water - See more at: http://www.esp8266.com/viewtopic.php?f=24&t=1486#sthash.vJSFxdkt.dpuf
Even the Arduino platform blows it out of the water - See more at: http://www.esp8266.com/viewtopic.php?f=24&t=1486#sthash.vJSFxdkt.dpuf
Link spre comentariu
  • 11 luni mai târziu...

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări