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

 
 
 
Reply to this topicStart new topic
> ATtiny13 растягивает импульсы в 3 раза
SAVC
сообщение Sep 24 2018, 08:19
Сообщение #1


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

Группа: Участник
Сообщений: 185
Регистрация: 28-01-07
Из: Уфа
Пользователь №: 24 829



В схеме установлен микроконтроллер ATtiny13
Прошита следующая программа:
CODE


.include "tn13def.inc"

.cseg
.org 0

ldi r16,0b00011000
out ddrb,r16

ldi r16,0b00010000
ldi r17,0b00001000

fr:
out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

out portb,r16
out portb,r17

rjmp fr

Которая просто переключает биты в порту ввода-вывода на рабочей частоте микропроцессора.
Согласно документации тактовая частота 9.6МГц
То есть, длительность импульса и паузы должна быть около 100нс
Но осциллограф показвает 300нс (!)
Уже поменял микроконтроллер, ситуация та же.
Что это? У кого-нибудь есть идеи?


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 24 2018, 08:27
Сообщение #2


Гуру
******

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



Цитата(SAVC @ Sep 24 2018, 11:19) *
Что это? У кого-нибудь есть идеи?

Что насчет CKDIV8 в Fuse Low Byte ?
Go to the top of the page
 
+Quote Post
SAVC
сообщение Sep 24 2018, 08:32
Сообщение #3


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

Группа: Участник
Сообщений: 185
Регистрация: 28-01-07
Из: Уфа
Пользователь №: 24 829



Цитата(adnega @ Sep 24 2018, 13:27) *
Что насчет CKDIV8 в Fuse Low Byte ?




CKDIV сброшен в ноль.

Сообщение отредактировал SAVC - Sep 24 2018, 08:33


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 24 2018, 08:47
Сообщение #4


Гуру
******

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



Цитата(SAVC @ Sep 24 2018, 11:32) *
CKDIV сброшен в ноль.

Сброшен в ноль - это "запрограммирован".
Цитата
CKDIV8 - 4 - Divide clock by 8 - 0 (programmed)

У AVR с этим не так просто разобраться.
Попробуйте установить его в "1".

Цитата
The calibrated internal oscillator provides a 4.8 or 9.6 MHz clock source. The frequency is nominal
at 3V and 25°C. If the frequency exceeds the specification of the device (depends on VCC),
the CKDIV8 fuse must be programmed so that the internal clock is divided by 8 during start-up.
Go to the top of the page
 
+Quote Post
SAVC
сообщение Sep 24 2018, 10:17
Сообщение #5


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

Группа: Участник
Сообщений: 185
Регистрация: 28-01-07
Из: Уфа
Пользователь №: 24 829



Цитата(adnega @ Sep 24 2018, 13:47) *
Сброшен в ноль - это "запрограммирован".

У AVR с этим не так просто разобраться.
Попробуйте установить его в "1".


Попробовал - действительно, частота выросла в 8 раз.
Только теперь по моему осциллографу период тактовой частоты получается 35нс.
Спасибо за подсказку, дело было в этом.

Всё, с осциллографом тоже разобрался - была накручена ручка подгона развёртки.
Теперь всё правильно - 100нс

Спасибо.

Сообщение отредактировал SAVC - Sep 24 2018, 10:28


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 24 2018, 11:54
Сообщение #6


Гуру
******

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



Цитата(SAVC @ Sep 24 2018, 13:17) *
Спасибо за подсказку, дело было в этом.

Дополню: ничего не мешает в начале программы делать так
Код
        ldi        temp, (1 << CLKPCE)
        out        CLKPR, temp
        ldi        temp, 0
        out        CLKPR, temp

        ldi        temp, 0x61
        out        OSCCAL, temp

для точной установки частоты. При этом CKDIV8 fuse вам уже не важен будет.
Тут на форуме много раз темы с CLKPR поднимались (1, 2, 3, 4).
Go to the top of the page
 
+Quote Post

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

 


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


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