Страница 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 перерыл :dont_know:

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.