Stefano Bodrato ha scritto:
A proposito sempre di emulazione del protocollo SPI e contorno.. fino a che punto posso spingermi ?
I comandi emulati per ora sono soltanto questi: MMC_GO_IDLE_STATE MMC_SEND_OP_COND MMC_SET_BLOCK_LENGTH MMC_READ_SINGLE_BLOCK MMC_READ_MULTIPLE_BLOCK MMC_STOP_TRANSMISSION MMC_WRITE_BLOCK MMC_SEND_CID MMC_SEND_CSD MMC_SET_BLOCK_COUNT
Quelli più importanti sì, tieni presente che né la bootrom né il ResiDOS interpretano altro che non siano i tre campi che danno la dimensione della memory card.Ora ho ricavato il nome della schedina dal CID (7 caratteri.. indovinate !) e vari attributi e sono passato al CSD (niente paura, ho già capito che esistono varie versioni di questi formati).. e sto giocando a decodificare il CSD (sector size, ecc..), ma i dati sono giusti ?
Perchè il block size dopo l'inizializzazione è a 9 ? Quale formula lo porta a 512 ? Dove sbaglio ? uffff....I conti sono spiegati nelle specifiche JEDEC e sono macchinosissimi. Se non ti torna qualcosa discutiamone pure (potrei benissimo aver sbagliato pure io, nonostante i numerosi test). Per il block size la formula è banalmente 2^9 = 512. Dai un'occhiata qua per qualche esempio:
http://www.retroleum.co.uk/electronics-articles/basic-mmc-card-access/
Sì è un'estensione del protocollo con un'altra modalità di indirizzamento dei blocchi che consente una capacità maggiore. A livello elettrico è tutto uguale.Mi pare che supporto per le SDHC sia solo una questione software, me lo confermate ?
Comunque... non ce la farò mai !!! Forse dovrei iniziare a mettere qualcosa online e invitare dei volontari a collaborare ..
Se possiamo, volentieri! Luca