Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/26: Рейтинг темы: голосов - 26, средняя оценка - 4.73
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
1

Работа Tiny2313 от низкочастотного часового кварца

20.08.2017, 22:37. Просмотров 4780. Ответов 10
Метки нет (Все метки)

Привет всем!
У меня вопрос: работает ли всё таки Tiny2313 от низкочастотного часового кварца?
Для проекта нужно два таймера. Один отсчитывает время, другой играет музыку. Все наладил на внутреннем генераторе 128кГц.

Но: 1)чтобы играть музыку нужен 16-разрядный таймер. Следовательно он уже занят. 2) А у 8-разрядного не хватает коэффициентов деления и разрядов для формирования частоты 1Гц. Что посоветуете? Взять другой кристалл с двумя 16-разрядными таймерами? В документации на 2313 вроде прочерк в графе "низкочастотный кварцевый генератор". Но некоторые вроде пишут что можно. А на самом деле? Кто-нибудь сталкивался?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2017, 22:37
Ответы с готовыми решениями:

avr tiny2313 и другие - подключение кварца
Добрый день! Помогите разобраться с фюзами , запарол уже две тени2313 , использую среду avr studyo...

Танцы с бубном вокруг часового кварца и 48 меги
Наблюдаю шаманское поведение схемы часиков... программа то стартует, то зависает в том месте, где...

Вопрос: Работа USB в STM32F103 без кварца.
Приветствую! Вчера случилось счастье пришли наконец то из Китая STM32F103С8 (по 1.8$) Начал...

tiny2313 и dW
Проблема у меня с тинькой 2313. Программатор AVR Dragon, работаю из студии 4...последнюю даже...

Tiny2313 и TIMSK
Пишу ldi r17, 1 << OCIE1A | 1 << OCIE0A out TIMSK, r17 В r17 0x41 а в TIMSK 0x21 В чем...

10
okt
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 222
21.08.2017, 06:43 2
Цитата Сообщение от ВячесливKom
У меня вопрос: работает ли всё таки Tiny2313 от низкочастотного часового кварца? ...
Часовые кварцы на tiny2313 работают нестабильно. Даже если запустится, то и шагать по программе контроллер будет с частотой 32768. На этом камне не предусмотрен режим раздельного тактирования.
Цитата Сообщение от ВячесливKom
...А у 8-разрядного не хватает коэффициентов деления и разрядов для формирования частоты 1Гц...
С чего бы это вдруг? 128000/1024/125=1/сек
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
21.08.2017, 12:14 3
Не говоря уж о том, что в прерывании можно запустить софтовый счётчик - и делить частоту хоть в милдиард раз...
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
21.08.2017, 21:06 4
Да, все правильно, должно получаться делением. Но у меня почему-то время бежит примерно в два раза быстрее. Наверно что-то не так выставил. Подскажите, пожалуйста! Наверное, неправильно выбираю источник тактового сигнала.

Что-то типа этого (при инициализации):
ldi e,0x06
out CKSEL0,e

Это делается по другому? Кварц припаял с кондёрами 15мкФ. С фьюзами ещё не работал.
0
_pv
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
21.08.2017, 22:05 5
Цитата Сообщение от ВячесливKom
Кварц припаял с кондёрами 15мкФ. С фьюзами ещё не работал.
с такой ёмкостью он вообще не заводиться имеет полное право. там пикофарады должны быть.
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
21.08.2017, 22:24 6
Неправильно написал. 15пФ стоят
0
okt
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 222
22.08.2017, 06:40 7
Цитата Сообщение от ВячесливKom
...у меня почему-то время бежит примерно в два раза быстрее. Наверно что-то не так выставил. Подскажите, пожалуйста! Наверное, неправильно выбираю источник тактового сигнала.
Что-то типа этого (при инициализации):
ldi e,0x06
out CKSEL0,e
Это делается по другому? Кварц припаял с кондёрами 15мкФ. С фьюзами ещё не работал.
Да, делается по другому. Например
Код
.equ   Fo=128000

LDI   R16,Fo/1024-1
OUT   OCR0A,R16   ;интервал 1 секунда

LDI   R16,1<<WGM01
OUT   TCCR0A,R16   ; режим CTC

LDI   R16,1<<OCIE0A
OUT   TIMSK,R16
OUT   TIFR,R16

LDI   R16,5
OUT   TCCR0B,R16   ; таймер работает Fo/1024

SEI
WAIT_T:
SLEEP
NOP
RJMP   WAIT_T
.EXIT
CKSEL0 - это имя программно недоступного FUSE-бита. Для перевода в режим тактирования от встроенного генератора 128кГц нужно программатором установить значение CKSEL3...0 0110.
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
22.08.2017, 21:41 8
Пользуюсь Uniprog. Там, как прочитал в интернете, фьюзы не инвертируются. То есть, если галочка стоит - значит "1", если нет - "0"? А то выставляю CKSEL3...0 - 0110, и контроллер пропадает.
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
22.08.2017, 21:52 9
Правда, галочку "тормоз" не ставил.
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
23.08.2017, 08:18 10
Почему такое может происходить? Что посоветуете?
0
ВячесливKom
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 7
25.08.2017, 11:55 11
Все, заработало на макете! :) Действительно, был выбран не тот источник тактового сигнала. Фьюзы по умолчанию 3...0 - 0100. Типа кварц. Но у меня не был припаян кварц. От чего же он тогда работал? Если сейчас выбран внутренний генератор, то почему сам программатор перестает видеть контроллер? Заранее спасибо за помощь!
0
25.08.2017, 11:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2017, 11:55

Не работает Tiny2313
Схема в приложении. Вот текст программы: #include &lt;tiny2313.h&gt; #include &lt;delay.h&gt; void...

Возможности Tiny2313
Здравствуйте знатоки AVR! Насколько я понял из статьи и этой статьи, на одном корпусе можно...

Дохнут на раз tiny2313
Привет всем! Собрал тут свой первый программатор(Громова), и тутже вступил в гов грабли. Запускаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru