Электронное оборудование ракет - БРЭО, часть XI

 
1 16 17 18 19 20 61

GOGI

координатор
★★★★
Serge77> Так у тебя уже есть что-то рабочее?
Ну как сказать... Программа только и делает, что пишет число "13" посекторно и дергает одну ногу. Это я скорость записи замерял. Удивительно точно совпала с измерениями в эмуляции в Протеусе.

Serge77> Примеры - да собственно любые, чтобы была запись и чтение с карты.
Дак в комплекте с Баскомом есть, к примеру, FlashCard-demo.bas, то что этот пример CF использует не важно, функции одинаковые используются. Это если ДОС использовать, а если нет, то там всего две нужно: writesector readsector

Serge77>если вместится в МЕГу8. Но я ещё не разобрался, какие тут ограничения.
Если посекторно, то должно, у неё же 1 кб ОЗУ, да? Но в притык, 512 байт отжирает только буфер записи-чтения.
1  

GOGI

координатор
★★★★
Yuran> Решно SD Card.
Я, конечно, сам сторонник этих карт, но в БРЭО может не надо. Смотрю я вот разьем SD и не внушает он мне никакого доверия.
1  

Yuran

опытный

Yuran>> Решно SD Card.
GOGI> Я, конечно, сам сторонник этих карт, но в БРЭО может не надо. Смотрю я вот разьем SD и не внушает он мне никакого доверия.

Ну так дублирующий флеш то будет на плате! =)) Главное чтобы не отсоеденился в полёте, при приземлении не страшно =)
 

GOGI

координатор
★★★★
Yuran> Ну так дублирующий флеш то будет на плате! =))
Ну тогда вообще гуд, особенно если КПК имеет SD слот. Но тогда точно нужна посекторная запись, а то скандиск потом замучается лечить флешку, с которой регулярно питание прямо во время записи дергают :-)
Кстати, кто-нибудь знает, в WinAPI можно флешку посекторно считать? ЧТобы не извращаться с хитроумной записью, а просто сделать плагин к тому же Exelю для чтения.
1  
+
-
edit
 

Serge77

модератор

GOGI> Ну как сказать... Программа только и делает, что пишет число "13" посекторно и дергает одну ногу.

Нормально, главное, что работает. Хочу посмотреть.
А по чтению такой записи на компьютере информация есть?

Посекторная запись - это значит, нужно самому накапливать 512 байт где-то в памяти МК, а потом их переписывать на карту?

GOGI

координатор
★★★★
Serge77> Нормально, главное, что работает. Хочу посмотреть.
Выложу сейчас
Serge77> А по чтению такой записи на компьютере информация есть?
Пока метод такой (вычитал на форуме MCS). Создаем на флэшке файл в размер всей карты памяти произвольного содержания. Запоминаем первые несколько байт файла, открываем файл в Hex редакторе и запоминаем, в каком секторе у нас начинается собственно файл (сначала идет FAT, корневой каталог и еще чего-то). Запись производим начиная с этого сектора, а на компьютере читаем просто как обычный файл.
Serge77> Посекторная запись - это значит, нужно самому накапливать 512 байт где-то в памяти МК, а потом их переписывать на карту?
Да, но эти байты в любом случае тратятся, поскольку если использовать ДОс, то все равно нужно задавать буфер файла в 512 байт плюс буфер FAT тоже 512 байт. Было бы конечно совсем здорово, если бы SD карты позволяли побайтовую запись, но увы.
1  

GOGI

координатор
★★★★
ВОт программа.
Не подумай, что это я все написал. Я просто чуть подредактировал файл конфигурации MMC карты. Программа выставляет в пин 0 порта С единичку, записывает в первые 1000 секторов 13 и выставлят в пин 1 порта С единичку. ПРосто тест скорости. Моих всего несколько строчек.
Прикреплённые файлы:
 
1  
+
-
edit
 

Serge77

модератор

GOGI> Программа выставляет в пин 0 порта С единичку, записывает в первые 1000 секторов 13 и выставлят в пин 1 порта С единичку. ПРосто тест скорости

Кажется ты выложил какую-то промежуточную версию, она не совпадает с этим описанием ;^))
Программа читает карту, а не записывает, а обе единички в порт С выставляются при первом же чтении.

А какая получилась скорость записи одного сектора?
На каком МК испытывал?

GOGI

координатор
★★★★
Упс :-)
Это видимо я в протеусе баловался, там вон даже отладочное сообщение есть. По крайней мере в железе карту я не читал точно. Переправь read на write и вынеси Portc.1 = 1 за цикл.
В железе на Mega8535 в Proteus на M32 поскольку он 8535 не эмулирует. Естественно, перекомпилировать надо на каждый в отдельности.
Чего-то около 3 мс/сектор
1  

GOGI

координатор
★★★★
GOGI> Кстати, кто-нибудь знает, в WinAPI можно флешку посекторно считать?
Вопрос снят. Нашел
1  
+
-
edit
 

Serge77

модератор

GOGI> Чего-то около 3 мс/сектор

3 миллисекунды? Довольно много, целых 3 из 10 миллисекунд между прерываниями таймера.
На какой частоте работал МК? Зависит ли скорость записи от частоты МК?
+
-
edit
 

Serge77

модератор

GOGI> Вопрос снят. Нашел

Покажи, что нашёл ;^))

GOGI

координатор
★★★★
Да, 3 миллисекунды на сектор. Сам знаю что нереально много, видимо драйвер такой кривой, а подправить ничего не могу, он на ASM. Скорость от тактовой частоты зависит, это на максимальной в 16 МГц.
Все собираюсь методом тыка исследовать драйвер на предмет ускорения, но руки не доходят.

Нашел вот. Теперь бы найти дистрибутив 6 VB, а то в VBA это не заработает.
http://binaryworld.net/Main/CodeDetail.aspx?CodeId=3636#copy
1  

GOGI

координатор
★★★★
Забыл написать, я проверял скорость на очень старой карточке на 16 Мб. На новых быстрее должно работать, я как сделаю нормальное питание карты, проверю на быстрой новой карте.
1  
+
-
edit
 

timochka

опытный

Serge77>> А по чтению такой записи на компьютере информация есть?
GOGI> Пока метод такой (вычитал на форуме MCS). Создаем на флэшке файл в размер всей карты памяти произвольного содержания. Запоминаем первые несколько байт файла, открываем файл в Hex редакторе и запоминаем, в каком секторе у нас начинается собственно файл (сначала идет FAT, корневой каталог и еще чего-то). Запись производим начиная с этого сектора, а на компьютере читаем просто как обычный файл.

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

Serge77>> Посекторная запись - это значит, нужно самому накапливать 512 байт где-то в памяти МК, а потом их переписывать на карту?
Да, просто карточка пишет информацию порциями по 512 байт, и с этим ничего не сделать.

Т.е. в случае пропадания питания будьте готовы потерять последние 512 байт данных.
 
+
-
edit
 

timochka

опытный

GOGI> Кстати, кто-нибудь знает, в WinAPI можно флешку посекторно считать? ЧТобы не извращаться с хитроумной записью, а просто сделать плагин к тому же Exelю для чтения.

Конечно можно ! ScanDisk это же делает как-то. Но это может вылиться в некоторое количество гемороя!
 

GOGI

координатор
★★★★
timochka> Вопрос только в том, как определять момент окончания записи?
Очень просто. У нас есть количество доступных секторов. Пишем, пока номер текущего сектора не совпадет с номером последнего доступного.

timochka> Да, просто карточка пишет информацию порциями по 512 байт, и с этим ничего не сделать.
Кстати, оказывается нет. На форуме mcselec автор драйвера MMC карты написал, что её можно писать меньшими блоками. Только нужно подправить драйвер. Я спросил, как это сделать и какой минимальный размер блока, жду ответа.
timochka> Конечно можно ! ScanDisk это же делает как-то.
Я уже нашел :-). Теперь ищу VB6. Если кто сможет записать и прислать - буду очень признателен.
1  
+
-
edit
 

Serge77

модератор

Очень интересные результаты:
датчик апогея на фотоэлементах
RU Андрей Суворов #04.08.2006 00:30
+
-
edit
 

Андрей Суворов

координатор

Ты там спрашивал, нельзя ли использовать фоторезисторы - нет, нельзя, под них схему довольно сильно нужно переделывать.

Можно использовать фототранзисторы от мышек, можно даже от дохлых. От кратковременного направления на Солнце (10 секунд) с ними ничего не будет. Испортятся они, если успеют нагреться до 150+ градусов под напряжением.

Можно даже использовать сдвоенные фототранзисторы от мышек, нужно только правильно сделать дырку в корпусе ракеты, чтоб датчик работал, как и в мыши, в дифференциальном режиме :)
 
+
-
edit
 

Serge77

модератор

А.С.> Ты там спрашивал, нельзя ли использовать фоторезисторы - нет, нельзя, под них схему довольно сильно нужно переделывать.

По-моему, переделать очень просто: между плюсом и минусом ставятся два фоторезистора последовательно, средняя точка идёт на один вход компаратора. На второй вход компаратора подаётся 2.5 В (если схема на 5 В) с делителя напряжения. Будет работать?

А.С.> Можно использовать фототранзисторы от мышек

Отличная идея! У меня как раз есть дохлая мышь. Жаль, что вместо того, чтобы испытать новую идею, придётся завтра на море ехать ;^))
RU Андрей Суворов #04.08.2006 01:39
+
-
edit
 

Андрей Суворов

координатор

А.С.>> Ты там спрашивал, нельзя ли использовать фоторезисторы - нет, нельзя, под них схему довольно сильно нужно переделывать.
Serge77> По-моему, переделать очень просто: между плюсом и минусом ставятся два фоторезистора последовательно, средняя точка идёт на один вход компаратора. На второй вход компаратора подаётся 2.5 В (если схема на 5 В) с делителя напряжения. Будет работать?

Нет, не будет - относительное изменение сопротивления фоторезистора гораздо меньше, чем фототранзистора :)

Если б у нас ещё было разделение "строго яркий свет" и "строго темнота", такое бы сработало. Но контрастность реального горизонта не чересчур высока :)
 

pokos

аксакал

А.С.> Но контрастность реального горизонта не чересчур высока :)
Почему-то мне кажется, что в голубой части спектра она достаточно высока.
 
+
-
edit
 

Serge77

модератор

Разобрал мышку, а там транзистор весь чёрный, наверно на ИК расчитан? Такой не подойдёт?
Прикреплённые файлы:
 

pokos

аксакал

Серёга, это не транзистор, а целых два в одном флаконе, понятно, ИК диапазона.
 
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

Serge77

модератор

pokos> Серёга, это не транзистор, а целых два в одном флаконе, понятно, ИК диапазона.

Пусть два, может это даже лучше.
Вопрос: ИК диапазон - это здесь хорошо или плохо?
1 16 17 18 19 20 61

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru