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

 
 
> проблемы с SDHC
alexey123_45
сообщение Feb 20 2018, 06:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 1-03-13
Пользователь №: 75 850



Здравствуйте
Сделал драйвер для работы с SDHC картой на STM32F407. Раз в 3 секунды непрерывно записываю данные в файл, файловая система FAT32. Работаю через SPI. Некоторые карты перестают работать(а какие-то совершенно нормально работают) через несколько часов непрерывной записи. Посмотрел осциллографом, карта после операции записи в сектор не выходит из состояния busy. При этом возвращается статус о корректном завершении операции записи.В чем может быть проблема?

Сообщение отредактировал alexey123_45 - Feb 20 2018, 06:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexey123_45
сообщение Feb 20 2018, 09:56
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 1-03-13
Пользователь №: 75 850



А как это можно победить?
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 20 2018, 10:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(alexey123_45 @ Feb 20 2018, 12:56) *
А как это можно победить?

Как победить - не знаю.
Я сделал костыль: в функции "записать сектор" смотрю, если перед этим была операция чтения, то выжидаю некую паузу.
Выше слегка наврал: проблема происходит после запись-чтение-запись.
Если сделать запись-чтение-пауза-запись, то все ок.
Код
int SDIO_Read(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb)
{
...
    sdio_last_rd = 1;
...
}

int SDIO_Write(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb)
{
...
    if(sdio_last_rd)
    {
        sdio_last_rd = 0;
        for(i = 0; i < 500; i++) SDIO_Delay();
    }
...
}
Go to the top of the page
 
+Quote Post
pokk
сообщение Mar 16 2018, 02:06
Сообщение #4


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

Группа: Участник
Сообщений: 91
Регистрация: 3-07-11
Пользователь №: 66 028



Цитата(adnega @ Feb 20 2018, 13:33) *
Как победить - не знаю.
Я сделал костыль: в функции "записать сектор" смотрю, если перед этим была операция чтения, то выжидаю некую паузу.
Выше слегка наврал: проблема происходит после запись-чтение-запись.
Если сделать запись-чтение-пауза-запись, то все ок.

А как у вас запись чтение происходит ? одним блоком или мультиблочно? У меня похожая проблема(на SDIO), посекторно пишет считывает, без проблем(пробовал всякие комбинации R-W-R), как только начал использовать FAT сразу повисла, вот задумался если, переделать на мультипольный вариант даже для 1 сектора, и гнать в конце команду CMD12, что нибудь измениться или нет.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexey123_45   проблемы с SDHC   Feb 20 2018, 06:36
- - adnega   Цитата(alexey123_45 @ Feb 20 2018, 09:36)...   Feb 20 2018, 06:44
|- - Grape   Цитата(adnega @ Feb 20 2018, 09:44) Не зн...   Feb 21 2018, 09:52
|- - adnega   Цитата(Grape @ Feb 21 2018, 12:52) Правил...   Feb 21 2018, 11:05
- - alexey123_45   Т.е. попробовать снизить частоту записи? Да,действ...   Feb 20 2018, 06:52
|- - adnega   Цитата(alexey123_45 @ Feb 20 2018, 09:52)...   Feb 20 2018, 09:33
|- - adnega   Цитата(pokk @ Mar 16 2018, 05:06) А как у...   Mar 16 2018, 06:29
- - картошка   Цитата(alexey123_45 @ Feb 20 2018, 09:36)...   Feb 20 2018, 12:40
|- - adnega   Цитата(картошка @ Feb 20 2018, 15:40) Про...   Feb 20 2018, 12:46
|- - картошка   Цитата(adnega @ Feb 20 2018, 15:46) В коп...   Feb 20 2018, 13:04
|- - adnega   Цитата(картошка @ Feb 20 2018, 16:04) Изв...   Feb 20 2018, 14:49
- - AVI-crak   Цитата(alexey123_45 @ Feb 20 2018, 12:36)...   Feb 20 2018, 16:46
|- - adnega   Цитата(AVI-crak @ Feb 20 2018, 19:46...   Feb 20 2018, 17:30
|- - AVI-crak   Это так, но при длительной записи - встроенный в к...   Feb 20 2018, 23:06
- - alexey123_45   А какая необходима минимальная пауза?   Feb 22 2018, 06:19
|- - adnega   Цитата(alexey123_45 @ Feb 22 2018, 09:19)...   Feb 22 2018, 07:09
- - alexey123_45   Понятно, спасибо.   Feb 22 2018, 07:13


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

 


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


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