Jump to content

    
uzzzer

VME64x(Помогите с реализацией)

Recommended Posts

Нну, прекрасно вас понимаю, я бы тоже находился в ступоре: интерфейс как уже писал, жуткий. Но - если сузить задачу, если не нужно пускать старый софт, то задачу можно сузить - реализовать только необходимые циклы обмена, обязательные (по стандарту) регистровые поля сократить, оставив только необходимое (BAR и т.д.), то сложность не превысит слейва параллельного PCI. Правда, это если нужен только слейв вме.

Если же надо городить мастера с дополнительным арбитром и семафорами, то задача сильно усложнится - придется тестировать крейт на дедлоки и равномерность распределения грантов мастерам, поскольку вме - прежде всего многопроцессорная магистральная шина, в которой семафорами добиваются когерентности и прочих многопроцессорных фишек. Другими словами - #опа,  разработка на много месяцев, включая и ртл и отладку на стенде, либо надо несколько человек. И 100% что этот код вам больше никогда не пригодится - крейты на вме давно уже сменили крейты на рапид ио.

К сожалению, больше ничем помочь не могу. Я посвятил вме три года жизни, и ни за что не стал бы к нему возвращаться - проше уволиться и найти другую работу.

Share this post


Link to post
Share on other sites
7 hours ago, uzzzer said:

Да собственно у меня задача стоит в сопряжении GPIO ARM с VME, если у кого есть что то подобное, то буду рад информации, вообще буду рад любой информации, так как сейчас нахожусь тупо в ступоре. 

объясните мастера-то вам зачем реализовывать, тем более на gpio.

ради оживления единственного крейта, контроллер не обязательно изобретать, проще купить готовый.

Share this post


Link to post
Share on other sites
43 minutes ago, _pv said:

объясните мастера-то вам зачем реализовывать, тем более на gpio.

ради оживления единственного крейта, контроллер не обязательно изобретать, проще купить готовый.

Контроллер есть, нужно сделать его реверс. Покупать, опять, заказчик не хочет, начальство упирается, что, своих денег нет и что "закладки там могут быть, нужно свое делать". Проблема еще и в том, что платы залачены и на микросхемах наклейки наклеены.

Share this post


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

вообще буду рад любой информации, так как сейчас нахожусь тупо в ступоре. 

вот там есть старая страница от 1996 года со словами VME, раздают схемы, виды, исходники прошивок pld - http://www-sk.icrr.u-tokyo.ac.jp/~berns_s/SUPERK/version1.html

версия 2 http://www-sk.icrr.u-tokyo.ac.jp/~berns_s/SUPERK/version2.html

http://www-sk.icrr.u-tokyo.ac.jp/~berns_s/SUPERK/DOCS/docs.html#vme

Share this post


Link to post
Share on other sites
On 10/23/2020 at 4:10 PM, uzzzer said:

Достался мне крейт на VME64x, без схем, документации и т.д. Заказчик просит повторить устройства входящие в эту систему.

А повторить весь крейт надо? Если там только один процессор в крейте, а остальное периферия - может тогда нафик это VME? Возьмете свой арм, подключите периферию, а если чего то не хватает - сделаете на ПЛИС.

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

Edited by Aleх

Share this post


Link to post
Share on other sites
24.10.2020 в 22:22, Aleх сказал:

VME жуткий интерфейс, по ряду причин. 1. Интерфейс асинхронный, и приходится его адаптировать под синхронные реализации в ПЛИС. 2. По стандарту и у мастера и у слейва обязательно должен быть приличный такой блок регистров - чтото вроде конфигурационных регистров PCI, только намного больше размером. CPLD не достаточно, нужно ПЛИС. 20 лет назад мне хватило флекс 10к30 для мастера vme32. 3. От контроллера потребуется огромное число выводов, и внешние преобразователи в 5VTTL, часть с открытым коллектором, часть двунаправленные - ими надо управлять. 4. фишечка - интерфейс big endian, так что надо переставлять байты. Учитывая разные типы доступа (8,16,32 и 64 бита), мультиплексор получается некислый. Помню, на защите диплома у меня целый плакат был на эту тему.

Да ладно страсти то такие рассказывать и человека раньше времени пугать, ему и так уже не хорошо:)))  VME вполне себе нормальный интерфейс, 8...16-битный slave урезанный до самого минимума вполне себе поднимается на CPLD уровня 64-х макроячеек. То, что он асинхронный, совершенно фиолетово, скорости по современным меркам никакие, на приеме вся "адаптация" выливается в банальную синхронизацию своим локальным клоком и выделение фронтов управляющих сигналов, на передаче так и вовсе ничего делать не надо. Приличный блок регистров у мастера и слейва? Вы не путаете с VXI стандартом? Насколько я помню, все, что нужно для VME, это настройка адреса перемычками на плате:) Большое количество выводов требуется, если необходимо реализовывать все 64 бита данных и 32 бита адреса, но если все модули в системе только свои и/или не нужны большие скорости передачи данных, то достаточно и 8...16 бит данных и 16...24 бит шины адреса, плюс не заморачиваться с блочной передачей и другими фишками. Да и если мастер в системе точно известно, что только один, то все еще больше упрощается. Да, читать стандарт надо до посинения, но все вполне поднимается.   

Share this post


Link to post
Share on other sites

простой слэйв действительно спокойно влезал в epm7128, заодно проблема 5В решалась.

но если там полостью забитый крейт с хитрым арбитражем, dma, и т.д., и ТСу всё равно переделывать и сами модули и контроллер и вообще всё с потерей обратной совместимости с теми модулями что имются, то идея пересесть на какой-нибудь езернет, гигабитный, в качестве транспорта выглядит более чем разумной по сравнению с честной реализацией ВСЕГО vme.

тем более что там вроде даже были какие-то расширения стандарта с добавлением езернета на ВМЕшный бэкплэйн.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.