Перейти к содержанию
    

Gowin GW1NR-9C поведение двунаправленного вывода

Всем добра.
Столкнулся со следующим: если использовать вывод как выход, вопросов не имею:

image.thumb.png.e36ede589938a4a16503795cfb449d99.png

если же использовать этот вывод как двунаправленный, имею вопросы:

image.thumb.png.de2e33491c56709548a0624f97ac8257.png

Что за задержка с момента подачи сигнала перевода буфера, управляющего выходом, в неактивное состояние до момента перевода линии в 'z' состояние?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задержка всегда есть и должна быть. Но не такая масштабная, поэтому чтобы понять происходящее нужно увидеть вашу схему управления выходным буфером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, makc сказал:

схему управления выходным буфером

assign dq = dq_en ? '0 : 'z ;
и весь проект (минимизированный для изучения именно этого вопроса) в скрепке.

BidirPin.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос простой: выход DQ у ПЛИС снаружи подтянут?
Внутри ПЛИС у вас подтяжка отключена:

CST/TangNano9k_BidirPin.cst
148:IO_LOC          " dq "            69 exclusive ;
149:IO_PORT         " dq "            IO_TYPE = LVCMOS33 ;
150:IO_PORT         " dq "            PULL_MODE = NONE ;
151:IO_PORT         " dq "            OPEN_DRAIN = OFF ;
152:IO_PORT         " dq "            SINGLE_RESISTOR = OFF ;
153:IO_PORT         " dq "            BANK_VCCIO = 3.3 ;

Кто по вашему мнению должен формировать уровень логической единицы на выходе ПЛИС, когда выход dq обеспечивает формирование только нулевого уровня?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, makc сказал:

Вопрос простой: выход DQ у ПЛИС снаружи подтянут?

Ответ ещё проще: конечно. 5кОм к +3.3В.

2 часа назад, makc сказал:

Внутри ПЛИС у вас подтяжка отключена:

Я много экспериментировал прежде, чем задать вопрос, в т.ч. и с подтяжкой и с открытым стоком. Не влияет.

PS. Поставил 

IO_PORT         " dq "            PULL_MODE = UP ;
IO_PORT         " dq "            DRIVE = 24 ;

Не влияет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понял, вы логическим анализатором смотрите, а что аналоговый вход осциллографа показывает? Может там емкость какая через подтяжку заряжается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что за 33нФ? по схеме я ничего подозрительного на этом выводе не нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 minutes ago, Zversky said:

что за 33нФ? по схеме я ничего подозрительного на этом выводе не нашёл.

как вы писали ранее подтяжка 5кОм. а время  нарастания от 0 до 3,3В судя по осциллограмме около 1мс. 1мс = 6*T = 6*RC. Ну вот и получается 1e-3s  = 6 * 5e3 Ohm * С, откуда C = 3.33e-8F или 33nF.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Zversky сказал:

 

Что за задержка с момента подачи сигнала перевода буфера, управляющего выходом, в неактивное состояние до момента перевода линии в 'z' состояние?

Это не задержка. Вы оперируете понятием открытый сток с недостаточными сигналами управления. Это DQ у Вас в нуле сидит и гасит ваше z состояние.

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

Посмотрите функционал микросхем 530АП2, 585 АП16.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/6/2023 at 10:30 AM, Zversky said:

assign dq = dq_en ? '0 : 'z ;

Я делал так

inout   [15:0] quad_io;
wire    [15:0] reg_out; 
reg            o_en;

assign quad_io[15:0] = (o_en == 1) ? reg_out[15:0] : 16'bz;

Все работает предсказуемо, без долгих задержек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, Abo сказал:

откуда C = 3.33e-8F или 33nF.

Я не про расчёты, а про то, откуда взялись эти 33 нанофарады?

3 часа назад, sazh сказал:

Это DQ у Вас в нуле сидит и гасит ваше z состояние.

DQ у меня не сидит, а висит, подтянутое только упомянутыми выше 5 кОм.

3 часа назад, sazh сказал:

Все буфера с z состоянием, или с открытым стоком должны быть на вернем уровне иерархии.

Это отдельно прописано в отдельном документе. У меня так и сделано. Вы проект смотрели?

3 часа назад, sazh сказал:

Без всяких клоков. Вход, Выход, Двунаправленный порт, сигналы управления.

Видно, что нет.

3 часа назад, sazh сказал:

Посмотрите функционал микросхем 530АП2, 585 АП16

Зачем мне их смотреть, если у меня совсем другая опера? Меня именно по этой опере интересует ЧЯДНТ, а не ваши параллели.

59 минут назад, dimka76 сказал:

Все работает предсказуемо, без долгих задержек.

У меня вместо вашего reg_out[15:0] '0 - ИМО суть одно и тоже. 

1 час назад, dimka76 сказал:
 (o_en == 1)

В тернарном операторе эквивалентен o_en, т.е. у вас тоже, что и у меня. Итого, вопрос остаётся открытым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/6/2023 at 10:28 PM, Zversky said:

Итого, вопрос остаётся открытым.

Может непропай ?

Может другую ножку попобовать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без схемы всё это гадания на кофейной гуще. Квест от ТС безусловно интересен, но пока мы не увидим дополнительные данные дальнейшего конструктивного обсуждения не получится, т.к. телепаты всё ещё в бессрочном отпуске.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...