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

8-бит 100МГц -> 16-бит 50МГц какой микросхемой сделать (не плиской)?

Добрый день,

 

есть параллельная шина 8 бит из оцифровщика, которая может работать до 90МГц (или даже 4 битная 180МГц LVDS), я хочу получить из нее 16-битную шину для забора этих данных на контроллере (он 90МГц впараллель не тянет, хотя 45 МГц вроде получается), то есть мне нужен двухбитный shift register + latch или десериалайзер*4 из LVDS в CMOS. Обыскался весь mouser, и ничего не нашел. По видимому ищу что-то не то. На плиске знаю как, но не готов ставить туда плиску и ее программировать.

 

Искал также в гугле по shift register + latch но ничего одной микросхемой на такую скорость не нашел.

 

Простите, пожалуйста, за настолько наивный вопрос, пожалуйста, скажите, на какие слова искать?

 

Спасибо!

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


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

8 минут назад, iiv сказал:

Простите, пожалуйста, за настолько наивный вопрос, пожалуйста, скажите, на какие слова искать?

Первое что попалось на глаза:

SN74HCS373-Q1

Ставите два таких плюс D-триггер по схеме делителя, прямой выход триггера - на LE одного регистра, инверсный - на LE другого.

Написано частота 135МГц.

Ну и с фазой на выходе наверно что-то придется колдонуть...

.

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


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

Ой, точно, спасибо большое!!!! Я тормоз, о том, чтобы сделать сразу на тригерах без сдвиговых регистров, как-то не подумал.

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


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

10 hours ago, toweroff said:

Что ж так орать-то?

когда с PDF'а из acroread копи-пейстишь, всегда так получается. Оказалось там куча 74AHCT573 и даже на 16 каналов одной микросхемой есть, только разводка менее удобнее, чем взять две 74AHCT573 и поставить их с разных сторон платы. Уже на 74AHCT573 развел.

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


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

14 часов назад, toweroff сказал:

Что ж так орать-то?

Это не ор, это, как сказал iiv, копипаст с сайта ti.

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


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

1 hour ago, yes said:

для LVDS есть LVDS deserializer у ТИ серии SN65* DS92* - там SSOT корпуса бывают

Супер! Спасибо большое, начал в них искать, возможно что-то подберу, мне конечно надо довольно не стандартно - один бит с LVDS на 4 или 6 CMOS, но вроде у них уйма всяких вариантов, наверное что-то можно будет правильно отконфигурировать.

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


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

когда-то использовал простые без PLL внутри, не на DDR2/3 а прямо на частоте клока, но сейчас не увидел.

наверно, можно использовать каждый второй параллельный выход для х8, например. но это я без какого-то опыта говорю, считаю, что надежнее и проще такое делать ПЛИСиной

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


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

без pll так просто не получится, там клок корявый, поделённый на 7, не 50% duty cycle, 4+3 бита, который по трём линиями выдаёт 21битный отсчёт - 16 бит данных+статус.

а так частоты не сильно большие сдвиговый регистр возможно и из отдельных d триггеров собрать, 16374, только какой-нибудь быстрой серии типа AUC. но опять же нет клоков и нужен 7ми битный "десериалайзер"

да и что-либо сложнее указанной выше параллельной защёлки SN74HCS373 для 8->16 бит гораздо проще и возможно даже дешевле, и это не смотря на нынешний бардак с доступностью компонентов, будет в мелкой cpld сделать.

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


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

29.04.2022 в 22:27, iiv сказал:

есть параллельная шина 8 бит из оцифровщика, которая может работать до 90МГц (или даже 4 битная 180МГц LVDS), я хочу получить из нее 16-битную шину для забора этих данных на контроллере (он 90МГц впараллель не тянет, хотя 45 МГц вроде получается)

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

PS: SGPIO в LPC43xx должен вполне справиться с такой задачей: частота входного потока <=102МГц, разрядность <=8бит.

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


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

2 hours ago, jcxz said:

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

я бы и не против, но на что мне поменять IMXRT1062, который у меня работает на 812МГц, позволяет делать по флопу на такт (812МФлоп/с на одинарной точности), имеет 512К памяти, которая адрессуется за один такт по словно (то есть по 4 байта). Очевидно, что читать по 16 бит шине несказанно проще, чем по 8 бит, так как DMA тут всяко не будет работать, и приходится пользовать FlexIO или вручную писать-читать в регистры.

2 hours ago, jcxz said:

PS: SGPIO в LPC43xx должен вполне справиться с такой задачей: частота входного потока <=102МГц, разрядность <=8бит.

от того, что он теоретически со своими 200МГц тактовой сможет этот поток зачитать в память, мне, честно говоря, это совсем не поможет, так как обработать эти данные он все равно не сможет. Мне надо каждые 16 полученных бит конвертировать в одинарную плавающую точку и выполнять с таким числом примерно 7 (а лучше 12) операций с одинарной плавающей точкой, то есть, фактически, у процессора как минимум 7*45=315МФлоп/с (а лучше 12*45=560МФлоп/с) должно быть, но, с учетом коммуникаций и всяких оверхедов, еще больше, так что, LPC43xx просто ну ни как не потянет.

 

Конечно из LPC43xx наверное получится хороший демультиплексер вместо двух 74AHCT573, но места на плате у меня вагон, а других причин поставить процессор вместо логики я не вижу.

 

Если знаете недорогой, но мощный процессор, который бы и 90МГц по широкой шине мог бы принимать бы, и имел предостаточно памяти и флопов, и, недорогая борда типа Teensy 4.1 для него была бы, пожалуйста, посоветуйте!

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


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

45 minutes ago, iiv said:

Если знаете недорогой, но мощный процессор, который бы и 90МГц

так вот альтернатива - утки шарки, но там мелкие платы раза в 2-3 подороже чем teensy 

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


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

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

Если знаете недорогой, но мощный процессор, который бы и 90МГц по широкой шине мог бы принимать бы, и имел предостаточно памяти и флопов, и, недорогая борда типа Teensy 4.1 для него была бы, пожалуйста, посоветуйте!

Ну про ресурсы на вычисление Вы ничего не говорили. Навскидку не скажу кто ещё может быстро выкачивать по такой шине, кроме МК имеющих SGPIO.

Но могу посоветовать посмотреть более мощные МК от NXP, которые имеют SGPIO-интерфейс. Такие, которые по вычислительным ресурсам устроят. SGPIO - потянет шину.

Ещё я бы посмотрел на OMAP-L137 (или отдельный его DSP - TMS320C674x). По вычислительным ресурсам его должно хватить, главное посмотреть какая периферия потянет и подойдёт: или McASP или UHPI или EMIFB или может что-то ещё там есть. Про McASP - не уверен, что он позволит разворачивать битовые потоки на 90градусов.

 

И да - это всё без ногодрыгов, на DMA. А Вы собираетесь ногодрыгом принимать? Если так, то не факт что и производительности вашего МК хватит.

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

7*45=315МФлоп/с (а лучше 12*45=560МФлоп/с)

Непонятно как считаете... IMXRT1062 разве умеет параллельно с MAC-операциями выполнять обращения к памяти?

Такой расчёт годится для DSP, про которые выше написал. Но точно не годится для ARM. Про MIPS - не знаю.

 

PPS: Да, насчёт L137 - там есть PRUSS (2 ядра), который спокойно сделает любой необходимый протокол по приёму/передаче для внешнего интерфейса. Не загружая этим вычислительное ядро. И DMA не нужно - каждое PRU-ядро (из 2-х) - можно рассматривать как отдельный DMA. Насчёт наличия PRUSS в TMS320C674x - не уверен, надо смотреть.

А по флопсам L137 = 2736 MFLOPS только одно C674x-ядро. Намного больше чем Вам надо.

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


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

15 minutes ago, jcxz said:

И да - это всё без ногодрыгов, на DMA. А Вы собираетесь ногодрыгом принимать? Если так, то не факт что и производительности вашего МК хватит.

ногодрыг до 32 бит - это один такт, DMA там есть, но он при таких скоростях только по 32 байта + прерывание (через FlexIO), все остальные варианты DMA крутятся вокруг обычных SPI или встроенных ADC которые тут не попользуешь. Если сравнивать затраты по вытаскиванию данных из ДМА + стоимость самого прерывания, то ногодрыг получается жрет меньше ресурсов. На ногодрыге 90 МГц я даже могу собирать данные по 8битной шине и уложить в память, но вот посчитаться уже не успеваю, хватает сумму и сумму квадратов считать, но не те вычисления, что мне нужны.

 

2 hours ago, _pv said:

так вот альтернатива - утки шарки, но там мелкие платы раза в 2-3 подороже чем teensy 

спасибо! Да, шарки - оно то да, но как-то там не все очевидно, как в той же тензи, и я боюсь, что буду несколько месяцев с ними разбираться.

 

15 minutes ago, jcxz said:

Ещё я бы посмотрел на OMAP-L137 (или отдельный его DSP - TMS320C674x). По вычислительным ресурсам его должно хватить, главное посмотреть какая периферия потянет и подойдёт: или McASP или UHPI или EMIFB или может что-то ещё там есть. Про McASP - не уверен, что он позволит разворачивать битовые потоки на 90градусов.

Спасибо! Буду думать, хотя если я на 16, а лучше на 32 бита все замультиплексю, то той же тензи мне будет достаточно.

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


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

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

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

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

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

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

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

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

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

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