Prędkość PIO w AT91SAM

Cześć, orientuje się ktoś z jaką max. prędkością można "machać" pinami w:

- AT91SAM7S64

- AT91SAM7X256

- AT91SAM7S128

Pozdrawiam MD

Reply to
Maksymilian Dutka
Loading thread data ...

chyba byla kiedys dyskusja na pme.. bodajze bylo to 1/2 fclk, tzn IO jest pedzone taki mzegaram, czyli byloby to w najlpeszym wypadku 0.25fclk.. nie npisali w datasheet'cie?

Reply to
Greg(G.Kasprowicz

Greg(G.Kasprowicz) napisał(a):

Dzisiaj (wczoraj :)) pomierzyłem doświadczalnie. Organ testowy: AT91SAM7S256 - myślę, że może być dobrym przedstawicielem całej serii SAM7Sxx. Popędzany na 48 MHz, program skompilowany w trybie Thumb. Machanie 50 razy jednym pinem na zmianę 0/1/0/1/... daje w asemblerze sekwencję instrukcji str i szybciej się już tego nie da zrobić programowo.

Funkcja generująca przebieg prostokątny wykonywana z pamięci Flash (1 ws) dała na pinie przebieg o częstotliwości ok. 6,850 MHz czyli prawie że równe 7 cykli zegara procesora na okres (błąd pomiaru oscyloskopem). Z czego '1' na pinie miała ok. 64,5 ns a '0' 81,3 ns (stawiam na położenie instrukcji Thumba w pamięci, bardzo prawdopodobne, że mogło być odwrotnie).

Funkcja wykonywana z pamięci RAM: udało się uzyskać przebieg prostokątny

8 MHz czyli 6 cykli zegara na okres (wychodzi że zmiana stanu pinu trwa 3 cykle zegara). Pewnie ze względu na brak dodatkowych opóźnień (0 ws).

Podsumowując:

- wykonanie kodu Thumb z pamięci Flash (1 ws): 6,850 MHz @ 48 MHz fclk

- wykonanie kodu Thumb z pamięci RAM (0 ws): 8 MHz @ 48 MHz fclk

I tym pozytywnym akcentem AT91SAM7S256 dowiódł, że jest w stanie szybko machać pinami. :) A ekstremistów zapraszam do użycia dowolnego PLD'ka i zrobienie tego 10x szybciej.

Reply to
Adam Dybkowski

Adam Dybkowski napisał(a): (...)

(...)

(...)

Dziękuje właśnie o takie coś mi chodziło. W pdf-ie nie bardzo można znaleźć coś sensownego na ten temat.

Pozdrawiam MD

Reply to
Maksymilian Dutka

(...)

Robiłeś może testy prędkości SPI?

Pozdrawiam MD

Reply to
Maksymilian Dutka

Maksymilian Dutka napisał(a):

Nie, ale mogę zrobić przy okazji. Trzeba tylko pamiętać o erracie i dla częstotliwości zegara powyżej ok. 10 MHz ręcznie sterować chip selectami. Które wtedy niestety muszą być na innych pinach, niż dedykowane CS. Warto to wiedzieć już na etapie rysowania schematu, bo potem będzie ból, gdy z szybką pamięcią DataFlash akceptującą zegar max.

66 MHz trzeba będzie gadać na 9,6 MHz. :(
Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.