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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как спастись от "тычков"
georgy31
сообщение Apr 26 2011, 12:15
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 4-02-10
Пользователь №: 55 305



Цитата(Mikhalych @ Apr 26 2011, 16:01) *
например сигнал 3qg7 снимается у вас с выхода DFF - поставьте такойже DFF перед 3qg0

Это первое что я сделал, но результат нулевой

Может можно как то поумнее разбить сигнал на три фазы? Я как дилетант только так смог.
Go to the top of the page
 
+Quote Post
bav
сообщение Apr 26 2011, 12:30
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Код
module div_3
  (
  clk,
  q1,
  q2,
  q3
  )
  input    clk;
  output  q1;
  output  q2;
  output  q3;
  
  reg   q1;
  reg   q2;
  reg   q3;
  
  reg [1:0] count;
  
  always @(posedge clk)
  begin
   if(count == 2)
      count <= 0;
   else
       count <= count + 1;

   case(count)
   0: {q1, q2, q3} <= 3'b001;
    1: {q1, q2, q3} <= 3'b010;
    2: {q1, q2, q3} <= 3'b100;

  end
endmodule


как-то так?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 26 2011, 12:43
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(bav @ Apr 26 2011, 16:30) *
как-то так?


"Только трошечки не так"...
Делаем счетчик. С его выходов подаем сигналы на дешифратор. Делаем 6 импульсов. Далее каждую пару подаем на синхронный R-S триггер... По S входу триггер устанавливается, по R - сбрасывается... Гарантированно никаких иголок...

Либо сдвиговый регистр, который по сбросу загружает только одну единицу. К нему схему, проверяющую, что нет двух единиц одновременно. Далее на тактовые - подается синхрочастота, на входы разрешения - частота поделенная. Так же никаких иголок на выходе... Регистр соединен в кольцо...


Либо статический автомат на 3 состояния...
Либо делаем в ПЛИС микропроцессор и на его порте, программно...
Либо...
Ну и так далее...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
georgy31
сообщение Apr 26 2011, 12:44
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 4-02-10
Пользователь №: 55 305



Большое, человеческое СПАСИБО! Буду пробовать.
Go to the top of the page
 
+Quote Post
bav
сообщение Apr 26 2011, 13:11
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата(iosifk @ Apr 26 2011, 16:43) *
"Только трошечки не так"...
Делаем счетчик. С его выходов подаем сигналы на дешифратор. Делаем 6 импульсов. Далее каждую пару подаем на синхронный R-S триггер... По S входу триггер устанавливается, по R - сбрасывается... Гарантированно никаких иголок...

тогда возникает вопрос: откуда (в приведенной реализации) возникнут на выходе иголки?

Цитата(georgy31 @ Apr 26 2011, 16:44) *
Большое, человеческое СПАСИБО! Буду пробовать.

Вы писали, что должен получиться меандр с частотой 33 кГц. посмотрите, в какой частотной области симулируете...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 26 2011, 13:22
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(bav @ Apr 26 2011, 17:11) *
тогда возникает вопрос: откуда (в приведенной реализации) возникнут на выходе иголки?

Виноват, не увидел, что там на выходе регистры...
Но по жизни, если разряды счетчика перекидываются не одновременно, то "case" отработает это в лучшем виде. И временную диаграмму иногда будет трясти... Так что так, как у Вас приведено, лучше все же не делать...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Mikhalych
сообщение Apr 26 2011, 13:26
Сообщение #22


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

Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952



Там комбинационная логика в always @(posedge clk) блоке... и выходы q объявлены как регистры - так что "тычков" не будет sm.gif единственое что там не так - это коэф. заполнения - он будет 1/3 , а не 1/2 как требовалось sm.gif


--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
Go to the top of the page
 
+Quote Post
bav
сообщение Apr 26 2011, 13:39
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата(iosifk @ Apr 26 2011, 17:22) *
Виноват, не увидел, что там на выходе регистры...
Но по жизни, если разряды счетчика перекидываются не одновременно, то "case" отработает это в лучшем виде. И временную диаграмму иногда будет трясти... Так что так, как у Вас приведено, лучше все же не делать...

на счет case - это уже будет зависеть от синтезатора - как раскидает, так и будет sm.gif
а на счет трясти... не очень уверен. здесь не требуется частота 100 МГц!?

Цитата(Mikhalych @ Apr 26 2011, 17:26) *
единственое что там не так - это коэф. заполнения - он будет 1/3 , а не 1/2 как требовалось sm.gif


не увидел
Код
.....
reg [2:0] count;
  
  always @(posedge clk)
  begin
   if(count == 5)
      count <= 0;
   else
       count <= count + 1;

   case(count)
    0: {q1, q2, q3} <= 3'b001;
     1: {q1, q2, q3} <= 3'b011;
     2: {q1, q2, q3} <= 3'b010;
     3: {q1, q2, q3} <= 3'b110;
     4: {q1, q2, q3} <= 3'b100;
      5: {q1, q2, q3} <= 3'b101;
  ...
Go to the top of the page
 
+Quote Post
georgy31
сообщение Apr 26 2011, 14:44
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 4-02-10
Пользователь №: 55 305



Частота входного клока 12 мгц. Но почему то из 10 раз, где то один-два, на выходе получается вместо 36кгц, 18 кгц. Это глюк частотомера, или где то ошибка?
Go to the top of the page
 
+Quote Post
Mikhalych
сообщение Apr 27 2011, 05:30
Сообщение #25


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

Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952



Цитата(georgy31 @ Apr 26 2011, 18:44) *
Частота входного клока 12 мгц. Но почему то из 10 раз, где то один-два, на выходе получается вместо 36кгц, 18 кгц. Это глюк частотомера, или где то ошибка?


Чтобы получить 36кГц при использовании предложенной bav реализации - входная частота должна быть 36кГц*6 = 216кГц.... вопрос: откуда 12 МГц?


--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
Go to the top of the page
 
+Quote Post
georgy31
сообщение May 7 2011, 08:39
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 4-02-10
Пользователь №: 55 305



Уважаемые спецы. Вот написал как советовали. Выдаёт при компиляции сразу 7 ошибок. Подскажите что не так, поскольку сам я всё время творил в графичеком редакторе, а здеь не в зуб ногой.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
gutzzz
сообщение May 8 2011, 16:20
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 7-02-09
Из: Ростов-на-Дону
Пользователь №: 44 537



процессы забыли - always @()
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 6th July 2025 - 02:22
Рейтинг@Mail.ru


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