Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Работа с SD Card

Ср окт 19, 2016 10:29:47

Доброго времени суток, уважаемые коллеги!
Предлагаю в данной теме обсуждать вопросы связанные с картами SD.


И начну, пожалуй, со своей проблемы.
Занимаюсь я проектом по разработке электронной системы управления преобразователем, в частности есть задача регистрирования и архивирования событий (температура, аварии, мощность). Данные сохраняются во внешнюю ПЗУ память. В любой момент записи можно записывать на внешний носитель, коим является SD карта памяти. И тут есть некоторые проблемы.

Что мне необходимо.
1. Искать/создавать файл на флешке.
2. Записывать данные в файл в кодировке ASCII.

Другими словами работать со структурой файловой системы FAT16/32

По началу пытался привязать библиотеку чана, но, по не понятным причинам, она не может найти файл на флешке, и уж тем более создать. Но при этом монтирование устройства происходит нормально.

Бог с ним, начал сам разбираться со структурой файловой системы и разрабатывать алгоритм поиска создания и записи данных в файл. Все шло хорошо, до момента, пока не перенес тестовый код с макета на рабочий экземпляр.

Т.е. карта инициализируется нормально, данные на нее записываются нормально, на команды возвращает 0x00 как и положено. НО когда пытаюсь считать данные карта возвращает некорректный маркер: 0xFD вместо 0xFE.
Изображение

Попытался принудительно считывать информацию, которую карта отсылает. В итоге получаю что то отдаленно похожее на данные, но сдвинутые словно на один бит влево, а местами импульсы совсем короткие получаются, словно помеха.

На макетной плате без пайки все работает нормально.
Изображение

Схема соединения с МК
Изображение

Частота импульсов при инициализации: 125-150 кГц,
Частота импульсов во время обмена данными: Пробовал и 125-150 кГц и 1 Мгц
Напряжение питания МК: 5 В
Контроллер на макетной плате: ATmega8
Контроллер на опытном образце: ATmega128

Re: Работа с SD Card

Сб ноя 05, 2016 14:11:35

Коль уж создана тема, задам здесь свой вопрос.
Работаю в Proteus 8.0. Программа управления устройством общается (виртуальный КОМ-порт) с симулятором этого устройства. Все нормально, кроме SD. При инициализации виртуальной SD карты, пишет что версия карты 1, а ей нужно выше.
Вопрос:
Существуют ли Протеусные модели SD карт с настраиваемыми (другими) версиями, или как-то можно и эту версию настроить?
С уважением.

Re: Работа с SD Card

Вс ноя 20, 2016 16:04:36

Ariadna-on-Line писал(а):Коль уж создана тема, задам здесь свой вопрос.
Работаю в Proteus 8.0. Программа управления устройством общается (виртуальный КОМ-порт) с симулятором этого устройства. Все нормально, кроме SD. При инициализации виртуальной SD карты, пишет что версия карты 1, а ей нужно выше.
Вопрос:
Существуют ли Протеусные модели SD карт с настраиваемыми (другими) версиями, или как-то можно и эту версию настроить?
С уважением.


На 100% утверждать не буду, в 8 протеусе работал мало, в основном в 7.
Моделей SD карт других версий нет, и то что там есть тоже настроить нельзя.

Но у меня возникает к тебе встречный вопрос, почему ты обрабатываешь в своем алгоритме работы только карты более старших версий? Инициализация проводится в зависимости от первых ответов, получаемых от карты. А дальше обмен данными как обычно. Тогда результирующее устройство было бы более универсальным по отношению к картам.

Re: Работа с SD Card

Пн ноя 21, 2016 18:40:34

Это не моё. Гонял в Протеусе, для ознакомления, чужой проект "Карманный кардиограф на SD-карте".
...Жаль там нет функции монитора сердечного ритма с подачей аварийного аудиосигнала.

Встречный вопрос. Не встречалась ли Протеусная модель для LM567 ?

Re: Работа с SD Card

Пн фев 20, 2017 13:00:42

Ariadna-on-Line писал(а):Встречный вопрос. Не встречалась ли Протеусная модель для LM567 ?


Нет, и аналогов в протеусе тоже не видел
Ответить