Fórum témák
» Több friss téma |
Fórum » SPI busz működése
Mennyi kellene? Az SPI alapvetően egy panelen, viszonylag közel levő alkatrészek közötti kommunikációra van kitalálva. Persze sebességfüggő, mert 1kHz órajellel biztosan elmegy akár több méterről is, de alapvetően az SPI nagysebességű busz, ha kisebb sebesség kell, akkor inkább I2C-t szoktak használni.
Köszönöm a választ Max 2m kellene. Pic és egy hőmérő összekötése lenne a cél.
Alacsony sebességen szerintem működni fog.
Sikerült működésre bírnod?
Nekem kb 30cm kábelem van és az SPI-os hőmérőtől eléggé összevissza jönnek a bitek. Közel,panelre dugva kábel nélkül működik. Köszi!
Üdv Urak!
Arra lennék kíváncsi, hogy hogyan lehet SPI jelet vezeték nélkül továbbítani? Van egy eszközöm amiben egy kijelző. A kijelző és a gép között normál utp kábel van. A kábelen elvileg SPI jel fut. Én ezt a kijelzőt messzire akarom a géptől vinni, és onnan kezelni. Hogyan lehetne ezt megoldani vezeték nélkül. Előre is köszönöm. Üdv, Palkó.
Teszel egy mikrokontrollert a kijelző mellé, a vezeték nélküli kommunikációt pedig rábízod a mikrokontrollerre.
Köszi, de ez nekem egy kicsit szűkszavú. Konkrétabban el tudnád mondani. Elnézést de nem vagyok profi ilyen témában.
Az úgy akkor nehéz lesz. Valakinek a mikrokontrollerre szoftvert is kell írni, és ha jól értem, akkor ez nem te leszel.
A hozzáértőnek nem nehéz megírnia a szoftvert - ha adott a dokumentáció! Az elmondásod alapján nem adott, meglevő készülékhez kell hozzátákolni valamit, persze a készülék gyártója nem fog segíteni, azaz igazából nincs doksi. Ez így sokszorosára növeli a dolog időigényét.
Láthatóan nem vagy amúgy képben protokollok meg kommunikáció terén. Az, hogy SPI, még nem mond semmit arról, hogy hogy is zajlik a kommunikáció. Ennek ismerete pedig elengedhetetlen bárminemű "átalakításhoz". Azaz nem létezik "általános SPI<->valami átalakító", amit bármilyen SPI kommunikációhoz lehet használni vakon. Továbbá ha az SPI kommunikáció kétirányú, akkor a szimpla átalakítás eleve lehetetlen, mindenképpen valami bonyolultabb cuccra lesz szükség. Ez az egész a "gép" gyártójának segítsége nélkül elég nehézkes is tud lenni.
Értem én, hát éppen csak ennyi a probléma.
Attól függetlenül köszönöm szépen a választ. Üdv, Palkó.
Annak a frekvenciaváltónak nincs más felülete? MODBUS - RS485, MODBUS TCP - Ethernet stb.
Most éppen azon filózok, hogy 485-el hogy lehgetne egyszerűbben megoldani, mivel rs485 van rajta.
Valakinek valami ötlet RS485-n keresztül pc-vel vagy PLC+HMI való vezérlés?
Sziasztok!
Találkozott valaki olyannal, hogy az SSPBUF regiszterbe csak direkt konstanst tud beírni? Ha változót értékét írok be pl. SSPBUF = adat, akkor nem jelenik meg az SDO lábon a bitsor, csak 1 magas bitnyi érték. Ha viszont az pl. SSPBUF = 0xAA, akkor szépen ott a bitsor. PIC18F46K80 a mikrovezérlő, SCLK megfelelően kijön. Köszönöm, Roland A hozzászólás módosítva: Okt 30, 2013
Elég furán hangzik, mutass több kódot, hátha látunk valamit. Esetleg csinálj egy próba projektet, ami csak annyiból áll, hogy az SSPBUF-ba írkálsz. asm listát nézted? Milyen utasítást generál oda, amikor az SSPBUF-ba írna? Melyik fordító?
Szerk.: mellesleg az "adat" változóba kerül valami érték? SSPBUF=adat előtt közvetlenül írj bele pl. 0xA5-öt és nézd meg úgy, nehogy az szivasson, hogy kimegy az adat, csak épp nem az van a változóban, amire számítasz. A hozzászólás módosítva: Okt 30, 2013
Idézet: „Találkozott valaki olyannal, hogy az SSPBUF regiszterbe csak direkt konstanst tud beírni? Ha változót értékét írok be pl. SSPBUF = adat, akkor nem jelenik meg az SDO lábon a bitsor, csak 1 magas bitnyi érték.” Talán a lefordított assembly-t (.lst fájl) kéne megnézni, mert az az ilyen sunyiságokat fel szokta fedni.
A program:
A konstans/változó teszteket már úgy is csináltam, hogy az spi_io meghívás helyett direkt a végtelen ciklusba tettem egy SSPBUF = ... sort a delay elé. Egyszerűen nem értem. R. A hozzászólás módosítva: Okt 30, 2013
Ami működik:
és ami nem (eleje ugyanaz a jónak is):
Az SDO kimeneten - függetlenül a datas értékétől, mindig 1011 bitkombináció van... Üdv és köszi.
Ez se azt teszi, amit kell
tud nekem valaki mutatni egy példakódot az spi használatára proton basic-ben? (lehetőleg 16f690-re) c-ben látok egy csomót, de basicben sajnos nem látok egyet sem.
Ez a megoldás az _ize címének alsó 8 bitjét küldi el, nem a tartalmát.
a MOVLW _ize helyett a movf _ize, 0, 0 kellene.
Sziasztok!
Hogyan oldanátok meg két SPI-s eszköz egy buszra kötését akkor, ha nem jöhet szóba a nagyimpedanciás kimenet, azaz összeakadnának a kimenetek, mert le lettek választva digitális izolátorral?
Én lehet, hogy nem pontosan értem, de ha le lettek választva, akkor miért akadnak össze?
Egy SPI slave kimenete nagyimedanciás lesz, ha a chip select jel nem aktív. Vagy kösd őket láncba, az nem jó?
Ilyenen keresztül működnek, ez meg nem tudja a nagyimpedanciás kimenetet ha minden igaz.
ADUM1402C Az eszközök felől jövő DOUT kimenetek beterhelnék egymást.
Szia!
A másik probléma, hogy a picet csak az áramkörben lehet majd programozni és szerintem a lábai ekkor eléggé kiszámíthatatlanul viselkedhetnek, azaz nem lenne ami stabilan vezérelné. Talán ez a megoldás működhet, bár nem tudom okozhat-e hibát az átvitelben ez a kicsi késleltetés.
Akár működhet is, végig kellene gondolni a késleltetések, meg a fesz esés miatt, de akkor minek a leválasztó IC?
A leválasztó IC mindenképpen kell a galvanikus izoláció miatt. Nem tudom pontosan hogyan működik az SPI, de 4ns körüli késleltetés nem hiszem, hogy problémát okozna, a maximális SCLK 10MHz lehet. Csak jó lenne erre biztos megoldást találni, nem a panelkészítés után szeretnék rájönni, hogy mégsem volt jó a megoldás.
Diódának ezeket néztem: BAL99E63 BAV70E63 |
Bejelentkezés
Hirdetés |




És egy hozzáértőnek a szoftvert mennyire nehéz megírni? Vagy inkább egy másik kérdés. Mert ez a táv a kijelző és a frekiváltó között 6-800 méter lenne. Létezik olyan átalakítás, hogy






