Несанкционированная запись в EEPROM PIC16F628a
12.11.2013, 20:01
|
|
|
Прописка
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от alvadep
|
|
AndGrig, Вы не ответили на мой вопрос. Каждый раз в цикле чтение EEPROM? Я к тому, что чем меньше обращаешься к EEPROM, тем меньше вероятность повреждения данных. Лучше один раз при старте переписать данные в озу и работать с ним. Ну и то, что предлагали по поводу проверки целостности данных.
|
Да, каждый раз читается из ПЗУ. Сделаю чтение только при инициализации. Однако, в совершенно другой машине, слетали данные из ОЗУ. Поэтому пошел по этому пути.
ЗЫ. Стоит электролит 470 мФ после моста и 100 мФ после КРЕНа + керамика 0,1 на ногах контроллера. От источника +5В кормятся только контроллер и две выходных оптопары.
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
Последний раз редактировалось AndGrig; 12.11.2013 в 20:06.
|
|
|
|
12.11.2013, 21:59
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
AndGrig, так все-таки питание автономное или как?
И еще, данные с EEPROM слетают в процессе работы или после выключения/включения? В первом случае борьба с помехами, наводками (специалистов в этом вопросе тут хватает). Во втором, попробуйте установить BODEN и CPD.
|
|
|
|
12.11.2013, 22:31
|
|
|
Прописка
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от alvadep
|
AndGrig, так все-таки питание автономное или как?
И еще, данные с EEPROM слетают в процессе работы или после выключения/включения?
|
Питание автономное.
В процессе работы.
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
|
|
|
|
13.11.2013, 10:21
|
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 115
Сказал спасибо: 10
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от AndGrig
|
PIC в начале рабочего цикла читает два байта из EEPROM и выполняет с ними определенные операции. Запись байт производится при отпускании кнопки во время настройки станка.
Через два дня работы станка, в EEPROMе оказалось какое-то "левое" число. Станок, при этом, мог серьезно пострадать и делать эксперименты не хочется. Из за чего это могло произойти или как защитить ПЗУ от такого?
|
Такое может быть если в момент записи в память происходит сбой.
Необходимо выполнять при запись ее контроль, например делаем двойную запись, в начале снимает метку запись выполнена, а по окончанию и ставит метку. При чтении проверяем метку и сравниваем первый массив данных со вторым. - Делаем выводы.
Второе, что необходимо производить это проверку на корректность данных, например данные должны быть в определенном диапазоне. Эту проверку можно проводить в цикле самой программы.
|
|
|
|
13.11.2013, 11:16
|
|
|
Прописка
Регистрация: 27.05.2009
Сообщений: 180
Сказал спасибо: 252
Сказали Спасибо 113 раз(а) в 42 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от AndGrig
|
|
PIC в начале рабочего цикла читает два байта из EEPROM и выполняет с ними определенные операции. Запись байт производится при отпускании кнопки во время настройки станка.
|
А мощные помехи не могли создать "эффект отпускания кнопки" ?
Я бы в программе дополнительно проверил что кнопка удерживалась в нажатом состоянии хотя бы полсекунды.
Последний раз редактировалось vit66work; 13.11.2013 в 11:22.
|
|
|
|
13.11.2013, 11:59
|
|
|
Гражданин KAZUS.RUN
Регистрация: 27.11.2012
Адрес: 30км от Софии
Сообщений: 732
Сказал спасибо: 89
Сказали Спасибо 310 раз(а) в 180 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от vit66work
|
А мощные помехи не могли создать "эффект отпускания кнопки" ?
Я бы в программе дополнительно проверил что кнопка удерживалась в нажатом состоянии хотя бы полсекунды.
|
Во
Механизм ПИКов записи в ЕЕПРОМ довольно изощрен. Случайная запись в результате помех может и возможна, да не верится такое. Скорее в лотарею выграю
|
|
|
|
13.11.2013, 13:30
|
|
|
Прописка
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от Catcatcat1
|
|
Такое может быть если в момент записи в память происходит сбой...
|
В том то и дело, что во время записи по кнопке все красиво. После записи
производится чтение и сравнение. Но каким-то образом произошло обращение к подпрограмме записи и записался случайный байт.
Кнопка стоит на плате в двух см от контроллера и наводка маловероятна.
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
|
|
|
|
13.11.2013, 14:36
|
|
|
Прописка
Регистрация: 27.05.2009
Сообщений: 180
Сказал спасибо: 252
Сказали Спасибо 113 раз(а) в 42 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от AndGrig
|
В том то и дело, что во время записи по кнопке все красиво. После записи
производится чтение и сравнение. Но каким-то образом произошло обращение к подпрограмме записи и записался случайный байт.
Кнопка стоит на плате в двух см от контроллера и наводка маловероятна.
|
Я когда-то делал сканирование кнопок и забыл подтянуть входы, так кнопки начинали бойко "нажиматься" про поднесении руки. И с подтяжкой
при больших помехах импульс может придти по любому проводу.
|
|
|
|
13.11.2013, 15:02
|
|
|
Прописка
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от vit66work
|
|
Я когда-то делал сканирование кнопок и забыл подтянуть входы...
|
Подтянуты внутренним резистором (PORTB). Может этого недостаточно?
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
|
|
|
|
13.11.2013, 15:23
|
|
|
Прописка
Регистрация: 27.05.2009
Сообщений: 180
Сказал спасибо: 252
Сказали Спасибо 113 раз(а) в 42 сообщении(ях)
|
Re: Несанкционированная запись в EEPROM PIC16F628a
Сообщение от AndGrig
|
|
Подтянуты внутренним резистором (PORTB). Может этого недостаточно?
|
Не помню как в PIC -ах, а в AVR для подтяг. резисторов очень большой разброс -
до 30 или 100 ком. Для надёжной подтяжки лучше внешний.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:26.
|
|