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

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

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

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

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

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

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

 
Опции темы

Не тот импульс.

Непрочитано 05.10.2018, 11:20  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 409
Сказал спасибо: 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.RUN
 
Регистрация: 30.09.2006
Сообщений: 1,557
Сказал спасибо: 157
Сказали Спасибо 660 раз(а) в 430 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не тот импульс.

Код:
ldi Counter, 0      ;1,     12/3 = 4
это что?
Ara41 вне форума  
Непрочитано 05.10.2018, 11:59  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 409
Сказал спасибо: 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,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
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
Сообщений: 409
Сказал спасибо: 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.RUN
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 851
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Не тот импульс.

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

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

Чё-т вспоминается, что есть в этой Тиньке CKDIV8, и если фьюзы по умолчанию, то он установлен и делит тактовую на 8.
alxchep вне форума  
Сказали "Спасибо" alxchep
Signalshik2 (05.10.2018)
Непрочитано 05.10.2018, 15:28  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
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.RUN
 
Регистрация: 30.09.2006
Сообщений: 1,557
Сказал спасибо: 157
Сказали Спасибо 660 раз(а) в 430 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Не тот импульс.

Сообщение от nml Посмотреть сообщение
Верно, но в этом случае получилось бы еще в 8 раз более длинный импульс. А у него наоборот короче расчетного. и не меняется.
у него длиннее расчетного. Как раз 2 мкс расчет, а на осциле 16-17 мкс - в 8 раз шире.
Ara41 вне форума  
Непрочитано 05.10.2018, 17:32  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
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 17:49


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.