Перейти к содержанию
    

Проблема с записью на sdcard

Благодарю за ответы, думаю на этом тема исчерпана.

 

Кстати, заметил один нюанс: data response перестает приходить, если

CS поднимается при сброшенном Busy. Т.е, заканчивается передача данных,

приходит response token, я вижу, что Busy падает в "0", а пока я готовлюсь

поднять CS, Busy уже успевает перейти в "1" и, спустя некоторое время,

CS поднимается в "1". И именно после этого пропадают data response.

 

Насколько критично поднимать CS при сброшенном Busy?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько критично поднимать CS при сброшенном Busy?

Резонный вопрос! Карта в этот момент уже ждет токена данных. Возможно, тут есть какой-то глюк с её стороны.

Попробуйте сделать так: передача блока - прием Data Response Token - работа с другим CS - выборка карты с ожиданием Busy.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте сделать так: передача блока - прием Data Response Token - работа с другим CS - выборка карты с ожиданием Busy.

 

Я так и делаю! Проблема в том, что начиная с третьего блока карта после передачи Response Token держит Busy очень короткое время,

поэтому я не успеваю поднять CS. И именно после этого начинаются проблемы. Похоже эта особенность поведения данной карты является непреодолимой и придется всю запись переделать с использованием одиночных блоков.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема в том, что начиная с третьего блока карта после передачи Response Token держит Busy очень короткое время,

поэтому я не успеваю поднять CS.

Как это возможно??? Неуспевание.

Все процессы на шине SPI тактируются мастером (Вашим контроллером). Соответственно - Вы можете в любой момент "остановить время" на шине SPI просто остановив SCLK.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как это возможно??? Неуспевание.

Все процессы на шине SPI тактируются мастером (Вашим контроллером). Соответственно - Вы можете в любой момент "остановить время" на шине SPI просто остановив SCLK.

 

После получения Response Token я посылаю dummy байт и, насколько я помню, сразу после этого

карта отпускает Busy. После посылки холостого байта я опускаю CS и посылаю еще один dummy байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...