Стальной

Скоростная запись на SD карту

10 сообщений в этой теме

Всем доброго времени суток.

Общая задача такова - надо снимать сигнал (осциллограмму) с полосой до 400 кГц и временем записи 5 минут. Результат должен быть куда-то сохранен, чтобы потом была возможность сбросить цифровые данные на комп. 

Нужен совет по одному (пока) вопросу. Я хочу писать бинарные данные напрямую на SD-карту. Минимальная частота дискретизации 800 кГц. Разрешение АЦП можно взять 8 бит. Как вы думаете, успеет ли флешка скушать данные? 

Шаблон кода создаю кубом с использованием HAL, тестирую на камне 407VET6. При записи планирую использовать буфер, куда загоняю массив данных, чтобы писать не по одной выборке, а сразу пачкой.

ЗЫ Есть еще вариант. Использовать в качестве промежуточной памяти вот такое https://static.chipdip.ru/lib/435/DOC001435109.pdf  , сохранить туда, а потом уже на внешнюю карту. По идее, есть возможность соединить по FSMC. Но для меня это крайний вариант, ибо до этого не пробовал такое.

Изменено пользователем Стальной

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


Ссылка на сообщение
Поделиться на других сайтах
Lexter    340
15 часов назад, Стальной сказал:

800 кГц 8 бит ... успеет ли флешка скушать данные?

Успеет. Для этого просто надо выбрать подходящую флешку. Скорость записи указазывается производителем.

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


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

@Lexter а контроллер сможет на большой скорости работать? Там вроде 24 МГц допустимо, но я пока не успел испытать. 

Тогда вопрос - а как программно определить класс карты? Или контроллер это аппаратно определяет?

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


Ссылка на сообщение
Поделиться на других сайтах
Lexter    340
1 час назад, Стальной сказал:

как программно определить класс карты?

То, что написано на карточке, и даже то, что считывается из её контроллера, не гарантирует её параметры и даже объём. Учитывая большое количество подделок и фальсификата SD-карт на рынке, лучше не возлагать проверку на устройство (это может занять много времени), а сначала хорошенько протестировать карточку вручную. Это можно сделать как средствами ОС, так и специальными программами.

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


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

@Lexter это понятно. Просто есть аппаратный механизм выбора скорости? Или работать по принципу возникла ошибка - сбросить скорость?

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


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

SD спецификацию читайте. Вся нужная служебная информация о карте есть в соотвествующих регистрах.

 

Изменено пользователем Oxford

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


Ссылка на сообщение
Поделиться на других сайтах
Lexter    340
3 часа назад, Oxford сказал:

служебная информация о карте есть в соотвествующих регистрах.

Вряд ли @Стальной будет писать работу с SD-картой с нуля. А в драйверах или фреймворках это уже реализовано. Разве что стирание перед началом записи добавит, чтобы не было пауз при приёме потока.

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


Ссылка на сообщение
Поделиться на других сайтах
BARS_    879
12 часа назад, Стальной сказал:

а контроллер сможет на большой скорости работать?

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

Изменено пользователем BARS_

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


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

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

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


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...

  • Похожие публикации

    • Автор: Evgeny_VG
      Добрый день,
       
      Подскажите, пожалуйста, есть ли известные алгоритмы для восстановления выпрямленного сигнала обратно в синусоидальный? (скрин во вложении).
      Сигнал дальше идет на цифровой фильтр для сглаживания, частота стандартная 50 Гц, амплитуда от 20 мВ до 3 В.
       
      Буду очень признателен за советы.

    • Автор: TheCoolKuid
      Здравствуйте.
      Решил развести для себя плату с STM32F030F4P6. Сделал все по инструкциям, официальному даташиту и Getting Started Guide STM32. Хотел бы узнать, есть ли какие то косяки или ошибки:
      Верхний слой:
      Нижний:
      Большой синий полигон (почти весь нижний слой) - земля, единственное, кварц наверху не поместился, поэтому сделал его на нижнем тоже. Серые фигуры - "переходные отверстия", большие, т.к. у меня нет достаточно тонкого сверла и навыка сверления точно по центру. 
      U1 - LM317LMX, R1 - 200 Om, R2;R4 - 330 Om, C1 - 10мкФ, C2-C6;C9 - 100нФ, С7;С8 - 22пФ, R3 - 1 КОм, U6 - смд кварц на 8МГц, U2 - соответственно STM32F030F4P6, LED1 - красный светодиод.
      Буду рад любой критике (Про резистор, которые налезает на кварц в курсе, не успел подвинуть. Желтых контуров на текстолите само собой не будет). 
      Спасибо.
    • Автор: Геннадий К.
      В электронный журнал требуются внештатные авторы статей - опытные разработчики электроники или преподаватели профильных дисциплин ВУЗов.
      Тема - практическое применение электронных компонентов. Выдаем ТЗ на статьи, при необходимости высылаем отладочные платы, по итогам публикации выплачиваем гонорар.
    • Автор: rmatveev
      Всем привет!
      Задумано следующее: на малинку ставится веб-сервер (именно веб, а не HTTP, т.к. подразумевается тонкий клиент, но возможно я с терминами немного путаю), который обеспечивает управление через тонкий клиент по Ethernet, по Modbus RTU поверх RS-485 малинка должна будет управлять объектом.
      Т.е. задача такая: на удаленном рабочем месте визуализация объекта и его управление по Modbus.
      Изначально я хотел под это дело использовать какой-нибудь NUCLEO на процессоре STM32. Но почитал немного о подробностях установки TCP-IP стека и веб-сервера на STM32 и понял, что эту задачу они выполняют, но как-то сложновато. Вроде как Raspberry Pi намного лучше с этим должна справиться. Да и комьюнити намного больше.
      Ваши мнения, господа?
    • Автор: michaelukolov
      Доброго времени суток.
      Сразу скажу: я не прошу писать за меня код, просто натолкните, как правильнее это реализовать.
      Имеется STM32F103C8T6, необходимо на ней построить одноканальный генератор сигнала, желательно разной формы (синус/меандр) с регулировкой частоты и скважности от переменного резистора. Регулировки частоты хватило бы в пределах 1Гц - 20кГц (отсюда еще вопрос, годится ли для этого F103C8T6?). Хотелось бы еще иметь разные уровни (5В/12В), но это и сам сообразить могу.
      Если использовать HAL таймер, то когда он уже будет запущен, можно будет менять частоту/скважность?
      Как реализовать переключение синус/меандр?
  • Сообщения

    • Не замечал ни разу за разумный ценник. Или батарейки меняй каждые 2-3 месяца. Неужели на рынке есть внешний термодатчик по цене меньше 10$ и не требующий замены батарей вообще никогда?
    • Всё это как-то костыльно выглядит, когда можно сделать по нормальному.
      Ардуинки достаточно дешёвые, не хватает одной - поставь две. Есть кстати шилды с клавиатурой для ардуины. 5000 выборок для клавиатуры, это чрезмерно. там и 100 выб/сек хватит. Симуляторы... они с ошибками и слишком порой идеальны, на практике всё совсем по другому выходит. Эффективно использовать симуляторы можно только зная все ньюансы и в симуляцию выносить только то что точно там не будет искажено.
    • @Василичь, пойми одно:  В измерениях должен быть эталон (стандарт, ГОСТ, как хочешь, назови).
      Должна быть гарантия, что параметры одного и того же усилителя будут измерены в одних и тех же условиях прибором с гарантированными характеристиками, только тогда измерения будут объективны. Ты даёшь гарантию, что на десятке SB0570 измерения одного и того же усилителя будут идентичны? До какой цифры разброс будет? Какие гарантии даёшь? А как быть, если один меряет на Юлии, другой на SB0570 а третий на Covox? А движками в софтверном миксере и виртуальными проводками можно ёрзать, как хочешь (не обязательно же показывать, как там и что). Про обилие звуковых подсистем в различных операционных системах даже начинать говорить не хочу (не единым Windows XP живём). Где 100% эталон?
      Отличия измерительного прибора от звуковой карты точно такие же, как у палки с насечками от метровика. Помнишь, Ты пыжился про максимальную мощность при 10% КНИ? А она оказалась чётко описана в ГОСТ, как мощность ограниченная искажениями. Просто ты её назвал "максимальной". Просто, образно говоря, ты на своей палке нанёс свои насечки по-своему и всем пытаешься втереть, что "эта сажень - правильная". Уже приводил эту цитату, но пусть будет ещё раз:
      https://www.youtube.com/watch?v=4-yXTJVVBY8
      За результаты измерения любой КИП ручается производитель и кантора, которая калибрует прибор, они расписываются в том, что измеренные значения будут в заявленных пределах. Причем калибровка должна производиться регулярно. (Часто слышал, что калибровка - это государственный рэкет, но, а как быть иначе?) Кто даёт подобные гарантии за твой SB0570 или за Юлию или за то, что попалось под руку твоему ученику?
      Дык где эталон сажени, по которой мерять?
    • Так посмотри что это за вывод контроллера, может это UART и загрузчик туда отладку кидает.
    • Легко убедиться в левизне. Если ток покоя меньше 12мА, то левак,
      Вангую 2-3мА , не более.
    • С таким подходом зачем Вам вообще электроникой заниматься? Абсолютно бесполезное сообщение. Тут не до шуток, нужно обязательно в короткий срок починить оборудование и возобновить работу предприятия, любыми способами. Топикстартеру я вот очень не завидую, так как у него такая же задача, но ему пришлось идти сложным путём - изготавливать плату с нуля.. @IMXO  Ага, я этим и занимался целый день и ночь, вот что получилось после многократных перерисовок. Контакты идущие к МК - микроконтроллеру - для наглядности зеленым отметил. Получается что микроконтроллер управляет каждым из трех транзисторов отдельно, плюс ещё и реле, подтягивающее мощные , вероятно разрядные резисторы. Очень непонятен узел с микротрансформатором... он него идет только одна дорожка на 2 ногу микроконтроллера... не считая низковольтной земли. Рискну предположить что сигнал идет не со второй ножки, а наоборот, приходит на неё от этого модуля, хотя схема какая-то очень странная, с другой стороны напоминает генератор на несколько десятков килогерц. С этим мелким трансом непонятно ничего толком, прозвонил как мог - две ножки звонятся с одной стороны и три с другой, сопротивление очень низкое, фиг поймешь где обмотка, где просто дорожки соединяют, где несколько обмоток отводом, но скорее всего примерно как на рисунке, возможно последовательность другая.