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

 
 
> STM32 и большой объем информации, что посоветуете?
ADA007
сообщение May 7 2013, 18:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Поздравляю всех с майскими праздниками!
Тема для тех, кто даже по праздникам не забывает об электронике rolleyes.gif

По Т.З. девайс должен собирать информацию с датчика...и когда собранный лог достигнет размера в 32 Мб - нужно это все передать на ПК, и так далее по циклу.

Для решения задачи в качестве накопителя был выбран Samsung K9F1G08U0C.
Ну а в качестве контроллера - stm32f103vct6. Поскольку у него имеется встроенный fsmc интерфейс. Передавать данные на ПК планируется через USB интерфейс (пока не знаю в каком режиме / было бы идеально, если бы доступ к данным осуществлялся, как у обычной usb флэшке).

Посоветуйте, как лучше реализовать данную связку? Какие проекты взять за пример (не с нуля же писать 05.gif )? Возможно эти задачи уже кем-то частично или полностью решались...

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flexz
сообщение May 8 2013, 11:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Какая у вас скорость поступления данных с датчика? Может достаточно будет SPI-флешки?

Для USB, в качестве отправной точки, можно взять пример Mass Storage, который идет с библиотекой. И либо общаться с устройством как с RAW диском, тогда приложению потребуются админские привилегии (в win7) и система при подключении устройства будет предлагать отформатировать диск. Последнее обходится созданием фиктивной файловой системы - в начале диска, на десяток килобайт, лишь бы система увидела что раздел есть и не паниковала. Либо заюзать libusb.
Go to the top of the page
 
+Quote Post
ADA007
сообщение May 8 2013, 18:48
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(Flexz @ May 8 2013, 14:56) *
Какая у вас скорость поступления данных с датчика? Может достаточно будет SPI-флешки?


Скорость ... около 64 байт в секунду

Цитата(Flexz @ May 8 2013, 14:56) *
Для USB, в качестве отправной точки, можно взять пример Mass Storage, который идет с библиотекой. И либо общаться с устройством как с RAW диском, тогда приложению потребуются админские привилегии (в win7) и система при подключении устройства будет предлагать отформатировать диск. Последнее обходится созданием фиктивной файловой системы - в начале диска, на десяток килобайт, лишь бы система увидела что раздел есть и не паниковала. Либо заюзать libusb.


Мне этот вариант нравится. А в Lin будет сие чудо работать?

to AlexandrY = и таки-да ... BGA не хотелось бы.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 8 2013, 21:13
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(ADA007 @ May 8 2013, 19:48) *
Скорость ... около 64 байт в секунду
Мне этот вариант нравится. А в Lin будет сие чудо работать?

Как Flexz и предложил, можно использовать Mass Storage Class в рамках библиотеки поддержки USB для STM32F. При этом PC "видит" устройство как обычный сменяемый носитель ("флэшку"). STM32F пишет через встроенную файловую систему (например, fatfs, на которой построены многие примеры для STM32F) на SD карту или eMMC файл протокола, и его можно будет считать в PC. Есть, однако, одна загвоздка. Не знаю, как Linux, но Windows кэширует FAT сменяемого носителя, в результате она не видит изменения на диске, если STM32F модифицирует его дальше. По крайней мере, мне не удалось еще заставить Windows понять, что носитель изменен "изнутри".

Единственная возможность - сделать reconnect: как только STM32F заполнит очередной протокол (Ваши 32МБ), он делает connect (фактически - подает там 3V через 1.5К на D+ линию USB), Windows обнаружит USB устройство, смонтирует носитель, считает файл и должно затем размонтировать ("выбросить") устройство. STM32F это дело поймет (вроде поддержка Mass Storage Class это сообщит) и снова возьмет носитель под свою опеку. Конечно, на время, пока PC считывает диск, STM32F не следует на него писать, поэтому надо кэшировать Ваши 64 байта/сек. в ОЗУ, которое потом скинуть в файл, как только PC "отдаст" диск.

Модификация варианта: STM32F создает ДВА виртуальных диска на одном носителе. Mass Storage Class монтирует один диск, а STM32F пишет через fatfs другой, и наоборот.
Go to the top of the page
 
+Quote Post
Methane
сообщение May 9 2013, 05:23
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(KnightIgor @ May 9 2013, 00:13) *
Модификация варианта: STM32F создает ДВА виртуальных диска на одном носителе. Mass Storage Class монтирует один диск, а STM32F пишет через fatfs другой, и наоборот.

Тем более что если флешка смонтирована, то писать на нее другим нельзя.

Может это попробовать?
http://ru.wikipedia.org/wiki/Media_Transfer_Protocol

Хотя я думаю что наиболее простой метод - написать свой софт под винду или там линух чтобы данные вычитывать. Можно даже подумать над какой экзотикой, типа USB 2 UART и сбрасывать данные через Xmodem к примеру.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 11 2013, 10:09
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Methane @ May 9 2013, 06:23) *
Тем более что если флешка смонтирована, то писать на нее другим нельзя.

SD-карта есть просто память с контроллером. Какая часть этой памяти будет использована и под что, зависит от того драйвера, который направляет запросы чтения и записи блоков памяти в карту. Таким образом, можно создать две равные независимые области памяти на карте. В каждый момент времени для внешней программы/PC будет виден только один носитель, который будет иметь половинный размер карты. Получится, что если PC смонтирует носитель, фактически это будет означать, что запросы от PC будут перенаправляться лишь в ей доступную область карты: PC будет "владеть" областью монопольно. В это же время программа на STM32F будет общаться с другой половинкой карты. Нужно лишь обеспечить своего рода очередь к драйверу карты, если на STM32F используется какая-то ОС с вытеснением. Иначе все запросы могут обрабатываться синхронно (ну типа как в prototheads Адама Дункельса), и тема коллизий разрешится сама собой.
Но тема connect USB, монтирования и последующего выброса носителя программой на PC остается: STM32F заполнил файл протокола, переключил области в драйвере карты, дал connect на USB, а сам продолжил писать в другую область карты. PC увидела носитель, смонтирована его, прочитала файл и размонтировала. И т.д.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ADA007   STM32 и большой объем информации   May 7 2013, 18:36
- - _pv   по поводу выбора накопителя: у stm32f103 sdio же е...   May 7 2013, 20:39
- - John Silver   В первую очередь стОит обратить внимание на количе...   May 8 2013, 09:49
|- - ADA007   Цитата(John Silver @ May 8 2013, 12:49) А...   May 8 2013, 11:13
|- - vlad_new   ЦитатаМне этот вариант нравится. А в Lin будет сие...   May 8 2013, 20:32
||- - ADA007   Цитата(vlad_new @ May 8 2013, 23:32) Звба...   May 9 2013, 11:51
||- - vlad_new   Цитата(ADA007 @ May 9 2013, 15:51) Извиня...   May 9 2013, 12:45
- - AlexandrY   Цитата(ADA007 @ May 7 2013, 21:36) Для ре...   May 8 2013, 12:31
|- - Gunner   QUOTE (AlexandrY @ May 8 2013, 15:31) Под...   May 8 2013, 13:34
- - DASM   Берете eye wi карту и идти курить пиво. Работать к...   May 9 2013, 04:34
|- - AlexandrY   Цитата(DASM @ May 9 2013, 07:34) Берете e...   May 9 2013, 05:38
|- - Methane   Цитата(AlexandrY @ May 9 2013, 08:38) Зач...   May 9 2013, 05:45
|- - AlexandrY   Цитата(Methane @ May 9 2013, 08:45) Сложн...   May 9 2013, 06:06
||- - Methane   Цитата(AlexandrY @ May 9 2013, 09:06) Сам...   May 9 2013, 06:59
|- - DASM   Цитата(Methane @ May 9 2013, 09:45) Сложн...   May 9 2013, 08:39
|- - Methane   Цитата(DASM @ May 9 2013, 11:39) А чего т...   May 9 2013, 09:03
- - Golikov A.   я делал такой логер, флэшку сразу разметил на один...   May 9 2013, 05:10
- - alexdos   "По Т.З. девайс должен собирать информацию с ...   May 9 2013, 06:59
- - jcxz   Цитата(ADA007 @ May 8 2013, 00:36) По Т.З...   May 9 2013, 16:18
|- - ADA007   Цитата(jcxz @ May 9 2013, 19:18) У вас по...   May 9 2013, 19:26
- - Golikov A.   У меня была система сбора данных с гарантированным...   May 9 2013, 17:47


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

 


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


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