SPI rozhraní poskytuje alternativní způsob komunikace s µINS, µAHRS, a µIMU. Protokol SPI používá velkou část stejné struktury a formátu jako binární protokol sériové komunikace, který je uveden v části binárního protokolu uživatelské příručky.

povolit SPI¶

povolit SPI, podržte pin G9 (nSPI_EN) při spuštění.

Poznámka: Pokud je na G9 povolen externí signál GPS PPS timepulse, modul ignoruje signál nSPI_EN a režim SPI bude deaktivován bez ohledu na stav pin G9.,

Hardware¶

inerciální Sense SPI rozhraní Používá 5 řádků pro rozhraní s jinými zařízeními., id=“c075f8374e“>

Hodiny Polaritu Nečinnosti Vysoká (CPOL = 1) Hodiny Fáze sestupné Hraně (CPHA = 1) Chip Select Aktivní Nízká Data Aktivní Vysoká

Přenos Dat¶

K zajištění správného chování přijímače v SPI režimu Slave, master zařízení odesílání rámu musí zajistit minimální zpoždění jednoho tbit (tbit být nominální čas potřebný pro přenos bitu) mezi každý znak převodovka., Inerciální Sense zařízení nevyžadují klesající okraj zahájit příjem znak, ale pouze nízkou úroveň. Tato nízká úroveň však musí být přítomna na alespoň jednom Tbit před prvním sériovým cyklem hodin odpovídajícím bitům MSB. (1)

při čtení uINS a nejsou k dispozici žádná data připraven bude posílat nuly pro data.

udržování nízké hodnoty CS by nemělo způsobovat žádné problémy. Pokud se však taktování mezi procesory master a slave vymkne synchronizaci, není nic, co by je vrátilo zpět do synchronizace., Pozemní odraz nebo hluk během přechodu může způsobit, že uINS vidí dvě hodiny hrany, když tam měl být jen jeden (kvůli ESD nebo rychlé přechodné události). Zvedání a spouštění linky CS resetuje registr směn resynchronizuje hodiny.

možnost Pin připraveného na Data¶

k dispozici je možnost pin připraveného na data. Tento signál se zvýší, až budou data připravena. V závislosti na tom, kdy k tomu dojde, mohou existovat 1-4 bajty nul, které vyjdou před spuštěním paketu. Také tento řádek půjde neaktivní bajt nebo dva před koncem paketu dostane odeslán., K odeslání není znak „ne v datovém paketu“. To je přísně provedeno pomocí dat ready pin a parsování.

Pokud je řádek pro výběr čipu během datového paketu snížen, může dojít ke ztrátě přenášeného bajtu (nebo přenosu). Doporučuje se pouze snížit výběr čipu, když je mimo datový paket a pin připravený k datům je neaktivní.

vnitřní SPI buffer je 4096 bajtů. Pokud dojde k přetečení vyrovnávací paměti, vyrovnávací paměť klesne. To je indikováno pinem připraveným na data, který je vysoký, aniž by tam byla data., Když dojde k přetečení, vymaže vyrovnávací paměť, takže systém by mohl být uprostřed paketu a uINS by jen poslal nuly. Pokud je požadavek odeslán do uINS nebo uINS odešle paket pravidelně to vyřeší situaci.

rozhraní SPI podporuje až 3 MB datovou rychlost. (5 MB funguje v případě, že data ready pin se používá pro příjem dat-viz B níže.)

Čtení Dat¶

Existují dvě strategie, které mohou být použity ke čtení dat:

A. Přečtěte si pevnou velikost dat každý nastavit časový interval., Více dat se bude číst, než uINx bude vyrábět v pravidelném intervalu, například, čtení 512 bajtů každé 4 ms.

Paketová bude 0x00 čalouněný pokud bajtů číst přesahuje velikost paketu.

B. Přečtěte si, když je aktivní pin data ready nebo jsme uvnitř datového paketu. Jednou z anomálií je, že pin připravený na data upustí bajt nebo dva, než se konec dostane ven, a proto je třeba sledovat konec paketu.

Pseudo kód pro čtení dat:¶

  1. check data ready pin. Pokud je pin nízký, zpoždění a znovu zkontrolujte pin.,
  2. dolní řádek CS a čtení bloku dat. Velikost čtení je libovolná, ale má tendenci pracovat lépe, pokud je počet čtení dostatečně dlouhý, aby obsahoval většinu datových paketů.
  3. Po dokončení čtení zkontrolujte pin připravený pro data. Pokud je vysoká, přečtěte si další data. Nezvedejte řádek CS, zatímco pin data ready je vysoký,způsobí ztrátu dat. Pokud jsou data připravena nízká, zvedněte řádek CS. Na rušném systému (a v závislosti na přenosové rychlosti) by se to muselo stát spolu s daty čtenými, protože pin připravený na data nemusí mezi pakety klesnout.,
  4. analyzovat data hledají začátek paketu (0xFF) vyřazování dat, dokud nebyl nalezen. Po nalezení začněte ukládat data.
  5. uložit a analyzovat data hledající konec paketu (0xFE). Poté, co našel poslat paket off pro použití. Pokud je při hledání konce vidět začátek znaku paketu, zlikvidujte předchozí data a spusťte ukládání paketů znovu.

EVB-2 SPI Dev Kit¶

EVB-2 demonstruje SPI rozhraní s uINS. Procesor EVB-2 ATSAM-E70 (E70) poskytuje příklad rozhraní SPI s uINS., EVB-2 musí být uveden do režimu CBPreset 6 (config LED color cyan), po kterém následuje resetování systému, aby se umožnil režim SPI. Zdrojový kód projektu EVB-2 (E70) je k dispozici v SDK pro referenci.

řešení Potíží¶

Pokud se každý jiný znak z paketů je ztraceno by mohlo být, že na CS linku je přepínat po každém bajtu.

uINS 3.1 používá USART SPI okrajové který vyžaduje minimální zpoždění jednoho tbit (tbit být nominální čas potřebný pro přenos bitu) mezera mezi znaky poslal. Čtení bajtů jeden po druhém může způsobit výrazné časové zpoždění při streamování dat., V závislosti na množství datových proudů, UINs mable držet krok a vyrovnávací paměť může být přetečení. Požadavky na jednotlivé zprávy by měly fungovat správně, ale streamování pravděpodobně nebude fungovat dobře. Pokud hlavní hardware nedokáže zvládnout zpoždění, měl by být použit hardware UINs 3.2.