Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 05.10.2018, 11:20  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Не тот импульс.

Здравствуйте. Что-то проверил я устройство на микроконтроллере ATTiny13 и оно оказалось неработоспособным, а точнее импульс, который я закладывал в программу(ASM) не такой как я хотел. Вообще-то я хотел инверсный или отрицательный импульс: длительность 0 T1 = 1 (мкс), длительность 1 T2 = 2 (мкс), и так в периоде.
Но осциллограф показывает постоянно T1 = 10 (мкс), T2 = 16-17 (мкс). В чем может быть проблема и как ее решить? Желательно просто. Слово "постоянно" написано не случайно, дело в том что эти величины(T1 и T2) держатся постоянно - вне зависимости от того, как я меняю переменные в программе - те переменные, которые задают длительность импульсов. Вот программа:
Код:
;T1 = 12 тактов = 1 (мкс)
;T2 = 24 такта  = 2 (мкс)
Forever:            ;Число тактов
ldi Temp, 0         ;1
out PORTB, Temp     ;1,     Out = 0
ldi Counter, 0      ;1,     12/3 = 4     
Delay1:
dec Counter         ;1
brne Delay1         ;2 - при ответвлении, 1 - при проходе вниз

ldi Temp, 0x10      ;1
out PORTB, Temp     ;1,     Out = 1
ldi Counter, 0      ;1,     21/3 = 7
Delay2:
dec Counter         ;1
brne Delay2

rjmp Forever        ;2
Схема внизу, выход с ноги PB4.
Миниатюры:
Нажмите на изображение для увеличения
Название: Схема.png
Просмотров: 0
Размер:	57.9 Кб
ID:	133246  
Реклама:
Signalshik2 вне форума  
Непрочитано 05.10.2018, 11:33  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не тот импульс.

Код:
ldi Counter, 0      ;1,     12/3 = 4
это что?
Ara41 вне форума  
Непрочитано 05.10.2018, 11:59  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Не тот импульс.

Код:
ldi Counter, 0      ;1,     12/3 = 4
Это загружаем в переменную Counter(R21) значение 0, но суть в том, что я туда подставлял несколько значений: 4, 1 и 0. Последовательно. Всегда выходит один и тот же импульс: лог.0 - T1 = 10 (мкс), лог.1 - T2 = 16 (мкс). - Ну как писал выше.
Дальше по строке: 1 - это число тактов в этой команде: ldi, по аналогии здесь проставлено число тактов для каждой команды;
12/3 = 4 - это я считал число тактов для лог.0, который выходит с ноги PB4. 12 тактов нужно удерживать 0 для поучения длительности T1 = 1 (мкс) при тактовой частоте 12 (МГц). 3 - это число тактов в периоде этого цикла(Delay1). 12 поделил на 3 получили 4 прохода цикла, т.о. записываем 4 в переменную Counter. Теперь понятно. Что Вы об этом всем думаете?
Кратко смысл здесь в том, что я хотел получить обратный импульс с длительностями 1 (мкс) и 2 (мкс), а получилось 10 (мкс) и 16 (мкс). 1-ое число - это длительность лог.0, 2-ое - длительность лог.1. Плюс ко всему это еще и не регулируется, при изменении переменной Counter ничего не меняется - всегда 10 и 16 (мкс). Это минимальные значения времени что-ли из-за каких-то внутренних накладок?

Последний раз редактировалось Signalshik2; 05.10.2018 в 12:07.
Signalshik2 вне форума  
Непрочитано 05.10.2018, 12:36  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,953
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Не тот импульс.

в вашем случае "вертушка" крутится 256 раз, по 3 такта - грубо 750 тактов. Тактовая, если не путаю, 5 или 10 МГц. При 10 МГц длительность такта 0,1 uS, следовательно длительность задержки в такой вертушке 75 мкс.

Как-то не стыкуется с вашими значениями никак.

Покажите программу целиком, скажите какие значения фузиков, особенно BOLDEVEL - питание 4.4в несколько смущает...
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 05.10.2018, 13:01  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Не тот импульс.

Сообщение от nml Посмотреть сообщение
в вашем случае "вертушка" крутится 256 раз, по 3 такта - грубо 750 тактов. Тактовая, если не путаю, 5 или 10 МГц. При 10 МГц длительность такта 0,1 uS, следовательно длительность задержки в такой вертушке 75 мкс.

Как-то не стыкуется с вашими значениями никак.

Покажите программу целиком, скажите какие значения фузиков, особенно BOLDEVEL - питание 4.4в несколько смущает...
- вот эту фразу из картинки я хотел стереть, но поленился. Это я измерял давно - может быть и неправда. Так что не берите это число за основу(4,4В).
Часто тактового генератора 12 (МГц) - подается с отдельной платы на вход CLKI-PB3. Соответственно Fuse-биты CKSEL10 = External CLK, Uprising time 14CK + 0ms delay - не помню точно их значения, пишу по памяти, щас не могу их посмотреть, извините. Остальные Fuse-биты не менял, скорее всего они по-дефолту.
Signalshik2 вне форума  
Непрочитано 05.10.2018, 13:10  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 707
Сказал спасибо: 362
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Не тот импульс.

Signalshik2, если уж 8-ногая ATtiny, взяли бы Вы ATtiny25/45/85...
У нее по крайней мере на PB4 есть выход ШИМ таймера 1,
который к тому же способен работать на частоте до 64 МГц.
Было бы проще эти микросекунды шлифовать.

Извиняюсь за оффтоп.
j-Roger вне форума  
Непрочитано 05.10.2018, 13:39  
alxchep
Почётный гражданин KAZUS.RU
 
Аватар для alxchep
 
Регистрация: 29.01.2007
Адрес: Пермский край
Сообщений: 1,586
Сказал спасибо: 416
Сказали Спасибо 1,353 раз(а) в 508 сообщении(ях)
alxchep на пути к лучшему
По умолчанию Re: Не тот импульс.

Чё-т вспоминается, что есть в этой Тиньке CKDIV8, и если фьюзы по умолчанию, то он установлен и делит тактовую на 8.
alxchep вне форума  
Сказали "Спасибо" alxchep
Signalshik2 (05.10.2018)
Непрочитано 05.10.2018, 15:28  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,953
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Не тот импульс.

Сообщение от alxchep Посмотреть сообщение
то он установлен и делит тактовую на 8.
Верно, но в этом случае получилось бы еще в 8 раз более длинный импульс. А у него наоборот короче расчетного. и не меняется. Потому я и грешу на питание. Может он просто ресетится.

ЗЫ И еще вот подумал - а чего бы не использовать команды установки-сброса бита порта, CBI/SBI, вместо загрузки в TEMP и вывода всего порта?

ЗЫЗЫ А еще бы проверил на КЗ между PB4 и PB5. Если там короткое, то появление 0 на выходе сбросит - но не сразу... емкость там... вот и неизменные времена - разряд кондера и стартовое...
__________________
[ жизнь приятна и красива, если выпить литр пива ]

Последний раз редактировалось nml; 05.10.2018 в 15:43.
nml вне форума  
Непрочитано 05.10.2018, 17:21  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не тот импульс.

Сообщение от nml Посмотреть сообщение
Верно, но в этом случае получилось бы еще в 8 раз более длинный импульс. А у него наоборот короче расчетного. и не меняется.
у него длиннее расчетного. Как раз 2 мкс расчет, а на осциле 16-17 мкс - в 8 раз шире.
Ara41 вне форума  
Непрочитано 05.10.2018, 17:32  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,953
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Не тот импульс.

Сообщение от Ara41 Посмотреть сообщение
у него длиннее расчетного. Как раз 2 мкс расчет, а на осциле 16-17 мкс - в 8 раз шире.
По моим расчетам для 10 МГц - длительность 75 мкс. Откуда взялись 2, мне непонятно.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
 

Закладки

Метки
attiny13, генератор
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как измерить импульс? ankab Микроконтроллеры, АЦП, память и т.д 56 15.11.2006 22:33
ТОН В ИМПУЛЬС LEXA Автоматика и аппаратура связи 2 29.11.2005 10:55
[Решено] переключить с тонального на импульс GeneralElectric ES26928 Бармалей Автоматика и аппаратура связи 1 18.11.2004 18:49


Часовой пояс GMT +4, время: 14:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot