Jump to content

    

С какой минимальной суммарной латентностью можно передавать данные по Ethernet?

1 hour ago, AlexandrY said:

Такую латентность сможет обеспечить только шина MSEBI в микроконтроллерах Renesas серии RZ/N 

как Renesas? почему Renesas?

Ведь только i.mx же был решением всех проблем? :)

Share this post


Link to post
Share on other sites

Не знаю как в микроконтроллерах , а вот в ПЛИС когда MAC ставил - там было FIFO и оно могло быть глубоким.

Share this post


Link to post
Share on other sites
12 часов назад, DeadCadDance сказал:

Чтобы любое изменение БД в одном из устройств за доли микросекунды было проведено и в другом.

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

А иначе все эти сотни нс сильно попахивают очередным "конём в вакууме".

Share this post


Link to post
Share on other sites
В 25.11.2019 в 16:45, jcxz сказал:

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

А иначе все эти сотни нс сильно попахивают очередным "конём в вакууме".

Это Вы мне подскажите: какой микроконтроллер мне взять, чтобы обеспечить время несинхронности 32-х байтной базы данных в двух разных платах крейта не более 200 нс

Предполагаю что это какой-нибудь ситарра от техаса с тактовой под гигагерц

Т.е. мне нужно, что если в 32-х байтном блоке ОЗУ одной платы что-то изменилось, то не позднее 200 наносекунд такое же изменение произошло и в другой плате крейта

В принципе, базы меняется не часто и не быстро. И не сразу вся. Самое быстрое 1 бит базы может измениться за 1 миллисекунду, через миллисекунду - ещё один.

А так может и полчаса не меняться

Edited by DeadCadDance

Share this post


Link to post
Share on other sites

Да.

 

Важное замечание.

 

Параллельный интерфейс для передачи (т.е. увеличение скорости за счёт увеличения разрядности шины данных) не рассматривается.

Интерфейс должен включать в себя максимум три линии: Rx, Tx и тактовые импульсы (импульсы синхронизации)

Edited by DeadCadDance

Share this post


Link to post
Share on other sites
Just now, DeadCadDance said:

Интерфейс должен включать в себя максимум три линии

Тогда закрывайте проект. 

Share this post


Link to post
Share on other sites
3 минуты назад, AlexandrY сказал:

Тогда закрывайте проект. 

Вы считаете, что за 100 наносекунд невозможно передать два байта из одной платы крейта в другую по одному проводу?

Edited by DeadCadDance

Share this post


Link to post
Share on other sites
Just now, DeadCadDance said:

Вы считаете, что за 100 наносекунд невозможно передать два байта из одной платы крейта в другую по одному проводу?

Да, это ограничение физики портов и шин микроконтроллеров в потребительском секторе.  

Share this post


Link to post
Share on other sites

Это же всего-то 200 Мегабит в секунду

Сейчас есть микросхемы, которые в лёгкую поднимают 100 Гигабит в секунду.

А мне нужно всего лишь 0,2 Гигабита в секунду

И есть же гигагерцовые MCU.

 

Я не понимаю: почему Вы считаете, что моя задача в принципе не решима?

Гигагерцовый MCU среагирует на прерывание за наносекунды

Share this post


Link to post
Share on other sites
3 hours ago, DeadCadDance said:

И есть же гигагерцовые MCU.

Есть. И какая связь между гигагерцами ядра и возможностями периферии?

 

3 hours ago, AlexandrY said:

Да, только Renesas

Нет, не только Renesas.

Share this post


Link to post
Share on other sites
18 hours ago, DeadCadDance said:

Вы считаете, что за 100 наносекунд невозможно передать два байта из одной платы крейта в другую по одному проводу?

 

Возможно на задачу получится посмотреть с другой стороны: информировать о невалидности БД быстро (за ваши сотни нс), а реальное обновление БД сделать позже "не торопясь"?

Share this post


Link to post
Share on other sites
20 hours ago, DeadCadDance said:

Это же всего-то 200 Мегабит в секунду

изначально вопрос был про 32 байта за сотню нс, что скорее равно 2Гбитам.

Если у вас по одному биту раз в милисекунду меняется, возьмите 10битную шину, и при изменении какого-либо бита, передавайте его номер (32 байта = 256 бит) - 8 бит,  его значение +1 бит и ещё один статусный бит, который будет говорить поменялось ли чего или нет.

а потом это можно засунуть в любой serdes, вроде SN65LV1023A, если параллельные шины тащить не хочется, и если один МК выставил на параллельный порт что у него какой-то бит поменялся, то второй через ~20-30нс увидит какой именно.

соответственно быстро передаются изменения конкретного бита, а медленно в фоне, когда статусный бит == 0, значения всех остальных битов, просто на всякий случай чтобы не рассинхронизоваться при передаче только изменений.

Share this post


Link to post
Share on other sites
В 27.11.2019 в 23:06, aaarrr сказал:

И какая связь между гигагерцами ядра и возможностями периферии?

Не понял вопроса.

Я имел в виду, что если процессор работает на тактовой 1 ГГц, то он начнёт обрабатывать прерывание уже через 1-2 наносекунды

7 часов назад, _pv сказал:

возьмите 10битную шину

Передавать данные на скорости 1 ГБит/с по 10-ти проводному шлейфу длинной порядка 1-го метра?:shok:

Это физически возможно?

В 27.11.2019 в 19:56, AlexandrY сказал:

Да, это ограничение физики портов и шин микроконтроллеров

Но есть же MCU со встроенным Гигабитным езернет-портом на борту

Share this post


Link to post
Share on other sites
15 minutes ago, DeadCadDance said:

Я имел в виду, что если процессор работает на тактовой 1 ГГц, то он начнёт обрабатывать прерывание уже через 1-2 наносекунды

Во-первых, не начнет. И чем выше тактовая, тем больше (в тактах) будет латентность. Во-вторых, что толку с того прерывания? Его должен сформировать какой-то интерфейсный модуль.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now