Obsługa interfejsu pamięci zewnętrznej FlexBus w mikrokontrolerach Kinetis

Transfer pakietowy


Interfejs FlexBus może zostać skonfigurowany w taki sposób, aby inicjalizować cykle przesyłania pakietowego. Interfejs wyrównuje dane przenoszone przez grupy bajtów za pomocą liczby grup, zależnej od szerokości portu danych. Na rysunku 2 przedstawiono grupy bajtów, do których podłączona jest pamięć zewnętrzna, a także sekwencyjne 32-bitowe transfery obsługiwanych rozmiarów portów w przypadkach, gdy przełączenia toru bajtów jest aktywne lub nieaktywne.


 


Rys. 2. Sekwencyjne 32-bitowe transfery, różne konfiguracje torów bajtów

Rys. 2. Sekwencyjne 32-bitowe transfery, różne konfiguracje torów bajtów


 


Typowe mapowanie zewnętrznych pamięci za pomocą interfejsu FlexBus przedstawiono na rysunku 3. Zakres adresów 0x6000_0000…0xA000_0000 jest przestrzenią FlexBus przeznaczoną do przechowywania programów, a 0xA000_0000…0xE000_0000 może być wykorzystywana jedynie do przechowywania danych.


 


Rys. 3. Obszary pamięci zewnętrznych, dostępnych za pośrednictwem interfejsu FlexBus

Rys. 3. Obszary pamięci zewnętrznych, dostępnych za pośrednictwem interfejsu FlexBus


 


Na rysunku 4 przedstawiono schemat blokowy systemu taktującego interfejs FlexBus. Maksymalna częstotliwość taktowania FlexBus wynosi do 50 MHz.


 


Rys. 4. Schemat blokowy systemu taktującego

Rys. 4. Schemat blokowy systemu taktującego


 


Przykład obsługi interfejsu


Oprogramowanie mikrokontrolera musi skonfigurować stabilny sygnał zegarowy taktujący interfejs FlexBus (rejestr MCGOUTCLK). W poniższym przykładzie założono wartość częstotliwości sygnału taktującego CPU wynoszącą 96 MHz.


 

 

O autorze