w5100 ethernet shield és W25Q54FV flash SPI probléma.

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

Sziasztok!

Segítséget, irány mutatást szeretnék kérni a következő problémával kapcsolatban.
A hardver összetevői:
-SainSmart DUE http://www.sainsmart.com/sainsmart-due- ... black.html
-CTE 4,3"(ssd1963)LCD touch panel SD-kártya http://www.ebay.com/itm/SainSmart-4-3-T ... 338f2c2b53
-Wiznet w5100 ethernet shield
A kijelzőhöz UTFT , UTouch ,UTFT_SPIflash könyvtárakat használtam a következő oldalról. http://www.henningkarlsen.com/electroni ... .php?id=51
A flash tartalom feltöltéséhez pedig a SPIflash könyvtárat. http://www.henningkarlsen.com/electroni ... .php?id=65
A probléma a következő lenne. Adott a fent említett kijelző amin található egy W25Q64FV flash ic amibe feltöltöttem különböző képeket amik egy menü megjelenését hívatott szolgálni. Ezzel eddig nem is volna gond, mert számomra megfelelően működik az érintő képernyő segítségével. Szerettem volna ha az eszköz elérhető lett volna hálózatról, internetről ezért esett a választás a Wiznet w5100 shield-re(ez volt itthon) ekkor szembesültem a problémával, hogy az Ethernet shield és a flash ic is a SPI bus-t használja. Sehogy sem sikerül a két eszközt egy program kódban működésre bírni. Az eszközök külön-külön megfelelően működnek. A mosi, miso, sck, közösek. A flash ic pin52(flash_cs) az ethernet pedig pin10(eth_cs) lábakat használja. Nem tudom jól fejezem ki magam talán a "cs" lábak vezérlésével van a gond. Ha jól tudom a "cs" láb akkor aktív amikor alacsony szinten van. Viszont a kód futtatása közben az eth_cs magas szintre a flash_cs alacsonyra az olvasás idejére és utána a flash_cs magas szintre a eth_cs pedig alacsony szintre teszem utána nem elérhető. Elnézést ha nem fogalmaztam helyesen nem vagyok programozó guru.
Válaszotokat és segítségeteket előre is köszönöm.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: Robert »

A CS mondja meg, hogy melyik eszközzel beszélgetnél. A memóriachipet kösd át máshova szabad lábra és a kódban is arra hivatkozz.
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

Köszönöm a gyors reagálást!

A chip az rajta van a kijelzőn egy kicsit bonyolult lenne átkötni. Elméletileg amit a w5100 használ CS az szabadon van ami a 10 láb. A DUE hardveres SPI lábai:
SCK D76;
MISO D74;
MOSI D75;
ETH-CS D10 //w5100
SD-CS D4 //w5100
Flash-CS D52 //CTE shield
Tanácstalan vagyok most próbálgatom a kódot ha benne hagyom azt a sort, hogy flash.begin();(elméletileg engedélyezi a flash-t. )akkor betölti a hátteret ha viszont
//flash.begin(); akkor viszont látom a hálózaton. Azt próbálom most, hogy van az server.begin(); ami csak a void setup(){}-ban van jelen most megpróbálom bemásolni a kliens csatlakozása elé is.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: Robert »

Meg kell nézni, hogy minden SPI ezsköz _KÜLÖN_ CS lábon legyen.
A eszkoz.begin() pedig meglesendő a *.cpp állományban. Hátha fix CS került be :(

CS -> Outputra állítani és kézzel H/L állapotokba rakni...

A leírásodból ítélve CS ütközés van a memóriakártya és a W5100 közt.
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

A cs pinek elméletileg rendben vannak mert ahogy már írtam az ethernet a pin10-et a flash ic pedig a pin52 használja ráadásul ezek megfelelnek a hardveres SPI bus kiosztásának is. Próbáltam már az általad ajánlott H/L szinteket is de az sem hozott eredményt.
Most, hogy nézegetem a *.cpp fájlokat az tűnt fel , hogy az ethernet spi busz beállítása 4Mhz, a flas-hez tartotozó *.cpp-ben pedig 21Mhz-re van definiálva a sebesség. Szerintem ez okozhat gondot, hogy nem egy frekvencián dolgoznak vagy nem jól gondolom?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: Robert »

21??

Az Avr chip 16 MHz-n jár, így a SPI 4 MHz lehetne....
Az SPInek 4 féle módja van: mode0...3
Ez is okozhat ütközést.
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

Jelen esetben mint ahogy az elején is írtam "SainSmart DUE http://www.sainsmart.com/sainsmart-due- ... black.html" környezetről van szó amiben a SAM3X8E proci 84Mhz-en ketyeg és azért 21, mert 4 osztja az alapóra jelet. A flash.h-ban pedig ez szerepel:
// *** Hardwarespecific defines ***
#define cbi(reg, bitmask) *reg &= ~bitmask
#define sbi(reg, bitmask) *reg |= bitmask

#define regtype volatile uint32_t
#define regsize uint32_t

#define F(arg) (arg)

// *** Hardware SPI-specific defines
#define SPI_CLOCK_4MHZ 0x15
#define SPI_CLOCK_21MHZ 0x04

//#define SPI_CLOCK_DEFAULT 0x04 // ez volt az eredeti alapértelmezett
#define SPI_CLOCK_DEFAULT 0x15 // így próbálkozok most

#define SPI_CHIP_SEL 3

egyenlőre ez sem segített még ezzel az utolsó sorral nem vagyok teljesen tisztában ez elméletileg a 3. cs lábat használja?
Az arduino.cc oldalon olvastam, hogy van valami kiegészítő SPI könyvtár ami ebben a környezetben (Arduino DUE) képes egyszerre több CS vezérelni vagy esetleg ezt félre értelmeztem?
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

egy érdekesség, hogy ha dos parancssorból vagy a router-ből indítok egy ping tesztet akkor ott 4 elküldött, 4 fogadott és 0 elveszett csomagot produkál viszont ha böngészőből nézem ott nem jelenik meg semmi.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: Robert »

Ping:
A W5100 önállóan intézi, ha az elején felparaméterezted.
Böngésző:
A w5100 megkapja és a AVR generéálja a weblap adatokat.
zsolt_74
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2013. július 1. hétfő, 19:29

Re: w5100 ethernet shield és W25Q54FV flash SPI probléma.

Hozzászólás Szerző: zsolt_74 »

Írtam egy pársort amit kiküld a weboldalra és ha megérintem a touch felületet akkor az oldalon megjelenik az érintés értéke pl.: "touch x: 70 touch y: 100", de abban a pillanatban, ha engedélyezem a flash-ből való olvasást akkor semmi nem látható. pedig flash olvasás előtt a ethernet CS pin-t "HIGH"-re a flash CS pin-t "LOW"-ra és amikor kiolvasta a flash-ből az adatokat akkor a flash CS pint-t "HIGH"-re az ethernet CS pint-t pedig "LOW"-ra. Így megvalósul az, hogy még olvas addig a flash van kiválasztva amikor pedig végzett az olvasással akkor pedig az ethernet eszköz van kiválasztva.
Válasz küldése