Jump to content


Photo

Viteza ARM


  • Please log in to reply
6 replies to this topic

#1 OFFLINE   Mondan

Mondan

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,265 posts
  • Locatie:Alexandria

Posted 17 December 2015 - 07:01 AM

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.ar...c/CHDCICDF.html

 

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

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



Cu_reclama

Cu_reclama
  • Membri

#2 OFFLINE   godFather89

godFather89

    Membru

  • Membri
  • PipPip
  • 816 posts
  • Locatie:Timisoara

Posted 17 December 2015 - 11:03 AM

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.

#3 OFFLINE   cristi_an

cristi_an

    Nou venit

  • Membri
  • Pip
  • 5 posts

Posted 29 December 2015 - 02:28 PM

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. 



#4 OFFLINE   moro

moro

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,027 posts

Posted 18 February 2016 - 01:28 AM

Daca imi amintesc eu bine, de exemplu stm32f4  stie pana la 50mhz pe clk pt gpio



#5 OFFLINE   Mondan

Mondan

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,265 posts
  • Locatie:Alexandria

Posted 15 May 2016 - 07:42 PM

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.



#6 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,072 posts
  • Locatie:In sat cu Doru

Posted 15 May 2016 - 07:53 PM

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.



Cu_reclama

Cu_reclama
  • Membri

#7 OFFLINE   Mondan

Mondan

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,265 posts
  • Locatie:Alexandria

Posted 15 May 2016 - 08:15 PM

http://www.esp8266.c...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.c...h.vJSFxdkt.dpuf
Even the Arduino platform blows it out of the water - See more at: http://www.esp8266.c...h.vJSFxdkt.dpuf
Even the Arduino platform blows it out of the water - See more at: http://www.esp8266.c...h.vJSFxdkt.dpuf





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users