Fórum témák
» Több friss téma |
Hogy pontos legyek; én csak egy egyszerűsített változatot olvastam, amolyan áttekintést. Az 34 oldal volt. Mégis (csaknem*) elegendőnek érzem ahhoz, hogy az alapján az ember képes legyen az alapvető dolgokra: fájlok/könyvtárak listázása, fájlok írása/olvasása, hosszú fájlnevek kezelése.
*MBR-nek kellett még utánanéznem, meg pár dologban kellett megerősítés. A hozzászólás módosítva: Ápr 1, 2015
Köszi a doksit! Egy darabig el leszek vele...
Örülök, hogy csak az első 2 mondatig jutottál.
Még pár segítség: (Bár lehet hogy már nézted ezeket...)
Master Boot Record (Wikipedia) FAT32 (PJRC) FAT32 (CIS-24) MBR, FAT (CompuPhase) FAT (Wikipedia)
Sziasztok!
Egy pár éjszakám már benne van de nem boldogulok az SDHC inicializálásával, kérnék egy kis segítséget, hogy elnézek-e valamit, vagy mit nem vettem észre az adatlapokban !? Táp felkapcsolása után fCLK=250 kHz, ebből CS=1 mellett 96 impulzus ( elvileg bőven elég!), majd CS=0 és CMD0. erre válasz=1 ( ez szerintem jó!). Ezután CMD8 (0x48,0,0,1,0xAA,0x87), erre a válasz: 0,0,0,2,31, ami szerintem nem jó, mert elvileg itt meg kellene ismételnie a 0xAA-t ! Az adatlap szerint, ha nem jön vissza a 0xAA, akkor nem jó a kártya ( de a laptop simán használja !) ! Ha az előzőek után kiadom az ACMD41-et, majd ismételgetem a CMD1-et, akkor érdekes dolgot tapasztalok: az SD áram alá helyezését követően nem jön vissza soha nulla ezzel a szekvenciával. Viszont újraindítva ( SD folyamatosan áram alatt!) már jó, azaz gyorsan '0'-t kapok, ami elvileg jó ! 3 kártyával próbálom, mindegyikkel ezt csinálja, kártyák gyakorlatilag újak. Ami esetleg még gondot okozhat az, hogy a próbák alatt kb. 15 centis "dupont" kábelekkel csatlakozom a PIC-hez, de mivel látok jót is a kommunikációban, ezért bízom benne, hogy nem ez a "végzetes hiba" ! Remélem sikerült valamelyest érthetően leírni így az éjszaka után, kicsit már elvesztem a sorok között! Várok valami baráti ötletet a tapasztaltabbaktól ! Előre is köszi! A hozzászólás módosítva: Jún 24, 2015
Szia!
- CS = 1 mellett 74 órajelet kiküldök - CS = 0 mellett CMD0, válasz jön 1 - CMD8, válasz jön 1 - CMD55 és ACMD41 amíg nem jön válaszban 0 De itt a kódom inkább. Van benne csomó dummy read, nem emlékszem már miért raktam bele. Remélem érthető a kód:
Szia!
Köszi, most nem vagyok a "cucc" mellett, de este kipróbálom ! Első ránézésre már ott is van különbség, hogy a CMD8-nál egyet vársz ( doksi szerint az is kéne!), viszont nekem 2 jön és írtam is, hogy ez szerintem nem jó és a következő 4 byte-ban kb. nem láttam 1-et! Este további vizslatás !
Hello én még csak tervezgetek egy txt file olvasót, viszont azt szeretné ha nem LCD-n írná ki hanem braille karakterek.
Ehez viszont egy kódoló rutint kellene írnom. Várok minden ötletet.
Szia esetleg megnézheted ezt a programot is, nekem bevált.
Köszönöm, még nem értem rá próbálni Beles kolléga javaslatát sem, sajnos úgy néz ki marad hétvégére !
Szia!
Még nem értem rá sajnos... Hétvégén talán meg tudom nézni, mindenképpen visszajelzek !
A CMD8-ra nem ad vissza 1-et, hanem 0,0,0,2,31-et !
A doksi szerint az AA-t is vissza kellene adnia !? 3 kártyát is próbálok... ! Mi lehet vele ?! A hozzászólás módosítva: Jún 26, 2015
Nekem 0xAA nem jön vissza CMD8-ra. 2 darab SDHC-t használok, mindkettőnél CMD8-ra a válasz 0xFF, 0x01. Táp felkapcsolása után rögtön kezded az inicializációt? Mindenképp legyen némi késleltetés.
A hozzászólás módosítva: Jún 26, 2015
A doksi szerint a kiküldött mintát ( 0xAA pattern) is vissza kellene adnia !
Késleltetés van, mert többszöri próbálkozásnál is ezt csinálják, holott akkor már percek óta be van kapcsolva a kártya... szerk.: csatoltam képet ! A hozzászólás módosítva: Jún 26, 2015
Hardveres SPI portot használsz? Jól van konfigolva? Mode 0-ban kellene működnie. Érdekes az a tüske a MISO lábon a 8. bytenál. Ott kellene visszajönnie az 1-nek.
Igen, hardveres SPI, MODE 0, nekem is feltűnt a tüske ( csak 15 ns!), raktam a tápra még kondit, de nem változott ! Ha megnézed, akkor a CMD0-nál simán visszaadja az 1-et ( viszont ott is vannak tüskék!)!
A hozzászólás módosítva: Jún 26, 2015
Az is zavarja a szemem, hogy a MOSI láb logikai értéke adásszünetben megváltozik. Én AVR-el dolgozok, de ott ilyen nincs. Esetleg nincs kedved kipróbálni szoftveres SPI portot? Nem bonyolult egy for ciklus az egész.
A hozzászólás módosítva: Jún 26, 2015
Nem tudom, hogy miért változik adásszünetben a jel értéke ( lehet, hogy átállítja a lábat bemenetnek és ott a felhúzóellenállás !?), de ha megnézed, akkor nincs gond, mert a felfutóélnél már mindig megfelelő szintű.
Megnézem majd a szoftveres birizgálást is, köszi, most még utánanézek ennek a hardveres dolognak, hátha ez nem tetszik neki! Neked milyen szinten van a láb: az utolsó kiadott bitnek megfelelő vagy magas szintre áll be/le ?!
Nem állítja át bemenetnek, mert az induláskor min. 74 órajelnél folyamatosan magas szinten van !
szerk.: bár itt folyamatosan magasat kellett kiadnia, így nem látszik, ha "elengedi " a vonalat! A hozzászólás módosítva: Jún 26, 2015
Idézet: Ha az utolsó kiadott bit 0 értékű akkor a MOSI láb nekem tartja a nullát, ha 1 akkor pedig az 1 értéket. „Neked milyen szinten van a láb: az utolsó kiadott bitnek megfelelő vagy magas szintre áll be/le”
Nek raknád be az SPI inicializálás kódodat? Hátha látunk ott valami hibát. Illetve milyen PIC-et használsz? Ez is fontos, én tegnap előtt 4 órát szívtam I2C-vel egy PIC32MZ1024ECG64 PIC-el. Egy már letesztelt működő kódot vittem át PIC24EP családból. Másnap találtam egy doksit, amiben felsorolják hogy milyen hibák vannak a PIC32MZ szériában. Konkrétan benne van hogy az I2C hardweres stop nem működik, és egy leírás hogyan írjuk meg szoftveresre. De nem ez az első eset, hogy valami mellék jegyzet elkerülte a figyelmemet, ami nagyon is lényeges volt.
Szia!
PIC18F26K22, néztem az errata-t, nem láttam az SPI-re vonatkozó problémát...! Gond lehet, hogy hosszú vezetékkel van csatlakoztatva a kártya foglalat, most készítek valami próbapanelt és azon fogok mérni... Ha megnézed az előzőekben mellékelt logikai analizátor diagramokat, abban látszik, hogy mit ad ki és mit kap, aszerint (úgy látom !) jó a kiadott jelsorozat! Köszi a segítőkészséget, most próbálok ( ill. építek !) és jelentkezem ! A hozzászólás módosítva: Jún 27, 2015
Milyen tápfeszültségeket használsz a vezérlőnél és a kártyánál? Esetleg hibás a szintillesztés, vagy csak az analizátor méri rosszul a szinteket. (Szkópon jobban látszódna a jelszint és jelalak.)
Pont erre gondoltam én is. Hogy lehet nem jó a szintillesztés.
Sziasztok!
Ellenállásos szintillesztést használok, de szkóppal jónak láttam... Lassan elkészülök a próbapanellel és akkor újra méregetem, én a hosszú vezetékekre tippelek !
Mindkét irányba jónak láttad? Mert szerintem passzív (ellenállásosztásos) illesztéssel csak egyirányú kommunikáció valósítható meg. A 3,3V-os jelből hogy lesz 5V-os?
Sziasztok !
A 3,3V-ból nem kell, hogy 5 V legyen, a PIC tápját csökkentettem egy diódával kb. 4,5V-ra, így a 3,3V már jó, de adott esetben tranzisztoros illesztővel is megoldható! Azért nem kerestem itt a gondot ( igazad van, lehetne!), de az analzátoron elég kicsire vettem a küszöbszintet ( 1,8V), mégsem jött be az 1-es ( ha itt jó lett volna, akkor gyanakodtam volna a PIC értelmezésére, de már itt sem volt jó és szkóppal is ezt láttam!). A gond megoldódott a próbapanel megépítésével és a távolságok lecsökkenésével , így már a pattern-t is visszaadja előírás szerint! Köszönöm Mindenkinek( gabi20, Beles és Zsora) a segítséget és az ötleteket, mellékelem a kapott diagrammot ! A hozzászólás módosítva: Jún 27, 2015
Örülök, hogy működik Nekem egyébként próbapanelen is megy, mondjuk csak 5 centis kábeleket használok.
Újabb kérdés:
Ha a CMD18,0,0,0,0,255 utasítást kiadom, akkor nem a 0.sectort kellene kezdenie olvasni? Egy csomó '0'-t ír, pedig ott nem 0-k vannak ! Ráadásul a választ egy "csomó" 0xFF-el kezdi, majd jön a 0xFE ( ez kellene!) és utána a '0'-k ( Marker1-nél!) ! Mit nézek el így hajnalban ?! A hozzászólás módosítva: Jún 28, 2015
|
Bejelentkezés
Hirdetés |