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

 
 
> Определение целосности данных
Pat
сообщение Oct 29 2005, 18:56
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Есть значение, которое очень важно для функционирования всего прибора.
Оно хранится в EEPROM и может иногда изменятся (калибровочный коэфф.). Необходимо при старте определить их правильность.
Конечно, самое простое это записать его несколько раз в EEPROM, потом, считав данные методом сравнения определить, что данные правильны. Например, 2 из 3 совпали.
Интересует, есть ли более элегантные способы хранения данных, которые на 99.9999% гарантируют их целостность?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Виктория
сообщение Oct 30 2005, 10:34
Сообщение #2


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Это все понятно (относительно EEPROM и ошибки, а не штанов пожарника smile.gif ) .
Исходя из этого и был мой совет. Если не хотите лезть в книжки по системам связи, то возьмите самый известный CRC16 (используемый, например, в протоколе ModBus), посчитайте циклический код над байтами калибровочного коэфф-та и используйте его в Вашей операции сравнения. Этот подход оправдывается в тех случаях, когда калибровочные коэфф-ты занимают достаточно большую область памяти. Если же коэфф-т занимает 1-2 байта, то более целесообразен Ваш первоначальный алгоритм.
Тут на местном ftp - книжка старинная есть. Уильямс "Отладка микропроцессорных систем" 1988 г. Там, в частности, должен и этот вопрос рассматриваться.

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

Использование CRC16 - все точно также, но алгоритм вычисления контрольной суммы (CRC16) чуть-чуть посложнее. Если что, свистните smile.gif , выложу исходник на Си.
Go to the top of the page
 
+Quote Post
Pat
сообщение Oct 30 2005, 11:58
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(Vic1 @ Oct 30 2005, 13:34)
Если же коэфф-т занимает 1-2 байта, то более целесообразен Ваш первоначальный алгоритм.
*

Спасибо вы правы пойду по первому пути. smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 28th August 2025 - 01:28
Рейтинг@Mail.ru


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