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

 
 
> Реконфигурация трансивера, Cyclone V
spectr
сообщение Feb 10 2017, 10:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



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

Хочу сделать реконфигурацию трансивера. Для этого собрал QSyS-системку по аналогии с an676 и вот этим товарищем. Вкратце:
- Clock Source 75MHz - это понятно;
- JTAG to Avalon Master - чтобы был доступ из System Console;
- Transceiver Reconfiguration Controller - настроен на 2 интерфейса, включена возможность реконфигурации через MIF;
- Cyclone V Transceiver Native PHY - настроен на 2 скорости;
- Transceiver PLL - дает опору для одной скорости;
- Fractional PLL - дает опору для второй скорости;
- Transceiver PHY Reset Controller - понятно;
- PIO - для выбора таблички MIF с настройками той или иной скорости;

Всё собирается, из System Console всё видно. Пытаюсь, по аналогии с an676, an664, an645 и конечно же xcvr_user_guide, читать-писать регистры реконфигуратора и получаю затык. Вопросы следующие:
1. В настройках Transceiver Reconfiguration Controller-а есть параметр Optional Interface Groupong. Никак не могу понять что он означает. Вот у меня два интерфейса используются - один для трансивера, второй - для PLL. Что в моем случае надо здесь вписать? Почему?
2. Чтобы заставить Reset Controller выполнить сброс - достаточно разок дернуть его самомо за ногу reset?
3. Вот мы сбросились, подключились к реконфигуратору (через System console), читаем все его регистры, получаем следующую картину:
Код
% dump_all 0
       PMA Analog control registers dump (channel 0):
                          feature status:   busy = 0, error = 0, read = 0, write = 0
                               VOD (0x00) = 10
              Pre-emphasis pre-tap (0x01) = 0
       Pre-emphasis first post-tap (0x02) = 0
      Pre-emphasis second post-tap (0x03) = 0
           RX equalization DC gain (0x10) = 0
           RX equalization control (0x11) = 0

                      AEQ registers dump (channel 0):
                          feature status:   busy = 0, error = 0, read = 0, write = 0
                        ADAPT_DONE (0x00) = 0
                              MODE (0x00) = 0
              Equalization results (0x01) = 0

      ATX PLL calibration registers dump (channel 0):
                          feature status:   busy = 0, error = 0, read = 0, write = 0
                           Control (0x00) = 0
                   Run calibration (0x01) = 0

      PLL reconfiguration registers dump (channel 0):
                          feature status:   busy = 0, error = 0, read = 0, write = 0
          Logical refclk selection (0x00) = 0
             Logical PLL selection (0x01) = 0
           refclk physical mapping (0x02) = 33554400
              PLL physical mapping (0x03) = 16163

                      DCD registers dump (channel 0):
                           Control (0x00) = 0

                 Streamer registers dump (channel 0):
                          feature status:   busy = 0, error = 0, read = 0, write = 0
                  MIF base address (0x00) = 0
                       Clear error (0x01) = 0
                  MIF address mode (0x01) = 0
                  Start MIF stream (0x01) = 0
           MIF or channel mismatch (0x02) = 0
      PLL reconfiguration IP error (0x02) = 0
                  MIF opcode error (0x02) = 0
           Invalid register access (0x02) = 0

Это, получается, как бы значения по умолчанию. Окей, но при попытке записать что-то в те или иные поля - мои значения либо не пишутся, либо пишутся как-то странно (по сигналтапу я вижу что на авалоновскую шину реконфигуратора все выставляется корректно). Например, несмотря на то, что VOD согласно документации может быть от 0 до 63, некоторые значения записываются неверно или не записываются вообще. Получаются как бы "дырки". Это нормально?

4. Есть какое-нибудь вменяемое описание того в какой последовательности правильно конфигурировать трансивер? А то везде все ограничиваются примером в духе "мы покажем как записать один произвольный регистр". Может там нужна особая последовательность записи?!

В итоге я хочу порегистрово его сконфигурировать и сделать скрипт для управления режимами его работы, что-то похожее на Transceiver Toolkit, только сильно проще и под свои нужды.
Спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- spectr   Реконфигурация трансивера   Feb 10 2017, 10:19
- - DuHast   Добрый день Делал реконфигуратор трансиверов через...   Feb 12 2017, 15:27
- - spectr   DuHast, спасибо за отклик! Цитата(DuHast ...   Feb 13 2017, 09:57
|- - DuHast   Может команды не те шлёте? Там ,сначала пишешь по ...   Feb 13 2017, 19:06
- - spectr   Я делаю в точности так же. Давайте я выложу сюда с...   Feb 14 2017, 08:37
- - dmy   .del. Извините, ошибся окном.   Feb 14 2017, 13:34
- - spectr   Продолжаю изучение. Залез сигналтапом в блок настр...   Feb 14 2017, 14:33
- - Tue   Тоже обнаружил что "Pre-emphasis pre-tap...   Feb 27 2017, 15:37
|- - DuHast   Цитата(Tue @ Feb 27 2017, 18:37) Тоже обн...   Feb 27 2017, 20:06
- - spectr   Продолжаю разбиралово. Если трансивер использует, ...   Mar 1 2017, 07:07
|- - MrAlex   ЦитатаПродолжаю разбиралово. Если трансивер исполь...   Mar 1 2017, 13:27
- - spectr   С PLL вроде понятно. Спасибо. Теперь появился воп...   Mar 14 2017, 15:40
- - spectr   Подниму тему, т.к. не всё получается. Как работат...   Jul 13 2017, 12:11
- - spectr   Смотрите что обнаружилось: When dynamic reconfigur...   Jul 13 2017, 13:16
- - spectr   В-общем, не получается никак это дело запустить. В...   Jul 21 2017, 07:18
- - Magnum   Можно ещё попробовать custom_phy, они конечно во м...   Jul 21 2017, 10:24
- - spectr   Цитата(Magnum @ Jul 21 2017, 13:24) ЗЫ а ...   Jul 21 2017, 11:41


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 15:54
Рейтинг@Mail.ru


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