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

 
 
 
Reply to this topicStart new topic
> как сделать открытый коллектор в Цыклоне?
juvf
сообщение Feb 7 2012, 10:04
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



не могу понять...... Добавил в схему двунаправленный порт. в асигментах указал

Location W19
Weak Pull-Up Resistor on
Auto-Open Duran Pin on

W19 выходит из плис и "висит" в воздухе, больше ни кого на этом порту нет. Все подтяжки к Vcc делаю внутри ПЛИС. В схеме в квартусе на пин W19 подал импульсы. Всё время "0" и иногда "1". 3-го состояния вообще нет. Собрал, залил в плис. Смотрю оссцилогафом - на W19 1,7 В. (питание 3.3), т.е. кагбэ тристэйт. Смотрю сигналтабом на w19 - всё в норме, всегда 0 и иногда, в соответствии с моим алгоритмом 1. Почему на ноге W19 тристэйт? Как делают на плис открытый коллектор? что я делаю не так?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Feb 7 2012, 10:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Код
always @( * )
   if(out_preliminary)
      out<=1'bz;
   else
      out<=0;
Go to the top of the page
 
+Quote Post
IanPo
сообщение Feb 7 2012, 10:41
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-10-10
Пользователь №: 60 152



Если у вас на выходе только 0 и Z, то при включенном правиле (наз-ся как-то типа "Auto Open Drain", где-то в настройках) получится выход с Открытым Стоком.
В отчете компилятора Квартуса можно убедиться, что на нужных выходах получился Open Drain.

Сообщение отредактировал IanPo - Feb 7 2012, 13:50
Go to the top of the page
 
+Quote Post
juvf
сообщение Feb 7 2012, 11:14
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Всё делал правильно. Не на тот пин смотрел осцылом laughing.gif
сори за беспокойство.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Feb 7 2012, 14:28
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



QUOTE (DmitryR @ Feb 7 2012, 13:38) *
CODE
always @( * )
   if(out_preliminary)
      out<=1'bz;
   else
      out<=0;

Verilog позволяет писать сильно короче:

assign my_pin = out ? 'bZ : 0;


стоит пользоватся всеми прелестями сокращённого синтаксиса.

Go to the top of the page
 
+Quote Post

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

 


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


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