SPI + SD Card + Asm?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: SPI + SD Card + Asm?

Сообщение COKPOWEHEU »

Мож уже и не надо, но в журнале Радио 9/2009 был описан звонок с ММС карточкой и довольно подробное ее описание.
Реклама
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

С SD-картой то же самое что и с MMC. От того то, добавленная мною подпрограмма установки адреса и не за работала с самого начала (я пробовал указать адрес начала чтения 0x0001be). Сейчас попробовал указать туда адрес 0x00000000 и в EEPROM появился с читанный блок в 512 байт.
Реклама
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

Для наглядности приведу листинг.

Код: Выделить всё

: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, один фик там всё по секторам поделено и самоволье там непрокатит.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Реклама
Эиком - электронные компоненты и радиодетали
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.

Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
Реклама
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: SPI + SD Card + Asm?

Сообщение БАТАРЕЙКУС »

Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.[/quote]

pirotehnick а что эт такое ?
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Реклама
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

БАТАРЕЙКУС писал(а):Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.


pirotehnick а что эт такое ?[/quote]
pirotehnick - это один из пользователей форума.
Nicke
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт фев 09, 2010 19:21:27
Откуда: Belarus

Re: SPI + SD Card + Asm?

Сообщение Nicke »

kodo писал(а):Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.

Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.


Да если можно, то хочу взглянуть на исходник. Может кто подскажет, хочу писать байт за байтом на карту, хотя если скорость будет приличной.
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

Вот.
Вложения
avr.rar
(19.13 КБ) 291 скачивание
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: SPI + SD Card + Asm?

Сообщение БАТАРЕЙКУС »

доброе время суток коты. вопрос такой ктонть разобрался с командой CMD16 (блочное чтение/запись) чтот у мя неполучилось запустить эту команду. а то каждый раз адресовать следующий кластер напряжно.

на пик замутил такое TMR2 генерирует прерывание с частотой 8кГц (125мксек. 500машинных чиклов при кварце 16МГц ) запускает модуль АЦП и младший байт результата , на прошлом шаге, переписывается в ММС-карту. во время записи из ,,буфера (512байт) ММС-карты,, в её флеш мозг (1600мксек) данные из модуля ацп записываются в ОЗУ пика. потом всё это снова перекачивается в ММС-карту. Получается пипа диктофона, звук с микрофона записывается в ММС-карту. и вот проблема с переадресацией кластера, забитие нового адреса кластера в ММС-карту длится сильно долго, каманду приходится разбивать на 2 части (я правдо использую не самый быстрый режим SPI) а ведь надо уложится в 125 мксек ктомуж требуется четырёх байтный суматор, и всё это жутко усложняет программу, а вот блочная запись/чтение облегчилаб задачу вразы.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Nicke
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт фев 09, 2010 19:21:27
Откуда: Belarus

Re: SPI + SD Card + Asm?

Сообщение Nicke »

Доброго времени. Вот пишу запись данных на флэшку. Проблема в том что я не вижу пишутся ли данные на флэш или нет. А ели убрать комментарий со строки чтения, так и вовсе индикатор не показывает работу (не зажигается светодиод после процедур), т.е. в этой процедуре где-то за цикливание. Прилагаю программу и модель в протеусе.
Вложения
SPI_ATMEGA8.RAR
(20.55 КБ) 190 скачиваний
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: SPI + SD Card + Asm?

Сообщение БАТАРЕЙКУС »

[quote="Nicke"]Доброго времени. Вот пишу запись данных на флэшку. Проблема в том что я не вижу пишутся ли данные на флэш или нет.

после записи 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 Гбайт шо очень опечалило меня там :cry:
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

До 2 Gb можно не печалиться, я же писал..
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: SPI + SD Card + Asm?

Сообщение БАТАРЕЙКУС »

уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD :dont_know:
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Аватара пользователя
vadim_ova
Открыл глаза
Сообщения: 43
Зарегистрирован: Пт мар 26, 2010 03:46:57
Откуда: Томск
Контактная информация:

поддерживает ли и что по MISO?

Сообщение vadim_ova »

Всем доброго времени суток!

Сколько ни было описано проблем с инициализацией SD-карты в SPI-режиме, а моя от этих описаний все равно не решилась....ну не инициализирует, хотя я и сделал все, что описано...

ПРИНЦИПИАЛЬНЫЙ ВОПРОС!!

1. Вообще, как узнать, поддерживает ли данная карточка SPI режим?

и вот еще. во время инициализации возникает на линии MISO явная логическая единица в +3.3 В. причем могу регулировать и чтобы проц туда единичку заводил постоянную, и чтобы карта сама ее выдавала со своего выхода DO. Непонятно, как надо.

2. это должно быть так? или на MISO должен быть ноль?



такие вот вопросы. Посоветуйте, пожалуйста!
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

БАТАРЕЙКУС писал(а):уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD :dont_know:

Мне кажется, что SPI режим у MMC и SD совпадает. Хотя я и видел где то утверждения, что разные, но исходник ПИРОТЕХНИКа изначально были под MMC, у меня все работает с microSD. Правда еще раз напоминаю - ДО 2 ГИГАБАЙТ.
Аватара пользователя
vadim_ova
Открыл глаза
Сообщения: 43
Зарегистрирован: Пт мар 26, 2010 03:46:57
Откуда: Томск
Контактная информация:

Re: SPI + SD Card + Asm?

Сообщение vadim_ova »

да, у меня всего 16 МБ. но не идет инициализация... никак...
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

vadim_ova писал(а):да, у меня всего 16 МБ. но не идет инициализация... никак...

Думаю, что для большей ясности стоило бы, как минимум, выложить исходники.
kodo
Родился
Сообщения: 13
Зарегистрирован: Сб июн 12, 2010 07:27:27

Re: SPI + SD Card + Asm?

Сообщение kodo »

В продолжении темы выкладываю наглядный дамп.
Изображение
Nicke
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт фев 09, 2010 19:21:27
Откуда: Belarus

Re: SPI + SD Card + Asm?

Сообщение Nicke »

Доброго всем дня. Кто нибудь может подсказать сколько займет времени на запись блока 512байт в флэш карту? Заранее спасибо.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»