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

 
 
> Влияние регистра CLKPR (Clock Prescale Register) в режиме программирования, ATtiny
asc2000
сообщение Jan 22 2016, 14:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 5-08-10
Пользователь №: 58 763



Уважаемые форумчане, помогите разобраться. Как известно, в ATtiny регистр CLKPR задает коэф-т деления и определяет системную тактовую частоту. Если фьюз CKDIV8 запрограммирован, то четыре младших разряда регистра CLKPR равны 0011, а если не запрограммирован, то они равны 0000. Т.к. регистр CLKPR относится к энергозависимой памяти (SRAM), то при отключении питания его содержимое по идее должно сбрасываться в начальное состояние, которое определяется значением фьюза CKDIV8 и которое не зависит от той программы, которая записана в Flash-память м-контроллера.
Проблема собственно в следующем: есть м-сх ATtiny13A, работающая от внутреннего генератора 9,6 МГц. Фьюз CKDIV8 запрограммирован и его состояние я не менял. Сначала (со старой программой) ATtiny13A прекрасно программировалась и читалась программатором. Затем я записал новую программу, в которой применил коэф-т деления генератора на 256 (младшие разряды регистра CLKPR равны 1000). Программа записалась и правильно работала, но контроллер перестал читаться и я не мог его перепрограммировать. Когда же я уменьшил частоту SCK программатора, то м-сх опять стала читаться и программироваться. После этого я снова записал старую программу, в которой не было деления частоты генератора на 256, и снова м-сх стала читаться программатором с высокой частотой SCK.
Вопрос: почему ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Jan 23 2016, 10:19
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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

Как говорил Ленин: практика - критерий истины. Но важно её ещё правильно "интерпретировать", если это аналог чёрного ящика.

Сообщение отредактировал GetSmart - Jan 24 2016, 03:36


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 00:42
Рейтинг@Mail.ru


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