LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

Programowanie mikrokontrolerów Freescale Kinetis w trybie ISP

Sposób komunikacji z modułem EzPort

W module EzPort zaimplementowano prosty protokół komunikacyjny oparty na komendach. Każda sentencja przesyłanych informacji z urządzenia zewnętrznego do modułu EzPort mikrokontrolera Kinetis rozpoczynana jest od kodu instrukcji, który identyfikuje czynność, którą ma wykonać moduł EzPort. Przykład komunikacji pokazano na rysunku 3.

 

Rys. 3. Strumień danych będących przykładową sekwencją komunikacyjną modułu EzPort

Rys. 3. Strumień danych będących przykładową sekwencją komunikacyjną modułu EzPort

 

 

Wszystkie dostępne komendy przedstawiono w tabeli 2.

 

Tab. 2. Komendy modułu EzPort

Skrót komendy Nazwa komendy Kod komendy
WREN Write Enable 0x06
WRDI Write Disable 0x04
RDSR Read Status Register 0x05
READ Flash Read Data 0x03
FAST_READ Flash Read Data at High Speed 0x0B
SP Flash Section Program 0x02
SE Flash Sector Erase 0xD8
BE Flash Bulk Erase 0xC7
RESE Reset Chip 0xB9
WRFCCOB Write FCCOB Registers 0xBA
FAST_RDFCCOB Read FCCOB registers at High Speed 0xBB
WRFLEXRAM Write FlexRAM 0xBC
RDFLEXRAM Read FlexRAM 0xBD
FAST_RDFLEXRAM Read FlexRAM at High Speed 0xBE

 

Write Enable

Komenda Write Enable (WREN) ustawia bit write enable w rejestrze statusowym modułu EzPort. Komenda ta musi zostać wywołana, aby umożliwić zapis do pamięci (komendy SP, SE, BE, WRFCCOB, WRFLEXRAM). Implementację komendy Write Enable na mikrokontrolerze Coldfire MCF5282 pokazano w listingu:

//ezp_wren_cmd
ezp_write_byte(EZPORT_WREN);
while (!(MCF5282_QSPI_QIR & MCF5282_QSPI_QIR_SPIF));

 

Write Disable

Komenda Write Disable (WRDI) zeruje bit write enable w rejestrze statusowym modułu EzPort, co zapobiega przed nieuprawnionym lub niekontrolowanym zapisem do pamięci. Implementację komendy Write Disable na mikrokontrolerze Coldfire MCF5282 pokazano w listingu:

//ezp_wrdi_cmd
ezp_write_byte(EZPORT_WRDI);
while (!(MCF5282_QSPI_QIR & MCF5282_QSPI_QIR_SPIF));
Read Status Register

Wywołanie komendy Read Status Register (RDSR) umożliwia odczytanie rejestru statusowego modułu EzPort.

Flash Read Data

Za pomocą komendy Flash Read Data (READ) odczytywana jest zawartość pamięci Flash lub FlexNVM w zależności od wskazanego adresu, który jest liczbą 32-bitową. Przesyłanie odczytanych danych jest ponawiane aż do momentu zmiany  przez urządzenie zewnętrzne stanu sygnału na linii EZP_CS. Częstotliwość odczytu danych może wynosić maksymalnie jedną ósmą częstotliwości pracy mikrokontrolera.

Flash Read Data at High Speed

Efekty komendy Flash Read Data at High Speed jest taki sam jak Flash Read Data, z tą różnicą, że częstotliwość odczytu może być zwiększona – do maksymalnie połowy częstotliwości pracy mikrokontrolera.

Flash Section Program

Komeda Flash Section Program (SP) służy do zaprogramowania jednego sektora wcześniej skasowanej pamięci Flash. Adres pamięci podawany jest po kodzie komendy i przyjmuje wartość 64-bitową. Po adresie wysyłane są dane do zapisania w pamięci.

Polski portal branżowy dedykowany zagadnieniom elektroniki. Przeznaczony jest dla inżynierów i konstruktorów, projektantów hardware i programistów oraz dla studentów uczelni technicznych i miłośników elektroniki. Zaglądają tu właściciele startupów, dyrektorzy działów R&D, zarządzający średniego szczebla i prezesi dużych przedsiębiorstw. Oprócz artykułów technicznych, czytelnik znajdzie tu porady i pełne kursy przedmiotowe, informacje o trendach w elektronice, a także oferty pracy. Przeczyta wywiady, przejrzy aktualności z branży w kraju i na świecie oraz zadeklaruje swój udział w wydarzeniach, szkoleniach i konferencjach. Mikrokontroler.pl pełni również rolę patrona medialnego imprez targowych, konkursów, hackathonów i seminariów. Zapraszamy do współpracy!