реклама на сайте
подробности

 
 
> Проблема с SDXC 128Gb, Не работает "Multiple Block Write"
KAlex
сообщение Mar 18 2013, 08:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Возникла проблема с SDXC 128Gb.
Для записи потока использую CMD25.
С начала карты до адреса блока 0х17FFF (первые 48Мб) все прекрасно работает.
В адресах от 18000 и выше происходит затык. После записи первого блока по DAT0 получаю CRC Status: '010' - Data accepted, вроде все нормально.
А на второй блок карта реагирует вхождением в ступор. На DAT0 висит "1", данные не принимает.
Я примерно представляю, что проблема связана с CMD20, но во всех шареварных даташитах написано:
"This section is a blank for the Simplified Specification."
Плиз хелп!

ЗЫ. Пробовал CMD20 с нулевым аргументом, получил "BLOCK_LEN_ERROR".
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 16)
Ozelot
сообщение Mar 18 2013, 10:03
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



А разве не нормально, что на DAT0 выставляется сигнал BUSY для операции записи? Через полсекунды отпустит и запись продолжится дальше.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 18 2013, 10:48
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Какие еще полсекунды? У меня поток видео 4Mb/сек пишется.
Написал же - проблема с картой 128G. С картами на 64G и меньше все в порядке.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 18 2013, 11:21
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



По спецификации при записи возможны паузы в полсекунды, даже если средняя скорость записи 10 МБайт в секунду (так что твои 4 МБита в секунду ни о чем не говорят).
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 18 2013, 12:27
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



4 Мбайта.
Даташит в студию пожалуста!
Да, в описании CMD20 есть такое.
Цитата
4.13.2.8.1 Definition of Each Function
(1) Start Recording
This function indicates that Speed Class host starts stream recording. When the card receives CMD20 Start Recording function, the card indicates busy up to 1 second to prepare recording (Garbage collection, clean-up of internal status, etc).

Но к WRITE_MULTIPLE_BLOCK это не относится.
Я с SD-картами более 5 лет работаю.
А вообще, разговор ни о чем. Работал с SDXC128G???
Тебе отвечать на подобные советы больше не буду.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 18 2013, 12:54
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



Не обижайся wink.gif Я руководствуюсь документом SD Specifications Part 1 Physical Layer Simplified Specification Version 3.01 (см. вложение). Глава 4.6.2.2 (стр. 56):
While the card should try to maintain that busy indication of write operation does not exceed 250ms in the case of SDXC card, if the card is not possible to maintain operations with 250ms busy, the card can indicate write busy up to 500ms
including single and multiple block write in the following scenarios:
и т.д.
На практике все совпадает. На некоторых карточках таких больших пауз нет, на некоторых до 750mS замечал. Так что без обид, меряться годами программирования как и языками программирования глупо, надеюсь это не наш с тобой уровень sm.gif

Сообщение отредактировал Ozelot - Mar 18 2013, 12:56
Прикрепленные файлы
Прикрепленный файл  Part_1_Physical_Layer_Simplified_Specification_Ver_3.01_Final_100518.pdf ( 1.13 мегабайт ) Кол-во скачиваний: 29
 
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 19 2013, 07:44
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(Ozelot @ Mar 18 2013, 16:54) *
На практике все совпадает. На некоторых карточках таких больших пауз нет, на некоторых до 750mS замечал.

C этим согласен. Паузы на некоторых картах есть, причем возникают при первых записях после подачи питания и инициализации.
Затем поток пишется ровно, даже на картах 4 класса.
128-я становится в ступор навсегда, DAT0 держит пока не пересбросишь.
Подозреваю, что она находится в каком-то неправильном режиме, который в "Simplified" не описан.

К стати вот свежий даташит 2013г.
Прикрепленный файл  part1_410.pdf ( 1.88 мегабайт ) Кол-во скачиваний: 535

Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 19 2013, 08:13
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



Спасибо за свежую версию спецификации.
С карточками SDXC128 у меня проблем нет (аппаратная платформа NX6500), у коллеги вроде бы тоже все нормально (LPC2468). Средний объем потока данных при записи 2MB (тоже видео). Возможно это проблема или нюансы аппаратного контроллера SD-шины вашего процессора (например в используемом мной процессоре для мультиблочной записи нужно инициализировать специальный Pending-режим).

Сообщение отредактировал Ozelot - Mar 19 2013, 08:14
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 19 2013, 09:07
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



В том то и дело, что до адреса 0х18000 все работает.
Проблемы в аппаратной или програмной части нет, так как SDXC64 ведет себя адекватно на всем диапазоне адресов.

зы. Добился записи двух блоков подряд.
Перед CMD25 подал CMD20 с параметром 0х40000000 (опять был "BLOCK_LEN_ERROR").
Но на третьем блоке опять DAT0 встал.
Результат стабильный и под Jtag-ом в пошаговом режиме и в R.T.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 19 2013, 09:39
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



Я CMD20 не использую. На какой частоте SD-шины работаете?
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 19 2013, 10:09
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



27MHz.
Чуть больше, чем по даташиту для 4 класса.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 19 2013, 10:16
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



А без CMD20 в режиме мультиблочной записи карточка себя ведет аналогично? Может не стОит использовать такую специфическую команду?

Сообщение отредактировал Ozelot - Mar 19 2013, 10:16
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 19 2013, 10:21
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Да, один блок только проходит.
Еще эта карта отказывается работать без ACMD23.
Т.е. без ACMD23 карта ведет себя так начиная с нулевого адреса.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 19 2013, 10:27
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



Ух ты. А что за карточка? Может себе такую раздобуду потестить.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 19 2013, 10:44
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



На морде:
Kingston SDXC128GB C10
SDX10V/128GB
С обратной стороны:
94514-E01.A00LF
6030120
TAIWAN
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 27 2013, 08:24
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(KAlex @ Mar 18 2013, 12:48) *
Возникла проблема с SDXC 128Gb.
Для записи потока использую CMD25.
С начала карты до адреса блока 0х17FFF (первые 48Мб) все прекрасно работает.
В адресах от 18000 и выше происходит затык. После записи первого блока по DAT0 получаю CRC Status: '010' - Data accepted, вроде все нормально.
А на второй блок карта реагирует вхождением в ступор. На DAT0 висит "1", данные не принимает.


Вопрос снят.
Выяснилось, что идет сильная просадка по питанию.
Однако почему этот эффект возникает с адреса 0х18000, даже если писать поблочно CMD24, так и осталась загадкой.
Go to the top of the page
 
+Quote Post
Ozelot
сообщение Mar 27 2013, 08:35
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 6-06-05
Из: Ukraine
Пользователь №: 5 764



Спасибо за отчет. Скорее всего в этот момент контроллер карточки обновляет буфер, это он делает при старте и периодически все время в процессе работы.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 13:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016