eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaJak powolny jest SAM7 przy obsłudze GPIO ?
Ilość wypowiedzi w tym wątku: 11

  • 1. Data: 2009-08-28 15:42:13
    Temat: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Witam.

    Wysyłam na przemian jedynki i zera w pętli 3 instrukcji asm. Osiągam
    3.5MHz. Teoretycznie rdzeń pracuje na max. predkości (jeszcze to
    sprawdzę). Czy to coś nie jest zdecydowanie za wolno, czy może 3.5MHz to
    własciwa predkośc dla SAM7?


  • 2. Data: 2009-08-28 20:43:14
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Sebastian Biały wrote:
    > Wysyłam na przemian jedynki i zera w pętli 3 instrukcji asm. Osiągam
    > 3.5MHz. Teoretycznie rdzeń pracuje na max. predkości (jeszcze to
    > sprawdzę). Czy to coś nie jest zdecydowanie za wolno, czy może 3.5MHz to
    > własciwa predkośc dla SAM7?

    Sam sobie odpowiem ...

    Zasilam SAM7 zegarem 48MHz.

    Prosta pętla:

    loop:
    str ...
    str ...
    b loop:

    zajmuje dokładnie 7 cykli zegara. Tzn zajmowala by, gdyby ... nie 1 wait
    state w pamięci flash. Więc zajmuje dokladnie 14 cykli. 48MHz/14 = 3.43MHz.

    Przyznam, ze mały AVR potrafi znacznie szybciej machać IO przy
    mniejszych kwarcach :/ Czy SAM7 to wyjatek, czy wszystkie ARMy tej klasy
    mają tak niefajnie?


  • 3. Data: 2009-08-29 08:25:59
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Zbych <a...@o...pl>

    Sebastian Biały pisze:

    > Zasilam SAM7 zegarem 48MHz.
    >
    > Prosta pętla:
    >
    > loop:
    > str ...
    > str ...
    > b loop:
    >
    > zajmuje dokładnie 7 cykli zegara. Tzn zajmowala by, gdyby ... nie 1 wait
    > state w pamięci flash. Więc zajmuje dokladnie 14 cykli. 48MHz/14 = 3.43MHz.

    Na avr zajmie ci to 6 cykli. Nie wiem, czy to tak dużo mniej. Druga
    rzecz, to szerokość magistrali flasha - AFAIR 32-bity w SAM7, jak
    będziesz używał rozkazów thumb to program powinien chodzić z pełną
    prędkością także przy 1 wait state.

    > Czy SAM7 to wyjatek, czy wszystkie ARMy tej klasy
    > mają tak niefajnie?

    Co to jest "ta" klasa? Sprawdzałem jak to wygląda na poprawionych
    LPC21xx, STM32. Zmiana stanu portu zajmuje w nich 2 cykle zegara. W
    corteksie trzeba pamiętać o wyrównaniu adresu początku pętli do
    wielokrotności długości prefetcha, żeby nie tracić dodatkowych cykli
    przy skoku.

    --
    przeciez moje rozumowanie bylo bez skazy,
    no sam bym wskoczyl do tego wulkanu,
    ale kto by tak pieknie gwizdal...


  • 4. Data: 2009-08-29 13:11:17
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Zbych wrote:
    > będziesz używał rozkazów thumb to program powinien chodzić z pełną
    > prędkością także przy 1 wait state.

    Dostałem 5.25MHz. Czyli poprawa jest.

    > Co to jest "ta" klasa? Sprawdzałem jak to wygląda na poprawionych
    > LPC21xx, STM32. Zmiana stanu portu zajmuje w nich 2 cykle zegara.

    No wlasnie. O ile mi wiadomo w AVR zajmuje 1 cykl. Pytanie, czy w AVR32
    jest podobnie.

    Potrzebuje obslużyć niewtypowy LCD. I każde spowolnienie na IO widze
    jako mniejsze frame-rate. I gdyby nie za malo RAM w AVR to bym się nie
    bawil w SAM7.


  • 5. Data: 2009-08-29 16:37:57
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Zbych <a...@o...pl>

    Sebastian Biały pisze:
    > Zbych wrote:
    >> będziesz używał rozkazów thumb to program powinien chodzić z pełną
    >> prędkością także przy 1 wait state.
    >
    > Dostałem 5.25MHz. Czyli poprawa jest.

    Jak zrobisz dłuższą pętlę, to powinno być jeszcze lepiej.

    > No wlasnie. O ile mi wiadomo w AVR zajmuje 1 cykl.

    Zajrzyj do datasheeta: SBI, CBI trwają dwa cykle. No chyba, że możesz
    pisać do całego portu naraz to wtedy IN i OUT kosztują tylko 1 cykl.

    > Potrzebuje obslużyć niewtypowy LCD. I każde spowolnienie na IO widze
    > jako mniejsze frame-rate. I gdyby nie za malo RAM w AVR to bym się nie
    > bawil w SAM7.

    STM32 biega na 72MHz, przy 2 cyklowych operacjach IO możesz zmienić stan
    linii z częstotliwością 36MHz. Jeśli to jest za mało, to ratuje cię już
    chyba tylko cpld/fpga.


    --
    przeciez moje rozumowanie bylo bez skazy,
    no sam bym wskoczyl do tego wulkanu,
    ale kto by tak pieknie gwizdal...


  • 6. Data: 2009-08-29 18:36:16
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Jerry1111 <j...@w...pl.pl.wp>

    Sebastian Biały wrote:
    > Zbych wrote:
    >> będziesz używał rozkazów thumb to program powinien chodzić z pełną
    >> prędkością także przy 1 wait state.
    >
    > Dostałem 5.25MHz. Czyli poprawa jest.
    >
    >> Co to jest "ta" klasa? Sprawdzałem jak to wygląda na poprawionych
    >> LPC21xx, STM32. Zmiana stanu portu zajmuje w nich 2 cykle zegara.
    >
    > No wlasnie. O ile mi wiadomo w AVR zajmuje 1 cykl. Pytanie, czy w AVR32
    > jest podobnie.

    W AVR32 jest niezle - piny mozna uzyc w trybie fast.

    --
    Jerry1111


  • 7. Data: 2009-08-29 19:56:00
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: g...@n...invalid (Adam Wysocki)

    Sebastian Biały <h...@p...onet.pl> wrote:

    > Potrzebuje obslużyć niewtypowy LCD. I każde spowolnienie na IO widze
    > jako mniejsze frame-rate. I gdyby nie za malo RAM w AVR to bym się nie
    > bawil w SAM7.

    Może AVR z zewnętrznym DRAM-em?

    --
    http://www.gophi.pl/


  • 8. Data: 2009-08-29 20:14:34
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Adam Wysocki wrote:
    >>Potrzebuje obslużyć niewtypowy LCD. I każde spowolnienie na IO widze
    >>jako mniejsze frame-rate. I gdyby nie za malo RAM w AVR to bym się nie
    >>bawil w SAM7.

    > Może AVR z zewnętrznym DRAM-em?

    A AVR z DRAMem będzie szybszy od SAM7 ;)? I bedzie kosztował tyle samo ?
    Zadanie jest: jak najtaniej, jak najprosciej. Jeden scalak jest ok.

    W sumie muszę tak naprawde odbudowac kawalek elektroniki który ulegl
    zniszczeniu. Oryginalnie scalak pracujacy jako sterownik tego LCD jest
    uszkodzony mechanicznie i w dodatku ani wsadu ani nawet wiedzy co to
    jest (zeszlifowana obudowa). Ale musiało być całkiem do rzeczy bo dawalo
    radę 15fps @ 1x640x480 [1]. Abym tego dokonał musze miec pi razy drzwi
    średnią predkośc koło 1MHz wciskania nibblów co oznacza jakieś 4MHz
    machania I/O (a gdzie przeliczenia?). Obawiam się, że AVR z DRAM nie da
    rady. Liczyłem na SAM7 ale troche się przejechałem po pomiarach.

    FPGA na razie sobia daruje bo chyba z takim RAMem nie da rady konkurować
    z uC za 30zl (ale może mnie ktos wyprowadzi z błedu).

    [1] tak naprawdę zmianom ulega jakieś 40% ekranu, więc wymagania RAM sa
    nieco lżejsze.


  • 9. Data: 2009-08-29 21:00:31
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Jerry1111 <j...@w...pl.pl.wp>

    Sebastian Biały wrote:
    > Adam Wysocki wrote:
    >>> Potrzebuje obslużyć niewtypowy LCD. I każde spowolnienie na IO widze
    >>> jako mniejsze frame-rate. I gdyby nie za malo RAM w AVR to bym się
    >>> nie bawil w SAM7.
    >
    >> Może AVR z zewnętrznym DRAM-em?
    >
    > A AVR z DRAMem będzie szybszy od SAM7 ;)? I bedzie kosztował tyle samo ?
    > Zadanie jest: jak najtaniej, jak najprosciej. Jeden scalak jest ok.
    >
    > W sumie muszę tak naprawde odbudowac kawalek elektroniki który ulegl
    > zniszczeniu. Oryginalnie scalak pracujacy jako sterownik tego LCD jest
    > uszkodzony mechanicznie i w dodatku ani wsadu ani nawet wiedzy co to
    > jest (zeszlifowana obudowa). Ale musiało być całkiem do rzeczy bo dawalo
    > radę 15fps @ 1x640x480 [1]. Abym tego dokonał musze miec pi razy drzwi
    > średnią predkośc koło 1MHz wciskania nibblów co oznacza jakieś 4MHz
    > machania I/O (a gdzie przeliczenia?). Obawiam się, że AVR z DRAM nie da
    > rady. Liczyłem na SAM7 ale troche się przejechałem po pomiarach.

    OIDP to AVR32 daje cos 12MHz prostokat na pina (jesli GPIO uzyjesz w
    trybie fast).
    UC3A0512 ma 64k RAMu, wiec powinno Ci starczyc na obraz.

    > FPGA na razie sobia daruje bo chyba z takim RAMem nie da rady konkurować
    > z uC za 30zl (ale może mnie ktos wyprowadzi z błedu).

    Czegos nie rozumiem. Piszesz ze sztuka uszkodzona - to na cholere
    oszczedzac 10PLN i tracic tydzien? Chyba ze masz tych 'mechanicznie
    uszkodzonych' sztuk z 1000.

    > [1] tak naprawdę zmianom ulega jakieś 40% ekranu, więc wymagania RAM sa
    > nieco lżejsze.


    --
    Jerry1111


  • 10. Data: 2009-08-30 00:46:03
    Temat: Re: Jak powolny jest SAM7 przy obsłudze GPIO ?
    Od: Adam Dybkowski <a...@4...pl>

    Sebastian Biały pisze:

    > Wysyłam na przemian jedynki i zera w pętli 3 instrukcji asm. Osiągam
    > 3.5MHz. Teoretycznie rdzeń pracuje na max. predkości (jeszcze to
    > sprawdzę). Czy to coś nie jest zdecydowanie za wolno, czy może 3.5MHz to
    > własciwa predkośc dla SAM7?

    Odpal pętlę z RAMu - będzie znacznie szybciej niż z Flasha.

    Śmigający na 48MHz SAM7 z Flasha ma efektywnie tylko ok. 33 MIPSy (tyle
    zwalnia Flash, dając 1 waitstate na każde 32 bity). I wykonuj kod Thumb,
    zwykle krótszy niż w trybie ARM. Spróbuj też rozwinąć pętlę (np.
    kilkaset mignięć bardzo szybko a potem dopiero skok). SAM7 chodzi
    szybko, problemy z częstymi dostępami do I/O dotyczą procków Philips/NXP
    np. LPC2106.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: