Страница 1 из 1
tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 15:09:24
rush
Привет всем! Пытаюсь заставить тини2313 считать и записать данные на флэшку. Пишу в СVAVR 2.04.4a Как я понял из хэлпа к CVAVR надо включить в настройках проекта библиотеку работы с SD/MMC флэшками, но галка никак нехочет ставиться

может библиотека была написана не для этого контроллера? Если это так то подскажите пожалуйста какую библиотеку можно использовать и желательно пример работы с ней

Re: tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 15:40:27
Danko
Открываем папочку examples.
Берем любой пример с SD-карточкой. Например SDCARD1.
Компилируем и получаем Program size: 2009 words (4018 bytes).
И это Вы хотите засунуть в tiny2313 ?
Re: tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 16:43:47
Engineer_Keen
Интересно, а если на ассемблере написать поместится? Просто код для записи/чтения EEPROM по SPI занимает строчек 10-15. Но памяти мне маловато, и я тоже в сторону SD посматриваю. Пока затык в том что вроде протокол описан и команды, которые надо подавать перечислены. Но все эти команды даны в виде "cmd" (например cmd0 - сброс), а где само численное значение??? Несколько даташитов по SD перерыл

Re: tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 18:57:38
AI_Disable
По идее 2кб для работы с SD карточкой хватит, но останется не очень много места для всего остального.
Команды:
Код: Выделить всё
/** MMC/SD card SPI mode commands **/
#define CMD0 0x40 // software reset
#define CMD1 0x41 // brings card out of idle state
#define CMD2 0x42 // not used in SPI mode
#define CMD3 0x43 // not used in SPI mode
#define CMD4 0x44 // not used in SPI mode
#define CMD5 0x45 // Reserved
#define CMD6 0x46 // Reserved
#define CMD7 0x47 // not used in SPI mode
#define CMD8 0x48 // Reserved
#define CMD9 0x49 // ask card to send card speficic data (CSD)
#define CMD10 0x4A // ask card to send card identification (CID)
#define CMD11 0x4B // not used in SPI mode
#define CMD12 0x4C // stop transmission on multiple block read
#define CMD13 0x4D // ask the card to send it's status register
#define CMD14 0x4E // Reserved
#define CMD15 0x4F // not used in SPI mode
#define CMD16 0x50 // sets the block length used by the memory card
#define CMD17 0x51 // read single block
#define CMD18 0x52 // read multiple block
#define CMD19 0x53 // Reserved
#define CMD20 0x54 // not used in SPI mode
#define CMD21 0x55 // Reserved
#define CMD22 0x56 // Reserved
#define CMD23 0x57 // Reserved
#define CMD24 0x58 // writes a single block
#define CMD25 0x59 // writes multiple blocks
#define CMD26 0x5A // not used in SPI mode
#define CMD27 0x5B // change the bits in CSD
#define CMD28 0x5C // sets the write protection bit
#define CMD29 0x5D // clears the write protection bit
#define CMD30 0x5E // checks the write protection bit
#define CMD31 0x5F // Reserved
#define CMD32 0x60 // Sets the address of the first sector of the erase group
#define CMD33 0x61 // Sets the address of the last sector of the erase group
#define CMD34 0x62 // removes a sector from the selected group
#define CMD35 0x63 // Sets the address of the first group
#define CMD36 0x64 // Sets the address of the last erase group
#define CMD37 0x65 // removes a group from the selected section
#define CMD38 0x66 // erase all selected groups
#define CMD39 0x67 // not used in SPI mode
#define CMD40 0x68 // not used in SPI mode
#define CMD41 0x69 // Reserved
#define CMD42 0x6A // locks a block
// CMD43 ... CMD57 are Reserved
#define CMD58 0x7A // reads the OCR register
#define CMD59 0x7B // turns CRC off
// CMD60 ... CMD63 are not used in SPI mode
Re: tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 19:11:28
Engineer_Keen
AI_Disable писал(а):
Команды:
Вот спасибо! Это то что надо!

Re: tiny2313 сопряжение с SD флэшкой
Добавлено: Пт май 07, 2010 21:27:51
Aheir
Со всем остальным - в существующие темы по подключению SD карт к AVR.