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

 
 
> Заблокировалась ATtiny13A, В чем причина?
asc2000
сообщение Jan 4 2016, 09:41
Сообщение #1


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

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



Добрый день. Помогите пожалуйста разобраться. Возникла проблема при программировании м-сх ATtiny13A, работающей от внутреннего генератора. Фьюзы у нее были такие, и я их не менял:

Прикрепленное изображение


Я записал новую программу, в которой применил коэф-т деления генератора на 256. Программа записалась и правильно работает, но контроллер перестал читаться и я больше не могу его перепрограммировать. Подскажите, что могло произойти и как избежать этого в дальнейшем?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Jan 4 2016, 11:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Попробуйте затактировать МК от внешнего генератора (не от кварца, а именно от генератора), после чего прочитать и изменить Fuses ...
Go to the top of the page
 
+Quote Post
asc2000
сообщение Jan 4 2016, 12:34
Сообщение #3


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

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



Спасибо за ответы.

Цитата(kovigor @ Jan 4 2016, 15:29) *
Попробуйте затактировать МК от внешнего генератора (не от кварца, а именно от генератора), после чего прочитать и изменить Fuses ...


Пробовал затактировать от внешнего генератора 100 кГц. К сожалению, не помогло, не получалось прочесть ни Flash, ни фьюзы.

Цитата(adnega @ Jan 4 2016, 13:57) *
Попробуйте понизить частоту SCK при программировании до минимума.


Спасибо, помогло! Я программирую программой PonyProg2000, и в файле PonyProg2000.ini с помощью Блокнота изменил строку SPIBusSpeed=NORMAL на SPIBusSpeed=VERYSLOW. После этого все стало замечательно читаться - и Flash, и фьюзы.
Уважаемый adnega, не могли бы объяснить, в чем была причина, ведь раньше все читалось и при скорости NORMAL ?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 4 2016, 16:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(asc2000 @ Jan 4 2016, 15:34) *
Уважаемый adnega, не могли бы объяснить, в чем была причина, ведь раньше все читалось и при скорости NORMAL ?

Частота ядра должна быть в несколько раз выше частоты SCK при программировании.

Цитата
17.6 Serial Programming:
Depending on CKSEL fuses, a valid clock must be present. The minimum low and high periods
for the serial clock (SCK) input are defined as follows:
Low: > 2 CPU clock cycles for fck < 12 MHz, 3 CPU clock cycles for fck >= 12 MHz
High: > 2 CPU clock cycles for fck < 12 MHz, 3 CPU clock cycles for fck >= 12 MHz


Но я по опыту помню: когда понижал частоту до минимума в малопотребляющих применениях, нужно было перепрошивать на очень низкой частоте.
Go to the top of the page
 
+Quote Post
asc2000
сообщение Jan 5 2016, 11:51
Сообщение #5


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

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



Цитата(adnega @ Jan 4 2016, 20:03) *
Частота ядра должна быть в несколько раз выше частоты SCK при программировании.

Это понятно.

Цитата(adnega @ Jan 4 2016, 20:03) *
17.6 Serial Programming:
Depending on CKSEL fuses, a valid clock must be present. The minimum low and high periods
for the serial clock (SCK) input are defined as follows:
Low: > 2 CPU clock cycles for fck < 12 MHz, 3 CPU clock cycles for fck >= 12 MHz
High: > 2 CPU clock cycles for fck < 12 MHz, 3 CPU clock cycles for fck >= 12 MHz

Это тоже понятно. Значит, в режиме программирования имеют значение только установки фьюзов CKSEL, и не имеет значения фьюз CKDIV8 ?

Цитата(adnega @ Jan 4 2016, 20:03) *
Но я по опыту помню: когда понижал частоту до минимума в малопотребляющих применениях, нужно было перепрошивать на очень низкой частоте.

А вот это не совсем понял. Как именно вы понижали частоту до минимума? Использовали внутренний генератор 128 кГц? Или каким-то иным способом?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 5 2016, 12:32
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(asc2000 @ Jan 5 2016, 14:51) *
Это тоже понятно.

Тогда, может, проясните, что такое fck в документации?

Цитата(Александр1 @ Jan 5 2016, 15:21) *
Запрограммированный бит CKDIV8 (0) делит тактовую частоту на 8 независимо от установки CKSEL.

На самом деле запрограммированный CKDIV принудительно устанавливает CLKPS == 0011, что соответствует делителю /8.
Незапрограммированный CKDIV принудительно устанавливает CLKPS == 0000, что соответствует делителю /1.
Можно поменять CLKPS в программе (независимо от бита CKDIV), чтобы получить другую частоту.
Go to the top of the page
 
+Quote Post
Александр1
сообщение Jan 5 2016, 13:11
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 465
Регистрация: 13-05-15
Из: Запорожье
Пользователь №: 86 663



Цитата(adnega @ Jan 5 2016, 15:32) *
На самом деле запрограммированный CKDIV принудительно устанавливает CLKPS == 0011, что соответствует делителю /8.
Незапрограммированный CKDIV принудительно устанавливает CLKPS == 0000, что соответствует делителю /1.
Можно поменять CLKPS в программе (независимо от бита CKDIV), чтобы получить другую частоту.

Да, в документации к ATtiny2313 написано:
Цитата
Тhe CKDIV8 Fuse determines the initial value of the CLKPS bits. If CKDIV8 is unprogrammed,
the CLKPS bits will be reset to “0000”. If CKDIV8 is programmed, CLKPS bits
are reset to “0011”, giving a division factor of 8 at start up. This feature should be used if
the selected clock source has a higher frequency than the maximum frequency of the
device at the present operating conditions. Note that any value can be written to the
CLKPS bits regardless of the CKDIV8 Fuse setting.

А для ATtiny13 только:
Цитата
Interrupts must be disabled when changing prescaler setting to make sure the write procedure is
not interrupted.hee setting. The Application software must ensure that a sufficient division factor
is chosen if the selected clock source has a higher frequency than the maximum frequency of
the device at the present operating conditions. The device is shipped with the CKDIV8 fuse
programmed.

Поэтому может возникать недопонимание особенностей работы МК.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 5 2016, 13:24
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Александр1 @ Jan 5 2016, 16:11) *
Да, в документации к ATtiny2313 написано:

А для ATtiny13 только:

Кста, в теме обсуждается ATtiny13A. В документации абзац аналогичен приведенному вами для ATtiny2313.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- asc2000   Заблокировалась ATtiny13A   Jan 4 2016, 09:41
- - adnega   Цитата(asc2000 @ Jan 4 2016, 12:41) и я б...   Jan 4 2016, 09:57
||- - Александр1   Цитата(asc2000 @ Jan 5 2016, 14:51) ... в...   Jan 5 2016, 12:21
|||- - asc2000   Цитата(Александр1 @ Jan 5 2016, 16:21) Пр...   Jan 5 2016, 15:33
|||- - adnega   Цитата(asc2000 @ Jan 5 2016, 18:33) Насче...   Jan 5 2016, 15:57
|||- - Александр1   Цитата(asc2000 @ Jan 5 2016, 18:33) Насче...   Jan 6 2016, 09:01
|- - asc2000   Цитата(adnega @ Jan 4 2016, 20:03) Depend...   Jan 6 2016, 23:56
|- - adnega   Цитата(asc2000 @ Jan 7 2016, 02:56) Но ве...   Jan 7 2016, 06:22
|- - asc2000   Цитата(adnega @ Jan 7 2016, 10:22) Вот ес...   Jan 7 2016, 12:56
|- - adnega   Цитата(asc2000 @ Jan 7 2016, 15:56) Ведь ...   Jan 7 2016, 17:01
|- - asc2000   Цитата(adnega @ Jan 7 2016, 21:01) Если п...   Jan 7 2016, 20:52
- - Ga_ry   CKDIV8 это просто какая-то "засада" заче...   Jan 5 2016, 23:06
|- - adnega   Цитата(Ga_ry @ Jan 6 2016, 02:06) CKDIV8 ...   Jan 6 2016, 07:37
|- - Ga_ry   Цитата(adnega @ Jan 6 2016, 09:37) Дык, д...   Jan 6 2016, 14:31
|- - adnega   Цитата(Ga_ry @ Jan 6 2016, 17:31) Думаю х...   Jan 6 2016, 15:44
- - rx3apf   В имеющемся под рукой экземпляре даташита на tiny1...   Jan 8 2016, 18:25
- - nagisa   Цитата(asc2000 @ Jan 4 2016, 17:41) Я зап...   Apr 11 2016, 08:39


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

 


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


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