_sda 0 5 марта, 2016 Опубликовано 5 марта, 2016 · Жалоба Имеется ввиду импульс любой длительности? Или туда что-то конкретное нужно подавать? Просто я сейчас туда подсоединил один из выходов PLL со сдвигом по фазе относительно основной частоты... То есть, я правильно понимаю, что сигнал поданный на align запускает подстройку фазы? и еще вопрос - нужно ли такую подстройку проводить каждый раз при включении платы? Или же синхронизацию как-то можно запомнить? Вам же выше doom13 привёл требования к этому сигналу. The minimum pulse width is one period of the parallel clock in the logic array (rx_outclock). Вот и подавайте импульс длительностью один такт указанной частоты. А для подстройки я использовал автомат т.к. во входном потоке у меня присутствовал байт-маркер,вставляемый через одинаковое количество байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EpLeon 0 5 марта, 2016 Опубликовано 5 марта, 2016 · Жалоба Вам же выше doom13 привёл требования к этому сигналу. Вот и подавайте импульс длительностью один такт указанной частоты. А для подстройки я использовал автомат т.к. во входном потоке у меня присутствовал байт-маркер,вставляемый через одинаковое количество байт. Извините, но до меня немного долго доходит... Чтобы окончательно понять, я правильно понимаю, что в моем случае: 1) Каждый канал настраивается отдельно каждый раз при включении питания; 2) На ножку align[n-1..0] для каждого канала подается импульс длительностью в 1 такт клока. И подавать их нужно по принципу: подал импульс - посмотрел на данные -> совпали, значит настроилось, не совпали повторяем процедуру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 5 марта, 2016 Опубликовано 5 марта, 2016 · Жалоба Насчёт каналов ничего не могу сказать,я с этим АЦП не работал. Бегло глянул DS, так у вас же сигнал FCO есть,почему по нему не хотите синхронизироваться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EpLeon 0 5 марта, 2016 Опубликовано 5 марта, 2016 · Жалоба Насчёт каналов ничего не могу сказать,я с этим АЦП не работал. Бегло глянул DS, так у вас же сигнал FCO есть,почему по нему не хотите синхронизироваться? То есть по нему??? Имеете в виду подавать FCO на клок мегафункции (rx_inclock)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 5 марта, 2016 Опубликовано 5 марта, 2016 · Жалоба Извините, но до меня немного долго доходит... Чтобы окончательно понять, я правильно понимаю, что в моем случае: 1) Каждый канал настраивается отдельно каждый раз при включении питания; 2) На ножку align[n-1..0] для каждого канала подается импульс длительностью в 1 такт клока. И подавать их нужно по принципу: подал импульс - посмотрел на данные -> совпали, значит настроилось, не совпали повторяем процедуру. Всё так, только длительность импульса может быть и больше (выше приводил цитату из даташита, там указаны требования к сигналу align). То есть по нему??? Имеете в виду подавать FCO на клок мегафункции (rx_inclock)? Подача FCO на вход rx_inclock ядра не гарантирует правильного приёма фреймам (всё зависит от длины линий данных и клока), поэтому всё равно необходима синхронизация каналов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба То есть по нему??? Имеете в виду подавать FCO на клок мегафункции (rx_inclock)? Ни в коем случае. Глянул ещё раз DS, рекомендую вам посмотреть в сторону регистра test_io, конкретно команда one-/zero-word toggle. Тогда после подачи питания включаете нужный режим test_io, калибруетесь подачей импульса align до тех пор пока не отловите пару слов 0х0000000000 и 0х1111111111, затем переходите в рабочий режим. Для формирования align напишите небольшой автомат, а FS можно не использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EpLeon 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба Ни в коем случае. Глянул ещё раз DS, рекомендую вам посмотреть в сторону регистра test_io, конкретно команда one-/zero-word toggle. Тогда после подачи питания включаете нужный режим test_io, калибруетесь подачей импульса align до тех пор пока не отловите пару слов 0х0000000000 и 0х1111111111, затем переходите в рабочий режим. Для формирования align напишите небольшой автомат, а FS можно не использовать. С этим тоже есть небольшая проблемка. Мне не очень понятно, как именно программировать АЦП. Как говорил раньше, с последовательными данными ни разу не работал. И в DS на оцифровщик мне не понятно, что такое W1/W2 и каким образом подавать последовательность слов. То есть как адрес соотносится с данными, которые я пытаюсь прописать. И если это нужно сделать в разные регистры. Если вас не затруднит, не могли бы вы мне в этом помочь? И подсказать, как это сделать? Я понимаю, что прописав некоторое конкретное число в АЦП намного проще его потом отследить и можно сделать автомат на подстройку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба Так на figure 68 показан же формат обращения к АЦП. Слово 24 бита, три старшие из них - нули, биты 20...8 - адрес регистра, биты 7...0 - записываемые данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EpLeon 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба Так на figure 68 показан же формат обращения к АЦП. Слово 24 бита, три старшие из них - нули, биты 20...8 - адрес регистра, биты 7...0 - записываемые данные. То есть я правильно понимаю, что если я хочу записать данные "1010" в регистр "0D" согласно таблице 9, то последовательность по этой линии будет: 000 000000001101 0001010 ? И еще вопрос, а кто-нибудь пробовал сам делать защелкивание данных через DDR на такой частоте? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба То есть я правильно понимаю, что если я хочу записать данные "1010" в регистр "0D" согласно таблице 9, то последовательность по этой линии будет: 000 000000001101 0001010 ? И еще вопрос, а кто-нибудь пробовал сам делать защелкивание данных через DDR на такой частоте? Примерно так, но должно быть 24 бита, а не 22. И обратите внимание на старшие 4 бита данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EpLeon 0 6 марта, 2016 Опубликовано 6 марта, 2016 · Жалоба Примерно так, но должно быть 24 бита, а не 22. И обратите внимание на старшие 4 бита данных. Да, заметил. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться