SPI + SD Card + Asm?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: SPI + SD Card + Asm?
Мож уже и не надо, но в журнале Радио 9/2009 был описан звонок с ММС карточкой и довольно подробное ее описание.
- Реклама
Re: SPI + SD Card + Asm?
С SD-картой то же самое что и с MMC. От того то, добавленная мною подпрограмма установки адреса и не за работала с самого начала (я пробовал указать адрес начала чтения 0x0001be). Сейчас попробовал указать туда адрес 0x00000000 и в EEPROM появился с читанный блок в 512 байт.
Re: SPI + SD Card + Asm?
Для наглядности приведу листинг.
Я специально выделил пробелами важные места.
Собственно, по позициям, начиная с 00
Код: Выделить всё
:1000000000FFFFFFFFFE00000000000000000000F6
:1000100000000000000000000000000000000000E0
:1000200000000000000000000000000000000000D0
:1000300000000000000000000000000000000000C0
:1000400000000000000000000000000000000000B0
:1000500000000000000000000000000000000000A0
:100060000000000000000000000000000000000090
:100070000000000000000000000000000000000080
:100080000000000000000000000000000000000070
:100090000000000000000000000000000000000060
:1000A0000000000000000000000000000000000050
:1000B0000000000000000000000000000000000040
:1000C0000000000000000000000000000000000030
:1000D0000000000000000000000000000000000020
:1000E0000000000000000000000000000000000010
:1000F0000000000000000000000000000000000000
:1001000000000000000000000000000000000000EF
:1001100000000000000000000000000000000000DF
:1001200000000000000000000000000000000000CF
:1001300000000000000000000000000000000000BF
:1001400000000000000000000000000000000000AF
:10015000000000000000000000000000000000009F
:10016000000000000000000000000000000000008F
:10017000000000000000000000000000000000007F
:10018000000000000000000000000000000000006F
:10019000000000000000000000000000000000005F
:1001A000000000000000000000000000000000004F
:1001B000000000000000000000000000000000003F
:1001C000 00 00 00 00 00 03 08 00 06 07 E0 6F 67000000
:1001D000 996F0300 00 00 00 00 00 00 00 00 00 00 00 00
:1001E000000000000000000000000000000000000F
:1001F00000000000000000000000000000000000FF
:00000001FF
Я специально выделил пробелами важные места.
Собственно, по позициям, начиная с 00
00h 1байт Признак активности раздела (0 - не активен, 80h - активен)
01h 1байт Номер поверхности диска, с которой начинается раздел
02h 2байт Номер цилиндра и номер сектора, с которых начинается раздел
04h 1байт Код раздела
05h 1байт Номер поверхности диска, на которой заканчивается раздел
06h 2байт Номер цилиндра и номер сектора, на которых заканчивается раздел
08h 4байт Абсолютный (логический) номер начального сектора раздела
0Ch 4байт Размер раздела (число секторов)
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: SPI + SD Card + Asm?
да значит получается так, что выгодней всего работать с этими картами используя файловую систему FAT16, один фик там всё по секторам поделено и самоволье там непрокатит.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: SPI + SD Card + Asm?
Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
Так что любителям самопала следует затариться картами на про запас.
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
- Реклама
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: SPI + SD Card + Asm?
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.[/quote]
pirotehnick а что эт такое ?
pirotehnick а что эт такое ?
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: SPI + SD Card + Asm?
БАТАРЕЙКУС писал(а):Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
pirotehnick а что эт такое ?[/quote]
pirotehnick - это один из пользователей форума.
-
Nicke
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Вт фев 09, 2010 19:21:27
- Откуда: Belarus
Re: SPI + SD Card + Asm?
kodo писал(а):Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
Да если можно, то хочу взглянуть на исходник. Может кто подскажет, хочу писать байт за байтом на карту, хотя если скорость будет приличной.
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: SPI + SD Card + Asm?
доброе время суток коты. вопрос такой ктонть разобрался с командой CMD16 (блочное чтение/запись) чтот у мя неполучилось запустить эту команду. а то каждый раз адресовать следующий кластер напряжно.
на пик замутил такое TMR2 генерирует прерывание с частотой 8кГц (125мксек. 500машинных чиклов при кварце 16МГц ) запускает модуль АЦП и младший байт результата , на прошлом шаге, переписывается в ММС-карту. во время записи из ,,буфера (512байт) ММС-карты,, в её флеш мозг (1600мксек) данные из модуля ацп записываются в ОЗУ пика. потом всё это снова перекачивается в ММС-карту. Получается пипа диктофона, звук с микрофона записывается в ММС-карту. и вот проблема с переадресацией кластера, забитие нового адреса кластера в ММС-карту длится сильно долго, каманду приходится разбивать на 2 части (я правдо использую не самый быстрый режим SPI) а ведь надо уложится в 125 мксек ктомуж требуется четырёх байтный суматор, и всё это жутко усложняет программу, а вот блочная запись/чтение облегчилаб задачу вразы.
на пик замутил такое TMR2 генерирует прерывание с частотой 8кГц (125мксек. 500машинных чиклов при кварце 16МГц ) запускает модуль АЦП и младший байт результата , на прошлом шаге, переписывается в ММС-карту. во время записи из ,,буфера (512байт) ММС-карты,, в её флеш мозг (1600мксек) данные из модуля ацп записываются в ОЗУ пика. потом всё это снова перекачивается в ММС-карту. Получается пипа диктофона, звук с микрофона записывается в ММС-карту. и вот проблема с переадресацией кластера, забитие нового адреса кластера в ММС-карту длится сильно долго, каманду приходится разбивать на 2 части (я правдо использую не самый быстрый режим SPI) а ведь надо уложится в 125 мксек ктомуж требуется четырёх байтный суматор, и всё это жутко усложняет программу, а вот блочная запись/чтение облегчилаб задачу вразы.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
-
Nicke
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Вт фев 09, 2010 19:21:27
- Откуда: Belarus
Re: SPI + SD Card + Asm?
Доброго времени. Вот пишу запись данных на флэшку. Проблема в том что я не вижу пишутся ли данные на флэш или нет. А ели убрать комментарий со строки чтения, так и вовсе индикатор не показывает работу (не зажигается светодиод после процедур), т.е. в этой процедуре где-то за цикливание. Прилагаю программу и модель в протеусе.
- Вложения
-
- SPI_ATMEGA8.RAR
- (20.55 КБ) 190 скачиваний
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: SPI + SD Card + Asm?
[quote="Nicke"]Доброго времени. Вот пишу запись данных на флэшку. Проблема в том что я не вижу пишутся ли данные на флэш или нет.
после записи 512 байт в буфер флешки, необходимо подать 3 пустых байта на 3-й она возвращяет значение ( в протеусе 0х05) реально кокоет другое, уже забыл но, я делаю совместимые програмы шоб и в протеусе работали и в реале. и я стряпаю такую фиговину
а количество записанных байт организовываются счётчиком. ну и канешно пользуюсь контрольными точками по индикацыи которых слежу за выполнением программы. только я пошол дальше вывожу данные на ЖК дисплей WH-1602. он более информативин можно отследить множество цыклов работы флешки
и вот есчё, я балуюсь флешкой от НОКИЯ 6230 на 32 Мбайт, а давича заходил в магазин еврейсеть зыркал флешки, они все там microSD или ,,мемористик от сони эрексон,, более того минимум на 1 Гбайт шо очень опечалило меня там
после записи 512 байт в буфер флешки, необходимо подать 3 пустых байта на 3-й она возвращяет значение ( в протеусе 0х05) реально кокоет другое, уже забыл но, я делаю совместимые програмы шоб и в протеусе работали и в реале. и я стряпаю такую фиговину
Код: Выделить всё
;===============
MMC_Za movlw 0xFF ; передача значения в ММС-карту
call SPI ; принятые данные находятся в аккумуляторе
andlw b'00001111' ; обнуляем старшие 4_е разряда
sublw 0x05 ; вычитаем констану из акумулятора
btfss Status,Z ; если ноль то запись из буфера ММС-карты в флеш мозг началась
goto MMC_Za ; если другое число то повтор цыкла
return ; выход из подпрограммы
;===============а количество записанных байт организовываются счётчиком. ну и канешно пользуюсь контрольными точками по индикацыи которых слежу за выполнением программы. только я пошол дальше вывожу данные на ЖК дисплей WH-1602. он более информативин можно отследить множество цыклов работы флешки
и вот есчё, я балуюсь флешкой от НОКИЯ 6230 на 32 Мбайт, а давича заходил в магазин еврейсеть зыркал флешки, они все там microSD или ,,мемористик от сони эрексон,, более того минимум на 1 Гбайт шо очень опечалило меня там
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: SPI + SD Card + Asm?
До 2 Gb можно не печалиться, я же писал..
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: SPI + SD Card + Asm?
уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD

Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
- vadim_ova
- Открыл глаза
- Сообщения: 43
- Зарегистрирован: Пт мар 26, 2010 03:46:57
- Откуда: Томск
- Контактная информация:
поддерживает ли и что по MISO?
Всем доброго времени суток!
Сколько ни было описано проблем с инициализацией SD-карты в SPI-режиме, а моя от этих описаний все равно не решилась....ну не инициализирует, хотя я и сделал все, что описано...
ПРИНЦИПИАЛЬНЫЙ ВОПРОС!!
1. Вообще, как узнать, поддерживает ли данная карточка SPI режим?
и вот еще. во время инициализации возникает на линии MISO явная логическая единица в +3.3 В. причем могу регулировать и чтобы проц туда единичку заводил постоянную, и чтобы карта сама ее выдавала со своего выхода DO. Непонятно, как надо.
2. это должно быть так? или на MISO должен быть ноль?
такие вот вопросы. Посоветуйте, пожалуйста!
Сколько ни было описано проблем с инициализацией SD-карты в SPI-режиме, а моя от этих описаний все равно не решилась....ну не инициализирует, хотя я и сделал все, что описано...
ПРИНЦИПИАЛЬНЫЙ ВОПРОС!!
1. Вообще, как узнать, поддерживает ли данная карточка SPI режим?
и вот еще. во время инициализации возникает на линии MISO явная логическая единица в +3.3 В. причем могу регулировать и чтобы проц туда единичку заводил постоянную, и чтобы карта сама ее выдавала со своего выхода DO. Непонятно, как надо.
2. это должно быть так? или на MISO должен быть ноль?
такие вот вопросы. Посоветуйте, пожалуйста!
Re: SPI + SD Card + Asm?
БАТАРЕЙКУС писал(а):уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD
Мне кажется, что SPI режим у MMC и SD совпадает. Хотя я и видел где то утверждения, что разные, но исходник ПИРОТЕХНИКа изначально были под MMC, у меня все работает с microSD. Правда еще раз напоминаю - ДО 2 ГИГАБАЙТ.
- vadim_ova
- Открыл глаза
- Сообщения: 43
- Зарегистрирован: Пт мар 26, 2010 03:46:57
- Откуда: Томск
- Контактная информация:
Re: SPI + SD Card + Asm?
да, у меня всего 16 МБ. но не идет инициализация... никак...
Re: SPI + SD Card + Asm?
vadim_ova писал(а):да, у меня всего 16 МБ. но не идет инициализация... никак...
Думаю, что для большей ясности стоило бы, как минимум, выложить исходники.
-
Nicke
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Вт фев 09, 2010 19:21:27
- Откуда: Belarus
Re: SPI + SD Card + Asm?
Доброго всем дня. Кто нибудь может подсказать сколько займет времени на запись блока 512байт в флэш карту? Заранее спасибо.


