Sdílet prostřednictvím


Použití SPI v aplikacích s podporou v reálném čase

Azure Sphere podporuje sériové periferní rozhraní (SPI) v hlavním režimu. SPI je sériové rozhraní používané pro komunikaci mezi periferiemi a integrovanými obvody. Na rozdíl od I2C lze SPI používat se složitějšími periferními zařízeními s vyšší rychlostí.

Toto téma popisuje, jak používat SPI v aplikacích s podporou v reálném čase (RTApp). Informace o použití SPI v aplikacích vysoké úrovně najdete v tématu Použití SPI v aplikacích vysoké úrovně.

Poznámka

Operační systém Azure Sphere nerestartuje periferní zařízení při spuštění. Vaše aplikace by měly zajistit, aby periferní zařízení byla při spuštění nebo po restartování ve známém funkčním stavu.

Výběr čipu

Chip select spravuje připojení mezi hlavním rozhraním SPI a sadou podřízených zařízení; a umožňuje hlavnímu rozhraní odesílat a přijímat data do každého podřízeného zařízení nezávisle na sobě. Azure Sphere podporuje nastavení aktivní-nízké a aktivní-vysoké pro výběr čipů s výchozím nastavením aktivní-nízké. Každé hlavní rozhraní SPI může kdykoli používat pouze jedna aplikace. Aplikace musí před provedením operací čtení a zápisu v rozhraní otevřít hlavní rozhraní SPI a identifikovat všechna připojená podřízená zařízení.

Podpora MT3620 pro SPI na jádrech v reálném čase

Při konfiguraci vývojového panelu MT3620 můžete jako hlavní rozhraní SPI použít libovolný port ISU . Ke každé jednotce ISU můžete připojit až dvě podřízená zařízení. Pokud jako hlavní rozhraní SPI použijete port ISU, nemůžete použít stejný port jako rozhraní I2C nebo UART.

MT3620 podporuje transakce SPI, které jsou až 40 MHz.

MT3620 nepodporuje souběžné obousměrné operace spi pro čtení a zápis (plně duplexní) SPI v rámci jedné transakce sběrnice.

Specifikace SPI pro MT3620 jsou uvedené v tématu Stav podpory MT3620. Uživatelská příručka vývojové desky MT3620 popisuje rozložení kolíků a funkce pro zapojení.

Základní adresy registru, čísla přerušení, frekvence hodin, vzorkovací frekvence a další podrobnosti o MT3620 najdete v datovém listu MT3620 a uživatelské příručce MT3620 M4; pokud otázky přetrvávají, můžete si vyžádat podrobnosti od avnetu Azure.Sphere@avnet.come-mailem .

Nastavení manifestu aplikace

Pokud chcete používat rozhraní SPI API, musíte tuto funkci přidat SpiMaster do manifestu aplikace a pak do funkce zadat jednotlivé hlavní řadiče SPI.

"Capabilities": {
   "SpiMaster": [ "ISU0", "ISU1" ] }

Manifest aplikace Azure Sphere obsahuje další podrobnosti o manifestu aplikace.

Ukázkové aplikace SPI

Úložiště CodethinkLabs na GitHubu obsahuje ukázkové aplikace, které ukazují, jak používat podporovaná periferní zařízení MT3620 v aplikacích Azure Sphere podporujících real-time. Konkrétně ukázky SPI_RTApp_MT3620_BareMetal a SPI_SDCard_RTApp_MT3620_BareMetal ukazují, jak začlenit periferní zařízení SPI do aplikace podporující real-time.