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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 16.01.2008, 01:03   #1
kovkaa
Частый гость
 
Регистрация: 15.11.2007
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kovkaa на пути к лучшему
По умолчанию Помогите справится с Альтерой (PWM глючит)

Понадобилось сделать PWM 10-ти битный,
приблизительно 45 кГц.
Вроде все просто:
EPM3064ATC44-10
Регистр 10 битный
Счетчик такойже
Компаратор 10 битный
Такт в 45 MHz
Вроде все работает на Симуляторе, но на выходе компаратора симулятор показывает иголки от 4 до
10 нан. Умом понимаю что происходит
Может подскажите Где собака порылась.
Я с Альтерой последний раз сталкивался еще на MaxPlusII.
Заранее спасибо за Ваши советы.
Реклама:
kovkaa вне форума  
Непрочитано 16.01.2008, 09:26   #2
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Как правило иголки возникают при неправильном тактировании. В Вашем случае возможно применить буфер на выходе компаратора, тактируемый сдвинутым сигналом (например инвертированным).
Удачи.
ЗЫ. Вы бы хоть текст выложили. На чем пишете/рисуете?
nokazus вне форума  
Непрочитано 16.01.2008, 20:54   #3
kovkaa
Частый гость
 
Регистрация: 15.11.2007
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kovkaa на пути к лучшему
По умолчанию

Сообщение от nokazus
Как правило иголки возникают при неправильном тактировании. В Вашем случае возможно применить буфер на выходе компаратора, тактируемый сдвинутым сигналом (например инвертированным).
Удачи.
ЗЫ. Вы бы хоть текст выложили. На чем пишете/рисуете?
Спасибо за ответ...
Натолкнулся я на это в QUARTUS 4.1
Проверил 6.1 и 7.2, тоже самое.
Собственно этому я не очень удивился.
Ситуация оказалась еще интересней. У меня два счетчика, два регистра и два компаратора.
Счетчики тактируются один от входного такта, другой от
деленного на два. Глюки есть на обоих компараторах.
Интересно, что если убрать один комплект, то все становится на свои места.
Глюки пропадают.
Согласен что нарисовано не очень оптимально, можно оставить один счетчик сделав его 11-ти разрядным и раздав на компараторы соответсвующие разряды.
Делитель на счетчике тоже не слишком хорошее решение, но все же...
Прицепил проэкт, может глянете на досуге...

P.S. Инвертор ставил на такт компаратора...
Вообще работать переставало.

Прикрепленный файл: 3630803.rar
kovkaa вне форума  
Непрочитано 17.01.2008, 09:28   #4
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

1. Извините, не работаю с QUARTUS, поэтому посмотреть проект не могу. Насколько понял - Вы пользуетесь графическим вводом проекта. Если бы был текст (не тот что выдает компилятор), было бы проще.
2. Может Вы не поняли. Я предложил добавить между выходом компаратора и выводом ИМС (коннектором) D-триггер, тактируемый сигналом, сдвинутым относительно основного по фазе. В триггер данные записываются в тот момент, когда на выходе компаратора нет "иголок", и на выходе будет чистый сигнал.
3. Когда разрабатываете проект, особое внимание нужно уделять тактированию. Для сложных проектов я обычно формирую последовательность из сдвинутых относительно друг друга импульсов. Все входные данные пропускаю через регистры.
Например реализация синхронного компаратора
1 такт - данные фиксируются во входных регистрах и идут на вход компаратора. Начинается процесс сравнения.
2 такт - результат сравнения фиксируется в выходном триггере - регистре результата сравнения.
В данном случае достаточно 2-х тактов. Можно за первый считать передний фронт тактирующей последовательности, а за второй - задний фронт.
ЗЫ Советую найти книгу А.П. Антонов "Язык описания цифровых устройств AlteraHDL". Очень доступно написано. Для таких схем AHDL - самое то.
nokazus вне форума  
Непрочитано 17.01.2008, 12:16   #5
kovkaa
Частый гость
 
Регистрация: 15.11.2007
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kovkaa на пути к лучшему
По умолчанию

Сообщение от nokazus
ЗЫ Советую найти книгу А.П. Антонов "Язык описания цифровых устройств AlteraHDL". Очень доступно написано. Для таких схем AHDL - самое то.
Спасибо за совет и за название книги.
Тригера на выходах компараторов разумеется все полечили.
Мне всетаки не понятно, почему один PWM в схеме работает, а вот два уже нет.
Видимо это уже приколы Квартуса.
Еще раз огромное спасибо...
kovkaa вне форума  
Непрочитано 17.01.2008, 14:03   #6
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Сообщение от kovkaa
Мне всетаки не понятно, почему один PWM в схеме работает, а вот два уже нет.
Да потому что разводка PWM по микросхеме меняется когда Вы добавляете второй. В том все и дело. Это же не ассемблер какой, когда каждая мнемоника четко определяет код операции. Реально-то в ПЛМ синтезируется схема из того, что в ней (ПЛМ) есть, а не то что Вы нарисовали. Т.е. с точки зрения логики работы должно быть аналогично, но реализация... Можете посмотреть для интереса логические выражения для синтезируемой схемы в файле отчета. Компилятор проекта "оптимизирует" Вашу схему с целью сокращения логических цепей и размещения/реализации схемы на своей матрице. Матрицу (внутреннюю схему ПЛМ) Вы можете посмотреть в даташите на ИМС. Тогда и станет понятно.
Удачи.
nokazus вне форума  
Закрытая тема

Закладки

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линейное измен-е яркости PWM'ом tempora Микроконтроллеры, АЦП, память и т.д 100 18.03.2009 19:52
Делитель из Fast PWM в AVR uk8amk Микроконтроллеры, АЦП, память и т.д 1 05.01.2009 15:50
Расчет частоты ШИМ (PWM) day177 Микроконтроллеры, АЦП, память и т.д 2 02.10.2008 08:53
глючит DS1307! stri Микроконтроллеры, АЦП, память и т.д 3 28.09.2007 08:13
Глючит MMC от SanDisk Dozer Микроконтроллеры, АЦП, память и т.д 0 12.02.2006 01:31


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


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