Táto časť pokračuje. Vstavaný systém Ďalšie sériové komunikačné rozhranie v protokole hardvérového komunikačného rozhrania - SPI 。 V porovnaní s protokolom sériového portu UART má SPI svoju jedinečnosť.
Adresa je uvedená nasledovne: Http://www.eepw.com.cn/article/201812/396060.htm
stručný úvod
SPI (SerialPeripheral Interface), sériové periférne rozhranie.
SPI je skratka SerialPeripheral Interface. SPI je vysokorýchlostná, plne duplexná, synchrónna komunikačná zbernica a zaberá iba štyri riadky na čipe čipu. Šetrí kolíky čipu a šetrí miesto a pohodlie pri rozmiestnení DPS. Z dôvodu tejto jednoduchej a ľahko použiteľnej charakteristiky integrovalo tento komunikačný protokol stále viac čipov, napríklad AT91RM9200.
- z encyklopédie Baidu
Rozhranie bolo vyvinuté spoločnosťou Motorola v polovici 80. rokov a stalo sa de facto štandardom.
- z Wiki
Z „faktického štandardu“, ktorý konzultoval Wikipedia, môžeme získať slepé miesto vedomostí vo vede.
Skutočné normy sa vzťahujú na tie, ktoré nie sú sformulované normalizačnými organizáciami, ale podnikmi a podnikateľskými skupinami, ktoré sú na poprednom mieste v oblasti technológií. Niektoré z nich tiež potrebujú povolenie od priemyselných aliančných organizácií, ako sú normy DVD, ktoré musia byť schválené fórom DVD, a technické normy akceptované trhom.
- z encyklopédie Baidu
Rozhranie SPI definuje hostiteľskú a komunikačnú architektúru. Na tej istej zbernici SPI je iba jeden hostiteľ a existuje viacero podradených počítačov. Takáto architektúra obmedzuje iniciatívu komunikácie iba na strane hostiteľa, hostiteľ iniciuje komunikáciu a slave robí požadované.
Signálne vedenie
SPI sa nazýva štvorvodičová sériová zbernica a jej signálne vedenia sú:
SCLK: sériové hodiny (výstup hostiteľa)
MOSI: hlavný výstup zo vstupu slave alebo z hostiteľského výstupu slave (výstupné údaje z hostiteľa).
MISO: hlavný vstup z výstupu alebo hlavný vstup z výstupu (z výstupu výstupných údajov).
SS: výber slave (zvyčajne nízka účinnosť, výstup hostiteľa).
Pomenovanie signálnych vedení je tiež rôzne.
Hodiny sériového portu:
SCLK: SCK
Hlavný výstup -> zo vstupu (MOSI):
SIMO, MTSR - zodpovedajú MOSI medzi hlavným a podriadeným zariadením.
SDI, DI, DIN, SI - zo zariadenia; pripojte sa k MOSI na hlavnom zariadení alebo sa pripojte k nasledujúcemu pripojeniu.
SDO, DO, DOUT, SO - na hlavnom zariadení; pripojte sa k MOSI podradenej stanice alebo k vyššie uvedenému pripojeniu.
主 输入 <--- 从="" 输出="">--->
SOMI, MRST - zodpovedajú MISO medzi hlavným a podriadeným zariadením.
SDO, DO, DOUT, SO - zo zariadenia; pripojte sa k MISO na hlavnom zariadení alebo pripojte k nasledujúcemu pripojeniu.
SDI, DI, DIN, SI - hlavné zariadenie; MISO je pripojené k podriadenému alebo hornému pripojeniu.
Výber slave:
SS: SSEL, CS, CE, nSS, / SS, SS #
Vyššie uvedené mätúce názvy sú SDO, SDI, DOUT, DIN atď., Ktoré je potrebné vidieť oddelene v hlavnom zariadení alebo od samotného zariadenia. Ale všeobecne sa snažte napísať jasné špecifikácie, čo nie je ľahké vytvoriť nejednoznačnosť.
SPI ako synchrónne sériové rozhranie sa môže považovať za synchrónne sériové rozhranie. Prvým z nich je vybrať signály SS z podradeného zariadenia, informovať vybraného podriadeného zariadenia, pripraviť sa na komunikáciu SPI a druhým je synchronizácia hodinového signálu SCLK. Keď strany vysielača a prijímača interagujú s dátami, sú výstupom a vzorkovaním po bitoch na základe skokov SCLK.
Štyri signálne vedenia nie sú všetky potrebné, podľa pracovného režimu, môžu byť nakonfigurované do dvoch vedení a troch vedení.
Na konfiguračnej stránke nástroja STM32CubeMX môžete jasne vidieť, aké odlišné sú kolíky čipov pre rôzne režimy prevádzky.



Porovnaním sa zistilo, že rozdiel medzi štyrmi a tromi riadkami plného duplexu je podriadený signál NSS. Táto situácia je všeobecne spôsobená tým, že zbernica SPI má iba jednu hlavnú a jednu slave komunikačnú architektúru a signál slave NSS bol vždy na nízkej úrovni.
Časovanie signálu
Časová postupnosť štvorvodičového rozhrania SPI je vždy vždy nízka, vyberte signálne vedenie SS zo zariadenia, potom na výstup SCLK a zoberte údaje MOSI, v tomto čase je MISO stav s vysokou impedanciou. Nasledovne:

Zvyčajne existujú zariadenia s rozhraním SPI a na Spec sa nachádzajú zodpovedajúce sekvenčné diagramy. Rozhranie SPI je zachytené, resp. Model FLASH je GD25Q32C, model OLED rozhrania SPI je QG-2832TLBFG04 a časti týchto dvoch zariadení sú uvedené nasledovne: dve snímky obrazovky:


Nie je ťažké nájsť, že špecifikácia časovacieho diagramu definuje poradie a časové oneskorenie každej výstupnej úrovne signálovej linky a definuje "zarovnanie" poskakovania hodinového signálu spolu s dátovým signálom. „Zarovnanie“ je v skutočnosti výstup a vzorkovanie údajov.
Podobne táto špecifikácia časovania špecifikuje signálové charakteristiky rozhrania SPI zariadení SPI, vrátane zvýšenia hodín, času klesajúcej hrany, oneskorenia medzi výberom čipu a hranou skokov a trvaním hrany hodín a dátovej linky.
Tieto charakteristiky časovania definujú rozsah hostiteľa SPI, keď s ním komunikuje, alebo nepresahuje rozsah jeho definície, inak povedie k abnormálnej komunikácii z odozvy častí stroja.
Rôzne zariadenia majú rôzne časové požiadavky na rozhranie SPI. Prvý jednoduchý sekvenčný diagram a na základe tohto sekvenčného diagramu rozhranie SPI môže tiež konfigurovať rôzne konfiguračné parametre rozhrania.
Položka konfigurácie rozhrania
Všeobecne je voliteľná konfigurácia rozhrania: režim rozhrania (skutočná konfigurácia je jednoduchá a duplexná voľba), režim hlavného podriadeného zariadenia, šírka údajov, polarita hodín (CPOL :), hodinová fáza (CPHA), taktovacia frekvencia, dátový bitový bit veľkosť a výber terminálu.
Režim rozhrania
Štandardné štvorvodičové rozhranie SPI využíva komunikáciu medzi hostiteľom a slave na interakciu s údajmi a obe strany majú proces prijímania a odosielania údajov. V rozhraní LCD / OLED SPI nepotrebuje údaje, ktoré sa majú vracať do hostiteľa ako zariadenie zariadenia. Potrebuje iba príjem kontrolných informácií a zobrazenie údajov od hostiteľa.
Na základe tohto scenára môže byť nakonfigurovaná ako trojžilová simplexná komunikácia, to znamená, že zo stroja je možné vybrať iba SS, hodiny SCLK a MOSI s výstupom na dáta.
Režim hlavného podriadeného zariadenia
Táto konfigurácia všeobecne potrebuje zistiť, či čip podporuje alebo nie, a môže byť nakonfigurovaný ako hostiteľ SPI alebo slave, aby mohol byť lepšie integrovaný do projektového systému.
Šírka údajov
Ako už názov napovedá, odosielanie údajov sa dá nakonfigurovať na 8 bitov, 16 bitov atď., Čo sa tiež určuje podľa čipu.
Polarita hodín a fáza hodín
Sú to CPOL (Clock Polarity) a CPHA (Clock Phase). Polarita znamená vysokú a nízku úroveň. Toto definuje SPI zbernicu v nečinnom stave, hodiny udržiavajú vysokú alebo nízku úroveň, pretože pokiaľ ide o SPI komunikáciu, prvá hrana poskakovania hodín stúpa a klesá. Fáza označuje skokovú hranu hodín, ktorá špecifikuje výstup dátového signálu a ako je vzorkovanie zarovnané s hodinami.
Obe konfigurácie boli interpretované veľmi jasne v encyklopédii Wiki a Baidu.


Hodinová frekvencia
Výber rýchlosti definuje rýchlosť otáčania signálneho vedenia hodín pri prenose dát, čo je rozsah rýchlosti, ktorý môže byť udržovaný v sekvenčnom diagrame rozhrania definovanom každým čipom. Ak je rýchlosť hostiteľa nastavená príliš rýchlo a reakcia slave stroja je príliš nízka, komunikácia zlyhá.
Veľkosť bitov a výber konca bitov
Konfigurovateľný bit s prioritou odosielania dát, prvý protokol UART môže poznať, bit 0 s určenou prioritou UART a tento SPI je konfigurovateľnou prioritou na odosielanie bitov, môže nastaviť najnižšiu alebo najvyššiu pozíciu.
Z snímok časových radov modelov FLASH GD25Q32 a OLED QG-2832TLBFG04 vidíme, že všetky tieto dve zariadenia uprednostňujú MSB, čo je najvyššia priorita.
Potom porovnajte inštrukciu čipu písma GT21L16S2W na čítanie:

Je vidieť, že priorita prenosu MSB sa bežne prijíma v zariadeniach SPI.
Zhrňte komunikačné rozhranie SPI, architektúru komunikácie jedného hostiteľa a viacerých slave. Štandardný režim má štyri signálne vedenia, začína komunikáciu s vybraným signálom SS, hodinový signál SCLK vykonáva bitový výstup a vzorkovanie, konfiguruje čas vzorkovania a dáva prioritu vydávaniu bitov.
