Fórum témák
» Több friss téma |
Fórum » SPI busz működése
Ha jól értem, menet közben nem lehet gond, mert megy a szoftver, csak attól tartasz, hogy programozáskor ide-oda billegnek a lábak.
Én nem trükköznék ellenállásokkal, meg diódákkal, hanem simán bekötném egy portra a leválasztó IC engedélyező bemenetét, persze lehúzó ellenállással. Ekkor az output enable magasban, a chip select pedig alacsonyban kell legyen, hogy a slave kimenete rákerülhessen a buszra. Ez két láb. Ezen kívül még két lábnak kell ugyanígy állnia, hogy a másik slave is kikerüljön a buszra, és összeakadjanak. Szerintem ez azért esélytelen... Esetleg lehet a leválasztó kimeneteire soros ellenállást tenni, ami még az EMC-ben is segít.
Igen, elsősorban a programozás alatti állapot a kérdéses, de az sem kizárt, hogy véletlenül kimenet marad az adott láb... szóval ez megint csak növeli a statisztikai esélyét...
Ugye ha nincs engedélyezve a !CS a leválasztott IC-n, akkor magas impedanciájú az adat kimenete. Szerintem ez a leválasztó ezt nem tudja kezelni a bemenetén (adum1402), azaz ilyenkor bizonytalan lenne a kimenete, vagyis fixre kell húzni még a leválasztott oldalon a bemenetét, tehát mindig H vagy L lesz. Ha alacsonyra húzom, akkor a rajzolt diódás megoldás minden esetben megvédi, maximum az a kérdés, hogy ha ezzel az időtartammal késve érkezik be a logikai állapot, akkor rosszat olvas be, vagy úgy kell ezt elképzelni, hogy az órajel élétől kezdve vár az állapotra az egész félperiódusban? Szerintem ha az enable lábbal ügyeskednénk, annál mindig lehetne minimális hibalehetőség.
Sziasztok!
Egy mcu !SS lábát csak akkor kell bekötni, ha egy másik mikrovezérlővel van összekötve és slave módban kell lennie? Ennek ugye nincs köze a !CS bemenethez más perifériás eszközön? Kell valamilyen lehúzó ellenállást tenni a szabadon hagyott !SS lábra?
Valamint van különbség a 8 bites és a 16 bites processzorok között abban, hogy egyszerűbb az adat beolvasása, ha az például 24 bites? Tehát a 16 bitesben az SPI regisztere nagyobb és nem kell annyiszor kiolvasni, vagy programozás részről szemlélve szinte ugyanolyan nehézségű egy ilyen eszköz adatainak kiolvasása bármelyik PIC-el illetve a kész C függvény ezt automatikusan lekezeli pl. MikroCben?
Sziasztok.
Problémám adódott DSPIC33 SPI használatával: 3 darab 8- bites shift regisztert 74HCT165-öt szeretnék beolvasni vele 8-bit modban. Mérve ez küldi is az adatokat a PIC nek. Az SPI 8 bit -es módban van, hiába indítom 3 szor az csak az első 8 bit -et olvassa. Hogyan lehet 8 vagy 16 bit-től eltérő hosszú olvasásra birni.
A hozzászólás módosítva: Nov 15, 2015
Egy 50MHz-es SPI buszon szeretném kiszámolni az adatátviteli sebességet kb/s-ben.
Tehát 50000000 bitet visz át 1 másodperc alatt, 50000000/8/1024=6103,515625kb/s az átviteli sebesség? Nekem kicsit furcsa, egy nagyságrenddel kevesebbre számítottam.
Pedig az annyi. 6103kiB/s. Ha nincs kicsit több szünet a byteok közt.
Sziasztok.
SPI-on társalgok az L3GD20 gyro szenzorral. A csatolt képen az X tengely adatait kérem le. Mindenzt STM32F429 discovery boardon. (Most ismerkedek ezekkel a dolgokkal.) A kérdésem az ami a képen látható. Az rendben van, hogy a MOSI magas szinten van miközben a CLK inaktív?
Az csak akkor érdekes, amíg a CS vonal aktív (alacsony szinten van). Ha a CS inaktív, akár a boci boci tarkát is eljátszhatod a MOSI vonalon, érdemi dolog nem fog történni.
A hozzászólás módosítva: Jan 4, 2017
Sziasztok!
Adott egy 18F452, SD kártyáról olvasok vele SPI buszon. Szépen működik is, viszont szintén SPI-n menne mellé egy PTxxxx SPI buszos LED kijelző meghajtó IC is. Az SD kártya viszi a PIC hardveres SS lábát, a kijelző driver SS-nek egy random IO portot adtam. A probléma az, hogy ha a kijelzőnek küldök adatot, akkor az IO portot kézzel húzom le ameddig neki szól, viszont természetesen ilyenkor az SD kártya is "megcímződik". Le lehet tiltani menet közben vagy engedélyezni a hardveres SS lábat valahogy, hogy ha más eszköznek küldök, csak az kapja meg, akinek én szeretném? A hozzászólás módosítva: Jan 21, 2018
Az adatlap szerint a SS láb csak akkor játszik, ha a kontroller, mint SPI Slave eszköz van konfigurálva. Nem? sspcon1 regiszter, bit 3-0.
Fúú ezt nagyon benéztem, tényleg
Átnéztem még párszor a dolgokat, az SD/MMC könyvtár miatt lett definiálva az SS láb master módban is, az miatt rángatja az a portot a könyvtár, és nem az SPI miatt önmagában. Csak erről ahogy mindig próbálkoztam egyre több mindennel, megfeledkeztem. Köszi a felvilágosítást, most már értem, mi folyik itt, és rendesen működik |
Bejelentkezés
Hirdetés |











