Показать сообщение отдельно
Старый 27.06.2018, 11:47   #23
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сохранить много одновременных событий в FRAM

Цитата:
Сообщение от ailcat Посмотреть сообщение
У меня изначально не было вопросов по технической поддержке.

Но извините, что посмел на общем форуме задать вопрос по реализации задачи на ваших контроллерах, которая оказалась сложна для меня - надеясь на помощь сообщества.
Смотрите. На ваш конкретный вопрос я первым делом дал ответ:

Q: Для инфы: по RS485 уже используется около 90 запросов; верхний уровень может вычитать одним запросом до 243 байт, т.е. порядка 60 двойных переменных int+int).

A: У 2G ограничение на 112 запросов в режиме "мастера". Количество регистров на режим слейва ограничений не имеет - действуют общие ограничения по 1000 переменных каждого типа.



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

Поэтому я стал задавать наводящие вопросы с целью понять, является ли следующий алгоритм оптимальным:

  1. изменились все 140 переменных - начата запись в EEPROM для каждой переменной
  2. через 2 секунды опять изменились все переменные (и их тоже надо записать)
  3. еще через 3 секунды опять изменились все переменные (опять надо записать)
  4. и еще через 1 секунду опять изменения (и надо записать еще и их)...


Предприняв 2-3 попытки выяснить, почему именно этот алгоритм является единственно верным на ваш взгляд, я написал вопрос о техподдержке и что перестаю вас мучать вопросами.

При этом я не писал и не подразумевал, что вы не имеете право на свою точку зрения или не имеете право здесь писать. Тема остаётся открытой и любой человек может вам помочь решить вашу задачу. Но, я повторно предостерегаю вас, что задача "FIFO-буфер неопределенной глубины" нерешаема в выбранной конфигурации оборудования.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 27.06.2018 в 12:11
Arsie сейчас на форуме   Ответить с цитированием