Страница 2 из 3
Re: SPI + SD Card + Asm?
Добавлено: Вс июн 20, 2010 21:52:38
COKPOWEHEU
Мож уже и не надо, но в журнале Радио 9/2009 был описан звонок с ММС карточкой и довольно подробное ее описание.
Re: SPI + SD Card + Asm?
Добавлено: Пн июн 21, 2010 11:13:29
kodo
С SD-картой то же самое что и с MMC. От того то, добавленная мною подпрограмма установки адреса и не за работала с самого начала (я пробовал указать адрес начала чтения 0x0001be). Сейчас попробовал указать туда адрес 0x00000000 и в EEPROM появился с читанный блок в 512 байт.
Re: SPI + SD Card + Asm?
Добавлено: Пн июн 21, 2010 15:35:59
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байт Размер раздела (число секторов)
Re: SPI + SD Card + Asm?
Добавлено: Пн июн 21, 2010 16:36:05
БАТАРЕЙКУС
да значит получается так, что выгодней всего работать с этими картами используя файловую систему FAT16, один фик там всё по секторам поделено и самоволье там непрокатит.
Re: SPI + SD Card + Asm?
Добавлено: Пн июн 21, 2010 17:42:13
kodo
Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
Re: SPI + SD Card + Asm?
Добавлено: Пн июн 21, 2010 22:25:56
БАТАРЕЙКУС
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.[/quote]
pirotehnick а что эт такое ?
Re: SPI + SD Card + Asm?
Добавлено: Вт июн 22, 2010 15:47:01
kodo
БАТАРЕЙКУС писал(а):Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
pirotehnick а что эт такое ?[/quote]
pirotehnick - это один из пользователей форума.
Re: SPI + SD Card + Asm?
Добавлено: Пт июл 02, 2010 11:56:30
Nicke
kodo писал(а):Выгодно то выгодно, НО! "Фигура третья, печальная.." Флешки подходят до 2-х гигов. По крайней мере у меня, на microSD 2Gb вываливает ахинею, или виснет. Пробовал и под FAT32 и под FAT16 форматировать - бесполезно..
Так что любителям самопала следует затариться картами на про запас.
Кстати, кому нужно - могу исходники выложить (pirotehnick-а, но исправленные мною). Вообще, если автор не возражает, то есть мысль оформить в виде модуля freeware.
Да если можно, то хочу взглянуть на исходник. Может кто подскажет, хочу писать байт за байтом на карту, хотя если скорость будет приличной.
Re: SPI + SD Card + Asm?
Добавлено: Сб июл 03, 2010 18:43:00
kodo
Вот.
Re: SPI + SD Card + Asm?
Добавлено: Вс июл 04, 2010 21:33:50
БАТАРЕЙКУС
доброе время суток коты. вопрос такой ктонть разобрался с командой CMD16 (блочное чтение/запись) чтот у мя неполучилось запустить эту команду. а то каждый раз адресовать следующий кластер напряжно.
на пик замутил такое TMR2 генерирует прерывание с частотой 8кГц (125мксек. 500машинных чиклов при кварце 16МГц ) запускает модуль АЦП и младший байт результата , на прошлом шаге, переписывается в ММС-карту. во время записи из ,,буфера (512байт) ММС-карты,, в её флеш мозг (1600мксек) данные из модуля ацп записываются в ОЗУ пика. потом всё это снова перекачивается в ММС-карту. Получается пипа диктофона, звук с микрофона записывается в ММС-карту. и вот проблема с переадресацией кластера, забитие нового адреса кластера в ММС-карту длится сильно долго, каманду приходится разбивать на 2 части (я правдо использую не самый быстрый режим SPI) а ведь надо уложится в 125 мксек ктомуж требуется четырёх байтный суматор, и всё это жутко усложняет программу, а вот блочная запись/чтение облегчилаб задачу вразы.
Re: SPI + SD Card + Asm?
Добавлено: Ср июл 07, 2010 16:46:46
Nicke
Доброго времени. Вот пишу запись данных на флэшку. Проблема в том что я не вижу пишутся ли данные на флэш или нет. А ели убрать комментарий со строки чтения, так и вовсе индикатор не показывает работу (не зажигается светодиод после процедур), т.е. в этой процедуре где-то за цикливание. Прилагаю программу и модель в протеусе.
Re: SPI + SD Card + Asm?
Добавлено: Сб июл 10, 2010 22:19:40
БАТАРЕЙКУС
[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 Гбайт шо очень опечалило меня там

Re: SPI + SD Card + Asm?
Добавлено: Пн июл 12, 2010 19:14:12
kodo
До 2 Gb можно не печалиться, я же писал..
Re: SPI + SD Card + Asm?
Добавлено: Ср июл 14, 2010 00:08:07
БАТАРЕЙКУС
уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD

поддерживает ли и что по MISO?
Добавлено: Пт июл 16, 2010 04:59:23
vadim_ova
Всем доброго времени суток!
Сколько ни было описано проблем с инициализацией SD-карты в SPI-режиме, а моя от этих описаний все равно не решилась....ну не инициализирует, хотя я и сделал все, что описано...
ПРИНЦИПИАЛЬНЫЙ ВОПРОС!!
1. Вообще, как узнать, поддерживает ли данная карточка SPI режим?
и вот еще. во время инициализации возникает на линии MISO явная логическая единица в +3.3 В. причем могу регулировать и чтобы проц туда единичку заводил постоянную, и чтобы карта сама ее выдавала со своего выхода DO. Непонятно, как надо.
2. это должно быть так? или на MISO должен быть ноль?
такие вот вопросы. Посоветуйте, пожалуйста!
Re: SPI + SD Card + Asm?
Добавлено: Сб июл 17, 2010 09:09:34
kodo
БАТАРЕЙКУС писал(а):уважаемый kodo
а ММС и microSD они по командам полнустью савместимы или мне придтся всётаки переписывать програмку с ММС на microSD

Мне кажется, что SPI режим у MMC и SD совпадает. Хотя я и видел где то утверждения, что разные, но исходник ПИРОТЕХНИКа изначально были под MMC, у меня все работает с microSD. Правда еще раз напоминаю - ДО 2 ГИГАБАЙТ.
Re: SPI + SD Card + Asm?
Добавлено: Сб июл 17, 2010 11:01:34
vadim_ova
да, у меня всего 16 МБ. но не идет инициализация... никак...
Re: SPI + SD Card + Asm?
Добавлено: Вс июл 18, 2010 12:03:31
kodo
vadim_ova писал(а):да, у меня всего 16 МБ. но не идет инициализация... никак...
Думаю, что для большей ясности стоило бы, как минимум, выложить исходники.
Re: SPI + SD Card + Asm?
Добавлено: Вс июл 18, 2010 12:07:11
kodo
В продолжении темы выкладываю наглядный дамп.

Re: SPI + SD Card + Asm?
Добавлено: Ср июл 21, 2010 11:15:52
Nicke
Доброго всем дня. Кто нибудь может подсказать сколько займет времени на запись блока 512байт в флэш карту? Заранее спасибо.