eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaXMega, DMA i sygnał strobeRe: XMega, DMA i sygnał strobe
  • Data: 2010-06-28 19:35:01
    Temat: Re: XMega, DMA i sygnał strobe
    Od: "Marcin Wasilewski" <j...@a...pewnie.je.st> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Użytkownik "newxmega" <m...@m...mm> napisał w wiadomości
    news:i0aogk$sd1$1@opal.futuro.pl...
    >> Atmel jest niestety bardzo powściągliwy w swojej dokumentacji,
    >> niemniej DMA ma także dostęp do przestrzeni I/O i EEPROM. Więc tak do
    >> końca nie
    > Właśnie. Ale czy widzisz jednak pomocną dłoń ze strony tego DMA?

    Jest o tyle pomocna, że gdy potrzebujesz skopiować jakiś obszar pamięci
    (również z EEPROM do RAM), to inicjujesz proces i o nim "zapominasz". Jest
    też na pewno bardziej wydajne niż kopiowanie danych w pętli raz, że nie
    zajmujemy wtedy procesora, dwa, że odpada sprawdzanie warunku pętli, na co
    normalnie odpada trochę cykli.

    > Gdyby pamięć była wieloportowa, rejestry też z możliwością odczytu

    Tego nie możesz wykluczyć. To że w AT(X)MEGACH dostęp do rejestrów
    procesora i pewnej przestrzeni I/O jest dualny (wszystkie rejestry procesora
    oraz pewna część I/O widziana jest zarówno jako rejestry, jak też zarówno
    jako zwykła pamięć), tzn. że i "mov R17,R16" i "lds R17,16" i "sts 17,R16"
    da nam taki sam efekt:

    Proponuję obejrzeć w debugerze wykonanie poniższego kodu:

    ldi R16,$55
    mov R17,R16
    clr R17
    lds R17,16
    clr R17
    sts 17,R16

    To że dostęp do przestrzni I/O można zrobić poprzez instrukcje IN, OUT, czy
    też odwołać się do tego jak do zwykłej pamięci SRAM (z inną adresacją)
    oznacza raczej, że są jakieś mechanizmy dublujące dostęp do tego obszaru, co
    więcej instrukcje IN/OUT/MOV są szybsze, tak więc być może istnieje jakaś
    druga magistrala systemowa o np. szynie adresowej szerokości 7 bitów
    wspomagająca dostęp do tego obszaru. Kłopot w tym, że ATMEL nic szerzej na
    temat nie pisze, wspominając jedynie o podwójnym bycie tego obszaru.
    Zastanawiające jest, że nawet rejestry typu SPL/SPH, SR są umieszczone w
    przestrzeni I/O, a przecież wydawało by się, że są to rejestry bardzo silnie
    związane z jądra procesora.

    Chociaż teraz gdy w procku istnieje DMA łatwo to sprawdzić - zrobić
    procedurkę która cały czas mielić będzie po tym obszarze i liczyć po ilu
    taktach skończy się kopiować inny obszar po DMA.

    > równoczesnego z innymi to by coś to DMA dało ale jeżeli piszesz między
    > dwoma SPI po DMA wielkimi burstami to czy możesz korzystać z z
    > trzeciego SPI przez procesor i jak to wpływa jedno na drugie?

    No to pozostaje sprawdzić w realu niestety.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: