V številki SE-221 revije Svet Elektronike smo predstavili krmiljenje servomotorja, in sicer moramo za vrtenje motorja uporabiti pulzno-širinsko modulacijo. Servomotorji so namenjeni krmiljenju majhnih premikov, ki jih navadno srečamo pri loputah, zakrilcih letal, robotih, itd., saj omogočajo vrtenje v razponu kota od -90° do +90°. Vse servomotorje je predhodno potrebno kalibrirati, saj moramo ugotoviti časovno trajanje pulzov, ki sovpadajo z minimalnim in maksimalnim zasukom servomotorja.
Tokratna izdaja revije Svet Elektronike predstavlja eno izmed bolj uporabljanih serijskih vodil v elektroniki, in sicer bomo predstavili vodilo SPI. To vodilo uporablja največ štiri signalne linije in deluje v režimu neke nadrejene naprave, kateri so podrejeni na vodilo priključeni moduli. Na ta način je mogoče z eno napravo krmiliti več podrejenih naprav (kar nameravamo predstaviti v tem članku). Ta vodila v sodobnih elektronskih sklopih dosegajo izjemne hitrosti, saj že dandanašnja microSD kartica UHS-I deluje na frekvenci vodila 50-208 MHz, kar omogoča teoretično hitrost prenosa podatkov do 104 MB/s, medtem ko naslednja generacija UHS-II pri 52 MHz že omogoča prenos podatkov s (teoretičnimi) hitrostmi do 312 MB/s [1]!
Vodilo SPI
Vodilo SPI (Serial to Peripheral Interface) [2] je strojno-programska komunikacija, ki jo je sredi 80. let 20. stoletja razvila Motorola, kasneje pa so jo povzeli tudi drugi industrijski proizvajalci elektronskih sklopov. Naprave na vodilu SPI delujejo v režimu nadrejen/podrejen (ang. master/slave), kjer nadrejena naprava skrbi za pretok podatkov po vodilu oz. krmili tok podatkov. Včasih se vodilo SPI imenuje tudi »štirižilno« serijsko vodilo.
Vodilo SPI je dokaj enostavno, kajti združuje lastnosti, ki bi jih domala uporabil vsak inženir elektronike, če bi želel na hitro vzpostaviti komunikacijo med dvema digitalnima napravama. Vodilo SPI je sestavljeno iz največ štirih signalnih linij (glej Slika 1). Tukaj predpostavimo, da komunikacija poteka v polnem dupleks načinu. V članku bomo predstavili način komunikacije po treh signalnih linijah, ki se večinoma uporablja pri napravah, ki le sprejemajo podatke (npr. zasloni), vendar uporabljali bomo številčnico s stikali, zato bomo pokazali, kako je mogoče dvosmerno prenašati podatke po treh linijah.
4 signalne linije zajemajo:
- Takt ure, ki je označen z SCLK (serial clock), se pošilja od nadrejene naprave k vsem podrejenim; vsi SPI signali so sinhroni urinemu taktu
- SS (slave select) signal se uporablja, da z njim nadrejena naprava določi, s katero podrejeno napravo SSn bo komunicirala; signal je aktiven v nizkem stanju
- Podatkovna linija MOSI (Master Out-Slave In), preko katere nadrejena naprava pošilja podatke proti podrejeni
- Podatkovna linija MISO (Master In-Slave Out), ki skrbi za prenos podatkov v smeri od podrejene k nadrejeni napravi
Torej, na vodilu SPI imamo eno samo nadrejeno napravo. To pomeni, da centralna naprava vzpostavlja vse komunikacije s podrejenimi napravami. Kadar nadrejena SPI naprava želi poslati ali pridobiti podatke podrejene naprave, to stori tako, da najprej označi podrejeno napravo tako, da povleče pripadajočo SS linijo na nizko logično stanje in aktivira takt ure s frekvenco, ki je primerna tako za nadrejeno, kot tudi za podrejeno napravo. Nadrejena naprava generira podatke na MOSI signalni liniji, medtem ko jih vzorči na MISO signalni liniji. Podatkovni biti MOSI in MISO linij se spremenijo ob pozitivni fronti SCLK signala in se vzorčijo ob negativni fronti. Način vodila SPI navaja, ob kateri fronti SCLK signala se podatki spremenijo in ob kateri vzorčijo. (Slika 2).
STM32F4-Discovery – Od začetnika do poznavalca (10) – SPI številčnica
2015_SE231_29