Ta sekcja jest kontynuowana. Wbudowany system Kolejny szeregowy interfejs komunikacyjny w sprzętowym protokole komunikacyjnym - SPI 。 W porównaniu z protokołem portu szeregowego UART, SPI Ma swoją wyjątkowość.
Adres jest cytowany w następujący sposób: Http://www.eepw.com.cn/article/201812/396060.htm
krótkie wprowadzenie
SPI (SerialPeripheral Interface), szeregowy interfejs peryferyjny.
SPI to skrót od SerialPeripheral Interface. SPI jest szybką, pełnodupleksową, synchroniczną magistralą komunikacyjną i zajmuje tylko cztery linie na pinie mikroukładu. Oszczędza to szpilki układu oraz oszczędza miejsce i wygodę w zakresie układu PCB. Ze względu na tę prostą i łatwą w użyciu cechę, coraz więcej układów scalonych zintegrowało ten protokół komunikacyjny, taki jak AT91RM9200.
- z Encyklopedii Baidu
Interfejs został opracowany przez Motorolę w połowie lat osiemdziesiątych i stał się de facto standardem.
- z Wiki
Ze „standardu faktów”, z którego korzystała Wikipedia, możemy uzyskać martwy punkt wiedzy w nauce.
Normy faktyczne odnoszą się do norm nie sformułowanych przez organizacje normalizacyjne, ale przez przedsiębiorstwa i grupy biznesowe zajmujące wiodącą pozycję w dziedzinie technologii. Niektóre z nich wymagają również akceptacji branżowych organizacji sojuszniczych, takich jak standardy DVD, które muszą zostać zatwierdzone przez forum DVD, oraz standardy techniczne akceptowane przez rynek.
- z Encyklopedii Baidu
Interfejs SPI definiuje architekturę hosta i więcej komunikacji. Na tej samej magistrali SPI jest tylko jeden host i wiele komputerów podrzędnych. Taka architektura ogranicza inicjatywę komunikacji tylko po stronie hosta, host inicjuje komunikację, a niewolnik czyni to pożądanym.
Linia sygnałowa
SPI nazywa się czteroprzewodową magistralą szeregową, a jego linie sygnałowe to:
SCLK: zegar szeregowy (wyjście hosta)
MOSI: główne wyjście z wejścia slave lub wyjście hosta slave (dane wyjściowe z hosta).
MISO: główne wejście z wyjścia lub główne wejście z wyjścia (z wyjścia danych wyjściowych).
SS: wybór slave (zwykle niska wydajność, wyjście hosta).
Nazwy linii sygnałowych są również zróżnicowane.
Zegar portu szeregowego:
SCLK: SCK
Główne wyjście -> z wejścia (MOSI):
SIMO, MTSR - odpowiada MOSI między urządzeniem głównym a urządzeniem podrzędnym.
SDI, DI, DIN, SI - z urządzenia; połączyć się z MOSI na głównym urządzeniu lub połączyć z następującym połączeniem.
SDO, DO, DOUT, SO - na głównym urządzeniu; podłącz do MOSI stacji slave lub podłącz do powyższego połączenia.
主 输入 <--- 从="" 输出="" (miso)="">--->
SOMI, MRST - odpowiadają MISO między urządzeniem głównym a urządzeniem podrzędnym.
SDO, DO, DOUT, SO - z urządzenia; połącz się z MISO na głównym urządzeniu lub połącz z następującym połączeniem.
SDI, DI, DIN, SI - urządzenie główne; MISO podłączone do podrzędnego lub górnego połączenia.
Wybór Slave:
SS: SSEL, CS, CE, nSS, / SS, SS #
Powyższe mylące nazwy to SDO, SDI, DOUT, DIN i tak dalej, z których wszystkie muszą być widoczne osobno w głównym urządzeniu lub tylko z samego urządzenia. Ale ogólnie staraj się pisać jasne specyfikacje, co nie jest łatwe do stworzenia niejednoznaczności.
SPI, jako synchroniczny interfejs szeregowy, można uznać za posiadający dwa sygnały synchroniczne. Pierwszym z nich jest wybór sygnałów SS z maszyny slave, poinformowanie wybranego slave'a, przygotowanie się do komunikacji SPI, a drugim zsynchronizowanie sygnału zegarowego SCLK. Gdy strony nadajnika-odbiornika wchodzą w interakcję z danymi, są one wysyłane i próbkowane bitowo na podstawie przeskoku SCLK.
Cztery linie sygnałowe nie są wszystkie potrzebne, zgodnie z trybem pracy, można je skonfigurować w dwie linie i trzy linie.
Na stronie konfiguracji narzędzia STM32CubeMX widać wyraźnie, jak różne są piny układów dla różnych trybów pracy.



Porównanie wykazało, że różnicą między czterema a trzema liniami pełnego dupleksu jest sygnał podrzędny NSS. Taka sytuacja jest na ogół spowodowana tym, że magistrala SPI ma tylko jedną architekturę komunikacyjną główną i jedną podrzędną, a sygnał podrzędny NSS zawsze był na niskim poziomie.
Czas sygnału
Sekwencja czasowa czteroprzewodowego interfejsu SPI jest zawsze zawsze niska, wybierz linię sygnałową SS z maszyny, a następnie wyślij SCLK i pobierz dane MOSI, w tym czasie MISO jest stanem wysokiej impedancji. Następująco:

Zwykle są to urządzenia interfejsu SPI, a na Spec będą odpowiednie schematy sekwencji. Interfejs SPI jest odpowiednio przechwytywany. Model FLASH to GD25Q32C, model OLED z interfejsem SPI to QG-2832TLBFG04, a części Spec dwóch urządzeń przedstawiono w następujący sposób: dwa zrzuty ekranu:


Nietrudno stwierdzić, że specyfikacja schematu taktowania określa kolejność i opóźnienie czasowe każdego poziomu wyjściowego linii sygnałowej oraz określa „wyrównanie” przeskakiwania sygnału zegarowego wraz z sygnałem danych. „Wyrównanie” tutaj jest w rzeczywistości wynikiem i próbkowaniem danych.
Podobnie, ta specyfikacja taktowania określa charakterystykę sygnału interfejsu SPI urządzeń SPI, w tym wzrost zegara, czas opadania zbocza, opóźnienie między wyborem układu i zboczem przeskoku zegara oraz czas trwania zbocza zegara i linii danych.
Te cechy czasowe określają zakres hosta SPI podczas komunikacji z nim, lub nie wykracza poza zakres jego definicji, w przeciwnym razie doprowadzi to do nieprawidłowej komunikacji z odpowiedzi części maszyny.
Różne urządzenia mają różne wymagania dotyczące czasu dla interfejsu SPI. Pierwszy prosty schemat sekwencji, oparty na tym schemacie sekwencji, interfejs SPI może również konfigurować różne parametry konfiguracyjne interfejsu.
Element konfiguracji interfejsu
Zasadniczo opcjonalna konfiguracja interfejsu to: tryb interfejsu (rzeczywista konfiguracja to tryb pojedynczy i dupleks), tryb urządzenia master slave, szerokość danych, polaryzacja zegara (CPOL :), faza zegara (CPHA), częstotliwość zegara, bit danych rozmiar i wybór terminala.
Tryb interfejsu
Standardowy czteroprzewodowy interfejs SPI wykorzystuje komunikację między hostem a urządzeniem podrzędnym do interakcji danych, a obie strony mają proces odbierania i wysyłania danych. W interfejsie LCD / OLED SPI nie trzeba zwracać danych do hosta jako urządzenia urządzenia. Musi tylko odbierać informacje sterujące i wyświetlać dane z hosta.
W oparciu o ten scenariusz można go skonfigurować jako trzyprzewodową komunikację simpleksową, tzn. Z urządzenia można wybrać tylko SS, zegar SCLK i wyjście danych MOSI.
Tryb urządzenia master slave
Ta konfiguracja zazwyczaj wymaga sprawdzenia, czy układ obsługuje, czy nie, i można go skonfigurować jako hosta SPI lub maszynę podrzędną, aby można go było lepiej zintegrować z systemem projektu.
Szerokość danych
Jak sama nazwa wskazuje, wysyłanie danych można skonfigurować na 8-bitowe, 16-bitowe i tak dalej, co jest również określane zgodnie z układem.
Polaryzacja zegara i faza zegara
Oba to CPOL (biegunowość zegara) i CPHA (faza zegara). Biegunowość oznacza wysoki i niski poziom. Definiuje to magistralę SPI w stanie bezczynności, zegar utrzymuje wysoki lub niski poziom, ponieważ jeśli chodzi o komunikację SPI, pierwsza krawędź skoku zegara rośnie i spada. Faza odnosi się do skoku zegara, określając wyjście sygnału danych i sposób dopasowania próbkowania do zegara.
Te dwie konfiguracje zostały zinterpretowane bardzo wyraźnie w encyklopedii Wiki i Baidu.


Częstotliwość zegara
Wybór prędkości określa szybkość skrętu linii sygnału zegara w transmisji danych, która jest zakresem prędkości, który można utrzymać na schemacie sekwencji interfejsów zdefiniowanym przez każdy układ. Jeśli prędkość hosta jest ustawiona zbyt szybko, a odpowiedź maszyny slave jest zbyt wolna, komunikacja nie powiedzie się.
Rozmiar bitu danych i wybór końca
Konfigurowalny bit priorytetu wysyłania danych, od pierwszego protokołu UART może wiedzieć, bit 0 priorytetu danych określony przez UART, a ten SPI ma konfigurowalny priorytet do wysyłania bitu, może ustawić najniższą lub najwyższą pozycję.
Na podstawie zrzutów ekranu z serii czasowych modeli FLASH GD25Q32 i OLED QG-2832TLBFG04 widać, że wszystkie te dwa urządzenia dają pierwszeństwo MSB, czyli najwyższemu priorytetowi.
Następnie porównaj instrukcję układu czcionek GT21L16S2W do czytania:

Można zauważyć, że priorytet transmisji MSB jest powszechnie stosowany w urządzeniach SPI.
Podsumuj interfejs komunikacyjny SPI, architekturę komunikacyjną jednego hosta i wielu urządzeń podrzędnych. Tryb standardowy ma cztery linie sygnałowe, rozpoczyna komunikację z wybranym sygnałem SS, sygnał zegarowy SCLK wykonuje wyjście bitowe i próbkowanie, konfiguruje czas próbkowania i daje pierwszeństwo wydaniu bitu.
