Obsługa interfejsu pamięci zewnętrznej FlexBus w mikrokontrolerach Kinetis
Mikrokontrolery Kinetis wyposażono w uniwersalny interfejs zewnętrznych magistral danych/adresu o nazwie FlexBus. Można go wykorzystać do podłączenia asynchronicznych lub synchronicznych urządzeń I/O (na przykład pamięci ROM, Flash, układów PLD) lub dowolnych innych urządzeń slave. Przykłady przedstawione w artykule bazują na płytce TWR-MEM z pamięcią MRAM podłączoną do mikrokontrolera z rodziny Kinteis.
Interfejs FlexBus wyposażono w sześć niezależnych, programowalnych przez użytkownika sygnałów wyboru bloku obsługiwanej pamięci (FB_CS[5:0]), 8-/16- lub 32-bitowych portów skonfigurowanych dla multipleksowanych lub niemultipleksowanych magistrali adresowych oraz danych. Szerokość magistral danych jest konfigurowalna, dopuszczalne jest stosowanie portów 8-/16- lub 32-bitowych. Wymiana danych może odbywać się pakietami lub słowo po słowie.
| Opisy sygnałów interfejsu FlexBus FB_A[31:0] – W trybie niemultipleksowanym jest to magistrala danych. FB_AD[31:0] – W trybie niemultipleksowanym jest to magistrala danych, w trybie multipleksowanym, magistrala FB_DA[31:0] służy do transferu adresu i danych. Liczba torów bajtów przenoszących dane jest określona przez rozmiar portu. FB_CS[5:0] – Sygnały wyboru struktury pamięci sygnalizują, które urządzenie jest wybrane. Konkretny sygnał wyboru struktury pamięci ukazuje się, gdy adres transferu należy do przestrzeni adresowej urządzenia. FB_BE/BWE[3:0] – Podczas sterowania niskim napięciem, wyjścia te sygnalizują zatrzymanie danych lub prowadzenie ich na konkretny tor magistrali danych. FB_OE – Sygnał wyzwolenia wyjścia jest wysyłany do sprzężonej pamięci, w celu uruchomienia transferu odczytu. Sygnał FB_OE pojawia się tylko wtedy podczas uzyskiwania dostępu do odczytu, kiedy sygnały wyboru struktury pamięci zgadzają się z aktualnym dekodowaniem adresu. FB_R/W – Procesor steruje tym sygnałem, w celu wskazania operacji wykonywanej obecnie przez magistralę: 1 podczas cyklu odczytu magistrali oraz 0 w trakcie cykli zapisu magistrali. FB_ALE – Pojawienie się tego sygnału wskazuje na to, że urządzenie rozpoczęło wymianę danych przez magistralę, a adresy i parametry są prawidłowe. FB_TSIZ[1:0] – Sygnały te, wraz z FB_TBST wskazują, rozmiar transferu danych aktualnej operacji wykonywanej przez magistralę. FB_TBST – Pakietowanie transferu wskazuje, że przeprowadzane jest pakietowe przenoszenie danych, sterowane przez urządzenie. FB_TA – Ten sygnał wejściowy wskazuje na to, że zakończył się transfer zewnętrznych danych. Wówczas, gdy procesor rozpoznaje sygnał FB_TA podczas cyklu odczytu, zatrzymuje dane, a następnie zakańcza cykl magistrali. FB_CLK – zegar FlexBus, system stanowi dedykowane źródło zegara dla zewnętrznego sygnału FB_CLK modułu FlexBus. Jego częstotliwość taktowania jest otrzymywana z dzielnika (SIM_CLKDIV1[OUTDIV3]), z rejestru MCGOUTCLK. |
Tryb multipleksowany
Na rysunku 1 przedstawiono obsługiwane przez interfejs FlexBus konfiguracje szerokości magistrali adresowej oraz danych. Magistrala w pierwszej kolejności (jasny niebieski) wysyła adres, a dane w drugiej kolejności (zielony).
Rys. 1. Tryby pracy multipleksowanej FlexBus
W tabeli 1 opisano funkcje sygnałów FlexBus dostępnych w mikrokontrolerach Kinetis, w zależności od ich obudowy.
Tab. 1. Sygnały interfejsu FlexBus w mikrokontrolerach Kinetis bez wbudowanego kontrolera LCD
| Obudowa | 144-wypr. | 104-wypr. | 100-wypr. | 81-wypr. |
| Sygnały | [29:16] AD[31:0] CS[5:0] | AD[31:0] CS[5:0] | AD[31:24] 5 CS | AD[19:0] 4 CS |
| Tryb multipleksowany | Maksymalnie do 32 adresów. Maksymalnie do 32 linii danych = AD[31:0]. | Maksymalnie do 32 adresów. Maksymalnie do 32 linii danych = AD[31:0]. | Maksymalnie do 21 adresów. Maksymalnie do 16 linii danych – AD[15:0]. | Maksymalnie do 20 adresów. Maksymalnie do 16 linii danych – AD[15:0]. |
| Tryb niemultipleksowany | Maksymalnie do 30 adresów = A[29:16] + AD[15:0]. Maksymalnie do 16 linii danych = AD[31:16]. | Maksymalnie do 24 adresów = AD[23:0]. Maksymalnie do 8 linii danych = AD[31:24]. Maksymalnie do 16 adresów = AD[15:0]. Maksymalnie do 16 linii danych = AD[31:16]. | Maksymalnie do 20 adresów = AD[20:0]. Maksymalnie do 8 linii danych = AD[31:24]. | N/D |
| Obudowa | 60-wypr. | 64-wypr. | 48-wypr. | 32-wypr. |
| Sygnały | AD[19:0] 2 CS | AD[17:0] 2 CS | N/D | N/D |
| Tryb multipleksowany | Maksymalnie do 20 adresów. Maksymalnie do 16 linii danych – AD[15:0]. | Maksymalnie do 18 adresów. Maksymalnie do 16 linii danych – AD[15:0]. | N/D | N/D |
| Tryb niemultipleksowany | N/D | N/D | N/D | N/D |


Od wzmacniacza nieodwracającego do integratora i wzmacniacza ładunkowego, czyli historia z zaskakującą pointą jak w dobrym kryminale
Green czy smart? Jak decyzje ESG zaczynają optymalizować procesy produkcyjne
Firma Semicon ma w ofercie narzędzia do obróbki przewodów 

![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)



