Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Радиоаматорство для работников паяльника и канифоли |
|
Опции темы |
20.03.2016, 20:34 | #1 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Нужен совет по организации хранения данных
В данный момент организовываю СКУД с картами RFID. Считывателей будет около десятка, карт mifare - около 1000. Считыватели соединены по RS-485, протокола пока нет(можно играться). 485 выбран ввиду того, что здания пока еще нет, комуникаций тем более, можно беспрепятственно проложить витую пару. расстояния до 70 м. Со считывателями на 70% разобрался. Вот теперь возникает самый главный вопрос: где хранить данные о картах?
-Вариант на Win-компьютере, который и так там будет для видонаблюдения, мониторинга, отчётов, и т.п. не совсем подходит, так как желательно при зависании перезагрузить систему в течении 1-2 сек, и желательно автоматически. А тайминги обращения к БД через винду ну вообще обидно большие. -Вариант записи на SD-карту либо другую флешку чуть посложнее, но при этом очень сложно(по крайней мере для меня) реализовать постоянный бэкап в интернет. -Rasberry PI и подобныее вроде подходит, но я виндузятник... Мне тоже сложновато. В общем есть информация о картах(серийник и данные на ней) около 50-100 байт. Умножаем на 1000 карт, получаем 100Кб - это для моей задачи. Естественно для расширяемости лучше 1-100 Мб. Какое железо нужно для хранения и бэкапа, какую БД поднять? Благодарю за АБСОЛЮТНО любые соображения, советы, критику и пинки по этому поводу, вплоть до флуда. Мне нужно сейчас не ошибиться с выбором железа и БД, чтобы дальнейшая разработка работала хотя бы на 99.9%. |
||||||||
|
20.03.2016, 20:54 | #2 (Ссылка на пост) | ||||||||
.........................
Пол:
Благодарил(а): 13,477
Благодарили 13,472 раз в 4,441 постах
Галерея:
0
Вес репутации: 164
|
Lukas, какое отношение имеют поднимаемые вопросы к разделу Радиоаматорство?
http://forum.norma4.net.ua/kompueyutery-i-programmy/ |
||||||||
|
20.03.2016, 21:23 | #3 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Да как раз-таки вопрос в том, чтобы правильно выбрать микроконтроллеры, купить необходимые микросхемы флеш-памяти и обвязку к ним(резисторы, кондеры, кварцы и прочий металл), либо извращаться, используя Win-приложения и .Net Framework, которые хоть и по сути работают, но существенно уступают другим вариантам. Вопрос именно к хардварщикам!!! Вован, Дебиан, Ваши советы просто необходимы.
Еще раз вопрос(который по харду совсем понятный): Дано MFRC5222+ATmega+Max485. Требуется не только общаться, а и выбрать истинный путь хранения данных с возможностью восстановления. |
||||||||
|
22.03.2016, 14:13 | #4 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Я бы сделал так: работает всё на каком-нибудь стм32 с микроСД карты (можно даже без файловой системы), там же поднять ЮСБ, которым оно подключено к компьютеру и взаимодействует там с софтиной для неспешного фонового сервиса (бэкапы, логи, добавление-блокировка-настройка). Прелесть данного подхода в том, что работоспособность системы не завязана на компьютер, на котором ты можешь писать софт на чем угодно, хоть на ХТМЛе Время холодного старта девайса - секунды, время обмена с БД - миллисекунды.
Между девайсом и компом придумываешь любой командный протокол какой хочешь. Комп может раз в сутки бэкапить у себя дамп БД - это уже его проблемы, на работу девайса не влияет.
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
Сказали Спасибо пользователю VoVaN за этот пост: | Lukas (24.03.2016) |
23.03.2016, 10:20 | #5 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Спасибо, значит придётся идти сложным для меня путём(((
|
||||||||
|
23.03.2016, 16:56 | #6 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Так а что сложного? Это, на самом деле, очень просто.
Писал некоторое время назад дата-логгер с такой же структурой (тока usb-uart отдельный был т.к. проц мелкий и без usb) - реально дела на два-три вечера, дольше всего инициализацию СД-карты писал. Впрочем для твоих задач и какой-нить I2C EEPROM с головой хватит Потом только прикладуху на комп забомбить - и вперед.
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
Сказали Спасибо пользователю VoVaN за этот пост: | Lukas (24.03.2016) |
23.03.2016, 19:02 | #7 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Блин, рассматривал память 24с, но в моей специфической задаче сложновато было ее прилепить. Думал ей отдельный контроллер городить, общаться по 485 протоколу. А сейчас понял, что есть один вариантик, совсем не затратный. Нашел все же куда ее прилепить))) Наверное поставлю 3 штуки 24с512, буду писать на одну из них, и бэкапить в интернет в свободное время. Если сгорела - программно переключился на другую, закинул бекап, и пошел дальше работать
|
||||||||
|
23.03.2016, 20:54 | #8 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
У меня такое чувство что ты критически усложняешь элементарную задачу.
- плата, которая делает всё то что тебе нужно, разве что вместо 485 к считывателям - 1-Wire к гирлянде DS18B20. Зато есть контроллер зарядки литиевого аккума. Четырехпиновый разъем слева - как раз для подключения к ПК (настройка, переключение режимов, выгрузка данных, зарядка аккума). Разъем сверху - для прошиватора. чего это она сгорать будет?
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
23.03.2016, 21:26 | #9 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Ну просто нужно чтобы 100% была защита от стирания, сгорания и т.п. Микросхемки довольно-таки часто вылетают. Я так телик ЖК купил за 65 грн, поменял 24с16, и он заработал.
Нужно при сгорании не перепаивать ее, а программно переключится на другую(у них там адресация есть) Так же количество циклов записи как-бы ограничено... Хотя уже доказано, что даже если каждую секунду писать - на долгие годы хватит. А готовое мне точно не подойдет - у меня несколько иная задача. И контроллеров будет много(десятки). К каждому контроллеру будут подключены еще и другие устройства. Все это должно общаться по 485-му. И почти у каждого контроллера должен быть доступ к этой памяти(мастер должен отсылать кому нужно). |
||||||||
|
24.03.2016, 11:08 | #10 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
Что-то ты себе накручиваешь
У меня в металлорежущем оборудовании, которое стоит далеко за миллион все жизненноважные параметры хранятся в обычных метровых SPI флешах в автомобильных ЭБУ иммобилайзеры и прочие вкусности хранятся в попсовых 24с16 и все это наработало уже больше 10 лет и пока не ступала туда рука человека все продолжает работать
__________________
Какая разница из какого места растут руки, если они золотые. |
|
24.03.2016, 11:53 | #11 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Не, не накручиваю... Я уже писал про телик, в котором поменял флешку и он заработал. У знакомого перестал включаться дорогой немецкий вариометр - поменяли флешку SPI на 4 мегабита - заработал. Буквально пару недель назад друг с Одессы оживил свой монитор - поменял SPI флешку, при чем не на родную(не удалось купить), а на более современный аналог. Лет 8 назад я в свою первую машину купил FM-трансмиттер, чтобы мп3 слушать в ужасном качестве. Все хорошо, но при отключении питания начинал производить с 1 песни... это бесило. Разобрал, а там место под восьминогую микруху. Ну я от фонаря впаял 24с02 и о чудо, начали сохраняться настройки... Китайцы просто сэкономили на микрухе))). У жены в мониторе уже 2 раза летела флешка года 3 назад.
Я не ремонтник, но уже часто сталкивался с вылетом флешек. По-этому я буду их использовать, но при этом постоянно бэкапить все, что на ней на другую флешку и на компьютер. Если сгорит - ее не жалко... Важнее не потерять данные. Пока остановился на 24с512 для моей задачи, но еще подумаю, хватит ли мне скорости 400 КГц. Не сильно хочу SPI-флеш подключать, так как он и так уже занят другим устройством, а играться с тремя устройствами и разными скоростями на SPI не сильно хочется. Сделать отдельный программный SPI - точно не вариант, не хватит быстродействия контроллера для других задач. Так что пока I2C. |
||||||||
|
24.03.2016, 17:49 | #12 (Ссылка на пост) | |||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Цитата:
Проблема с флехой может быть только одна: неправильная организация ее работы разработчиком девайса. Если работа флехи организована правильно - она переживет не только срок морального устаревания оборудования, но и хозяина с разработчиком. Неправильное использование флехи в серийных девайсах может быть и умышленным, в принципе. Или проЪбом при разработке. А правильная методика использования флешки заключается в равномерном распределении износа ячеек, минимизации/оптимизации операций стирания/записи и соблюдении всех пожеланий из даташита на нее (как то питание, емкости, времена, частоты и прочее).
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
|||||||||
|
24.03.2016, 18:30 | #13 (Ссылка на пост) | |
Извините, я на тракторе!
Пол:
|
Цитата:
если очень хочется и очень страшно, поставь CF карту тоже пример из пром оборудования, калибровки на лазер хранятся на CF карте...просто плата...процы, формирователи и из нее торчит CF карта, чтобы не убежала, стяжечкой прихвачена, стяжечкой КАРЛ!!!! а вообще как бы, если лень учить матчасть, то цикл, который описан в докуметации на микросхему памяти - это есть чтение -> модификация -> стирание то есть если очень грубо есть ячейка во флешь памяти, после стирания она всегда имеет значение 1 ... если мы ходим туда записать 1, мы ничего не трогаем...если хотим занимать туда 0, то пишем 0 ....и все...после этого записать 1 туда уже не получится нужно делать процедуру стирания и вот на эти процедуры и накладывается ограничение по количеству 100 000, 1 000 000 или сколько предписанно изготовителем... а читать можно хоть до усрачки рекомендую задуматься
__________________
Какая разница из какого места растут руки, если они золотые. |
|
|
24.03.2016, 18:46 | #14 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Ну тут соглашусь с тем, что и умышленно могут жучить флешку, и про...ать что-то.
Но с другой стороны очень сильно надеюсь, что действительно в вылетании флешки кто-то виноват. Просто не хочется как в этой теме Проблема с роутером dir 300 удивляться выходу волшебного дыма. Я же уверен, что нормально оптимизирую работу, запись и чтение будут только при необходимости. Даже серийный номер карты я не буду искать по всей флешке - изначально в саму карту буду записывать адрес, где ее искать в базе. Тоесть, поднесли карту, считали серийник карты и адрес где ее искать на флешке. Обращаемся к флешке по адресу, который считали с карты и проверяем - тот ли там серийник и берем с флешки что нам нужно. Если вдруг не тот - то только тогда будем производить поиск по всей флешке с последующей записью на карту нового адреса, где ее нашло. Если подносить совсем левую карту - то я совсем не буду реагировать на нее. Всмысле считаю серийник, попытаюсь авторизироваться для чтения информации с нее. Если не получилось авторизироваться - значит это левая карта и вообще нефик ее искать в базе. Ну а по поводу равномерного распределения - оно у меня по умолчанию будет... Всмысле первую карту записываем в нулевой байт, следующую в 16-тый, потом в 24-тый и т.д. пока не заполним пол флешки... Если заполниться половина - бьем панику и расширяемся))) |
||||||||
|
24.03.2016, 18:57 | #15 (Ссылка на пост) | |||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Цитата:
И вообще. Поставь мегабайт СРАМки и работай с БД в ней, а во флеху дампь только изменения по надобности и выгружай из нее при включении питания. Кстати, если добавить еще немножко конструктивной паранойи - заведи на одно из прерываний процессора датчик входного питающего напряжения. Таким нехитрым способом ты сможешь запрещать работу с критическими данными когда питание уже отключено, но процессор пока об этом не узнал благодаря своим фильтрам питания. ПС В лучших домах Парижа принято, как минимум, делать, как минимум, две копии (а лучше три), и писать блоками с индивидуальным ЦРЦ. Одно это по сравнению с озвученным выше вариантом поднимает сбоезащищенность системы на гугол порядков.
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. Последний раз редактировалось VoVaN, 24.03.2016 в 19:06. |
|||||||||
|
24.03.2016, 19:01 | #16 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Debian, Ну матчасть я знаю по минимуму, а что не знаю - пытаюсь разобраться, но в даташитах не пишут, почему сгорают микросхемы. И производитель не скажет "Если у Вас ответственная задача - лучше купите у другого производителя, у него надежнее".
Так же я не нашел каких-то минимальных рекомендаций для моей задачи в интернете: типа такие флешки часто сгорают по питанию, хранить правильно так, резервную копию делать вот так. Вот по-этому я и создал тему... И я изначально в теме написал, что принимаю и советы и критику... Кстати, по поводу чтения, я согласен, что хоть до усырачки, а вот запись(стирание) производители указывают количество гарантированных и приблизительных циклов? Я так понимаю, что гарантированных. То есть пообещали миллион, а она и миллиард может прослужить(но минимум миллион при соблюдении рекомендаций). Или она каким-то образом физически изнашивается(допустим как светодиоды)? |
||||||||
|
24.03.2016, 19:10 | #17 (Ссылка на пост) | ||||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Цитата:
Изнашивается физически. Но повторяемость техпроцесса производства не достаточна чтобы написать "ячейка №864 выдержит 1586582 циклов записи", поэтому приводится приблизительное значение, которое как бы гарантировано технологией. Не стесняйся искать информацию в самом доступном месте. Цитата:
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||||
|
24.03.2016, 19:24 | #18 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
VoVaN, Как раз я не готов тратить время на поиск карты... Именно по-этому придумал(даже ни у кого не подсматривал) записывать на карту адрес ячейки, с которой будет начинаться поиск. У каждой карты есть почти целый килобайт на разные данные. Мало того - защищено паролями(умники не смогут копировать, хотя теоретически их алгоритм Crypto1 уже взломан).
ЦРЦ обязательно... Вот тут снова нужен совет. У карты есть функция антиколлизии, и она у меня уже описана. Пример : Card number: 25 6c 2f 52 34 - это моя реальная карта. 4 байта на серийник, пятый - антиколлизия. Вычисляется так 25(Xor)6c(Xor)2f(Xor)52=34 Достаточно ли взять вместо црц просто проксоренные значения? Интуитивно догадываюсь, что нет... Хоть Mifare именно так реализовали... Почесав затылок, юзер дописал через 2 минуты Хотя наверное лучше возьму црц, там функцию писать на 10 минут... Почесав затылок, юзер дописал через 5 минут Таким нехитрым способом люди делают сохранение перед выключением добавив диодик и конденсатор)) И работает оно на ура. |
||||||||
|
24.03.2016, 19:39 | #19 (Ссылка на пост) | |
Извините, я на тракторе!
Пол:
|
Цитата:
я уже сколько всего переделал и памяти этой уже столько распихал...но чтобы она сгорала не видел
__________________
Какая разница из какого места растут руки, если они золотые. |
|
|
Сказали Спасибо пользователю Debian за этот пост: | декодер (28.03.2016) |
24.03.2016, 20:04 | #20 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Я именно с памятью еще не работал - в мелких задачах епрома хватало. Но один раз выловил глюк с DS1307(будем считать что это та же память). Взял стандартную библиотеку, написал прогу - работает в протусе. На скорую руку сделал печатку, спаял, работает... Но через некоторое время в упор завис контроллер. Шьется норм, а при включении конфигурирует порты и зависает. Оказалось - отсоединился контакт. Получается, в той библиотеке РТЦ инициализация выполнена втупую - подали запрос по айтуси и ждем до упора ответ... Вот и зависли... Понадобилось пол дня, чтобы разобраться. Так как проект умер - я так и не доделал нормально.
|
||||||||
|
25.03.2016, 08:22 | #21 (Ссылка на пост) | |
Извините, я на тракторе!
Пол:
|
Вот ключевая фраза
Цитата:
__________________
Какая разница из какого места растут руки, если они золотые. |
|
|
25.03.2016, 10:32 | #22 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Ну с библиотеками написанными кем-то тоже нужно уметь работать. Либо надо вникнуть на 100% что она делает и подходит ли она вообще, либо писать свою.
Вот в этом случае я и пошел по течению взял чужое, и не вникал какие могут выйти глюки. Так нельзя. А вот недавно хотел подключить экран 1602 для мелкой задачи - пошел путем связки max485-Atmega8-SPI-74hc595-LCD1602. Нашел какую-то библиотеку, а там такой ужас, что просто противно. Не стал дальше время тратить на поиски, а просто написал свою с нуля. отлично заработала. Заодно и проверил потери пакетов по 485-му - из 65536 байт ни одного не потерялось на 5 метрах провода. |
||||||||
|
26.03.2016, 09:00 | #23 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Бгы.
У нас на сеялке сеть датчиков висит на 485. Там датчиков под сотню и кабеля дешевого метров 200. Работает без видимых потерь. На скорости 400к.
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
26.03.2016, 14:58 | #24 (Ссылка на пост) | ||||||||
Свой В Доску
Пол:
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея:
0
Вес репутации: 14
|
Если я правильно понимаю, в случае более 32 датчиков лучше брать 487 микросхему... Там на входе сопротивление больше... сомневаюсь, что передатчик в 485 вытянет такой ток.
|
||||||||
|
26.03.2016, 15:21 | #25 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,503 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Норм драйверы от Техаса вполне могут 127 нодов. Только если линия длинная - ее нужно терминировать по науке. Ну или кольцевать.
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен ваш совет. | heller87 | моряки и гастарбайтеры | 12 | 14.10.2015 15:10 |
нужен совет! | Demon12345 | Железяки | 13 | 16.12.2013 21:30 |
нужен совет | garis2 | Програмное обеспечение | 0 | 17.12.2011 18:39 |
Нужен совет !!! | Dpo21 | Убей в себе ламера | 2 | 28.04.2009 20:08 |
Нужен совет. | -Meronishe- | Общие | 13 | 12.09.2008 20:55 |