vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Ниасилил... :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikolascha 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Ниасилил... :crying: Популярный вопросик... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Популярный вопросик... Да? Давно не занимался вплотную плисами... А ответ же какой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikolascha 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Да? Давно не занимался вплотную плисами... А ответ же какой?Ответов много, т.к. задача сформулирована не точно, поэтому правильный ответ не знает только автор вопроса... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Ответов много, т.к. задача сформулирована не точно, поэтому правильный ответ не знает только автор вопроса... Вот и у меня такое же впечатление сложилось. Я им сделал проектик, в котором был клок, но не со стороны приемной линии (где эти два сигнала), а со стороны десериализатора. Ну разве будет кто-то совсем без клока-то работать? Не понравилось... Аж зацепило, блин. Ночами не сплю теперь, перепады мерещатся... :) Или там суть, что перепады могут быть только одного направления, например, из 0 в 1? Я-то делал для двух сразу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Буратино 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Ниасилил... :crying: Может быть выделить переходы (ну что-то типа прерывания по фронту спадающему/нарастающему должно же быть в этих плисах), в моменты переходов формировать короткие импульсы, которые подавать на входы R и S асинхронного RS триггера. Я слышал что в плисах есть такое дело. Допустим коротким импульсом на S входе перебрасываем триггер в единичное состояние, и храним. Коротким импульсом на R входе перебрасываем в нулевое состояние и храним. Храним - это когда на обоих входах лог. 0 например. На выходе будет сигнал у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Сформированные перепады и тип логики триггера, должны быть так выбраны, чтоб не допускать неопределенного состояния триггера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Сформированные перепады и тип логики триггера, должны быть так выбраны, чтоб не допускать неопределенного состояния триггера. Ага, в этом есть некоторые трудности. :) Точнее, трудности не в том, чтобы не подавать одновременно на входы S и R (это можно искусственно заблокировать дополнительной логикой), а в том, откуда брать эти самые "короткие" импульсы. Вот пришел перепад 0-1, вот подали его на S, а сбросить само S обратно как? Это же надо успеть сделать до прихода следующего перепада. Хотя... Если, допустим, его не сбрасывать, а держать до появления события во второй линии... И сбрасывать только после этого... И дополнительной логикой блокировать состояние, когда R и S оба равны 1... Но тогда получается, что можно пропустить первый бит в линии (если исходное состояние обеих линий равно 1, то логика будет блокировать работу триггера). В общем, ниасилить без клоков че-то... :crying: Да и надо ли? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Буратино 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Ага, в этом есть некоторые трудности. :) Точнее, трудности не в том, чтобы не подавать одновременно на входы S и R (это можно искусственно заблокировать дополнительной логикой), а в том, откуда брать эти самые "короткие" импульсы. Вот пришел перепад 0-1, вот подали его на S, а сбросить само S обратно как? Это же надо успеть сделать до прихода следующего перепада. Хотя... Если, допустим, его не сбрасывать, а держать до появления события во второй линии... И сбрасывать только после этого... И дополнительной логикой блокировать состояние, когда R и S оба равны 1... Но тогда получается, что можно пропустить первый бит в линии (если исходное состояние обеих линий равно 1, то логика будет блокировать работу триггера). В общем, ниасилить без клоков че-то... :crying: Да и надо ли? :) Ну я с ПЛИС к сож. не имел дела, но просто на логике можно построить такое дело. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Ну я с ПЛИС к сож. не имел дела, но просто на логике можно построить такое дело. Дык ПЛИС это логика и есть. Как строить будете? Эти короткие импульсы формировать на задержках на десяти инверторах? Это не наш метод. Хотя, может быть в этом и был тайный смысл задачи? Типа посмотреть, а может ли человек путем всяко-разных техник мануального расположения ячеек в плисине и задания констрейнов создавать полностью асинхронные проекты. Это что, ныне считается верхом мастерства? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Буратино 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Дык ПЛИС это логика и есть. Как строить будете? Эти короткие импульсы формировать на задержках на десяти инверторах? Это не наш метод. Если в целом вариант принять за основу, то можно и не на 10ти инверторах. Как вариант можно задействовать одновибратор с запуском по фронту. Но это усложняет решение, мне кажется можно и нужно проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Если в целом вариант принять за основу, то можно и не на 10ти инверторах. Как вариант можно задействовать одновибратор с запуском по фронту. Но это усложняет решение, мне кажется можно и нужно проще. Ха, так ведь этот одновибратор должен как-то мерять время, не так ли? Припоминаю, что, например, в 555 используются конденсаторы и компараторы. Но в ПЛИС конденсатор не вставишь, это правда. В общем, я хочу сказать, что предлагаемое Вами решение основано на измерении интервала времени, меньшего, чем интервал между двумя перепадами на одной линии. Я поступил точно так же, только вместо вибратора использовал внешний клок. По сути это то же самое, согласитесь. Получилось ровно 6 триггеров (это с учетов, что на двух реализован еще и передатчик). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MikleKlinkovsky 5 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба но есть ошибка в выходной части ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба но есть ошибка в выходной части ;) А что это за элемент такой большой с четырьмя входами? XOR? И что за ошибка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MikleKlinkovsky 5 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба А что это за элемент такой большой с четырьмя входами? XOR? Да XOR (элемент считает чётность). вариант без ошибки: :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Да XOR (элемент считает чётность). Это, в смысле, три XOR-а? Четыре входа - как-то многовато... Вообще, идея понятна, и о подобном я тоже думал, но не стал пытаться реализовать, т.к. уверен, что будет глючить. Как бы телега впереди лошади. Я тоже использовал восстановление клока в линии по XOR (внизу), но мне не удалось обойтись без формирования этих пресловутых коротких импульсов. А для этого понадобился внешний сигнал, для простоты я его сделал периодическим, т.е. клок. А вариант без ошибки - это как? Зачем нам два выхода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться