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

 
 
 
Reply to this topicStart new topic
> Длительность фронта внешнего тактового сигнала в FPGA
dima32rus
сообщение Jul 16 2015, 10:39
Сообщение #1


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

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Приветствую участников форума!
Мне нужно обеспечить связь FPGA Cyclone III с контроллером семейства STM32 по интерфейсу i2c. В доке контроллера сказано, что время нарастания/спада сигнала SCL составляет ~300 нс. Можно ли от этого сигнала тактировать триггеры в ПЛИС? Смущает довольно длительное время фронтов. Согласно доке на Cyclone III, длительность фронтов неограничена, если я правильно понял. Может кто-нибудь в курсе вопроса, ато гложат меня сомнения... Считаем, что времена Tsetup/Thold выполняются и данные стабильны задолго до и после фронта SCL.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 16 2015, 10:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 dima32rus
типичные времена наростания для С3 (Trise) - сотни pS(..500..), nS с хвостиком. Максимальные не указываются, но если прикинуть, то получится что {ваш Trise} ~ {пару сотен} x {типичный для С3 Trise}, вот и думайте..
В принципе, никто не запрещает вам поставить 74-ю серию чтоб подтянуть фронт, но нижняя частота старта C3 PLL это 10MHz, или около того.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jul 16 2015, 11:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(dima32rus @ Jul 16 2015, 13:39) *
тактировать триггеры в ПЛИС...
Заведите на ПЛИС более-менее стабильную частоту, с помощью которой совершайте захват шины I2C. На длинных фронтах возможны ложные срабатывания.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
dima32rus
сообщение Jul 16 2015, 11:21
Сообщение #4


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

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Цитата(EvgenyNik @ Jul 16 2015, 14:13) *
Заведите на ПЛИС более-менее стабильную частоту, с помощью которой совершайте захват шины I2C. На длинных фронтах возможны ложные срабатывания.

Значит, не зря сомневался. Благодарю за помощь!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 16 2015, 11:46
Сообщение #5


Гуру
******

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



Цитата(EvgenyNik @ Jul 16 2015, 14:13) *
Заведите на ПЛИС более-менее стабильную частоту, с помощью которой совершайте захват шины I2C. На длинных фронтах возможны ложные срабатывания.

+1 поэтому рекомендую небольшой цифровой фильтрик. Т.е. фронты из 3-го состояния пологие, то ПЛИС их может нахватать много...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
dima32rus
сообщение Jul 16 2015, 11:49
Сообщение #6


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

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Цитата(iosifk @ Jul 16 2015, 14:46) *
Т.е. фронты из 3-го состояния пологие, то ПЛИС их может нахватать много...


Немного не понял Вашу мысль. Можно поподробнее?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 16 2015, 12:04
Сообщение #7


Гуру
******

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



Цитата(dima32rus @ Jul 16 2015, 14:49) *
Немного не понял Вашу мысль. Можно поподробнее?


i2c работает с Z состоянием, когда и передатчик и приемник от шины отключены. Уровень при этом задается подгрузочным резистором. Вот в этом случае получаются пологие фронты сигналов... И поскольку i2c работает на 400 кГц, то для ПЛИС с их сотнями МГц такие пологие фронты - это практически как "пила"... И на нее накладываются еще всякие отражения сигналов... Так вот их-то ПЛИС и любят хватать на фронтах. И если стоит автомат, то его клинит в каком нибудь дурном состояниии...
Так понятно?
Если нет, то больше могу только в скайпе голосом....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jul 16 2015, 12:09
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(dima32rus @ Jul 16 2015, 14:49) *
Немного не понял Вашу мысль. Можно поподробнее?
Имелось в виду то, что длинный фронт это неопределённое состояние в течении времени, достаточного для многократного срабатывания от нормального тактирования (если бы оно было). А теперь представьте, что во-первых, сопротивление входа до какой-то степени зависит от его состояния (куда переключился) и может вгонять вход в автогенерацию, во-вторых, всякого рода шумы в питании/в земле и помехи поверх длинного фронта тоже будут восприниматься как тактовые переходы...


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
dima32rus
сообщение Jul 16 2015, 12:18
Сообщение #9


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

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Цитата(iosifk @ Jul 16 2015, 15:04) *
Так понятно?

Я понял, спасибо! Конечно, по входу будут стоять синхронизаторы, а также схема для обнаружения фронтов с подавлением "дребезга", возникающего из-за помех. Иначе будет глючить и клинить автомат, как Вы правильно заметили.
Go to the top of the page
 
+Quote Post

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

 


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


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