AnisimovSlava 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Добрый день всем. Есть (будет) некое устройство. В нем, соответственно, есть SD карточка. В силу некоторых причин формирования FAT на карточке хотелось бы избежать (не успеваем сохранять поток). При этом хочется, что бы с виндовой машины можно было управлять устройством (передавать команды "выбор потока", "чтение потока" плюс еще некоторые). Что и как сделать на устройстве вроде бы понятно... А вот на виндовой машине - нет. Собственно вопрос: Сложно ли сделать так, что бы с виндовой машины можно было: 1) Видеть выбранные потоки как "файлы". 2) Передавать команды выбора потоков, после чего список "файлов" должен будет измениться. При этом команда "выбор потока" может выполняться несколько минут. 3) С чем лучше бороться? Оптимизировать FAT или можно сделать дописку к виндам? P.S. Другие ОС типа Линукс не интересуют. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба С чем лучше бороться? Со своими самодельщицкими фантазиями :( прежде всего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Не совсем понял про "потоки", но обычно когда желают использовать типовой картридер и стандартную поддержку в Windows, но при этом не хотят поддерживать FAT на МК, то организуют один большой файл на карточке средствами Windows и работают с ним на МК посекторной записью/чтением. На ПК, естественно, нужна программа, которая будет "расшифровывать" содержимое этого файла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnisimovSlava 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Со своими самодельщицкими фантазиями :( прежде всего.Совет, наверное, хорош. Вот только последовать ему сложно. Хорошо Вам как человеку опытному и всеми уважаемому. Ваше мнение сразу становиться законом. Я пока что до таких высот не дорос. Поэтому мне приходиться придумывать как сделать так как требует начальство. Или же объективно рассказать почему так сделать нельзя. организуют один большой файл. На ПК, нужна программа, которая будет расшифровывать содержимое этого файла.Может быть как запасной вариант и прокатит... Хотелось бы что бы данные видились как отдельные файлы без (по возможности) выкачивания целого образа. Если это, конечно, вообще возможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Хотелось бы что бы данные видились как отдельные файлыИзвините, но полноценное использование файловой системы без использования FAT я себе как-то слабо представляю. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба как сделать так как требует начальство Начальство обычно требует "что", а не "как". Так и начните с "что". А уж "как" додумаем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnisimovSlava 0 4 июля, 2010 Опубликовано 4 июля, 2010 (изменено) · Жалоба Начальство обычно требует "что", а не "как". Так и начните с "что". А уж "как" додумаем. 1) Пакет - данные фиксированного формата и размера. 2) Приемник пакетов - нечто такое, что может генерировать (принимать извне) последовательность пакетов. Последовательность не ограничена в длине. Т.е. может быть 10 пакетов и затем перерыв, а может быть 100 или 1000. Признака "окончания" передачи - нет. 3) Устройство - хранилище данных из 8 приемников на SD карточке. 4) Пользователь - некто, кому можно просматривать содержимое пакетов (не зависимо того, с какого приёмника они получены). Пароль пользователя даёт возможность проверить контрольную сумму пакета. Сошлась - можно показать данные. Нет - так нет. Устройство не хранит паролей вообще. Надо вводить с виндовой машины. 5) Устройство используется для хранения телеметрии. Т.з. на устройство чрезвычайно противоречиво. Т.е. изделие - компромис между многими требованиями. Изменение оборудования не входит в мою компетенцию. Т.е. я могу предложить что-либо, но не факт, что это будет принято. Даже, скорее, наоборот :unsure: Проблема: Когда все каналы начинают шарашить, данные только-только успевают записываться на карточку (но успевают). Производительности процессора хватает с большим запасом. Хранить данные негде (т.е. расширение RAM - полумера). Передача данных пользователю имеет несоизмеримо низший приоритет по сравнению с приёмом. Т.е. если устройство занято сохранением данных из источников, то запросы пользователя откладываются в долгий ящик. Предложения а-ля "уменьшить число каналов" не рассматриваются (они и так известны). Вроде бы все. P.S. Несколько раз уточнял текст. Изменено 4 июля, 2010 пользователем AnisimovSlava Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Изменение оборудования не входит в мою компетенцию. Когда поезд ушел, обычно суетиться уже поздно. Проблема: Когда все каналы начинают шарашить, данные только-только успевают записываться на карточку (но успевают). Разброс в скорости SD карточек офигенный :(. При появлении сбоев на карте, таймауты непредсказуемы. Короче носитель выбран стремный. Каково качество написание неуспевающей писалки, правда,тоже ненизвестно. Вы-бы хоть суммарный поток данных огласили. В работе с FAT, тем более на 8 файлов, при возможности кэшировать сооственно FAT таблицу ничего особо тормозного нет. Только иметь FAT, если всовывать карточку напрямую в ридеры не планируется, совсем не обязательно. Динамически делить память между "файлами" горько надо? Как мне здесь USB в комплекте с эмуляцией диска не нравится :( - точно надо свой драйверок ваять. USB я-бы тоже предпочел Ethernet. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Только один вопрос к автору темы: устройство предполагает автономную работу или же оно постоянно подключено к "виндовой машине"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnisimovSlava 0 4 июля, 2010 Опубликовано 4 июля, 2010 (изменено) · Жалоба Когда поезд ушел, обычно суетиться уже поздно. Носитель выбран стремный. Вопрос не в "поезде", а в том, что мой статус таков, что вопросы подобного уровня от меня не ждут (надеюсь пока что). Разброс в скорости SD карточек офигенный :(. При появлении сбоев на карте, таймауты непредсказуемы.При сбоях данные складываются в циклический буфер в памяти. Успеет карточка разобраться - хорошо. Не успеет - часть данных будет утеряна. Это документированное поведение. Каково качество написание неуспевающей писалки, тоже неизвестно. Вы-бы хоть суммарный поток данных огласили.Я уточню вопросы, если это принципиально. Сейчас не владею данными. Вопрос был принципиально другой. В работе с FAT, тем более на 8 файлов, при возможности кэшировать сооственно FAT таблицу ничего особо тормозного нет.Так файлов-то не 8. Он либо один один на весь носитель (как предложил Resident), либо каждый пакет - файл (т.е. их миллион). Про кэширование думали. Это будет один из вариантов оптимизации FAT. Просто реализация другой файловой системы более эффективна в этом случае. иметь FAT совсем не обязательно.С этого всё и началось. Данные на карте в одном виде, а надо их представить в другом. Да еще и выборочно... мне здесь USB в комплекте с эмуляцией диска не нравится. USB я-бы тоже предпочел Ethernet.Сетка занята для коммуницирования с другим оборудованием (она - один из источников данных). Лезать туда со своими запрсами нельзя по Т.З. О втором контроллере речи (насколько я помню) не шло. Только один вопрос к автору темы: устройство предполагает автономную работу или же оно постоянно подключено к "виндовой машине"?Подключение к виндовой машине скорее исключение (для анализа сбоев), чем правило. А так - это тупое хранилище, которое живёт в труднодоступном месте где-либо. Данные циклически затираются после заполнения носителя. Объем современных карточек достаточен для Т.З. В общем, насколько я понимаю, плохи дела... Изменено 4 июля, 2010 пользователем AnisimovSlava Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба В общем, насколько я понимаю, плохи дела... Это станет понятно, только когда Вы оцените максимальную скорость входного потока (все 8 каналов одновременно) и минимальную скорость записи на карточку, с учетом накладных расходов. P.S. Я бы не связывался с FAT, и ориентировался на вариант предложенный Rezident-ом: складывать все пакеты в один файл последовательно, по мере их поступления. Возможно, снабдив их дополнительными атрибутами - номер канала, дата-время получения. Потом на компьютере все расшифруете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnisimovSlava 0 4 июля, 2010 Опубликовано 4 июля, 2010 (изменено) · Жалоба Это станет понятно, только когда Вы оцените максимальную скорость входного потока (все 8 каналов одновременно) и минимальную скорость записи на карточку, с учетом накладных расходов.Сегодня уже некому задавать вопросы. Только завтра. P.S. Я бы не связывался с FAT, и ориентировался на вариант предложенный Rezident-ом: складывать все пакеты в один файл последовательно, по мере их поступления. Возможно, снабдив их дополнительными атрибутами - номер канала, дата-время получения. Потом на компьютере все расшифруете.Все нужные атрибуты есть и так. Ничего добавлять не надо. В том-то и суть. Проблема в том, что процесс чтения образа занимает офигенное время из-за того, что приоритет этой операции крайне низок. Но это решаемо. Другая проблема в том, что к пользователю поступают несанкционрированные данные. Пускай и в зашифрованном виде (ему допустимо расшифровывать только одни пакеты, а он видит все, какие только есть). Надо уточнять у заказчика допустимо ли это... Но, в целом, как я уже сказал, этот вариант принят к сведению. P.S. Поправка: чтение образа _может_ занять длительное время если поток данных в этот момент большой. В другом случае чтение себе как чтение. Изменено 4 июля, 2010 пользователем AnisimovSlava Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 4 июля, 2010 Опубликовано 4 июля, 2010 · Жалоба Нарисовали бы Вы свой драйверочек маленький и тупенький и научили Ваш локальный процессор разбираться со структурой данных, чтобы не передавать в PC все что есть, работало бы гораздо эффективнее. Если в PC все равно должна быть Ваша программа расшифровки, то пусть через свой драйвер и работает. Вот если бы ВАм было нужно получать данные чисто средствами виндов, тогда, конечно, требовалась бы файловая система. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BarsMonster 0 5 июля, 2010 Опубликовано 5 июля, 2010 · Жалоба Написать драйвер виртуального диска под винду вполне реально. Но лично я бы поискал карточку по-быстрее/подключился бы к ней по более толстому интерфейсу, и все-же использовал FAT. Неужели 10Мб/сек не хватает? Можно и быстрее найти карточки. Может у вас там CF подключается относительно несложно (по сравнению с написанием драйвера)? Там и 50Мб/сек легко найти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 5 июля, 2010 Опубликовано 5 июля, 2010 · Жалоба Так файлов-то не 8. Он либо один один на весь носитель (как предложил Resident), либо каждый пакет - файл (т.е. их миллион). К чему из одной крайности в другую кидаться? 8 независимо доступных пользователю источников. 8 файлов. Вот только когда начались еще и разговоры про "циклически затираются после заполнения носителя", то это сразу тянет самоделку и добавляет непредсказуемость процесса стирания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться